SIP / VoIP

SIP & VoIP Integration

Standards-based IP communication for video intercom, network audio, paging and compatible third-party communication systems.

  • Overview
  • How It Works
  • Capabilities
  • Architecture
  • Interoperability
  • Product Areas
  • FAQ
Technology Overview

Open IP Communication for Connected Security Systems

SIP and VoIP provide a standards-based framework for establishing and carrying voice communication across IP networks.

Selected Sunell video intercom and network audio products support SIP-based communication, enabling integration with compatible SIP servers, IP-PBX platforms, IP phones and other communication endpoints.

Within an open integration architecture, SIP can work alongside video, access, paging and application-layer technologies to support connected communication workflows without relying on a single proprietary communication environment.

How It Works

Signaling, Media and Voice Encoding

SIP and VoIP are related, but they do not perform the same role. A typical communication session combines signaling, real-time media transport and audio encoding.

SIP

FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)

The following has evaluated to null or missing:
==> item.summary  [in template "root_pc/template/solutions_details_v2.template.html" at line 728, column 75]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${item.summary}  [in template "root_pc/template/solutions_details_v2.template.html" at line 728, column 73]
	- Reached through: @cms_content catalogid="${catalog.cat...  [in template "root_pc/template/solutions_details_v2.template.html" at line 466, column 37]
	- Reached through: @cms_catalog id="${Catalog.catalogId}...  [in template "root_pc/template/solutions_details_v2.template.html" at line 404, column 5]
----

Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
	at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481)
	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401)
	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370)
	at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:104)
	at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
	at freemarker.core.Environment.visit(Environment.java:335)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:321)
	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244)
	at freemarker.core.Environment.visitIteratorBlock(Environment.java:645)
	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
	at freemarker.core.Environment.visit(Environment.java:335)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:3423)
	at com.chestnut.common.staticize.tag.AbstractTag.onTagEnd(AbstractTag.java:93)
	at com.chestnut.common.staticize.tag.AbstractTag.execute(AbstractTag.java:62)
	at freemarker.core.Environment.visit(Environment.java:452)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102)
	at freemarker.core.Environment.visit(Environment.java:335)
	at freemarker.core.Environment.visit(Environment.java:341)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:321)
	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244)
	at freemarker.core.Environment.visitIteratorBlock(Environment.java:645)
	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
	at freemarker.core.Environment.visit(Environment.java:371)
	at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:3423)
	at com.chestnut.common.staticize.tag.AbstractTag.onTagEnd(AbstractTag.java:93)
	at com.chestnut.common.staticize.tag.AbstractTag.execute(AbstractTag.java:62)
	at freemarker.core.Environment.visit(Environment.java:452)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102)
	at freemarker.core.Environment.visit(Environment.java:335)
	at freemarker.core.Environment.visit(Environment.java:341)
	at freemarker.core.Environment.process(Environment.java:314)
	at com.chestnut.common.staticize.StaticizeService.process(StaticizeService.java:99)
	at com.chestnut.contentcore.publish.staticize.CatalogStaticizeType.doCatalogStaticize(CatalogStaticizeType.java:149)
	at com.chestnut.contentcore.publish.staticize.CatalogStaticizeType.catalogStaticize(CatalogStaticizeType.java:100)
	at com.chestnut.contentcore.publish.staticize.CatalogStaticizeType.catalogStaticize(CatalogStaticizeType.java:91)
	at com.chestnut.contentcore.publish.staticize.CatalogStaticizeType.staticize(CatalogStaticizeType.java:83)
	at com.chestnut.contentcore.publish.strategies.ThreadPoolPublishStrategy.lambda$publish$0(ThreadPoolPublishStrategy.java:59)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)