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 Thu Mar 10 07:20:48 
2016
@@ -3758,11 +3758,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.rbtoc1457543930968 {padding: 0px;}
-div.rbtoc1457543930968 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457543930968 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457594351088 {padding: 0px;}
+div.rbtoc1457594351088 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457594351088 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1457543930968">
+/*]]>*/</style></p><div class="toc-macro rbtoc1457594351088">
 <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>
@@ -5877,11 +5877,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.rbtoc1457543932046 {padding: 0px;}
-div.rbtoc1457543932046 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457543932046 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457594351643 {padding: 0px;}
+div.rbtoc1457594351643 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457594351643 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1457543932046">
+/*]]>*/</style><div class="toc-macro rbtoc1457594351643">
 <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>
@@ -17336,11 +17336,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.rbtoc1457543938682 {padding: 0px;}
-div.rbtoc1457543938682 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457543938682 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457594361022 {padding: 0px;}
+div.rbtoc1457594361022 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457594361022 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1457543938682">
+/*]]>*/</style></p><div class="toc-macro rbtoc1457594361022">
 <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>
@@ -25826,7 +25826,7 @@ protected RouteBuilder createRouteBuilde
 
 <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>Available 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> (Extern
 al 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">
+<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">
 <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;
@@ -25844,7 +25844,7 @@ smpps://[username@]hostname[:port][?opti
 </div></div><p>If no <strong>username</strong> is provided, then Camel will 
provide the default value <code>smppclient</code>.<br clear="none"> If no 
<strong>port</strong> number is provided, then Camel will provide the default 
value <code>2775</code>.<br clear="none"> <strong>Camel 2.3:</strong> If the 
protocol name is "smpps", camel-smpp with try to use SSLSocket to init a 
connection to the server.</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-URIOptions.9">URI Options</h3><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>password</code></p></td><td colspan="
 1" rowspan="1" class="confluenceTd"><p><code>password</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the password to use 
to log in to the SMSC.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>systemType</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>cp</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This parameter is used to categorize the 
type of ESME (External Short Message Entity) that is binding to the SMSC (max. 
13 characters).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>dataCoding</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.11</strong> Defines the 
data coding according the SMPP 3.4 specification, section 5.2.19. (Prior to 
<strong>Camel 2.9</strong>, this option is also supported.) Example data 
encodings are:<br clear="none" class="atl
 -forced-newline"> <code>0</code>: SMSC Default Alphabet<br clear="none" 
class="atl-forced-newline"> <code>3</code>: Latin 1 (ISO-8859-1)<br 
clear="none" class="atl-forced-newline"> <code>4</code>: Octet unspecified 
(8-bit binary)<br clear="none" class="atl-forced-newline"> <code>8</code>: UCS2 
(ISO/IEC-10646)<br clear="none" class="atl-forced-newline"> <code>13</code>: 
Extended Kanji JIS(X 0212-1990)</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>alphabet</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.5</strong> Defines encoding 
of data according the SMPP 3.4 specification, section 5.2.19. This option is 
mapped to <a shape="rect" class="external-link" 
href="http://code.google.com/p/jsmpp/source/browse/tags/2.1.0/src/java/main/org/jsmpp/bean/Alphabet.java";
 rel="nofollow"><code>Alphabet.java</code></a> and used to create the 
<code>byte[]</code> whi
 ch is send to the SMSC. Example alphabets are:<br clear="none" 
class="atl-forced-newline"> <code>0</code>: SMSC Default Alphabet<br 
clear="none" class="atl-forced-newline"> <code>4</code>: 8 bit Alphabet<br 
clear="none" class="atl-forced-newline"> <code>8</code>: UCS2 
Alphabet</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>ISO-8859-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
ReplaceSm and SubmitMulti</strong> Defines the encoding scheme of the short 
message user data.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>enquireLinkTimer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>5000</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Defines the interval in milliseconds 
between the confidence checks. The confidence check is used to test the 
communication pa
 th between an ESME and an SMSC.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transactionTimer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Defines the maximum period of inactivity 
allowed after a transaction, after which an SMPP entity may assume that the 
session is no longer active. This timer may be active on either communicating 
SMPP entity (i.e. SMSC or ESME).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>initialReconnectDelay</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>5000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the initial delay in 
milliseconds after the consumer/producer tries to reconnect to the SMSC, after 
the connection was lost.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>reconnectDelay</code></p></td><td colspan="1" row
 span="1" class="confluenceTd"><p><code>5000</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Defines the interval in milliseconds 
between the reconnect attempts, if the connection to the SMSC was lost and the 
previous was not succeed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>registeredDelivery</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, ReplaceSm, 
SubmitMulti and DataSm</strong> Is used to request an SMSC delivery receipt 
and/or SME originated acknowledgements. The following values are defined:<br 
clear="none" class="atl-forced-newline"> <code>0</code>: No SMSC delivery 
receipt requested.<br clear="none" class="atl-forced-newline"> <code>1</code>: 
SMSC delivery receipt requested where final delivery outcome is success or 
failure.<br clear="none" class="atl-forced-newline"> <code>2</code>: SMSC 
delivery receip
 t requested where the final delivery outcome is delivery 
failure.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>serviceType</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CMT</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The service type parameter can be used to 
indicate the SMS Application service associated with the message. The following 
generic service_types are defined:<br clear="none" class="atl-forced-newline"> 
<code>CMT</code>: Cellular Messaging<br clear="none" 
class="atl-forced-newline"> <code>CPT</code>: Cellular Paging<br clear="none" 
class="atl-forced-newline"> <code>VMN</code>: Voice Mail Notification<br 
clear="none" class="atl-forced-newline"> <code>VMA</code>: Voice Mail 
Alerting<br clear="none" class="atl-forced-newline"> <code>WAP</code>: Wireless 
Application Protocol<br clear="none" class="atl-forced-newline"> 
<code>USSD</code>: Unstructured Supplementary Services Data</p></td></tr><tr><td
  colspan="1" rowspan="1" 
class="confluenceTd"><p><code>sourceAddr</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1616</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Defines the address of SME (Short Message 
Entity) which originated this message.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>destAddr</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>1717</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
SubmitMulti, CancelSm and DataSm</strong> Defines the destination SME address. 
For mobile terminated messages, this is the directory number of the recipient 
MS.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>sourceAddrTon</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Defines the type of number (TON) to be used 
in the SME or
 iginator address parameters. The following TON values are defined:<br 
clear="none" class="atl-forced-newline"> <code>0</code>: Unknown<br 
clear="none" class="atl-forced-newline"> <code>1</code>: International<br 
clear="none" class="atl-forced-newline"> <code>2</code>: National<br 
clear="none" class="atl-forced-newline"> <code>3</code>: Network Specific<br 
clear="none" class="atl-forced-newline"> <code>4</code>: Subscriber Number<br 
clear="none" class="atl-forced-newline"> <code>5</code>: Alphanumeric<br 
clear="none" class="atl-forced-newline"> <code>6</code>: 
Abbreviated</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>destAddrTon</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, SubmitMulti, 
CancelSm and DataSm</strong> Defines the type of number (TON) to be used in the 
SME destination address parameters. Same as the <code>sourceAddrTon</c
 ode> values defined above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>sourceAddrNpi</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Defines the numeric plan indicator (NPI) to 
be used in the SME originator address parameters. The following NPI values are 
defined: <br clear="none" class="atl-forced-newline"> <code>0</code>: 
Unknown<br clear="none" class="atl-forced-newline"> <code>1</code>: ISDN 
(E163/E164)<br clear="none" class="atl-forced-newline"> <code>2</code>: Data 
(X.121)<br clear="none" class="atl-forced-newline"> <code>3</code>: Telex 
(F.69)<br clear="none" class="atl-forced-newline"> <code>6</code>: Land Mobile 
(E.212)<br clear="none" class="atl-forced-newline"> <code>8</code>: National<br 
clear="none" class="atl-forced-newline"> <code>9</code>: Private<br 
clear="none" class="atl-forced-newline"> <code>10</code>: ERMES<br clear="none" 
class="atl-forc
 ed-newline"> <code>13</code>: Internet (IP)<br clear="none" 
class="atl-forced-newline"> <code>18</code>: WAP Client Id (to be defined by 
WAP Forum)</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>destAddrNpi</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, SubmitMulti, 
CancelSm and DataSm</strong> Defines the numeric plan indicator (NPI) to be 
used in the SME destination address parameters. Same as the 
<code>sourceAddrNpi</code> values defined above.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>priorityFlag</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm and 
SubmitMulti</strong> Allows the originating SME to assign a priority level to 
the short message. Four Priority Levels are supported:<br
  clear="none" class="atl-forced-newline"> <code>0</code>: Level 0 (lowest) 
priority<br clear="none" class="atl-forced-newline"> <code>1</code>: Level 1 
priority<br clear="none" class="atl-forced-newline"> <code>2</code>: Level 2 
priority<br clear="none" class="atl-forced-newline"> <code>3</code>: Level 3 
(highest) priority</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>replaceIfPresentFlag</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm and 
SubmitMulti</strong> Used to request the SMSC to replace a previously submitted 
message, that is still pending delivery. The SMSC will replace an existing 
message provided that the source address, destination address and service type 
match the same fields in the new message. The following replace if present flag 
values are defined: <br clear="none" class="atl-forced-newline"> 
<code>0</code>: Don't rep
 lace<br clear="none" class="atl-forced-newline"> <code>1</code>: 
Replace</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>typeOfNumber</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Defines the type of number (TON) to be used 
in the SME. Use the <code>sourceAddrTon</code> values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>numberingPlanIndicator</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the numeric plan 
indicator (NPI) to be used in the SME. Use the <code>sourceAddrNpi</code> 
values defined above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>lazySessionCreation</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" cla
 ss="confluenceTd"><p><strong>Camel 2.8 onwards</strong> Sessions can be lazily 
created to avoid exceptions, if the SMSC is not available when the Camel 
producer is started.<br clear="none" class="atl-forced-newline"> <strong>Camel 
2.11 onwards</strong> Camel will check the in message headers 
'CamelSmppSystemId' and 'CamelSmppPassword' of the first exchange. If they are 
present, Camel will use these data to connect to the SMSC.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpProxyHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.1:</strong> If you need 
to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip 
address of your HTTP proxy.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpProxyPort</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>3128</code></p></td><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
2.9.1:</strong> If you need to tunnel SMPP through a HTTP proxy, set this 
attribute to the port of your HTTP proxy.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpProxyUsername</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.1:</strong> 
If your HTTP proxy requires basic authentication, set this attribute to the 
username required for your HTTP proxy.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpProxyPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.1:</strong> 
If your HTTP proxy requires basic authentication, set this attribute to the 
password required for your HTTP proxy.</p></td></tr><tr><td colspan="1" 
rowspan="1" class=
 "confluenceTd"><p><code>sessionStateListener</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> You can refer 
to a <code>org.jsmpp.session.SessionStateListener</code> in the 
<code>Registry</code> to receive callbacks when the session state 
changed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>addressRange</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>""</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> You can 
specify the address range for the <code>SmppConsumer</code> as defined in 
section 5.2.7 of the SMPP 3.4 specification. The <code>SmppConsumer</code> will 
receive messages only from SMSC's which target an address (MSISDN or IP 
address) within this range.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">splittingPolicy</td><td colspan="1" 
 rowspan="1" class="confluenceTd">ALLOW</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.14.1 and 2.15.0:</strong> You can 
specify a policy for handling long messages:</p><ul><li>ALLOW - the default, 
long messages are split to 140 bytes per message</li><li>TRUNCATE - long 
messages are split and only the first fragment will be sent to the SMSC.&#160; 
Some carriers drop subsequent fragments so this reduces load on the SMPP 
connection sending parts of a message that will never be 
delivered.</li><li>REJECT - if a message would need to be split, it is rejected 
with an SMPP NegativeResponseException and the reason code signifying the 
message is too long.</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">proxyHeaders</td><td colspan="1" rowspan="1" 
class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.17:</strong> These headers will be passed 
to the proxy server while establishing the connection.</td></tr>
 </tbody></table></div></div><p>You can have as many of these options as you 
like.</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[smpp://smppclient@localhost:2775?password=password&amp;enquireLinkTimer=3000&amp;transactionTimer=5000&amp;systemType=consumer
 ]]></script>
-</div></div><h3 id="BookInOnePage-ProducerMessageHeaders">Producer Message 
Headers</h3><p>The following message headers can be used to affect the behavior 
of the SMPP producer</p><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSmppDestAddr</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>List</code>/<code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
SubmitMulti, CancelSm and DataSm</strong> Defines the destination SME 
address(es). For mobile terminated messages, this is the directory number of 
the recipient MS. Is must be a <code>List&lt;String&gt;</code> for SubmitMulti 
and a <code
 >String</code> otherwise.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppDestAddrTon</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
 >SubmitMulti, CancelSm and DataSm</strong> Defines the type of number (TON) to 
 >be used in the SME destination address parameters. Use the 
 ><code>sourceAddrTon</code> URI option values defined 
 >above.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppDestAddrNpi</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
 >SubmitMulti, CancelSm and DataSm</strong> Defines the numeric plan indicator 
 >(NPI) to be used in the SME destination address parameters. Use the URI 
 >option <code>sourceAddrNpi</code> values defined above.</p></td></tr><tr><td 
 >colspan="1" 
 rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddr</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the address of SME 
(Short Message Entity) which originated this message.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the type of number 
(TON) to be used in the SME originator address parameters. Use the 
<code>sourceAddrTon</code> URI option values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddrNpi</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the numeric plan 
indicator (NPI) to be used in the SME orig
 inator address parameters. Use the URI option <code>sourceAddrNpi</code> 
values defined above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppServiceType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The service type parameter can 
be used to indicate the SMS Application service associated with the message. 
Use the URI option <code>serviceType</code> settings 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppRegisteredDelivery</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
ReplaceSm, SubmitMulti and DataSm</strong> Is used to request an SMSC delivery 
receipt and/or SME originated acknowledgements. Use the URI option 
<code>registeredDelivery</code> settings above.</p></td></tr><tr><td c
 olspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppPriorityFlag</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm and 
SubmitMulti</strong> Allows the originating SME to assign a priority level to 
the short message. Use the URI option <code>priorityFlag</code> settings 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppScheduleDeliveryTime</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Date</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
SubmitMulti and ReplaceSm</strong> This parameter specifies the scheduled time 
at which the message delivery should be first attempted. It defines either the 
absolute date and time or relative time from the current SMSC time at which 
delivery of this message will be attempted by the SMSC. It can be specified in
  either absolute time format or relative time format. The encoding of a time 
format is specified in chapter 7.1.1. in the smpp specification 
v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppValidityPeriod</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code>/<code>Date</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
SubmitMulti and ReplaceSm</strong> The validity period parameter indicates the 
SMSC expiration time, after which the message should be discarded if not 
delivered to the destination. If it's provided as <code>Date</code>, it's 
interpreted as absolute time. <strong>Camel 2.9.1 onwards:</strong> It can be 
defined in absolute time format or relative time format if you provide it as 
<code>String</code> as specified in chapter 7.1.1 in the smpp specification 
v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppReplaceIfPre
 sentFlag</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Byte</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>only for SubmitSm and SubmitMulti</strong> The 
replace if present flag parameter is used to request the SMSC to replace a 
previously submitted message, that is still pending delivery. The SMSC will 
replace an existing message provided that the source address, destination 
address and service type match the same fields in the new message. The 
following values are defined: <br clear="none" class="atl-forced-newline"> 
<code>0</code>: Don't replace<br clear="none" class="atl-forced-newline"> 
<code>1</code>: Replace</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppAlphabet</code> / 
<code>CamelSmppDataCoding</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Byte</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.5</strong> <strong>For SubmitS
 m, SubmitMulti and ReplaceSm</strong> (Prior to <strong>Camel 2.9</strong> use 
<code>CamelSmppDataCoding</code> instead of <code>CamelSmppAlphabet</code>.) 
The data coding according to the SMPP 3.4 specification, section 5.2.19. Use 
the URI option <code>alphabet</code> settings above.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
String&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated and will be removed in Camel 
2.13.0/3.0.0</strong><br clear="none" class="atl-forced-newline"> <strong>Camel 
2.10.5 and 2.11.1 onwards and only for SubmitSm, SubmitMulti and 
DataSm</strong> The optional parameters send back by the 
SMSC.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;Shor
 t, Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10.7 and 2.11.2 onwards and only for 
SubmitSm, SubmitMulti and DataSm</strong> The optional parameter which are send 
to the SMSC. The value is converted in the following way:<br clear="none" 
class="atl-forced-newline"> <code>String</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.COctetString</code><br clear="none" 
class="atl-forced-newline"> <code>byte[]</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.OctetString</code><br clear="none" 
class="atl-forced-newline"> <code>Byte</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.Byte</code><br clear="none" 
class="atl-forced-newline"> <code>Integer</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.Int</code><br clear="none" 
class="atl-forced-newline"> <code>Short</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.Short</code><br clear="none" 
class="atl-forced-newline"> <code>null</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.
 Null</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">CamelSmppEncoding</td><td colspan="1" rowspan="1" 
class="confluenceTd">String</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1 and Camel 2.15.0 onwards and 
</strong><strong>only for SubmitSm, SubmitMulti and DataSm</strong>.&#160; 
Specifies the encoding (character set name) of the bytes in the message 
body.&#160; If the message body is a string then this is not relevant because 
Java Strings are always Unicode.&#160; If the body is a byte array then this 
header can be used to indicate that it is ISO-8859-1 or some other value.&#160; 
Default value is specified by the endpoint configuration parameter 
<em>encoding</em></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">CamelSmppSplittingPolicy</td><td colspan="1" rowspan="1" 
class="confluenceTd">String</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1 and Camel 2.15.0 onwards and 
</strong><strong>only
  for SubmitSm, SubmitMulti and DataSm</strong>.&#160; Specifies the policy for 
message splitting for this exchange.&#160; Possible values are described in the 
endpoint configuration parameter 
<em>splittingPolicy</em></td></tr></tbody></table></div></div><p>The following 
message headers are used by the SMPP producer to set the response from the SMSC 
in the message header</p><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSmppId</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>List&lt;String&gt;</code>/<code>String</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The id to identify the 
submitted short message(s) for later
  use. <strong>From Camel 2.9.0</strong>: In case of a ReplaceSm, QuerySm, 
CancelSm and DataSm this header vaule is a <code>String</code>. In case of a 
SubmitSm or SubmitMultiSm this header vaule is a 
<code>List&lt;String&gt;</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSentMessageCount</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>From Camel 2.9 onwards only for 
SubmitSm and SubmitMultiSm</strong> The total number of messages which has been 
sent.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppError</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Map&lt;String, List&lt;Map&lt;String, 
Object&gt;&gt;&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>From Camel 2.9 onwards only for 
SubmitMultiSm</strong> The errors which occurred by sending th
 e short message(s) the form <code>Map&lt;String, List&lt;Map&lt;String, 
Object&gt;&gt;&gt;</code> (messageID : (destAddr : address, error : 
errorCode)).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
String&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated and will be removed in Camel 
2.13.0/3.0.0</strong><br clear="none" class="atl-forced-newline"> <strong>From 
Camel 2.11.1 onwards only for DataSm</strong> The optional parameters which are 
returned from the SMSC by sending the message.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;Short, 
Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>From Camel 2.10.7, 2.11.2 onwards only for Dat
 aSm</strong> The optional parameter which are returned from the SMSC by 
sending the message. The key is the <code>Short</code> code for the optional 
parameter. The value is converted in the following way:<br clear="none" 
class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.COctetString</code> -&gt; 
<code>String</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.OctetString</code> -&gt; 
<code>byte[]</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Byte</code> -&gt; <code>Byte</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Int</code> -&gt; <code>Integer</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Short</code> -&gt; <code>Short</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Null</code> -&gt; 
<code>null</code></p></td></tr></tbody></table></div></div><h3 id="BookIn
 OnePage-ConsumerMessageHeaders">Consumer Message Headers</h3><p>The following 
message headers are used by the SMPP consumer to set the request data from the 
SMSC in the message header</p><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSequenceNumber</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification, 
DeliverSm and DataSm</strong> A sequence number allows a response PDU to be 
correlated with a request PDU. The associated SMPP response PDU must preserve 
this field.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"
 ><p><code>CamelSmppCommandId</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification, 
 >DeliverSm and DataSm</strong> The command id field identifies the particular 
 >SMPP PDU. For the complete list of defined values see chapter 5.1.2.1 in the 
 >smpp specification v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppSourceAddr</code></p></td><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification, 
 >DeliverSm and DataSm</strong> Defines the address of SME (Short Message 
 >Entity) which originated this message.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppSourceAddrNpi</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
 >colspan="1" rowspan="
 1" class="confluenceTd"><p><strong>only for AlertNotification and 
DataSm</strong> Defines the numeric plan indicator (NPI) to be used in the SME 
originator address parameters. Use the URI option <code>sourceAddrNpi</code> 
values defined above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
AlertNotification and DataSm</strong> Defines the type of number (TON) to be 
used in the SME originator address parameters. Use the 
<code>sourceAddrTon</code> URI option values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppEsmeAddr</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification</strong> 
Defines the desti
 nation ESME address. For mobile terminated messages, this is the directory 
number of the recipient MS.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppEsmeAddrNpi</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
AlertNotification</strong> Defines the numeric plan indicator (NPI) to be used 
in the ESME originator address parameters. Use the URI option 
<code>sourceAddrNpi</code> values defined above.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppEsmeAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
AlertNotification</strong> Defines the type of number (TON) to be used in the 
ESME originator address parameters. Use the <code>sourceAddrTon</code> URI 
option values defined above.</p></t
 d></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppId</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for smsc DeliveryReceipt and 
DataSm</strong> The message ID allocated to the message by the SMSC when 
originally submitted.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDelivered</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> Number of short messages delivered. This is only 
relevant where the original message was submitted to a distribution list.The 
value is padded with leading zeros if necessary.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDoneDate</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Da
 te</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>only for smsc DeliveryReceipt</strong> The time 
and date at which the short message reached it's final state. The format is as 
follows: YYMMDDhhmm.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppFinalStatus</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>DeliveryReceiptState</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt:</strong> The final status of the message. The following values 
are defined:<br clear="none" class="atl-forced-newline"> <code>DELIVRD</code>: 
Message is delivered to destination<br clear="none" class="atl-forced-newline"> 
<code>EXPIRED</code>: Message validity period has expired.<br clear="none" 
class="atl-forced-newline"> <code>DELETED</code>: Message has been deleted.<br 
clear="none" class="atl-forced-newline"> <code>UNDELIV</code>: Message is 
undeliverable<br clear="n
 one" class="atl-forced-newline"> <code>ACCEPTD</code>: Message is in accepted 
state (i.e. has been manually read on behalf of the subscriber by customer 
service)<br clear="none" class="atl-forced-newline"> <code>UNKNOWN</code>: 
Message is in invalid state<br clear="none" class="atl-forced-newline"> 
<code>REJECTD</code>: Message is in a rejected state</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppCommandStatus</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for DataSm</strong> The 
Command status of the message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppError</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> Where appropriate this may hold a Network spec
 ific error code or an SMSC error code for the attempted delivery of the 
message. These errors are Network or SMSC specific and are not included 
here.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSubmitDate</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Date</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> The time and date at which the short message was 
submitted. In the case of a message which has been replaced, this is the date 
that the original message was replaced. The format is as follows: 
YYMMDDhhmm.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSubmitted</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> Number of short messages originally submitted. This is 
only releva
 nt when the original message was submitted to a distribution list.The value is 
padded with leading zeros if necessary.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSmppDestAddr</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for DeliverSm and 
DataSm:</strong> Defines the destination SME address. For mobile terminated 
messages, this is the directory number of the recipient 
MS.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppScheduleDeliveryTime</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DeliverSm:</strong> This parameter specifies the scheduled time at which the 
message delivery should be first attempted. It defines either the absolute date 
and time or relative time from the current SM
 SC time at which delivery of this message will be attempted by the SMSC. It 
can be specified in either absolute time format or relative time format. The 
encoding of a time format is specified in Section 7.1.1. in the smpp 
specification v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppValidityPeriod</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DeliverSm</strong> The validity period parameter indicates the SMSC expiration 
time, after which the message should be discarded if not delivered to the 
destination. It can be defined in absolute time format or relative time format. 
The encoding of absolute and relative time format is specified in Section 7.1.1 
in the smpp specification v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppServiceType</code></p></td><td 
colspan="1" rowspan="1" class="c
 onfluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>only for DeliverSm and DataSm</strong> The 
service type parameter indicates the SMS Application service associated with 
the message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppRegisteredDelivery</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DataSm</strong> Is used to request an delivery receipt and/or SME originated 
acknowledgements. Same values as in Producer header list 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDestAddrNpi</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DataSm</strong> Defines the numeric plan indicator (NPI) in the destination 
address parameters. 
 Use the URI option <code>sourceAddrNpi</code> values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDestAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DataSm</strong> Defines the type of number (TON) in the destination address 
parameters. Use the <code>sourceAddrTon</code> URI option values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppMessageType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.6 
onwards</strong>: Identifies the type of an incoming message:<br clear="none" 
class="atl-forced-newline"> <code>AlertNotification</code>: an SMSC alert 
notification<br clear="none" class="atl-forced-newline"> <code>DataSm</code>: 
an SMSC data short messa
 ge<br clear="none" class="atl-forced-newline"> <code>DeliveryReceipt</code>: 
an SMSC delivery receipt<br clear="none" class="atl-forced-newline"> 
<code>DeliverSm</code>: an SMSC deliver short message</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated and will be removed in Camel 
2.13.0/3.0.0</strong><br clear="none" class="atl-forced-newline"> <strong>Camel 
2.10.5 onwards and only for DeliverSm</strong> The optional parameters send 
back by the SMSC.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;Short, 
Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10.7, 2.11.2 onwards an
 d only for DeliverSm</strong> The optional parameters send back by the SMSC. 
The key is the <code>Short</code> code for the optional parameter. The value is 
converted in the following way:<br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.COctetString</code> -&gt; 
<code>String</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.OctetString</code> -&gt; 
<code>byte[]</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Byte</code> -&gt; <code>Byte</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Int</code> -&gt; <code>Integer</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Short</code> -&gt; <code>Short</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Null</code> -&gt; 
<code>null</code></p></td></tr></tbody></table></div></div><div 
class="confluence-informa
 tion-macro confluence-information-macro-tip"><p class="title">JSMPP 
library</p><span class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>See the documentation of the <a 
shape="rect" class="external-link" href="http://jsmpp.org"; rel="nofollow">JSMPP 
Library</a> for more details about the underlying library.</p></div></div><h3 
id="BookInOnePage-Exceptionhandling.1">Exception handling</h3><p>This component 
supports the general Camel exception handling capabilities</p><p>When an error 
occurs sending a message with SubmitSm (the default action), the 
org.apache.camel.component.smpp.SmppException is thrown with a nested 
exception, org.jsmpp.extra.NegativeResponseException.&#160; Call 
NegativeResponseException.getCommandStatus() to obtain the exact SMPP negative 
response code, the values are explained in the SMPP specification 3.4, section 
5.1.3.<br clear="none"> <strong>Camel 2.8 onwards</strong>: W
 hen the SMPP consumer receives a <code>DeliverSm</code> or <code>DataSm</code> 
short message and the processing of these messages fails, you can also throw a 
<code>ProcessRequestException</code> instead of handle the failure. In this 
case, this exception is forwarded to the underlying <a shape="rect" 
class="external-link" href="http://jsmpp.org"; rel="nofollow">JSMPP library</a> 
which will return the included error code to the SMSC. This feature is useful 
to e.g. instruct the SMSC to resend the short message at a later time. This 
could be done with the following lines of code:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookInOnePage-ProducerMessageHeaders">Producer Message 
Headers</h3><p>The following message headers can be used to affect the behavior 
of the SMPP producer</p><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSmppDestAddr</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>List</code>/<code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
SubmitMulti, CancelSm and DataSm</strong> Defines the destination SME 
address(es). For mobile terminated messages, this is the directory number of 
the recipient MS. Is must be a <code>List&lt;String&gt;</code> for SubmitMulti 
and a <code
 >String</code> otherwise.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppDestAddrTon</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
 >SubmitMulti, CancelSm and DataSm</strong> Defines the type of number (TON) to 
 >be used in the SME destination address parameters. Use the 
 ><code>sourceAddrTon</code> URI option values defined 
 >above.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppDestAddrNpi</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
 >SubmitMulti, CancelSm and DataSm</strong> Defines the numeric plan indicator 
 >(NPI) to be used in the SME destination address parameters. Use the URI 
 >option <code>sourceAddrNpi</code> values defined above.</p></td></tr><tr><td 
 >colspan="1" 
 rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddr</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the address of SME 
(Short Message Entity) which originated this message.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the type of number 
(TON) to be used in the SME originator address parameters. Use the 
<code>sourceAddrTon</code> URI option values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddrNpi</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Defines the numeric plan 
indicator (NPI) to be used in the SME orig
 inator address parameters. Use the URI option <code>sourceAddrNpi</code> 
values defined above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppServiceType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The service type parameter can 
be used to indicate the SMS Application service associated with the message. 
Use the URI option <code>serviceType</code> settings 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppRegisteredDelivery</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
ReplaceSm, SubmitMulti and DataSm</strong> Is used to request an SMSC delivery 
receipt and/or SME originated acknowledgements. Use the URI option 
<code>registeredDelivery</code> settings above.</p></td></tr><tr><td c
 olspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppPriorityFlag</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm and 
SubmitMulti</strong> Allows the originating SME to assign a priority level to 
the short message. Use the URI option <code>priorityFlag</code> settings 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppScheduleDeliveryTime</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Date</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
SubmitMulti and ReplaceSm</strong> This parameter specifies the scheduled time 
at which the message delivery should be first attempted. It defines either the 
absolute date and time or relative time from the current SMSC time at which 
delivery of this message will be attempted by the SMSC. It can be specified in
  either absolute time format or relative time format. The encoding of a time 
format is specified in chapter 7.1.1. in the smpp specification 
v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppValidityPeriod</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code>/<code>Date</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for SubmitSm, 
SubmitMulti and ReplaceSm</strong> The validity period parameter indicates the 
SMSC expiration time, after which the message should be discarded if not 
delivered to the destination. If it's provided as <code>Date</code>, it's 
interpreted as absolute time. <strong>Camel 2.9.1 onwards:</strong> It can be 
defined in absolute time format or relative time format if you provide it as 
<code>String</code> as specified in chapter 7.1.1 in the smpp specification 
v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppReplaceIfPre
 sentFlag</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Byte</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>only for SubmitSm and SubmitMulti</strong> The 
replace if present flag parameter is used to request the SMSC to replace a 
previously submitted message, that is still pending delivery. The SMSC will 
replace an existing message provided that the source address, destination 
address and service type match the same fields in the new message. The 
following values are defined: <br clear="none" class="atl-forced-newline"> 
<code>0</code>: Don't replace<br clear="none" class="atl-forced-newline"> 
<code>1</code>: Replace</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppAlphabet</code> / 
<code>CamelSmppDataCoding</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Byte</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.5</strong> <strong>For SubmitS
 m, SubmitMulti and ReplaceSm</strong> (Prior to <strong>Camel 2.9</strong> use 
<code>CamelSmppDataCoding</code> instead of <code>CamelSmppAlphabet</code>.) 
The data coding according to the SMPP 3.4 specification, section 5.2.19. Use 
the URI option <code>alphabet</code> settings above.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
String&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated and will be removed in Camel 
2.13.0/3.0.0</strong><br clear="none" class="atl-forced-newline"> <strong>Camel 
2.10.5 and 2.11.1 onwards and only for SubmitSm, SubmitMulti and 
DataSm</strong> The optional parameters send back by the 
SMSC.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;Shor
 t, Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10.7 and 2.11.2 onwards and only for 
SubmitSm, SubmitMulti and DataSm</strong> The optional parameter which are send 
to the SMSC. The value is converted in the following way:<br clear="none" 
class="atl-forced-newline"> <code>String</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.COctetString</code><br clear="none" 
class="atl-forced-newline"> <code>byte[]</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.OctetString</code><br clear="none" 
class="atl-forced-newline"> <code>Byte</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.Byte</code><br clear="none" 
class="atl-forced-newline"> <code>Integer</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.Int</code><br clear="none" 
class="atl-forced-newline"> <code>Short</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.Short</code><br clear="none" 
class="atl-forced-newline"> <code>null</code> -&gt; 
<code>org.jsmpp.bean.OptionalParameter.
 Null</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">CamelSmppEncoding</td><td colspan="1" rowspan="1" 
class="confluenceTd">String</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1 and Camel 2.15.0 onwards and 
</strong><strong>only for SubmitSm, SubmitMulti and DataSm</strong>.&#160; 
Specifies the encoding (character set name) of the bytes in the message 
body.&#160; If the message body is a string then this is not relevant because 
Java Strings are always Unicode.&#160; If the body is a byte array then this 
header can be used to indicate that it is ISO-8859-1 or some other value.&#160; 
Default value is specified by the endpoint configuration parameter 
<em>encoding</em></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">CamelSmppSplittingPolicy</td><td colspan="1" rowspan="1" 
class="confluenceTd">String</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1 and Camel 2.15.0 onwards and 
</strong><strong>only
  for SubmitSm, SubmitMulti and DataSm</strong>.&#160; Specifies the policy for 
message splitting for this exchange.&#160; Possible values are described in the 
endpoint configuration parameter 
<em>splittingPolicy</em></td></tr></tbody></table></div></div><p>The following 
message headers are used by the SMPP producer to set the response from the SMSC 
in the message header</p><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSmppId</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>List&lt;String&gt;</code>/<code>String</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>The id to identify the 
submitted short message(s) for later
  use. <strong>From Camel 2.9.0</strong>: In case of a ReplaceSm, QuerySm, 
CancelSm and DataSm this header vaule is a <code>String</code>. In case of a 
SubmitSm or SubmitMultiSm this header vaule is a 
<code>List&lt;String&gt;</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSentMessageCount</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>From Camel 2.9 onwards only for 
SubmitSm and SubmitMultiSm</strong> The total number of messages which has been 
sent.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppError</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Map&lt;String, List&lt;Map&lt;String, 
Object&gt;&gt;&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>From Camel 2.9 onwards only for 
SubmitMultiSm</strong> The errors which occurred by sending th
 e short message(s) the form <code>Map&lt;String, List&lt;Map&lt;String, 
Object&gt;&gt;&gt;</code> (messageID : (destAddr : address, error : 
errorCode)).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
String&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated and will be removed in Camel 
2.13.0/3.0.0</strong><br clear="none" class="atl-forced-newline"> <strong>From 
Camel 2.11.1 onwards only for DataSm</strong> The optional parameters which are 
returned from the SMSC by sending the message.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;Short, 
Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>From Camel 2.10.7, 2.11.2 onwards only for Dat
 aSm</strong> The optional parameter which are returned from the SMSC by 
sending the message. The key is the <code>Short</code> code for the optional 
parameter. The value is converted in the following way:<br clear="none" 
class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.COctetString</code> -&gt; 
<code>String</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.OctetString</code> -&gt; 
<code>byte[]</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Byte</code> -&gt; <code>Byte</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Int</code> -&gt; <code>Integer</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Short</code> -&gt; <code>Short</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Null</code> -&gt; 
<code>null</code></p></td></tr></tbody></table></div></div><h3 id="BookIn
 OnePage-ConsumerMessageHeaders">Consumer Message Headers</h3><p>The following 
message headers are used by the SMPP consumer to set the request data from the 
SMSC in the message header</p><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSequenceNumber</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification, 
DeliverSm and DataSm</strong> A sequence number allows a response PDU to be 
correlated with a request PDU. The associated SMPP response PDU must preserve 
this field.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"
 ><p><code>CamelSmppCommandId</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification, 
 >DeliverSm and DataSm</strong> The command id field identifies the particular 
 >SMPP PDU. For the complete list of defined values see chapter 5.1.2.1 in the 
 >smpp specification v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppSourceAddr</code></p></td><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification, 
 >DeliverSm and DataSm</strong> Defines the address of SME (Short Message 
 >Entity) which originated this message.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" 
 >class="confluenceTd"><p><code>CamelSmppSourceAddrNpi</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
 >colspan="1" rowspan="
 1" class="confluenceTd"><p><strong>only for AlertNotification and 
DataSm</strong> Defines the numeric plan indicator (NPI) to be used in the SME 
originator address parameters. Use the URI option <code>sourceAddrNpi</code> 
values defined above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSourceAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
AlertNotification and DataSm</strong> Defines the type of number (TON) to be 
used in the SME originator address parameters. Use the 
<code>sourceAddrTon</code> URI option values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppEsmeAddr</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for AlertNotification</strong> 
Defines the desti
 nation ESME address. For mobile terminated messages, this is the directory 
number of the recipient MS.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppEsmeAddrNpi</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
AlertNotification</strong> Defines the numeric plan indicator (NPI) to be used 
in the ESME originator address parameters. Use the URI option 
<code>sourceAddrNpi</code> values defined above.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppEsmeAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
AlertNotification</strong> Defines the type of number (TON) to be used in the 
ESME originator address parameters. Use the <code>sourceAddrTon</code> URI 
option values defined above.</p></t
 d></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppId</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for smsc DeliveryReceipt and 
DataSm</strong> The message ID allocated to the message by the SMSC when 
originally submitted.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDelivered</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> Number of short messages delivered. This is only 
relevant where the original message was submitted to a distribution list.The 
value is padded with leading zeros if necessary.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDoneDate</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Da
 te</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>only for smsc DeliveryReceipt</strong> The time 
and date at which the short message reached it's final state. The format is as 
follows: YYMMDDhhmm.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppStatus</code></p></td><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>DeliveryReceiptState</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt:</strong> The final status of the message. The following values 
are defined:<br clear="none" class="atl-forced-newline"> <code>DELIVRD</code>: 
Message is delivered to destination<br clear="none" class="atl-forced-newline"> 
<code>EXPIRED</code>: Message validity period has expired.<br clear="none" 
class="atl-forced-newline"> <code>DELETED</code>: Message has been deleted.<br 
clear="none" class="atl-forced-newline"> <code>UNDELIV</code>: Message is 
undeliverable<br clear="none" 
 class="atl-forced-newline"> <code>ACCEPTD</code>: Message is in accepted state 
(i.e. has been manually read on behalf of the subscriber by customer 
service)<br clear="none" class="atl-forced-newline"> <code>UNKNOWN</code>: 
Message is in invalid state<br clear="none" class="atl-forced-newline"> 
<code>REJECTD</code>: Message is in a rejected state</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppCommandStatus</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for DataSm</strong> The 
Command status of the message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppError</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> Where appropriate this may hold a Network specific 
 error code or an SMSC error code for the attempted delivery of the message. 
These errors are Network or SMSC specific and are not included 
here.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSubmitDate</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Date</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> The time and date at which the short message was 
submitted. In the case of a message which has been replaced, this is the date 
that the original message was replaced. The format is as follows: 
YYMMDDhhmm.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppSubmitted</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for smsc 
DeliveryReceipt</strong> Number of short messages originally submitted. This is 
only relevant wh
 en the original message was submitted to a distribution list.The value is 
padded with leading zeros if necessary.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>CamelSmppDestAddr</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for DeliverSm and 
DataSm:</strong> Defines the destination SME address. For mobile terminated 
messages, this is the directory number of the recipient 
MS.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppScheduleDeliveryTime</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DeliverSm:</strong> This parameter specifies the scheduled time at which the 
message delivery should be first attempted. It defines either the absolute date 
and time or relative time from the current SMSC ti
 me at which delivery of this message will be attempted by the SMSC. It can be 
specified in either absolute time format or relative time format. The encoding 
of a time format is specified in Section 7.1.1. in the smpp specification 
v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppValidityPeriod</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DeliverSm</strong> The validity period parameter indicates the SMSC expiration 
time, after which the message should be discarded if not delivered to the 
destination. It can be defined in absolute time format or relative time format. 
The encoding of absolute and relative time format is specified in Section 7.1.1 
in the smpp specification v3.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppServiceType</code></p></td><td 
colspan="1" rowspan="1" class="conflu
 enceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>only for DeliverSm and DataSm</strong> The 
service type parameter indicates the SMS Application service associated with 
the message.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppRegisteredDelivery</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DataSm</strong> Is used to request an delivery receipt and/or SME originated 
acknowledgements. Same values as in Producer header list 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDestAddrNpi</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DataSm</strong> Defines the numeric plan indicator (NPI) in the destination 
address parameters. Use t
 he URI option <code>sourceAddrNpi</code> values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppDestAddrTon</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Byte</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>only for 
DataSm</strong> Defines the type of number (TON) in the destination address 
parameters. Use the <code>sourceAddrTon</code> URI option values defined 
above.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppMessageType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.6 
onwards</strong>: Identifies the type of an incoming message:<br clear="none" 
class="atl-forced-newline"> <code>AlertNotification</code>: an SMSC alert 
notification<br clear="none" class="atl-forced-newline"> <code>DataSm</code>: 
an SMSC data short message<br
  clear="none" class="atl-forced-newline"> <code>DeliveryReceipt</code>: an 
SMSC delivery receipt<br clear="none" class="atl-forced-newline"> 
<code>DeliverSm</code>: an SMSC deliver short message</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, 
Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated and will be removed in Camel 
2.13.0/3.0.0</strong><br clear="none" class="atl-forced-newline"> <strong>Camel 
2.10.5 onwards and only for DeliverSm</strong> The optional parameters send 
back by the SMSC.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelSmppOptionalParameter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;Short, 
Object&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10.7, 2.11.2 onwards and onl
 y for DeliverSm</strong> The optional parameters send back by the SMSC. The 
key is the <code>Short</code> code for the optional parameter. The value is 
converted in the following way:<br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.COctetString</code> -&gt; 
<code>String</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.OctetString</code> -&gt; 
<code>byte[]</code><br clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Byte</code> -&gt; <code>Byte</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Int</code> -&gt; <code>Integer</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Short</code> -&gt; <code>Short</code><br 
clear="none" class="atl-forced-newline"> 
<code>org.jsmpp.bean.OptionalParameter.Null</code> -&gt; 
<code>null</code></p></td></tr></tbody></table></div></div><div 
class="confluence-information-
 macro confluence-information-macro-tip"><p class="title">JSMPP 
library</p><span class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>See the documentation of the <a 
shape="rect" class="external-link" href="http://jsmpp.org"; rel="nofollow">JSMPP 
Library</a> for more details about the underlying library.</p></div></div><h3 
id="BookInOnePage-Exceptionhandling.1">Exception handling</h3><p>This component 
supports the general Camel exception handling capabilities</p><p>When an error 
occurs sending a message with SubmitSm (the default action), the 
org.apache.camel.component.smpp.SmppException is thrown with a nested 
exception, org.jsmpp.extra.NegativeResponseException.&#160; Call 
NegativeResponseException.getCommandStatus() to obtain the exact SMPP negative 
response code, the values are explained in the SMPP specification 3.4, section 
5.1.3.<br clear="none"> <strong>Camel 2.8 onwards</strong>: When t
 he SMPP consumer receives a <code>DeliverSm</code> or <code>DataSm</code> 
short message and the processing of these messages fails, you can also throw a 
<code>ProcessRequestException</code> instead of handle the failure. In this 
case, this exception is forwarded to the underlying <a shape="rect" 
class="external-link" href="http://jsmpp.org"; rel="nofollow">JSMPP library</a> 
which will return the included error code to the SMSC. This feature is useful 
to e.g. instruct the SMSC to resend the short message at a later time. This 
could be done with the following lines of code:</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[from(&quot;smpp://smppclient@localhost:2775?password=password&amp;enquireLinkTimer=3000&amp;transactionTimer=5000&amp;systemType=consumer&quot;)
   .doTry()
     .to(&quot;bean:dao?method=updateSmsState&quot;)

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


Reply via email to