SMPP

SMPP

Scheme: smpp
Syntax: smpp:host:port
Description: To send and receive SMS using a SMSC (Short Message Service Center).
Deprecated:false
Maven: org.apache.camel/camel-smpp/2.17.0.redhat-630515

To send and receive SMS using a SMSC (Short Message Service Center).

Name Kind Group Required Default Type Enum Description
host path common localhost java.lang.String Hostname for the SMSC server to use.
port path common 2775 java.lang.Integer Port number for the SMSC server to use.
addressRange parameter common java.lang.String You can specify the address range for the SmppConsumer as defined in section 5.2.7 of the SMPP 3.4 specification. The SmppConsumer will receive messages only from SMSC's which target an address (MSISDN or IP address) within this range.
alphabet parameter common byte 0
4
8
Defines encoding of data according the SMPP 3.4 specification, section 5.2.19.
  • 0: SMSC Default Alphabet
  • 4: 8 bit Alphabet
  • 8: UCS2 Alphabet
dataCoding parameter common byte Defines the data coding according the SMPP 3.4 specification, section 5.2.19. Example data encodings are:
  • 0: SMSC Default Alphabet
  • 3: Latin 1 (ISO-8859-1)
  • 4: Octet unspecified (8-bit binary)
  • 8: UCS2 (ISO/IEC-10646)
  • 13: Extended Kanji JIS(X 0212-1990)
destAddr parameter common 1717 java.lang.String Defines the destination SME address. For mobile terminated messages, this is the directory number of the recipient MS. Only for SubmitSm, SubmitMulti, CancelSm and DataSm.
destAddrNpi parameter common byte 0
1
2
3
6
8
9
10
13
18
Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following NPI values are defined:
  • 0: Unknown
  • 1: ISDN (E163/E164)
  • 2: Data (X.121)
  • 3: Telex (F.69)
  • 6: Land Mobile (E.212)
  • 8: National
  • 9: Private
  • 10: ERMES
  • 13: Internet (IP)
  • 18: WAP Client Id (to be defined by WAP Forum)
destAddrTon parameter common byte 0
1
2
3
4
5
6
Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following TON values are defined:
  • 0: Unknown
  • 1: International
  • 2: National
  • 3: Network Specific
  • 4: Subscriber Number
  • 5: Alphanumeric
  • 6: Abbreviated
encoding parameter common ISO-8859-1 java.lang.String Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.
enquireLinkTimer parameter common 5000 java.lang.Integer 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.
initialReconnectDelay parameter common 5000 long Defines the initial delay in milliseconds after the consumer/producer tries to reconnect to the SMSC, after the connection was lost.
lazySessionCreation parameter common boolean Sessions can be lazily created to avoid exceptions, if the SMSC is not available when the Camel producer is started. 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.
numberingPlanIndicator parameter common byte 0
1
2
3
6
8
9
10
13
18
Defines the numeric plan indicator (NPI) to be used in the SME. The following NPI values are defined:
  • 0: Unknown
  • 1: ISDN (E163/E164)
  • 2: Data (X.121)
  • 3: Telex (F.69)
  • 6: Land Mobile (E.212)
  • 8: National
  • 9: Private
  • 10: ERMES
  • 13: Internet (IP)
  • 18: WAP Client Id (to be defined by WAP Forum)
password parameter common java.lang.String The password for connecting to SMSC server.
priorityFlag parameter common byte 0
1
2
3
Allows the originating SME to assign a priority level to the short message. Only for SubmitSm and SubmitMulti. Four Priority Levels are supported:
  • 0: Level 0 (lowest) priority
  • 1: Level 1 priority
  • 2: Level 2 priority
  • 3: Level 3 (highest) priority
protocolId parameter common byte The protocol id
reconnectDelay parameter common 5000 long Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed.
registeredDelivery parameter common byte 0
1
2
Is used to request an SMSC delivery receipt and/or SME originated acknowledgements. The following values are defined:
  • 0: No SMSC delivery receipt requested.
  • 1: SMSC delivery receipt requested where final delivery outcome is success or failure.
  • 2: SMSC delivery receipt requested where the final delivery outcome is delivery failure.
replaceIfPresentFlag parameter common byte 0
1
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:
  • 0: Don't replace
  • 1: Replace
serviceType parameter common CMT java.lang.String CMT
CPT
VMN
VMA
WAP
USSD
The service type parameter can be used to indicate the SMS Application service associated with the message. The following generic service_types are defined:
  • CMT: Cellular Messaging
  • CPT: Cellular Paging
  • VMN: Voice Mail Notification
  • VMA: Voice Mail Alerting
  • WAP: Wireless Application Protocol
  • USSD: Unstructured Supplementary Services Data
sourceAddr parameter common 1616 java.lang.String Defines the address of SME (Short Message Entity) which originated this message.
sourceAddrNpi parameter common byte 0
1
2
3
6
8
9
10
13
18
Defines the numeric plan indicator (NPI) to be used in the SME originator address parameters. The following NPI values are defined:
  • 0: Unknown
  • 1: ISDN (E163/E164)
  • 2: Data (X.121)
  • 3: Telex (F.69)
  • 6: Land Mobile (E.212)
  • 8: National
  • 9: Private
  • 10: ERMES
  • 13: Internet (IP)
  • 18: WAP Client Id (to be defined by WAP Forum)
sourceAddrTon parameter common byte 0
1
2
3
4
5
6
Defines the type of number (TON) to be used in the SME originator address parameters. The following TON values are defined:
  • 0: Unknown
  • 1: International
  • 2: National
  • 3: Network Specific
  • 4: Subscriber Number
  • 5: Alphanumeric
  • 6: Abbreviated
splittingPolicy parameter common ALLOW org.apache.camel.component.smpp.SmppSplittingPolicy ALLOW
REJECT
TRUNCATE
You can specify a policy for handling long messages:
  • ALLOW - the default, long messages are split to 140 bytes per message
  • TRUNCATE - long messages are split and only the first fragment will be sent to the SMSC. Some carriers drop subsequent fragments so this reduces load on the SMPP connection sending parts of a message that will never be delivered.
  • 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.
systemId parameter common smppclient java.lang.String The system id (username) for connecting to SMSC server.
systemType parameter common cp java.lang.String This parameter is used to categorize the type of ESME (External Short Message Entity) that is binding to the SMSC (max. 13 characters).
transactionTimer parameter common 10000 java.lang.Integer 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).
typeOfNumber parameter common byte 0
1
2
3
4
5
6
Defines the type of number (TON) to be used in the SME. The following TON values are defined:
  • 0: Unknown
  • 1: International
  • 2: National
  • 3: Network Specific
  • 4: Subscriber Number
  • 5: Alphanumeric
  • 6: Abbreviated
usingSSL parameter common boolean Whether using SSL with the smpps protocol
bridgeErrorHandler parameter consumer boolean Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN/ERROR level and ignored.
exceptionHandler parameter consumer (advanced) org.apache.camel.spi.ExceptionHandler To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN/ERROR level and ignored.
exchangePattern parameter advanced InOnly org.apache.camel.ExchangePattern InOnly
RobustInOnly
InOut
InOptionalOut
OutOnly
RobustOutOnly
OutIn
OutOptionalIn
Sets the default exchange pattern when creating an exchange
sessionStateListener parameter advanced org.jsmpp.session.SessionStateListener You can refer to a org.jsmpp.session.SessionStateListener in the Registry to receive callbacks when the session state changed.
synchronous parameter advanced false boolean Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).
httpProxyHost parameter proxy java.lang.String If you need to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip address of your HTTP proxy.
httpProxyPassword parameter proxy java.lang.String If your HTTP proxy requires basic authentication, set this attribute to the password required for your HTTP proxy.
httpProxyPort parameter proxy 3128 java.lang.Integer If you need to tunnel SMPP through a HTTP proxy, set this attribute to the port of your HTTP proxy.
httpProxyUsername parameter proxy java.lang.String If your HTTP proxy requires basic authentication, set this attribute to the username required for your HTTP proxy.
proxyHeaders parameter proxy java.util.Map These headers will be passed to the proxy server while establishing the connection.

smpp consumer

An implementation of {@link Consumer} which use the SMPP protocol