SMPP

SMPP

Scheme: smpps
Syntax: smpps:host:port
Alternative Schemes: smpp,smpps
Description: To send and receive SMS using a SMSC (Short Message Service Center).
Deprecated:false
Async:false
Maven: org.apache.camel/camel-smpp/2.18.1.redhat-000021

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.
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.
maxReconnect parameter common 2147483647 int Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response
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.
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.
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).
addressRange parameter consumer 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.
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 consumer (advanced) org.apache.camel.ExchangePattern InOnly
RobustInOnly
InOut
InOptionalOut
OutOnly
RobustOutOnly
OutIn
OutOptionalIn
Sets the exchange pattern when the consumer creates an exchange.
destAddr parameter producer 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 producer 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 producer 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
lazySessionCreation parameter producer 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 producer 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)
priorityFlag parameter producer 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 producer byte The protocol id
registeredDelivery parameter producer 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 producer 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 producer 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 producer 1616 java.lang.String Defines the address of SME (Short Message Entity) which originated this message.
sourceAddrNpi parameter producer 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 producer 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
typeOfNumber parameter producer 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
enquireLinkTimer parameter advanced 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.
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).
transactionTimer parameter advanced 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).
alphabet parameter codec 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 codec 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)
encoding parameter codec ISO-8859-1 java.lang.String Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.
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.
password parameter security java.lang.String The password for connecting to SMSC server.
systemId parameter security smppclient java.lang.String The system id (username) for connecting to SMSC server.
usingSSL parameter security boolean Whether using SSL with the smpps protocol

smpps consumer

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