MX Telecom SMS Server SMPP Interface - Details
Overview
The MX Telecom SMPP interface supports a subset of the SMS Forum's SMPP v3.4 Specification (http://smsforum.net). It is backwards compatible with Logica's SMPP v3.3.
The following PDUs are supported:
- BIND_TRANSMITTER
- BIND_RECEIVER
- BIND_TRANSCEIVER
- UNBIND
- SUBMIT_SM
- ENQUIRE_LINK
- DELIVER_SM (initiated by MX Telecom)
(any other PDUs will be responded with a GENERIC_NACK reply)
The server's inactivity timeout is set at 5 minutes. It is recommended that SMPP clients send ENQUIRE_LINK every minute.
The SMSC Default Alphabet for 7bit messages is ISO-8859-15 (Latin9); the GSM character set is also supported when data_coding=1. Please note this is different to Logica's Telepath implementation which ignores their specification and treats all 7bit messages as HP Roman-8. MX Telecom recomends binding as transceiver rather than transmitter and reciever if possible.
SMPP v3.4 TLV Parameters
To date, MX Telecom's SMPP interface has been kept as simple as possible, without the need for any proprietary TLV extensions to the protocol. In order to do this whilst still being able to support Premium Rate Short Code services, MX Telecom has configured one BIND per network, so that you are always aware of the originating network for a message sent to a Short Code. You are required to send responses down the appropriate BIND.
The interface mimicks the Logica Telepath implementation where possible. MO messages are passed to clients using the SMPP bind appropriate to the source network. MT messages are mapped to the appropriate MX Telecom MT account using a mapping from the SMPP SystemID and message originator. Most partners using SMPP in the UK for premium rate services therefore have 5 Premium Rate BINDs for two-way traffic using their Short Codes and a single bulk BIND for sending free-to-receive messages.As the capabilities offered by MX Telecom increase - particularly with newer territories such as the USA, where a single Short Code can have any number of tariffs associated with it - more flexible SMPP connectivity is required.
MX Telecom has therefore introduced some SMPP v3.4 TLV parameters in addition to what is already offered. This allows you to have a single BIND on which you can do everything you could previously do with multiple BINDs.
Note that for Partner -> MX TLVs which have a value specified to be of type C-Octet String, terminating the string with a null byte is optional. For MX -> Partner TLVs which have a value specified to be of type C-Octet String, the SMS Gateway will always add the terminating null byte.
The SMPP v3.4 TLV parameters are detailed below:
-
ID: 0x3000
Name: MT Username
Direction: Partner -> MX
Length: Variable
Value: C-Octet String.
This parameter, used for MT messages, encompasses the destination operator for the message, the tariff and any other information that might be relevant (age verification requirements, subscription status etc).
-
ID: 0x3010
Name: Operator code
Direction: MX -> Partner
Length: Variable
Value: String (not null terminated). See Network Codes.
This signifies which operator the originating MSISDN belongs to for MO messages, rather than relying on one pipe per operator.
-
ID: 0x3020
Name: Report reason
Direction: MX -> Partner
Length: 4 bytes
Value: Unsigned 32bit Integer, as defined on the Delivery Report Reasons page.
This is an extension of the delivery report status; the information that is available varies from operator to operator.
-
ID: 0x001E
Name: receipted_message_id
Direction: MX -> Partner
Length: Variable
Value: C-Octet String.
The receipted_message_id is a standard SMPP TLV parameter passed in delivery reports. This is the SMS ID used to uniquely identify an SMS message as it passes through the SMS Gateway. It is a positive 64 bit integer that, when sent as a receipted_message_id value, is formatted as a hexadecimal number and null terminated. The SMS ID in the delivery report will match the ID returned by the SMS Gateway when the message was originally submitted.
-
ID: 0x3040
Name: Message ID
Direction: MX -> Partner
Length: Variable
Value: String (not null terminated).
This is an optional parameter that can be included with MO messages. It is the SMS ID used to uniquely identify an SMS message as it passes through the SMS Gateway. It is a positive 64 bit integer that, when sent as a Message ID value, is formatted into a decimal and passed as a string. In our billing records, the SMS ID appears against the message.
-
ID: 0x3050
Name: AV Status
Direction: MX -> Partner
Length: 2
Value: 0 if Age verification failed; 1 if it passed. Other values are reserved and should be ignored.
This optional parameter is passed if Age Verification is enabled for MO messages to a particular Short Code.
-
ID: 0x3030
Name: Subaccount
Direction: Partner -> MX
Length: Variable 1-30 bytes + optional null byte
Value: C-Octet String.
This TLV allows you to specify the sub-account to be stored in the transaction log. The MX Telecom Partner Center can provide reporting based on this field. Sub-accounts do not need to be preconfigured.
-
ID: 0x3031
Name: Note
Direction: Partner -> MX
Length: Variable 1-160 bytes + optional null byte
Value: C-Octet String.
This TLV allows you to specify a "note" for the message that is stored in the billing record. This has no effect on the delivery of the message but can be used as opaque data.
Account Setup
Please contact us for further information.

