SMPP Integration Guide

04.12.2020

emnify customers can exchange SMS with their endpoints through 4 different interfaces: the Portal, the RestAPI, Zapier and/or through a SMPP bind towards the emnify SMSC. This guide explains the SMPP setup.

SMPP is often used by telematics platforms, SMS services or operator to enable the exchange of SMS from and towards the device.

If you want to integrate via SMPP your system or 3rd party application acts as an external short messaging entity client (ESME) that connect to the emnify Short message center (SMSC) which will act as a server. 

We support SMPP Version 3.4 - via TLS SSMPP or regular SMPP.

Through the SMPP bind you will be able to send and receive SMS to and from your own endpoints. You cannot send SMS to any other mobile stations.

Access to SMPP Server

The SMPP server is available under the following hostname: 

customer-smpp.emnify.net

Dependent if your ESME supports SMPP over TLS or not - you can use the following URLs and ports

Our SMPP Server is listening on the default TCP-Port 2775 for incoming connections, so a typical address configuration for the server would be

For TLS: 
customer-smpp.emnify.net:3550 (or smpp://customer-smpp.emnify.net:3550)

Without TLS:
customer-smpp.emnify.net:2775(or smpp://customer-smpp.emnify.net:2775)

The "system_id" and "password" for SMPP authentication may be managed in the portal: Device Policies -> select desired Service Profile -> scroll to SMS interface ->  Select and Click SMPP under "SMS Interface"


For troubleshooting issues, feel free to contact customer support for further assistance at support.emnify.com.

MT SMS Flow

For SMS send to the device the ESME will trigger the sending of the SMS with the appropriate MSISDN of the device and the ESME will get a delivery receipt.

The SMS sender address you can choose as you like, may it be an international MSISDN, short code or alphanumeric string.

smpp_mt_sms_flow

MO SMS Flow

Any SMS originated from your IoT/M2M devices will be delivered to your ESME via SMPP, this allows you to take full control over the SMS flow and implement your own message routing logic: you may want to forward some message to your applications or forward them to another mobile station via a SMS provider of your choice.

smpp_mo_sms_flow

 

Delivery Receipts

Our SMSC supports delivery receipts for final status of delivered, failed and expired messages. You need to request delivery receipts by setting parameter "registered_delivery" to value 1 in the SUBMIT_SM command. The SMSC will then generate a DELIVER_SM with esm_class=0x04 and the delivery receipt data, this will include the optional parameters "message_state" and "receipted_message_id".

Supported SMPP commands

  • BIND_TRANSCEIVER
  • UNBIND
  • ENQUIRE_LINK
  • SUBMIT_SM (for submission of MT SMS)
  • DELIVER_SM (for delivery of MO SMS and DLR)
  • QUERY_SM
  • CANCEL_SM

Enquire Link/Keepalive

Our SMSC will respond to ENQUIRE_LINK request from your ESME, also it will send ENQUIRE_LINK requests to your ESME on regular basis to check connection health. Your SMPP client needs to respond with ENQUIRE_LINK_RESP to keep the connection open.

Get in touch with our IoT experts

Discover how emnify can help you grow your business and talk to one of our IoT consultants today!