Modified: websites/production/camel/content/smpp.html
==============================================================================
--- websites/production/camel/content/smpp.html (original)
+++ websites/production/camel/content/smpp.html Sun Aug  7 14:20:09 2016
@@ -100,7 +100,7 @@
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[smpp://[username@]hostname[:port][?options]
 smpps://[username@]hostname[:port][?options]
 ]]></script>
-</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="SMPP-URIOptions">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-new
 line"> <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> which 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 path 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" 
rowspan="1" cl
 ass="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 receipt 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 originator ad
 dress 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</code> 
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-forced-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="non
 e" 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 replace<br cle
 ar="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" class="conflue
 nceTd"><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><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 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="confluence
 Td"><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></t
 able></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">
+</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="SMPP-URIOptions">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-new
 line"> <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> which 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 path 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" 
rowspan="1" cl
 ass="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 receipt 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 originator ad
 dress 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</code> 
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-forced-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="non
 e" 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 replace<br cle
 ar="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" class="conflue
 nceTd"><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><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 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="confluence
 Td"><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><tr><td col
 span="1" rowspan="1" class="confluenceTd">maxReconnect</td><td colspan="1" 
rowspan="1" class="confluenceTd">2147483647</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.18:</strong> Defines the maximum number of 
attempts to reconnect to the SMSC, if SMSC returns a negative bind 
response</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="SMPP-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 originator ad
 dress 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 colspan="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 a
 bsolute 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>CamelSmppReplaceIfPresentFlag<
 /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 SubmitSm, Submit
 Multi 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;Short, 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</cod
 e></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 Subm
 itSm, 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. <st
 rong>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 the short m
 essage(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 
DataSm</stro
 ng> 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="SMPP-ConsumerMe
 ssageHeaders">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>CamelSmp
 pCommandId</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="confluen
 ceTd"><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 destination ESME addres
 s. 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></td></tr><tr><td col
 span="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>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 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 S
 MSC 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 when the original me
 ssage 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 time at which delive
 ry 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="confluenceTd"><p><code>S
 tring</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 <cod
 e>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" clas
 s="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 only for 
DeliverSm</s
 trong> 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-i
 nformation-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="SMPP-Exceptionhandling">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 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">


Reply via email to