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:
|
|
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:
|
||
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:
|
||
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:
|
||
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:
|
||
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:
|
||
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:
|
||
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:
|
|
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:
|
||
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:
|
||
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:
|
||
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.
|
||
dataCoding | parameter | codec | byte | Defines the data coding according the SMPP 3.4 specification, section 5.2.19.
Example data encodings are:
|
|||
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 |
An implementation of {@link Consumer} which use the SMPP protocol