EMnify is hiring. Visit our careers page to see our open positions, and apply today!
    Dec, 4 2020

    SMPP Integration Guide

    Developer Blog

    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: 

    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.

    /bg-gradient-blue

    Subscribe to our Developer Newsletter

    Christian Henke

    Christian Henke

    If you want to understand how EMnify customers are using the platform Christian has the insights. With a clear vision to build the most reliable and secure cellular network that can be controlled by IoT businesses Christian is leading the EMnify product network team.