Table of Contents

Implementing SMPP Gateway (with sample app)

When you resell SMPP traffic you need to implement SMPP Gateway or SMPP Proxy.

Please note the SMPP Gateway sample program is available at the link.

Such application should start at least one SmppServer to be able to receive SMPP commands on a TCP port and several SmppClient instances to send message to other SMPP servers (SMSC, Provider).

When a customer sends SubmitSm command to your server, you need to send back a response SubmitSmResp with assigned MessageId. Later, when you forward this message to another server, you will receive another MessageId from SMSC.

This SMSC MessageId should also be replaced in DeliverSm ( Receipt) for the target client.

You might want to implement smart routing for incoming messages. F.i. when you are going to forward SMS message you can estimate which SmppClient connection accepts destination phone number and costs less.

When you need only forward SubmitSm messages I suggest following steps:

These four values help later to find a corresponding client that should receive a delivery receipt from the provider:

  • Client's sequence number
  • Client's MessageId
  • Provider's sequence number
  • Provider's MessageId

When DeliverSm comes from the provider and contains "DeliveryReceipt", you should do the following steps:

Example of forwarding message from one client to another is on the page "Message delivery from sender to recipient"