camel-smpps-kafka-connector sink configuration

Connector Description: Send and receive SMS messages using a SMSC (Short Message Service Center).

When using camel-smpps-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-smpps-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

To use this sink connector in Kafka connect you’ll need to set the following connector.class

connector.class=org.apache.camel.kafkaconnector.smpps.CamelSmppsSinkConnector

The camel-smpps sink connector supports 78 options, which are listed below.

Name Description Default Priority

camel.sink.path.host

Hostname for the SMSC server to use.

"localhost"

MEDIUM

camel.sink.path.port

Port number for the SMSC server to use.

"2775"

MEDIUM

camel.sink.endpoint.initialReconnectDelay

Defines the initial delay in milliseconds after the consumer/producer tries to reconnect to the SMSC, after the connection was lost.

5000L

MEDIUM

camel.sink.endpoint.maxReconnect

Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response.

2147483647

MEDIUM

camel.sink.endpoint.reconnectDelay

Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed.

5000L

MEDIUM

camel.sink.endpoint.splittingPolicy

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. One of: [ALLOW] [REJECT] [TRUNCATE].

Enum values:

  • ALLOW

  • REJECT

  • TRUNCATE

"ALLOW"

MEDIUM

camel.sink.endpoint.systemType

This parameter is used to categorize the type of ESME (External Short Message Entity) that is binding to the SMSC (max. 13 characters).

MEDIUM

camel.sink.endpoint.destAddr

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.

"1717"

MEDIUM

camel.sink.endpoint.destAddrNpi

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) One of: [0] [1] [2] [3] [6] [8] [9] [10] [13] [18].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 6

  • 8

  • 9

  • 10

  • 13

  • 18

MEDIUM

camel.sink.endpoint.destAddrTon

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 One of: [0] [1] [2] [3] [4] [5] [6].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

MEDIUM

camel.sink.endpoint.lazySessionCreation

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.

false

MEDIUM

camel.sink.endpoint.lazyStartProducer

Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

MEDIUM

camel.sink.endpoint.numberingPlanIndicator

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) One of: [0] [1] [2] [3] [6] [8] [9] [10] [13] [18].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 6

  • 8

  • 9

  • 10

  • 13

  • 18

MEDIUM

camel.sink.endpoint.priorityFlag

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 One of: [0] [1] [2] [3].

Enum values:

  • 0

  • 1

  • 2

  • 3

MEDIUM

camel.sink.endpoint.protocolId

The protocol id.

MEDIUM

camel.sink.endpoint.registeredDelivery

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. One of: [0] [1] [2].

Enum values:

  • 0

  • 1

  • 2

MEDIUM

camel.sink.endpoint.replaceIfPresentFlag

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 One of: [0] [1].

Enum values:

  • 0

  • 1

MEDIUM

camel.sink.endpoint.serviceType

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 One of: [CMT] [CPT] [VMN] [VMA] [WAP] [USSD].

Enum values:

  • CMT

  • CPT

  • VMN

  • VMA

  • WAP

  • USSD

MEDIUM

camel.sink.endpoint.sourceAddr

Defines the address of SME (Short Message Entity) which originated this message.

"1616"

MEDIUM

camel.sink.endpoint.sourceAddrNpi

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) One of: [0] [1] [2] [3] [6] [8] [9] [10] [13] [18].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 6

  • 8

  • 9

  • 10

  • 13

  • 18

MEDIUM

camel.sink.endpoint.sourceAddrTon

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 One of: [0] [1] [2] [3] [4] [5] [6].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

MEDIUM

camel.sink.endpoint.typeOfNumber

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 One of: [0] [1] [2] [3] [4] [5] [6].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

MEDIUM

camel.sink.endpoint.enquireLinkTimer

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.

"60000"

MEDIUM

camel.sink.endpoint.pduProcessorDegree

Sets the number of threads which can read PDU and process them in parallel.

"3"

MEDIUM

camel.sink.endpoint.pduProcessorQueueCapacity

Sets the capacity of the working queue for PDU processing.

"100"

MEDIUM

camel.sink.endpoint.sessionStateListener

You can refer to a org.jsmpp.session.SessionStateListener in the Registry to receive callbacks when the session state changed.

MEDIUM

camel.sink.endpoint.singleDLR

When true, the SMSC delivery receipt would be requested only for the last segment of a multi-segment (long) message. For short messages, with only 1 segment the behaviour is unchanged.

false

MEDIUM

camel.sink.endpoint.transactionTimer

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).

"10000"

MEDIUM

camel.sink.endpoint.alphabet

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 One of: [0] [4] [8].

Enum values:

  • 0

  • 4

  • 8

MEDIUM

camel.sink.endpoint.dataCoding

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).

MEDIUM

camel.sink.endpoint.encoding

Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.

"ISO-8859-1"

MEDIUM

camel.sink.endpoint.httpProxyHost

If you need to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip address of your HTTP proxy.

MEDIUM

camel.sink.endpoint.httpProxyPassword

If your HTTP proxy requires basic authentication, set this attribute to the password required for your HTTP proxy.

MEDIUM

camel.sink.endpoint.httpProxyPort

If you need to tunnel SMPP through a HTTP proxy, set this attribute to the port of your HTTP proxy.

"3128"

MEDIUM

camel.sink.endpoint.httpProxyUsername

If your HTTP proxy requires basic authentication, set this attribute to the username required for your HTTP proxy.

MEDIUM

camel.sink.endpoint.proxyHeaders

These headers will be passed to the proxy server while establishing the connection.

MEDIUM

camel.sink.endpoint.password

The password for connecting to SMSC server.

MEDIUM

camel.sink.endpoint.systemId

The system id (username) for connecting to SMSC server.

"smppclient"

MEDIUM

camel.sink.endpoint.usingSSL

Whether using SSL with the smpps protocol.

false

MEDIUM

camel.component.smpps.initialReconnectDelay

Defines the initial delay in milliseconds after the consumer/producer tries to reconnect to the SMSC, after the connection was lost.

5000L

MEDIUM

camel.component.smpps.maxReconnect

Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response.

2147483647

MEDIUM

camel.component.smpps.reconnectDelay

Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed.

5000L

MEDIUM

camel.component.smpps.splittingPolicy

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. One of: [ALLOW] [REJECT] [TRUNCATE].

Enum values:

  • ALLOW

  • REJECT

  • TRUNCATE

"ALLOW"

MEDIUM

camel.component.smpps.systemType

This parameter is used to categorize the type of ESME (External Short Message Entity) that is binding to the SMSC (max. 13 characters).

MEDIUM

camel.component.smpps.destAddr

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.

"1717"

MEDIUM

camel.component.smpps.destAddrNpi

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) One of: [0] [1] [2] [3] [6] [8] [9] [10] [13] [18].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 6

  • 8

  • 9

  • 10

  • 13

  • 18

MEDIUM

camel.component.smpps.destAddrTon

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 One of: [0] [1] [2] [3] [4] [5] [6].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

MEDIUM

camel.component.smpps.lazySessionCreation

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.

false

MEDIUM

camel.component.smpps.lazyStartProducer

Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

MEDIUM

camel.component.smpps.numberingPlanIndicator

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) One of: [0] [1] [2] [3] [6] [8] [9] [10] [13] [18].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 6

  • 8

  • 9

  • 10

  • 13

  • 18

MEDIUM

camel.component.smpps.priorityFlag

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 One of: [0] [1] [2] [3].

Enum values:

  • 0

  • 1

  • 2

  • 3

MEDIUM

camel.component.smpps.protocolId

The protocol id.

MEDIUM

camel.component.smpps.registeredDelivery

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. One of: [0] [1] [2].

Enum values:

  • 0

  • 1

  • 2

MEDIUM

camel.component.smpps.replaceIfPresentFlag

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 One of: [0] [1].

Enum values:

  • 0

  • 1

MEDIUM

camel.component.smpps.serviceType

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 One of: [CMT] [CPT] [VMN] [VMA] [WAP] [USSD].

Enum values:

  • CMT

  • CPT

  • VMN

  • VMA

  • WAP

  • USSD

MEDIUM

camel.component.smpps.sourceAddr

Defines the address of SME (Short Message Entity) which originated this message.

"1616"

MEDIUM

camel.component.smpps.sourceAddrNpi

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) One of: [0] [1] [2] [3] [6] [8] [9] [10] [13] [18].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 6

  • 8

  • 9

  • 10

  • 13

  • 18

MEDIUM

camel.component.smpps.sourceAddrTon

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 One of: [0] [1] [2] [3] [4] [5] [6].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

MEDIUM

camel.component.smpps.typeOfNumber

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 One of: [0] [1] [2] [3] [4] [5] [6].

Enum values:

  • 0

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

MEDIUM

camel.component.smpps.autowiredEnabled

Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.

true

MEDIUM

camel.component.smpps.configuration

To use the shared SmppConfiguration as configuration.

MEDIUM

camel.component.smpps.enquireLinkTimer

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.

"60000"

MEDIUM

camel.component.smpps.pduProcessorDegree

Sets the number of threads which can read PDU and process them in parallel.

"3"

MEDIUM

camel.component.smpps.pduProcessorQueueCapacity

Sets the capacity of the working queue for PDU processing.

"100"

MEDIUM

camel.component.smpps.sessionStateListener

You can refer to a org.jsmpp.session.SessionStateListener in the Registry to receive callbacks when the session state changed.

MEDIUM

camel.component.smpps.singleDLR

When true, the SMSC delivery receipt would be requested only for the last segment of a multi-segment (long) message. For short messages, with only 1 segment the behaviour is unchanged.

false

MEDIUM

camel.component.smpps.transactionTimer

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).

"10000"

MEDIUM

camel.component.smpps.alphabet

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 One of: [0] [4] [8].

Enum values:

  • 0

  • 4

  • 8

MEDIUM

camel.component.smpps.dataCoding

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).

MEDIUM

camel.component.smpps.encoding

Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.

"ISO-8859-1"

MEDIUM

camel.component.smpps.httpProxyHost

If you need to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip address of your HTTP proxy.

MEDIUM

camel.component.smpps.httpProxyPassword

If your HTTP proxy requires basic authentication, set this attribute to the password required for your HTTP proxy.

MEDIUM

camel.component.smpps.httpProxyPort

If you need to tunnel SMPP through a HTTP proxy, set this attribute to the port of your HTTP proxy.

"3128"

MEDIUM

camel.component.smpps.httpProxyUsername

If your HTTP proxy requires basic authentication, set this attribute to the username required for your HTTP proxy.

MEDIUM

camel.component.smpps.proxyHeaders

These headers will be passed to the proxy server while establishing the connection.

MEDIUM

camel.component.smpps.password

The password for connecting to SMSC server.

MEDIUM

camel.component.smpps.systemId

The system id (username) for connecting to SMSC server.

"smppclient"

MEDIUM

camel.component.smpps.usingSSL

Whether using SSL with the smpps protocol.

false

MEDIUM

The camel-smpps sink connector has no converters out of the box.

The camel-smpps sink connector has no transforms out of the box.

The camel-smpps sink connector has no aggregation strategies out of the box.