Author: buildbot
Date: Sat May 14 08:19:33 2016
New Revision: 988207

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/sip.html

Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Sat May 14 
08:19:33 2016
@@ -1017,11 +1017,11 @@ template.send("direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.8">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookComponentAppendix-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to cons
 ume web services. The bean component's configuration is also simpler and 
provides the fastest method to implement web services using Camel and 
CXF.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The 
<strong>cxf:</strong> component provides integration with <a shape="rect" 
href="http://cxf.apache.org";>Apache CXF</a> for connecting to JAX-WS services 
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1463163495558 {padding: 0px;}
-div.rbtoc1463163495558 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463163495558 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463213875177 {padding: 0px;}
+div.rbtoc1463213875177 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463213875177 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1463163495558">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463213875177">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookComponentAppendix-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions 
of the dataformats</a>
@@ -9045,97 +9045,27 @@ sec-level1 = zone1:readonly:*
         headers.put(ShiroSecurityConstants.SHIRO_SECURITY_PASSWORD, 
&quot;starr&quot;);
         template.sendBodyAndHeaders(&quot;direct:secureEndpoint&quot;, 
&quot;Beatle Mania&quot;, headers);
 ]]></script>
-</div></div><p>When you use the username and password headers, then the 
ShiroSecurityPolicy in the Camel route will automatic transform those into a 
single header with key ShiroSecurityConstants.SHIRO_SECURITY_TOKEN with the 
token. Then token is either a <code>ShiroSecurityToken</code> instance, or a 
base64 representation as a String (the latter is when you have set 
base64=true).</p> <h2 id="BookComponentAppendix-SIPComponent">SIP Component</h2>
-
-<p><strong>Available as of Camel 2.5</strong></p>
-
-<p>The <strong>sip</strong> component in Camel is a communication component, 
based on the Jain SIP implementation (available under the JCP license).</p>
-
-<p>Session Initiation Protocol (SIP) is an IETF-defined signaling protocol, 
widely used for controlling multimedia communication sessions such as voice and 
video calls over Internet Protocol (IP).The SIP protocol is an Application 
Layer protocol designed to be independent of the underlying transport layer; it 
can run on Transmission Control Protocol (TCP), User Datagram Protocol (UDP) or 
Stream Control Transmission Protocol (SCTP). </p>
-
-<p>The Jain SIP implementation supports TCP and UDP only.</p>
-
-<p>The Camel SIP component <strong>only</strong> supports the SIP Publish and 
Subscribe capability as described in the <a shape="rect" class="external-link" 
href="http://www.ietf.org/rfc/rfc3903.txt"; rel="nofollow">RFC3903 - Session 
Initiation Protocol (SIP) Extension for Event</a></p>
-
-<p>This camel component supports both producer and consumer endpoints.</p>
-
-<p>Camel SIP Producers (Event Publishers) and SIP Consumers (Event 
Subscribers) communicate event &amp; state information to each other using an 
intermediary entity called a SIP Presence Agent (a stateful brokering 
entity).</p>
-
-<p>For SIP based communication, a SIP Stack with a listener 
<strong>must</strong> be instantiated on both the SIP Producer and Consumer 
(using separate ports if using localhost). This is necessary in order to 
support the handshakes &amp; acknowledgements exchanged between the SIP Stacks 
during communication.</p>
-
-<p>Maven users will need to add the following dependency to their 
<code>pom.xml</code> for this component:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><p>When you use the username and password headers, then the 
ShiroSecurityPolicy in the Camel route will automatic transform those into a 
single header with key ShiroSecurityConstants.SHIRO_SECURITY_TOKEN with the 
token. Then token is either a <code>ShiroSecurityToken</code> instance, or a 
base64 representation as a String (the latter is when you have set 
base64=true).</p> <h2 id="BookComponentAppendix-SIPComponent">SIP 
Component</h2><p><strong>Available as of Camel 2.5</strong></p><p>The 
<strong>sip</strong> component in Camel is a communication component, based on 
the Jain SIP implementation (available under the JCP license).</p><p>Session 
Initiation Protocol (SIP) is an IETF-defined signaling protocol, widely used 
for controlling multimedia communication sessions such as voice and video calls 
over Internet Protocol (IP).The SIP protocol is an Application Layer protocol 
designed to be independent of the underlying transport layer; it can run on 
Transmission Control Prot
 ocol (TCP), User Datagram Protocol (UDP) or Stream Control Transmission 
Protocol (SCTP).</p><p>The Jain SIP implementation supports TCP and UDP 
only.</p><p>The Camel SIP component <strong>only</strong> supports the SIP 
Publish and Subscribe capability as described in the <a shape="rect" 
class="external-link" href="http://www.ietf.org/rfc/rfc3903.txt"; 
rel="nofollow">RFC3903 - Session Initiation Protocol (SIP) Extension for 
Event</a></p><p>This camel component supports both producer and consumer 
endpoints.</p><p>Camel SIP Producers (Event Publishers) and SIP Consumers 
(Event Subscribers) communicate event &amp; state information to each other 
using an intermediary entity called a SIP Presence Agent (a stateful brokering 
entity).</p><p>For SIP based communication, a SIP Stack with a listener 
<strong>must</strong> be instantiated on both the SIP Producer and Consumer 
(using separate ports if using localhost). This is necessary in order to 
support the handshakes &amp; acknowledgements ex
 changed between the SIP Stacks during communication.</p><p>Maven users will 
need to add the following dependency to their <code>pom.xml</code> for this 
component:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-sip&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookComponentAppendix-URIformat.60">URI format</h3>
-
-<p>The URI scheme for a sip endpoint is as follows:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-sip://johndoe@localhost:99999[?options]
+</div></div><h3 id="BookComponentAppendix-URIformat.60">URI format</h3><p>The 
URI scheme for a sip endpoint is as follows:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[sip://johndoe@localhost:99999[?options]
 sips://johndoe@localhost:99999/[?options]
 ]]></script>
-</div></div>
-
-<p>This component supports producer and consumer endpoints for both TCP and 
UDP.</p>
-
-<p>You can append query options to the URI in the following format, 
<code>?option=value&amp;option=value&amp;...</code></p>
-
-<h3 id="BookComponentAppendix-Options.47">Options</h3>
-
-<p>The SIP Component offers an extensive set of configuration options &amp; 
capability to create custom stateful headers needed to propagate state via the 
SIP protocol.</p>
-
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>stackName</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>NAME_NOT_SET</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Name of the SIP Stack instance associated with an SIP 
Endpoint. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>transport</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>tcp</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Setting for choice of transport potocol. 
Valid choices are "tcp" or "udp". </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>fromUser</code> </p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Username of the message 
originator. <strong>Mandatory setting unless a registry based custom FromHeader 
is specified.</strong> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>fromHost</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Hostname of the message originator. <strong>Mandatory 
setting unless a registry based FromHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>fromPort</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Port of the message originator. <strong>Mandatory 
setting unless a registry based FromHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <cod
 e>toUser</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Username of the message receiver. <strong>Mandatory 
setting unless a registry based custom ToHeader is specified.</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>toHost</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Hostname of the message receiver. <strong>Mandatory 
setting unless a registry based ToHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>toPort</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Portname of the message receiver. <strong>Mandatory 
setting unless a registry based ToHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"><p> <code>maxforwards</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> 0 </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> the number of intermediaries that may forward the 
message to the message receiver. <strong>Optional setting. May alternatively be 
set using as registry based MaxForwardsHeader</strong> </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>eventId</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Setting for a String based 
event Id. <strong>Mandatory setting unless a registry based FromHeader is 
specified</strong> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>eventHeaderName</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Setting for a String based event Id. <strong>Mandatory 
setting unless a registr
 y based FromHeader is specified</strong> </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>maxMessageSize</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>1048576</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Setting for 
maximum allowed Message size in bytes. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>cacheConnections</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Should 
connections be cached by the SipStack to reduce cost of connection creation. 
This is useful if the connection is used for long running conversations. 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>consumer</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> This setting is used to 
 determine whether the kind of header (FromHeader,ToHeader etc) that needs to 
be created for this endpoint</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>automaticDialogSupport</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>off</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Setting to specify whether 
every communication should be associated with a dialog. </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>contentType</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>text</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Setting for 
contentType can be set to any valid MimeType. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>contentSubType</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>xml</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Setting for contentSubTyp
 e can be set to any valid MimeSubType. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>receiveTimeoutMillis</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>10000</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Setting for specifying amount of time to wait for a 
Response and/or Acknowledgement can be received from another SIP stack 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>useRouterForAllUris</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> This setting is used when requests are 
sent to the Presence Agent via a proxy. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>msgExpiration</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>3600</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> The amount of time a 
 message received at an endpoint is considered valid </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>presenceAgent</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>false</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> This setting is used to distingish between a Presence 
Agent &amp; a consumer. This is due to the fact that the SIP Camel component 
ships with a basic Presence Agent (for testing purposes only). Consumers have 
to set this flag to true. </p></td></tr></tbody></table></div>
-</div>
-
-<h3 id="BookComponentAppendix-RegistrybasedOptions.1">Registry based 
Options</h3>
-
-<p>SIP requires a number of headers to be sent/received as part of a request. 
These SIP header can be enlisted in the <a shape="rect" 
href="registry.html">Registry</a>, such as in the Spring XML file.</p>
-
-<p>The values that could be passed in, are the following:</p>
-
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>fromHeader</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> a custom Header 
object containing message originator settings. Must implement the type 
javax.sip.header.FromHeader </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>toHeader</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> a custom Header object containing message 
receiver settings. Must implement the type javax.sip.header.ToHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>viaHeaders</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> List of custom Header objects of the type 
javax.sip.header.ViaHeader. Each ViaHeader containing a proxy 
 address for request forwarding. (Note this header is automatically updated by 
each proxy when the request arrives at its listener) </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>contentTypeHeader</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> a custom Header 
object containing message content details. Must implement the type 
javax.sip.header.ContentTypeHeader </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>callIdHeader</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> a custom Header object 
containing call details. Must implement the type javax.sip.header.CallIdHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>maxForwardsHeader</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> a custom Header object containing details on maximum 
proxy forwards. This header places a limit on the viaHeaders possible. Must 
implement the type javax.sip.h
 eader.MaxForwardsHeader </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>eventHeader</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> a custom Header object containing event 
details. Must implement the type javax.sip.header.EventHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>contactHeader</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> an optional custom Header object containing verbose 
contact details (email, phone number etc). Must implement the type 
javax.sip.header.ContactHeader </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>expiresHeader</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> a custom Header object containing message 
expiration details. Must implement the type javax.sip.header.ExpiresHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>extensionHeader</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> a custom Header object containing 
user/application specific details. Must implement the type 
javax.sip.header.ExtensionHeader </p></td></tr></tbody></table></div>
-</div>
-
-<h3 id="BookComponentAppendix-SendingMessagesto/fromaSIPendpoint">Sending 
Messages to/from a SIP endpoint</h3>
-
-<h4 id="BookComponentAppendix-CreatingaCamelSIPPublisher">Creating a Camel SIP 
Publisher</h4>
-
-<p>In the example below, a SIP Publisher is created to send SIP Event 
publications to <br clear="none">
-a user "agent@localhost:5152". This is the address of the SIP Presence Agent 
which acts as a broker between the SIP Publisher and Subscriber</p>
-<ul><li>using a SIP Stack named client</li><li>using a registry based 
eventHeader called evtHdrName</li><li>using a registry based eventId called 
evtId</li><li>from a SIP Stack with Listener set up as 
user2@localhost:3534</li><li>The Event being published is EVENT_A</li><li>A 
Mandatory Header called REQUEST_METHOD is set to Request.Publish thereby 
setting up the endpoint as a Event publisher"</li></ul>
-
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-producerTemplate.sendBodyAndHeader(  
+</div></div><p>This component supports producer and consumer endpoints for 
both TCP and UDP.</p><p>You can append query options to the URI in the 
following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 
id="BookComponentAppendix-Options.47">Options</h3><p>The SIP Component offers 
an extensive set of configuration options &amp; capability to create custom 
stateful headers needed to propagate state via the SIP protocol.</p><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>stackName</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>NAME_NOT_SET</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Name of the
  SIP Stack instance associated with an SIP Endpoint.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transport</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>tcp</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Setting for choice of transport potocol. 
Valid choices are "tcp" or "udp".</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>fromUser</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Username of the message originator. <strong>Mandatory 
setting unless a registry based custom FromHeader is 
specified.</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>fromHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Hostname of the message originator. <strong>Mandatory 
setting unless a regist
 ry based FromHeader is specified</strong></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>fromPort</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Port of the message originator. 
<strong>Mandatory setting unless a registry based FromHeader is 
specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>toUser</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Username of the message receiver. <strong>Mandatory 
setting unless a registry based custom ToHeader is 
specified.</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>toHost</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Hostname of the message receiver. <strong>Mandatory 
setting unless 
 a registry based ToHeader is specified</strong></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>toPort</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Portname of the message receiver. 
<strong>Mandatory setting unless a registry based ToHeader is 
specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxforwards</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the number of intermediaries that may forward the 
message to the message receiver. <strong>Optional setting. May alternatively be 
set using as registry based MaxForwardsHeader</strong></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>eventId</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>
 Setting for a String based event Id. <strong>Mandatory setting unless a 
registry based FromHeader is specified</strong></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>eventHeaderName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Setting for a String based event Id. <strong>Mandatory 
setting unless a registry based FromHeader is 
specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxMessageSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1048576</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Setting for maximum allowed 
Message size in bytes.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>cacheConnections</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Shoul
 d connections be cached by the SipStack to reduce cost of connection creation. 
This is useful if the connection is used for long running 
conversations.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This setting is used to determine whether 
the kind of header (FromHeader,ToHeader etc) that needs to be created for this 
endpoint</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentType</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>text</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Setting for contentType can be set to any 
valid MimeType.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentSubType</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>xml</code></p></td><td colspan="
 1" rowspan="1" class="confluenceTd"><p>Setting for contentSubType can be set 
to any valid MimeSubType.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>receiveTimeoutMillis</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Setting for specifying amount 
of time to wait for a Response and/or Acknowledgement can be received from 
another SIP stack</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useRouterForAllUris</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>This setting is used when 
requests are sent to the Presence Agent via a proxy.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>msgExpiration</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>3600</code></p></td><td colspan="1" 
rowspan="1"
  class="confluenceTd"><p>The amount of time a message received at an endpoint 
is considered valid</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>presenceAgent</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This setting is used to distingish between 
a Presence Agent &amp; a consumer. This is due to the fact that the SIP Camel 
component ships with a basic Presence Agent (for testing purposes only). 
Consumers have to set this flag to 
true.</p></td></tr></tbody></table></div></div><h3 
id="BookComponentAppendix-RegistrybasedOptions.1">Registry based 
Options</h3><p>SIP requires a number of headers to be sent/received as part of 
a request. These SIP header can be enlisted in the <a shape="rect" 
href="registry.html">Registry</a>, such as in the Spring XML file.</p><p>The 
values that could be passed in, are the following:</p><div 
class="confluenceTableSmall"><div cla
 ss="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>fromHeader</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>a custom Header object 
containing message originator settings. Must implement the type 
javax.sip.header.FromHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>toHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing message 
receiver settings. Must implement the type 
javax.sip.header.ToHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>viaHeaders</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>List of custom Header objects of the type 
javax.sip.header.ViaHeader. Each ViaHeader containing a proxy address for 
request for
 warding. (Note this header is automatically updated by each proxy when the 
request arrives at its listener)</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentTypeHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing message 
content details. Must implement the type 
javax.sip.header.ContentTypeHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>callIdHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing call 
details. Must implement the type 
javax.sip.header.CallIdHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxForwardsHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing details 
on maximum proxy forwards. This header places a limit on the viaHeaders 
possible. Must implement the type javax.sip.header.MaxForwardsHeader</p></td></t
 r><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>eventHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing event 
details. Must implement the type 
javax.sip.header.EventHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contactHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>an optional custom Header object containing 
verbose contact details (email, phone number etc). Must implement the type 
javax.sip.header.ContactHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>expiresHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing message 
expiration details. Must implement the type 
javax.sip.header.ExpiresHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>extensionHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header
  object containing user/application specific details. Must implement the type 
javax.sip.header.ExtensionHeader</p></td></tr></tbody></table></div></div><h3 
id="BookComponentAppendix-SendingMessagesto/fromaSIPendpoint">Sending Messages 
to/from a SIP endpoint</h3><h4 
id="BookComponentAppendix-CreatingaCamelSIPPublisher">Creating a Camel SIP 
Publisher</h4><p>In the example below, a SIP Publisher is created to send SIP 
Event publications to <br clear="none"> a user "agent@localhost:5152". This is 
the address of the SIP Presence Agent which acts as a broker between the SIP 
Publisher and Subscriber</p><ul><li>using a SIP Stack named 
client</li><li>using a registry based eventHeader called 
evtHdrName</li><li>using a registry based eventId called evtId</li><li>from a 
SIP Stack with Listener set up as user2@localhost:3534</li><li>The Event being 
published is EVENT_A</li><li>A Mandatory Header called REQUEST_METHOD is set to 
Request.Publish thereby setting up the endpoint as a Event publisher
 "</li></ul><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[producerTemplate.sendBodyAndHeader(  
     
&quot;sip://agent@localhost:5152?stackName=client&amp;eventHeaderName=evtHdrName&amp;eventId=evtid&amp;fromUser=user2&amp;fromHost=localhost&amp;fromPort=3534&quot;,
   
     &quot;EVENT_A&quot;,  
     &quot;REQUEST_METHOD&quot;,   
     Request.PUBLISH);  
 ]]></script>
-</div></div>
-
-<h4 id="BookComponentAppendix-CreatingaCamelSIPSubscriber">Creating a Camel 
SIP Subscriber</h4>
-
-<p>In the example below, a SIP Subscriber is created to receive SIP Event 
publications sent to <br clear="none">
-a user "johndoe@localhost:5154"</p>
-<ul><li>using a SIP Stack named Subscriber</li><li>registering with a Presence 
Agent user called agent@localhost:5152</li><li>using a registry based 
eventHeader called evtHdrName. The evtHdrName contains the Event which is se to 
"Event_A"</li><li>using a registry based eventId called evtId</li></ul>
-
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-@Override  
+</div></div><h4 
id="BookComponentAppendix-CreatingaCamelSIPSubscriber">Creating a Camel SIP 
Subscriber</h4><p>In the example below, a SIP Subscriber is created to receive 
SIP Event publications sent to <br clear="none"> a user 
"johndoe@localhost:5154"</p><ul><li>using a SIP Stack named 
Subscriber</li><li>registering with a Presence Agent user called 
agent@localhost:5152</li><li>using a registry based eventHeader called 
evtHdrName. The evtHdrName contains the Event which is se to 
"Event_A"</li><li>using a registry based eventId called evtId</li></ul><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[@Override  
 protected RouteBuilder createRouteBuilder() throws Exception {  
     return new RouteBuilder() {  
         @Override  
@@ -9153,11 +9083,7 @@ protected RouteBuilder createRouteBuilde
     };  
 }  
 ]]></script>
-</div></div>
-
-<p><strong>The Camel SIP component also ships with a Presence Agent that is 
meant to be used for Testing and Demo purposes only.</strong> An example of 
instantiating a Presence Agent is given above. </p>
-
-<p>Note that the Presence Agent is set up as a user agent@localhost:5152 and 
is capable of communicating with both Publisher as well as Subscriber. It has a 
separate SIP stackName distinct from Publisher as well as Subscriber. While it 
is set up as a Camel Consumer, it does not actually send any messages along the 
route to the endpoint "mock:neverland".</p> <h2 
id="BookComponentAppendix-SMPPComponent">SMPP 
Component</h2><p><strong>CamelSmppFinalStatusAvailable as of Camel 
2.2</strong></p><p>This component provides access to an SMSC (Short Message 
Service Center) over the <a shape="rect" class="external-link" 
href="http://smsforum.net/SMPP_v3_4_Issue1_2.zip"; rel="nofollow">SMPP</a> 
protocol to send and receive SMS. The <a shape="rect" class="external-link" 
href="http://jsmpp.org"; rel="nofollow">JSMPP</a> library is used for the 
protocol implementation.</p><p>The Camel component currently operates as an <a 
shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/ESME"; rel
 ="nofollow">ESME</a> (External Short Messaging Entity) and not as an SMSC 
itself.</p><p>Starting with<strong> Camel 2.9</strong>&#160;you are also able 
to execute ReplaceSm, QuerySm, SubmitMulti, CancelSm and DataSm.</p><p>Maven 
users will need to add the following dependency to their <code>pom.xml</code> 
for this component:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p><strong>The Camel SIP component also ships with a Presence 
Agent that is meant to be used for Testing and Demo purposes only.</strong> An 
example of instantiating a Presence Agent is given above.</p><p>Note that the 
Presence Agent is set up as a user agent@localhost:5152 and is capable of 
communicating with both Publisher as well as Subscriber. It has a separate SIP 
stackName distinct from Publisher as well as Subscriber. While it is set up as 
a Camel Consumer, it does not actually send any messages along the route to the 
endpoint "mock:neverland".</p> <h2 
id="BookComponentAppendix-SMPPComponent">SMPP 
Component</h2><p><strong>CamelSmppFinalStatusAvailable as of Camel 
2.2</strong></p><p>This component provides access to an SMSC (Short Message 
Service Center) over the <a shape="rect" class="external-link" 
href="http://smsforum.net/SMPP_v3_4_Issue1_2.zip"; rel="nofollow">SMPP</a> 
protocol to send and receive SMS. The <a shape="rect" class="external-link" 
href="http://jsmp
 p.org" rel="nofollow">JSMPP</a> library is used for the protocol 
implementation.</p><p>The Camel component currently operates as an <a 
shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/ESME"; 
rel="nofollow">ESME</a> (External Short Messaging Entity) and not as an SMSC 
itself.</p><p>Starting with<strong> Camel 2.9</strong>&#160;you are also able 
to execute ReplaceSm, QuerySm, SubmitMulti, CancelSm and DataSm.</p><p>Maven 
users will need to add the following dependency to their <code>pom.xml</code> 
for this component:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-smpp&lt;/artifactId&gt;

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Sat May 14 08:19:33 
2016
@@ -3615,11 +3615,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1463163558441 {padding: 0px;}
-div.rbtoc1463163558441 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463163558441 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463213890150 {padding: 0px;}
+div.rbtoc1463213890150 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463213890150 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1463163558441">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463213890150">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -5734,11 +5734,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1463163560392 {padding: 0px;}
-div.rbtoc1463163560392 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463163560392 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463213890652 {padding: 0px;}
+div.rbtoc1463213890652 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463213890652 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1463163560392">
+/*]]>*/</style><div class="toc-macro rbtoc1463213890652">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -17135,11 +17135,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookInOnePage-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to consume web 
 services. The bean component's configuration is also simpler and provides the 
fastest method to implement web services using Camel and 
CXF.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The 
<strong>cxf:</strong> component provides integration with <a shape="rect" 
href="http://cxf.apache.org";>Apache CXF</a> for connecting to JAX-WS services 
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1463163582079 {padding: 0px;}
-div.rbtoc1463163582079 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1463163582079 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463213893755 {padding: 0px;}
+div.rbtoc1463213893755 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1463213893755 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1463163582079">
+/*]]>*/</style></p><div class="toc-macro rbtoc1463213893755">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>
@@ -25163,97 +25163,27 @@ sec-level1 = zone1:readonly:*
         headers.put(ShiroSecurityConstants.SHIRO_SECURITY_PASSWORD, 
&quot;starr&quot;);
         template.sendBodyAndHeaders(&quot;direct:secureEndpoint&quot;, 
&quot;Beatle Mania&quot;, headers);
 ]]></script>
-</div></div><p>When you use the username and password headers, then the 
ShiroSecurityPolicy in the Camel route will automatic transform those into a 
single header with key ShiroSecurityConstants.SHIRO_SECURITY_TOKEN with the 
token. Then token is either a <code>ShiroSecurityToken</code> instance, or a 
base64 representation as a String (the latter is when you have set 
base64=true).</p> <h2 id="BookInOnePage-SIPComponent">SIP Component</h2>
-
-<p><strong>Available as of Camel 2.5</strong></p>
-
-<p>The <strong>sip</strong> component in Camel is a communication component, 
based on the Jain SIP implementation (available under the JCP license).</p>
-
-<p>Session Initiation Protocol (SIP) is an IETF-defined signaling protocol, 
widely used for controlling multimedia communication sessions such as voice and 
video calls over Internet Protocol (IP).The SIP protocol is an Application 
Layer protocol designed to be independent of the underlying transport layer; it 
can run on Transmission Control Protocol (TCP), User Datagram Protocol (UDP) or 
Stream Control Transmission Protocol (SCTP). </p>
-
-<p>The Jain SIP implementation supports TCP and UDP only.</p>
-
-<p>The Camel SIP component <strong>only</strong> supports the SIP Publish and 
Subscribe capability as described in the <a shape="rect" class="external-link" 
href="http://www.ietf.org/rfc/rfc3903.txt"; rel="nofollow">RFC3903 - Session 
Initiation Protocol (SIP) Extension for Event</a></p>
-
-<p>This camel component supports both producer and consumer endpoints.</p>
-
-<p>Camel SIP Producers (Event Publishers) and SIP Consumers (Event 
Subscribers) communicate event &amp; state information to each other using an 
intermediary entity called a SIP Presence Agent (a stateful brokering 
entity).</p>
-
-<p>For SIP based communication, a SIP Stack with a listener 
<strong>must</strong> be instantiated on both the SIP Producer and Consumer 
(using separate ports if using localhost). This is necessary in order to 
support the handshakes &amp; acknowledgements exchanged between the SIP Stacks 
during communication.</p>
-
-<p>Maven users will need to add the following dependency to their 
<code>pom.xml</code> for this component:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-&lt;dependency&gt;
+</div></div><p>When you use the username and password headers, then the 
ShiroSecurityPolicy in the Camel route will automatic transform those into a 
single header with key ShiroSecurityConstants.SHIRO_SECURITY_TOKEN with the 
token. Then token is either a <code>ShiroSecurityToken</code> instance, or a 
base64 representation as a String (the latter is when you have set 
base64=true).</p> <h2 id="BookInOnePage-SIPComponent">SIP 
Component</h2><p><strong>Available as of Camel 2.5</strong></p><p>The 
<strong>sip</strong> component in Camel is a communication component, based on 
the Jain SIP implementation (available under the JCP license).</p><p>Session 
Initiation Protocol (SIP) is an IETF-defined signaling protocol, widely used 
for controlling multimedia communication sessions such as voice and video calls 
over Internet Protocol (IP).The SIP protocol is an Application Layer protocol 
designed to be independent of the underlying transport layer; it can run on 
Transmission Control Protocol (TC
 P), User Datagram Protocol (UDP) or Stream Control Transmission Protocol 
(SCTP).</p><p>The Jain SIP implementation supports TCP and UDP only.</p><p>The 
Camel SIP component <strong>only</strong> supports the SIP Publish and 
Subscribe capability as described in the <a shape="rect" class="external-link" 
href="http://www.ietf.org/rfc/rfc3903.txt"; rel="nofollow">RFC3903 - Session 
Initiation Protocol (SIP) Extension for Event</a></p><p>This camel component 
supports both producer and consumer endpoints.</p><p>Camel SIP Producers (Event 
Publishers) and SIP Consumers (Event Subscribers) communicate event &amp; state 
information to each other using an intermediary entity called a SIP Presence 
Agent (a stateful brokering entity).</p><p>For SIP based communication, a SIP 
Stack with a listener <strong>must</strong> be instantiated on both the SIP 
Producer and Consumer (using separate ports if using localhost). This is 
necessary in order to support the handshakes &amp; acknowledgements exchanged 
 between the SIP Stacks during communication.</p><p>Maven users will need to 
add the following dependency to their <code>pom.xml</code> for this 
component:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-sip&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-URIformat.61">URI format</h3>
-
-<p>The URI scheme for a sip endpoint is as follows:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-sip://johndoe@localhost:99999[?options]
+</div></div><h3 id="BookInOnePage-URIformat.61">URI format</h3><p>The URI 
scheme for a sip endpoint is as follows:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[sip://johndoe@localhost:99999[?options]
 sips://johndoe@localhost:99999/[?options]
 ]]></script>
-</div></div>
-
-<p>This component supports producer and consumer endpoints for both TCP and 
UDP.</p>
-
-<p>You can append query options to the URI in the following format, 
<code>?option=value&amp;option=value&amp;...</code></p>
-
-<h3 id="BookInOnePage-Options.68">Options</h3>
-
-<p>The SIP Component offers an extensive set of configuration options &amp; 
capability to create custom stateful headers needed to propagate state via the 
SIP protocol.</p>
-
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>stackName</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>NAME_NOT_SET</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Name of the SIP Stack instance associated with an SIP 
Endpoint. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>transport</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>tcp</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Setting for choice of transport potocol. 
Valid choices are "tcp" or "udp". </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>fromUser</code> </p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Username of the message 
originator. <strong>Mandatory setting unless a registry based custom FromHeader 
is specified.</strong> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>fromHost</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Hostname of the message originator. <strong>Mandatory 
setting unless a registry based FromHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>fromPort</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Port of the message originator. <strong>Mandatory 
setting unless a registry based FromHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <cod
 e>toUser</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Username of the message receiver. <strong>Mandatory 
setting unless a registry based custom ToHeader is specified.</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>toHost</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Hostname of the message receiver. <strong>Mandatory 
setting unless a registry based ToHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>toPort</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Portname of the message receiver. <strong>Mandatory 
setting unless a registry based ToHeader is specified</strong> 
</p></td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd"><p> <code>maxforwards</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> 0 </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> the number of intermediaries that may forward the 
message to the message receiver. <strong>Optional setting. May alternatively be 
set using as registry based MaxForwardsHeader</strong> </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>eventId</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Setting for a String based 
event Id. <strong>Mandatory setting unless a registry based FromHeader is 
specified</strong> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>eventHeaderName</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Setting for a String based event Id. <strong>Mandatory 
setting unless a registr
 y based FromHeader is specified</strong> </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>maxMessageSize</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>1048576</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Setting for 
maximum allowed Message size in bytes. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>cacheConnections</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Should 
connections be cached by the SipStack to reduce cost of connection creation. 
This is useful if the connection is used for long running conversations. 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>consumer</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> This setting is used to 
 determine whether the kind of header (FromHeader,ToHeader etc) that needs to 
be created for this endpoint</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>automaticDialogSupport</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>off</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Setting to specify whether 
every communication should be associated with a dialog. </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>contentType</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>text</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Setting for 
contentType can be set to any valid MimeType. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>contentSubType</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>xml</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Setting for contentSubTyp
 e can be set to any valid MimeSubType. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>receiveTimeoutMillis</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>10000</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Setting for specifying amount of time to wait for a 
Response and/or Acknowledgement can be received from another SIP stack 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>useRouterForAllUris</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> This setting is used when requests are 
sent to the Presence Agent via a proxy. </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>msgExpiration</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>3600</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> The amount of time a 
 message received at an endpoint is considered valid </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>presenceAgent</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>false</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> This setting is used to distingish between a Presence 
Agent &amp; a consumer. This is due to the fact that the SIP Camel component 
ships with a basic Presence Agent (for testing purposes only). Consumers have 
to set this flag to true. </p></td></tr></tbody></table></div>
-</div>
-
-<h3 id="BookInOnePage-RegistrybasedOptions.1">Registry based Options</h3>
-
-<p>SIP requires a number of headers to be sent/received as part of a request. 
These SIP header can be enlisted in the <a shape="rect" 
href="registry.html">Registry</a>, such as in the Spring XML file.</p>
-
-<p>The values that could be passed in, are the following:</p>
-
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>fromHeader</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> a custom Header 
object containing message originator settings. Must implement the type 
javax.sip.header.FromHeader </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>toHeader</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> a custom Header object containing message 
receiver settings. Must implement the type javax.sip.header.ToHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>viaHeaders</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> List of custom Header objects of the type 
javax.sip.header.ViaHeader. Each ViaHeader containing a proxy 
 address for request forwarding. (Note this header is automatically updated by 
each proxy when the request arrives at its listener) </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <code>contentTypeHeader</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> a custom Header 
object containing message content details. Must implement the type 
javax.sip.header.ContentTypeHeader </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>callIdHeader</code> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> a custom Header object 
containing call details. Must implement the type javax.sip.header.CallIdHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>maxForwardsHeader</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> a custom Header object containing details on maximum 
proxy forwards. This header places a limit on the viaHeaders possible. Must 
implement the type javax.sip.h
 eader.MaxForwardsHeader </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>eventHeader</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> a custom Header object containing event 
details. Must implement the type javax.sip.header.EventHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>contactHeader</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> an optional custom Header object containing verbose 
contact details (email, phone number etc). Must implement the type 
javax.sip.header.ContactHeader </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>expiresHeader</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> a custom Header object containing message 
expiration details. Must implement the type javax.sip.header.ExpiresHeader 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>extensionHeader</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p> a custom Header object containing 
user/application specific details. Must implement the type 
javax.sip.header.ExtensionHeader </p></td></tr></tbody></table></div>
-</div>
-
-<h3 id="BookInOnePage-SendingMessagesto/fromaSIPendpoint">Sending Messages 
to/from a SIP endpoint</h3>
-
-<h4 id="BookInOnePage-CreatingaCamelSIPPublisher">Creating a Camel SIP 
Publisher</h4>
-
-<p>In the example below, a SIP Publisher is created to send SIP Event 
publications to <br clear="none">
-a user "agent@localhost:5152". This is the address of the SIP Presence Agent 
which acts as a broker between the SIP Publisher and Subscriber</p>
-<ul><li>using a SIP Stack named client</li><li>using a registry based 
eventHeader called evtHdrName</li><li>using a registry based eventId called 
evtId</li><li>from a SIP Stack with Listener set up as 
user2@localhost:3534</li><li>The Event being published is EVENT_A</li><li>A 
Mandatory Header called REQUEST_METHOD is set to Request.Publish thereby 
setting up the endpoint as a Event publisher"</li></ul>
-
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-producerTemplate.sendBodyAndHeader(  
+</div></div><p>This component supports producer and consumer endpoints for 
both TCP and UDP.</p><p>You can append query options to the URI in the 
following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 
id="BookInOnePage-Options.68">Options</h3><p>The SIP Component offers an 
extensive set of configuration options &amp; capability to create custom 
stateful headers needed to propagate state via the SIP protocol.</p><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>stackName</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>NAME_NOT_SET</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Name of the SIP Sta
 ck instance associated with an SIP Endpoint.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>transport</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>tcp</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Setting for choice of transport 
potocol. Valid choices are "tcp" or "udp".</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>fromUser</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Username of the message originator. 
<strong>Mandatory setting unless a registry based custom FromHeader is 
specified.</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>fromHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Hostname of the message originator. <strong>Mandatory 
setting unless a registry based
  FromHeader is specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>fromPort</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Port of the message originator. <strong>Mandatory 
setting unless a registry based FromHeader is 
specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>toUser</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Username of the message receiver. <strong>Mandatory 
setting unless a registry based custom ToHeader is 
specified.</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>toHost</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Hostname of the message receiver. <strong>Mandatory 
setting unless a regist
 ry based ToHeader is specified</strong></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>toPort</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Portname of the message receiver. <strong>Mandatory 
setting unless a registry based ToHeader is 
specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxforwards</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the number of intermediaries that may forward the 
message to the message receiver. <strong>Optional setting. May alternatively be 
set using as registry based MaxForwardsHeader</strong></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>eventId</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Setting 
 for a String based event Id. <strong>Mandatory setting unless a registry based 
FromHeader is specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>eventHeaderName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Setting for a String based event Id. <strong>Mandatory 
setting unless a registry based FromHeader is 
specified</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxMessageSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1048576</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Setting for maximum allowed 
Message size in bytes.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>cacheConnections</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Should connec
 tions be cached by the SipStack to reduce cost of connection creation. This is 
useful if the connection is used for long running 
conversations.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>consumer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This setting is used to determine whether 
the kind of header (FromHeader,ToHeader etc) that needs to be created for this 
endpoint</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentType</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>text</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Setting for contentType can be set to any 
valid MimeType.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentSubType</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>xml</code></p></td><td colspan="1" 
rowsp
 an="1" class="confluenceTd"><p>Setting for contentSubType can be set to any 
valid MimeSubType.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>receiveTimeoutMillis</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Setting for specifying amount 
of time to wait for a Response and/or Acknowledgement can be received from 
another SIP stack</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useRouterForAllUris</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>This setting is used when 
requests are sent to the Presence Agent via a proxy.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>msgExpiration</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>3600</code></p></td><td colspan="1" 
rowspan="1" class="
 confluenceTd"><p>The amount of time a message received at an endpoint is 
considered valid</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>presenceAgent</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This setting is used to distingish between 
a Presence Agent &amp; a consumer. This is due to the fact that the SIP Camel 
component ships with a basic Presence Agent (for testing purposes only). 
Consumers have to set this flag to 
true.</p></td></tr></tbody></table></div></div><h3 
id="BookInOnePage-RegistrybasedOptions.1">Registry based Options</h3><p>SIP 
requires a number of headers to be sent/received as part of a request. These 
SIP header can be enlisted in the <a shape="rect" 
href="registry.html">Registry</a>, such as in the Spring XML file.</p><p>The 
values that could be passed in, are the following:</p><div 
class="confluenceTableSmall"><div class="table-wrap">
 <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>fromHeader</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>a custom Header object 
containing message originator settings. Must implement the type 
javax.sip.header.FromHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>toHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing message 
receiver settings. Must implement the type 
javax.sip.header.ToHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>viaHeaders</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>List of custom Header objects of the type 
javax.sip.header.ViaHeader. Each ViaHeader containing a proxy address for 
request forwarding. (Note t
 his header is automatically updated by each proxy when the request arrives at 
its listener)</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentTypeHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing message 
content details. Must implement the type 
javax.sip.header.ContentTypeHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>callIdHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing call 
details. Must implement the type 
javax.sip.header.CallIdHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxForwardsHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing details 
on maximum proxy forwards. This header places a limit on the viaHeaders 
possible. Must implement the type 
javax.sip.header.MaxForwardsHeader</p></td></tr><tr><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><code>eventHeader</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>a custom Header object 
containing event details. Must implement the type 
javax.sip.header.EventHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contactHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>an optional custom Header object containing 
verbose contact details (email, phone number etc). Must implement the type 
javax.sip.header.ContactHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>expiresHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containing message 
expiration details. Must implement the type 
javax.sip.header.ExpiresHeader</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>extensionHeader</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>a custom Header object containi
 ng user/application specific details. Must implement the type 
javax.sip.header.ExtensionHeader</p></td></tr></tbody></table></div></div><h3 
id="BookInOnePage-SendingMessagesto/fromaSIPendpoint">Sending Messages to/from 
a SIP endpoint</h3><h4 id="BookInOnePage-CreatingaCamelSIPPublisher">Creating a 
Camel SIP Publisher</h4><p>In the example below, a SIP Publisher is created to 
send SIP Event publications to <br clear="none"> a user "agent@localhost:5152". 
This is the address of the SIP Presence Agent which acts as a broker between 
the SIP Publisher and Subscriber</p><ul><li>using a SIP Stack named 
client</li><li>using a registry based eventHeader called 
evtHdrName</li><li>using a registry based eventId called evtId</li><li>from a 
SIP Stack with Listener set up as user2@localhost:3534</li><li>The Event being 
published is EVENT_A</li><li>A Mandatory Header called REQUEST_METHOD is set to 
Request.Publish thereby setting up the endpoint as a Event 
publisher"</li></ul><div class="code pane
 l pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[producerTemplate.sendBodyAndHeader(  
     
&quot;sip://agent@localhost:5152?stackName=client&amp;eventHeaderName=evtHdrName&amp;eventId=evtid&amp;fromUser=user2&amp;fromHost=localhost&amp;fromPort=3534&quot;,
   
     &quot;EVENT_A&quot;,  
     &quot;REQUEST_METHOD&quot;,   
     Request.PUBLISH);  
 ]]></script>
-</div></div>
-
-<h4 id="BookInOnePage-CreatingaCamelSIPSubscriber">Creating a Camel SIP 
Subscriber</h4>
-
-<p>In the example below, a SIP Subscriber is created to receive SIP Event 
publications sent to <br clear="none">
-a user "johndoe@localhost:5154"</p>
-<ul><li>using a SIP Stack named Subscriber</li><li>registering with a Presence 
Agent user called agent@localhost:5152</li><li>using a registry based 
eventHeader called evtHdrName. The evtHdrName contains the Event which is se to 
"Event_A"</li><li>using a registry based eventId called evtId</li></ul>
-
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-@Override  
+</div></div><h4 id="BookInOnePage-CreatingaCamelSIPSubscriber">Creating a 
Camel SIP Subscriber</h4><p>In the example below, a SIP Subscriber is created 
to receive SIP Event publications sent to <br clear="none"> a user 
"johndoe@localhost:5154"</p><ul><li>using a SIP Stack named 
Subscriber</li><li>registering with a Presence Agent user called 
agent@localhost:5152</li><li>using a registry based eventHeader called 
evtHdrName. The evtHdrName contains the Event which is se to 
"Event_A"</li><li>using a registry based eventId called evtId</li></ul><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[@Override  
 protected RouteBuilder createRouteBuilder() throws Exception {  
     return new RouteBuilder() {  
         @Override  
@@ -25271,11 +25201,7 @@ protected RouteBuilder createRouteBuilde
     };  
 }  
 ]]></script>
-</div></div>
-
-<p><strong>The Camel SIP component also ships with a Presence Agent that is 
meant to be used for Testing and Demo purposes only.</strong> An example of 
instantiating a Presence Agent is given above. </p>
-
-<p>Note that the Presence Agent is set up as a user agent@localhost:5152 and 
is capable of communicating with both Publisher as well as Subscriber. It has a 
separate SIP stackName distinct from Publisher as well as Subscriber. While it 
is set up as a Camel Consumer, it does not actually send any messages along the 
route to the endpoint "mock:neverland".</p> <h2 
id="BookInOnePage-SMPPComponent">SMPP 
Component</h2><p><strong>CamelSmppFinalStatusAvailable as of Camel 
2.2</strong></p><p>This component provides access to an SMSC (Short Message 
Service Center) over the <a shape="rect" class="external-link" 
href="http://smsforum.net/SMPP_v3_4_Issue1_2.zip"; rel="nofollow">SMPP</a> 
protocol to send and receive SMS. The <a shape="rect" class="external-link" 
href="http://jsmpp.org"; rel="nofollow">JSMPP</a> library is used for the 
protocol implementation.</p><p>The Camel component currently operates as an <a 
shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/ESME"; 
rel="nofoll
 ow">ESME</a> (External Short Messaging Entity) and not as an SMSC 
itself.</p><p>Starting with<strong> Camel 2.9</strong>&#160;you are also able 
to execute ReplaceSm, QuerySm, SubmitMulti, CancelSm and DataSm.</p><p>Maven 
users will need to add the following dependency to their <code>pom.xml</code> 
for this component:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p><strong>The Camel SIP component also ships with a Presence 
Agent that is meant to be used for Testing and Demo purposes only.</strong> An 
example of instantiating a Presence Agent is given above.</p><p>Note that the 
Presence Agent is set up as a user agent@localhost:5152 and is capable of 
communicating with both Publisher as well as Subscriber. It has a separate SIP 
stackName distinct from Publisher as well as Subscriber. While it is set up as 
a Camel Consumer, it does not actually send any messages along the route to the 
endpoint "mock:neverland".</p> <h2 id="BookInOnePage-SMPPComponent">SMPP 
Component</h2><p><strong>CamelSmppFinalStatusAvailable as of Camel 
2.2</strong></p><p>This component provides access to an SMSC (Short Message 
Service Center) over the <a shape="rect" class="external-link" 
href="http://smsforum.net/SMPP_v3_4_Issue1_2.zip"; rel="nofollow">SMPP</a> 
protocol to send and receive SMS. The <a shape="rect" class="external-link" 
href="http://jsmpp.org"; r
 el="nofollow">JSMPP</a> library is used for the protocol 
implementation.</p><p>The Camel component currently operates as an <a 
shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/ESME"; 
rel="nofollow">ESME</a> (External Short Messaging Entity) and not as an SMSC 
itself.</p><p>Starting with<strong> Camel 2.9</strong>&#160;you are also able 
to execute ReplaceSm, QuerySm, SubmitMulti, CancelSm and DataSm.</p><p>Maven 
users will need to add the following dependency to their <code>pom.xml</code> 
for this component:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-smpp&lt;/artifactId&gt;

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.


Reply via email to