camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Camel > SMPP
Date Sat, 01 Jan 2011 18:48:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CAMEL/SMPP">SMPP</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~muellerc">Christian
Mueller</a>
    </h4>
        <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >{{5}}: Alphanumeric\\ <br>{{6}}:
Abbreviated | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
{{CamelSmppMessageType}} | *Camel 2.6 onwarts*: Identifies the type of an incoming message:\\
<br>{{AlertNotification}}: an SMSC alert notification\\ <br>{{DataSm}}: an SMSC
data short message\\ <br>{{DeliveryReceipt}}: an SMSC delivery receipt\\ <br>{{DeliverSm}}:
an SMSC deliver short message | <br></td></tr>
            <tr><td class="diff-unchanged" >{div} <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="SMPP-SMPPComponent"></a>SMPP Component</h2>
<p><b>Available as of Camel 2.2</b></p>

<p>This component provides access to an SMSC (Short Message Service Center) over the
<a href="http://smsforum.net/SMPP_v3_4_Issue1_2.zip" class="external-link" rel="nofollow">SMPP</a>
protocol to send and receive SMS. The <a href="http://code.google.com/p/jsmpp/" class="external-link"
rel="nofollow">JSMPP</a> is used.</p>

<p>Maven users will need to add the following dependency to their <tt>pom.xml</tt>
for this component:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
<span class="code-tag">&lt;dependency&gt;</span>
    <span class="code-tag">&lt;groupId&gt;</span>org.apache.camel<span
class="code-tag">&lt;/groupId&gt;</span>
    <span class="code-tag">&lt;artifactId&gt;</span>camel-smpp<span
class="code-tag">&lt;/artifactId&gt;</span>
    <span class="code-tag">&lt;version&gt;</span>x.x.x<span class="code-tag">&lt;/version&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- use the same
version as your Camel core version --&gt;</span></span>
<span class="code-tag">&lt;/dependency&gt;</span>
</pre>
</div></div>

<h3><a name="SMPP-URIformat"></a>URI format</h3>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
smpp:<span class="code-comment">//[username@]hostname[:port][?options]
</span>smpps:<span class="code-comment">//[username@]hostname[:port][?options]</span>
</pre>
</div></div>

<p>If no <b>username</b> is provided, then Camel will provide the default
value <tt>smppclient</tt>.<br/>
If no <b>port</b> number is provided, then Camel will provide the default value
<tt>2775</tt>.<br/>
<b>Camel 2.3:</b> 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, <tt>?option=value&amp;option=value&amp;...</tt></p>

<h3><a name="SMPP-URIOptions"></a>URI Options</h3>

<div class="confluenceTableSmall"><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Default Value </th>
<th class='confluenceTh'> Description </th>
</tr>
<tr>
<td class='confluenceTd'> <tt>password</tt> </td>
<td class='confluenceTd'> <tt>password</tt> </td>
<td class='confluenceTd'> Specifies the password to use to log in to the SMSC. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>systemType</tt> </td>
<td class='confluenceTd'> <tt>cp</tt> </td>
<td class='confluenceTd'> This parameter is used to categorize the type of ESME (External
Short Message Entity) that is binding to the SMSC (max. 13 characters). </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>dataCoding</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> <b>Camel 2.5 onwarts</b> Defines encoding of data
according the SMPP 3.4 specification, section 5.2.19. Example data encodings are:<br class="atl-forced-newline"
/>
<tt>0</tt>: SMSC Default Alphabet<br class="atl-forced-newline" />
<tt>4</tt>: 8 bit Alphabet<br class="atl-forced-newline" />
<tt>8</tt>: UCS2 Alphabet</td>
</tr>
<tr>
<td class='confluenceTd'> <tt>encoding</tt> </td>
<td class='confluenceTd'> <tt>ISO-8859-1</tt> </td>
<td class='confluenceTd'> Defines the encoding scheme of the short message user data.
</td>
</tr>
<tr>
<td class='confluenceTd'> <tt>enquireLinkTimer</tt> </td>
<td class='confluenceTd'> <tt>5000</tt> </td>
<td class='confluenceTd'> 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. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>transactionTimer</tt> </td>
<td class='confluenceTd'> <tt>10000</tt> </td>
<td class='confluenceTd'> 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). </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>initialReconnectDelay</tt> </td>
<td class='confluenceTd'> <tt>5000</tt> </td>
<td class='confluenceTd'> Defines the initial delay in milliseconds after the consumer/producer
tries to reconnect to the SMSC, after the connection was lost. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>reconnectDelay</tt> </td>
<td class='confluenceTd'> <tt>5000</tt> </td>
<td class='confluenceTd'> Defines the interval in milliseconds between the reconnect
attempts, if the connection to the SMSC was lost and the previous was not succeed. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>registeredDelivery</tt> </td>
<td class='confluenceTd'> <tt>1</tt> </td>
<td class='confluenceTd'> Is used to request an SMSC delivery receipt and/or SME originated
acknowledgements. The following values are defined:<br class="atl-forced-newline" />
<tt>0</tt>: No SMSC delivery receipt requested.<br class="atl-forced-newline"
/>
<tt>1</tt>: SMSC delivery receipt requested where final delivery outcome is success
or failure.<br class="atl-forced-newline" />
<tt>2</tt>: SMSC delivery receipt requested where the final delivery outcome is
delivery failure. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>serviceType</tt> </td>
<td class='confluenceTd'> <tt>CMT</tt> </td>
<td class='confluenceTd'> 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
class="atl-forced-newline" />
<tt>CMT</tt>: Cellular Messaging<br class="atl-forced-newline" />
<tt>CPT</tt>: Cellular Paging<br class="atl-forced-newline" />
<tt>VMN</tt>: Voice Mail Notification<br class="atl-forced-newline" />
<tt>VMA</tt>: Voice Mail Alerting<br class="atl-forced-newline" />
<tt>WAP</tt>: Wireless Application Protocol<br class="atl-forced-newline" />
<tt>USSD</tt>: Unstructured Supplementary Services Data </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>sourceAddr</tt> </td>
<td class='confluenceTd'> <tt>1616</tt> </td>
<td class='confluenceTd'> Defines the address of SME (Short Message Entity) which originated
this message. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>destAddr</tt> </td>
<td class='confluenceTd'> <tt>1717</tt> </td>
<td class='confluenceTd'> Defines the destination SME address. For mobile terminated
messages, this is the directory number of the recipient MS. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>sourceAddrTon</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> Defines the type of number (TON) to be used in the SME originator
address parameters. The following TON values are defined:<br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>destAddrTon</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> Defines the type of number (TON) to be used in the SME destination
address parameters. The following TON values are defined:<br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>sourceAddrNpi</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> Defines the numeric plan indicator (NPI) to be used in the
SME originator address parameters. The following NPI values are defined: <br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>destAddrNpi</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> Defines the numeric plan indicator (NPI) to be used in the
SME destination address parameters. The following NPI values are defined: <br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>priorityFlag</tt> </td>
<td class='confluenceTd'> <tt>1</tt> </td>
<td class='confluenceTd'> Allows the originating SME to assign a priority level to the
short message. Four Priority Levels are supported:<br class="atl-forced-newline" />
<tt>0</tt>: Level 0 (lowest) priority<br class="atl-forced-newline" />
<tt>1</tt>: Level 1 priority<br class="atl-forced-newline" />
<tt>2</tt>: Level 2 priority<br class="atl-forced-newline" />
<tt>3</tt>: Level 3 (highest) priority </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>replaceIfPresentFlag</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> 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 class="atl-forced-newline"
/>
<tt>0</tt>: Don't replace<br class="atl-forced-newline" />
<tt>1</tt>: Replace </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>typeOfNumber</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> Defines the type of number (TON) to be used in the SME. The
following TON values are defined:<br class="atl-forced-newline" />
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>numberingPlanIndicator</tt> </td>
<td class='confluenceTd'> <tt>0</tt> </td>
<td class='confluenceTd'> Defines the numeric plan indicator (NPI) to be used in the
SME. The following NPI values are defined: <br class="atl-forced-newline" />
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
</tbody></table>
</div>

</div>

<p>You can have as many of these options as you like.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
smpp:<span class="code-comment">//smppclient@localhost:2775?password=password&amp;enquireLinkTimer=3000&amp;transactionTimer=5000&amp;systemType=consumer</span>
</pre>
</div></div>


<h3><a name="SMPP-MessageHeaders"></a>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 class='confluenceTh'> Header </th>
<th class='confluenceTh'> Description </th>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDestAddr</tt> </td>
<td class='confluenceTd'> Defines the destination SME address. For mobile terminated
messages, this is the directory number of the recipient MS. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDestAddrTon</tt> </td>
<td class='confluenceTd'> Defines the type of number (TON) to be used in the SME destination
address parameters. The following TON values are defined:<br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDestAddrNpi</tt> </td>
<td class='confluenceTd'> Defines the numeric plan indicator (NPI) to be used in the
SME destination address parameters. The following NPI values are defined: <br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSourceAddr</tt> </td>
<td class='confluenceTd'> Defines the address of SME (Short Message Entity) which originated
this message. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSourceAddrTon</tt> </td>
<td class='confluenceTd'> Defines the type of number (TON) to be used in the SME originator
address parameters. The following TON values are defined:<br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSourceAddrNpi</tt> </td>
<td class='confluenceTd'> Defines the numeric plan indicator (NPI) to be used in the
SME originator address parameters. The following NPI values are defined: <br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppServiceType</tt> </td>
<td class='confluenceTd'> 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
class="atl-forced-newline" />
<tt>CMT</tt>: Cellular Messaging<br class="atl-forced-newline" />
<tt>CPT</tt>: Cellular Paging<br class="atl-forced-newline" />
<tt>VMN</tt>: Voice Mail Notification<br class="atl-forced-newline" />
<tt>VMA</tt>: Voice Mail Alerting<br class="atl-forced-newline" />
<tt>WAP</tt>: Wireless Application Protocol<br class="atl-forced-newline" />
<tt>USSD</tt>: Unstructured Supplementary Services Data </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppRegisteredDelivery</tt> </td>
<td class='confluenceTd'> Is used to request an SMSC delivery receipt and/or SME originated
acknowledgements. The following values are defined:<br class="atl-forced-newline" />
<tt>0</tt>: No SMSC delivery receipt requested.<br class="atl-forced-newline"
/>
<tt>1</tt>: SMSC delivery receipt requested where final delivery outcome is success
or failure.<br class="atl-forced-newline" />
<tt>2</tt>: SMSC delivery receipt requested where the final delivery outcome is
delivery failure. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppPriorityFlag</tt> </td>
<td class='confluenceTd'> Allows the originating SME to assign a priority level to the
short message. Four Priority Levels are supported:<br class="atl-forced-newline" />
<tt>0</tt>: Level 0 (lowest) priority<br class="atl-forced-newline" />
<tt>1</tt>: Level 1 priority<br class="atl-forced-newline" />
<tt>2</tt>: Level 2 priority<br class="atl-forced-newline" />
<tt>3</tt>: Level 3 (highest) priority </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppScheduleDeliveryTime</tt> </td>
<td class='confluenceTd'> 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. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppValidityPeriod</tt> </td>
<td class='confluenceTd'> 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 chapter 7.1.1 in the smpp specification v3.4. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppReplaceIfPresentFlag</tt> </td>
<td class='confluenceTd'> 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 class="atl-forced-newline"
/>
<tt>0</tt>: Don't replace<br class="atl-forced-newline" />
<tt>1</tt>: Replace </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDataCoding</tt> </td>
<td class='confluenceTd'> The data coding according to the SMPP 3.4 specification, section
5.2.19: <br class="atl-forced-newline" />
<tt>0</tt>: SMSC Default Alphabet<br class="atl-forced-newline" />
<tt>4</tt>: 8 bit Alphabet<br class="atl-forced-newline" />
<tt>8</tt>: UCS2 Alphabet</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 class='confluenceTh'> Header </th>
<th class='confluenceTh'> Description </th>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppId</tt> </td>
<td class='confluenceTd'> the id to identify the submitted short message for later use
(delivery receipt, query sm, cancel sm, replace sm). </td>
</tr>
</tbody></table>
</div>
</div>

<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 class='confluenceTh'> Header </th>
<th class='confluenceTh'> Description </th>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSequenceNumber</tt> </td>
<td class='confluenceTd'> <b>only for alert notification, deliver sm and data
sm</b>: A sequence number allows a response PDU to be correlated with a request PDU.
The associated SMPP response PDU must preserve this field. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppCommandId</tt> </td>
<td class='confluenceTd'> <b>only for alert notification, deliver sm and data
sm</b>: 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. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSourceAddr</tt> </td>
<td class='confluenceTd'> <b>only for alert notification, deliver sm and data
sm</b>: Defines the address of SME (Short Message Entity) which originated this message.
</td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSourceAddrNpi</tt> </td>
<td class='confluenceTd'> <b>only for alert notification and data sm</b>:
Defines the numeric plan indicator (NPI) to be used in the SME originator address parameters.
The following NPI values are defined: <br class="atl-forced-newline" />
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSourceAddrTon</tt> </td>
<td class='confluenceTd'> <b>only for alert notification and data sm</b>:
Defines the type of number (TON) to be used in the SME originator address parameters. The
following TON values are defined:<br class="atl-forced-newline" />
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppEsmeAddr</tt> </td>
<td class='confluenceTd'> <b>only for alert notification</b>: Defines the
destination ESME address. For mobile terminated messages, this is the directory number of
the recipient MS. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppEsmeAddrNpi</tt> </td>
<td class='confluenceTd'> <b>only for alert notification</b>: Defines the
numeric plan indicator (NPI) to be used in the ESME originator address parameters. The following
NPI values are defined: <br class="atl-forced-newline" />
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppEsmeAddrTon</tt> </td>
<td class='confluenceTd'> <b>only for alert notification</b>: Defines the
type of number (TON) to be used in the ESME originator address parameters. The following TON
values are defined:<br class="atl-forced-newline" />
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppId</tt> </td>
<td class='confluenceTd'> <b>only for smsc delivery receipt and data sm</b>:
The message ID allocated to the message by the SMSC when originally submitted. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDelivered</tt> </td>
<td class='confluenceTd'> <b>only for smsc delivery receipt</b>: 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. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDoneDate</tt> </td>
<td class='confluenceTd'> <b>only for smsc delivery receipt</b>: The time
and date at which the short message reached it's final state. The format is as follows: YYMMDDhhmm.
</td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppStatus</tt> </td>
<td class='confluenceTd'> <b>only for smsc delivery receipt and data sm</b>:
The final status of the message. The following values are defined:<br class="atl-forced-newline"
/>
<tt>DELIVRD</tt>: Message is delivered to destination<br class="atl-forced-newline"
/>
<tt>EXPIRED</tt>: Message validity period has expired.<br class="atl-forced-newline"
/>
<tt>DELETED</tt>: Message has been deleted.<br class="atl-forced-newline" />
<tt>UNDELIV</tt>: Message is undeliverable<br class="atl-forced-newline" />
<tt>ACCEPTD</tt>: Message is in accepted state (i.e. has been manually read on
behalf of the subscriber by customer service)<br class="atl-forced-newline" />
<tt>UNKNOWN</tt>: Message is in invalid state<br class="atl-forced-newline"
/>
<tt>REJECTD</tt>: Message is in a rejected state </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppError</tt> </td>
<td class='confluenceTd'> <b>only for smsc delivery receipt</b>: 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. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSubmitDate</tt> </td>
<td class='confluenceTd'> <b>only for smsc delivery receipt</b>: 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. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppSubmitted</tt> </td>
<td class='confluenceTd'> <b>only for smsc delivery receipt</b>: Number
of short messages originally submitted. This is only relevant when the original message was
submitted to a distribution list.The value is padded with leading zeros if necessary. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDestAddr</tt> </td>
<td class='confluenceTd'> <b>only for deliver sm and data sm</b>: Defines
the destination SME address. For mobile terminated messages, this is the directory number
of the recipient MS. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppScheduleDeliveryTime</tt> </td>
<td class='confluenceTd'> <b>only for deliver sm and data sm</b>: 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 Section 7.1.1.
in the smpp specification v3.4. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppValidityPeriod</tt> </td>
<td class='confluenceTd'> <b>only for deliver sm</b>: 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. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppServiceType</tt> </td>
<td class='confluenceTd'> <b>only for deliver sm and data sm</b>: The service
type parameter indicates the SMS Application service associated with the message. </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppRegisteredDelivery</tt> </td>
<td class='confluenceTd'> <b>only for data sm</b>: Is used to request an
delivery receipt and/or SME originated acknowledgements. The following values are defined:<br
class="atl-forced-newline" />
<tt>0</tt>: No SMSC delivery receipt requested.<br class="atl-forced-newline"
/>
<tt>1</tt>: SMSC delivery receipt requested where final delivery outcome is success
or failure.<br class="atl-forced-newline" />
<tt>2</tt>: SMSC delivery receipt requested where the final delivery outcome is
delivery failure.  </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDestAddrNpi</tt> </td>
<td class='confluenceTd'> <b>only for data sm</b>: Defines the numeric plan
indicator (NPI) in the destination address parameters. The following NPI values are defined:
<br class="atl-forced-newline" />
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: ISDN (E163/E164)<br class="atl-forced-newline" />
<tt>2</tt>: Data (X.121)<br class="atl-forced-newline" />
<tt>3</tt>: Telex (F.69)<br class="atl-forced-newline" />
<tt>6</tt>: Land Mobile (E.212)<br class="atl-forced-newline" />
<tt>8</tt>: National<br class="atl-forced-newline" />
<tt>9</tt>: Private<br class="atl-forced-newline" />
<tt>10</tt>: ERMES<br class="atl-forced-newline" />
<tt>13</tt>: Internet (IP)<br class="atl-forced-newline" />
<tt>18</tt>: WAP Client Id (to be defined by WAP Forum) </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppDestAddrTon</tt> </td>
<td class='confluenceTd'> <b>only for data sm</b>: Defines the type of number
(TON) in the destination address parameters. The following TON values are defined:<br class="atl-forced-newline"
/>
<tt>0</tt>: Unknown<br class="atl-forced-newline" />
<tt>1</tt>: International<br class="atl-forced-newline" />
<tt>2</tt>: National<br class="atl-forced-newline" />
<tt>3</tt>: Network Specific<br class="atl-forced-newline" />
<tt>4</tt>: Subscriber Number<br class="atl-forced-newline" />
<tt>5</tt>: Alphanumeric<br class="atl-forced-newline" />
<tt>6</tt>: Abbreviated </td>
</tr>
<tr>
<td class='confluenceTd'> <tt>CamelSmppMessageType</tt> </td>
<td class='confluenceTd'> <b>Camel 2.6 onwarts</b>: Identifies the type
of an incoming message:<br class="atl-forced-newline" />
<tt>AlertNotification</tt>: an SMSC alert notification<br class="atl-forced-newline"
/>
<tt>DataSm</tt>: an SMSC data short message<br class="atl-forced-newline" />
<tt>DeliveryReceipt</tt>: an SMSC delivery receipt<br class="atl-forced-newline"
/>
<tt>DeliverSm</tt>: an SMSC deliver short message </td>
</tr>
</tbody></table>
</div>
</div>

<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/check.gif" width="16" height="16"
align="absmiddle" alt="" border="0"></td><td><b>JSMPP library</b><br
/>See the documentation of the <a href="http://code.google.com/p/jsmpp/" class="external-link"
rel="nofollow">JSMPP Library</a> for more details about the underlying library.</td></tr></table></div>


<h3><a name="SMPP-Samples"></a>Samples</h3>

<p>A route which sends an SMS using the Java DSL:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
from(<span class="code-quote">"direct:start"</span>)
  .to("smpp:<span class="code-comment">//smppclient@localhost:2775?
</span>      password=password&amp;enquireLinkTimer=3000&amp;transactionTimer=5000&amp;systemType=producer");
</pre>
</div></div>

<p>A route which sends an SMS using the Spring XML DSL:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
<span class="code-tag">&lt;route&gt;</span>
  <span class="code-tag">&lt;from uri=<span class="code-quote">"direct:start"</span>/&gt;</span>
  &lt;to uri="smpp://smppclient@localhost:2775?
           password=password&amp;amp;enquireLinkTimer=3000&amp;amp;transactionTimer=5000&amp;amp;systemType=producer"/&gt;
<span class="code-tag">&lt;/route&gt;</span>
</pre>
</div></div>

<p>A route which receives an SMS using the Java DSL:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
from(<span class="code-quote">"smpp:<span class="code-comment">//smppclient@localhost:2775?password=password&amp;enquireLinkTimer=3000&amp;transactionTimer=5000&amp;systemType=consumer"</span>)
</span>  .to(<span class="code-quote">"bean:foo"</span>);
</pre>
</div></div>

<p>A route which receives an SMS using the Spring XML DSL:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
  <span class="code-tag">&lt;route&gt;</span>
     &lt;from uri="smpp://smppclient@localhost:2775?
                password=password&amp;amp;enquireLinkTimer=3000&amp;amp;transactionTimer=5000&amp;amp;systemType=consumer"/&gt;
     <span class="code-tag">&lt;to uri=<span class="code-quote">"bean:foo"</span>/&gt;</span>
  <span class="code-tag">&lt;/route&gt;</span>
</pre>
</div></div>

<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/check.gif" width="16" height="16"
align="absmiddle" alt="" border="0"></td><td><b>SMSC simulator</b><br
/>If you need an SMSC simulator for your test, you can use the simulator provided by <a
href="http://opensmpp.logica.com/CommonPart/Download/download2.html#simulator" class="external-link"
rel="nofollow">Logica</a>.</td></tr></table></div>

<h3><a name="SMPP-Debuglogging"></a>Debug logging</h3>

<p>This component has log level <b>DEBUG</b>, which can be helpful in debugging
problems. If you use log4j, you can add the following line to your configuration:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
log4j.logger.org.apache.camel.component.smpp=DEBUG
</pre>
</div></div>


<h3><a name="SMPP-SeeAlso"></a>See Also</h3>
<ul>
	<li><a href="/confluence/display/CAMEL/Configuring+Camel" title="Configuring Camel">Configuring
Camel</a></li>
	<li><a href="/confluence/display/CAMEL/Component" title="Component">Component</a></li>
	<li><a href="/confluence/display/CAMEL/Endpoint" title="Endpoint">Endpoint</a></li>
	<li><a href="/confluence/display/CAMEL/Getting+Started" title="Getting Started">Getting
Started</a></li>
</ul>

    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/SMPP">View Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=9012014&revisedVersion=13&originalVersion=12">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/SMPP?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message