SMPP Access

This concept document describes using SMPP instead of REST to access Vonage's APIs. Implementing SMPP access requires a deep understanding of this complex telecommunications protocol and a lot of low-level development work. Most developers can safely ignore this information.

By default, your account is configured to use Vonage's REST APIs over HTTPS. Unless your organization is an aggregator with an existing SMPP implementation, the information in this guide will probably be irrelevant to you.


This document covers the following:

What is SMPP?

Short Message Peer-to-Peer (SMPP) is a protocol that the telecommunications industry uses to exchange SMS messages between Short Message Service Centers (SMSC) and/or External Short Messaging Entities (ESME).

SMPP is a level-7 TCP/IP protocol, which enables fast delivery of SMS messages. It is widely used for short message exchange outside SS7 networks because of its support for non-GSM SMS protocols such as UMTS and CDMA.

Vonage uses SMPP to connect to multiple carriers worldwide. Because SMPP is a standard, we expect any new carriers we onboard to provide standard means of connectivity. If they do, we can integrate them them with relative ease.

Should I use SMPP to connect to the Vonage platform?

Vonage does not encourage SMPP access for the following reasons:

  • SMPP is a very complex telecommunications protocol. You must be a domain expert to use it properly.
  • Implementation requires a lot of low-level development work, unlike our REST APIs.
  • Vonage does not offer global high availability or disaster recovery over SMPP. This is due to the design of the protocol, which requires you to establish a bind between a client and a server before you can exchange messages. If one of Vonage's SMPP instances fails, any customers using that instance must be either:
    • Be already bound to another instance and reroute traffic
    • Identify that they are no longer bound to an instance and seek to bind with another instance

Why does Vonage offer SMPP access?

Vonage offers this service to integrate new carriers and make it easier for customers with an existing SMPP implementation to use our platform.

Instead of having to re-implement messaging over our REST APIs, you can modify your existing integration to establish a bind with Vonage's SMPP clusters.

Configuring SMPP access

You can configure SMPP access to the Vonage platform by using one of the following methods:

Standard configuration

  1. Read the SMPP FAQ, which contains details about character encoding, DLR formats, concatenated messages, throttle management and other important information.
  2. Email us your monthly volume forecast. We will configure our system to enable SMPP access for you and send you a confirmation email with links to further resources.

Using Kannel

You can use Kannel version 1.4.3 or higher to configure SMPP access:

  1. Complete the standard configuration steps.

  2. Download the kannel.conf configuration file.

  3. Edit kannel.conf to replace $nexmo_user and $nexmo_password with your Vonage SMPP credentials.

  4. For security reasons kannel.conf only allows access from localhost. To enable access from a different machine, edit the following parameters in kannel.conf. For example, for the IP addresses X.X.X.X and Y.Y.Y.Y:

    admin-allow-ip = ";X.X.X.X;Y.Y.Y.Y"
    box-allow-ip = ";X.X.X.X;Y.Y.Y.Y"
    user-allow-ip = ";X.X.X.X;Y.Y.Y.Y"
  5. Restart Kannel.

  6. Send a test message. For example:


Our SMPP instances

Vonage hosts five instances of SMPP:

  • SMPP1/2 - clustered (NA)
  • SMPP3/4 - clustered (APAC)
  • SMPP0 - not clustered

We recommend that you bind to both SMPP1 and SMPP2 or both SMPP3 and SMPP4. Only bind to SMPP0 if you cannot bind to a clustered setup.

The standalone instance SMPP0 is for aggregators running legacy infrastructure who cannot maintain simultaneous binds to multiple IP addresses. If you are binding to SMPP0, you must implement SMPP redundancy to avoid a higher risk of planned and unplanned downtime.