SMS Routing

The SMS Routing feature allows outbound SMS messages to be routed to different SMPP Servers based on the destination phone number.

Requirements

  1. Two or more SMPP Servers

SMS Routing Table

Each element of the SMS routing table consists of the following data:

  • Order - the elements of the routing table are ordered

  • Number prefix - to match, the destination must match the number prefix

  • SMPP Server - the SMPP server that should deliver the message if the number prefix matches

  • SMPP Sender - the SMPP Sender identity that should be used if the number prefix matches

SMS Routing

In the CM module, the campaign executor will match the target SMS number to the appropriate SMPP Server and SMPP Sender (which is defined for that server).

The routing algorithm will operate like this:

  1. Get the SMS routing table entries in order

  2. Loop over routing table entries in order

    1. If the target number matches the number prefix, use this SMPP Server an SMPP Sender

  3. If no match found, use the default server.

SMS Fallback

A SMS Fallback server may be designated. If SMS cannot be delivered to the SMPP Server in the routing rule, then the fallback server should be used instead.

Q: Do we need a fallback server for each SMS routing rule, or just one global fallback server.

Assumptions / Discussion

SMS Routing could be performed in the CM node or in the SMPP Sender nodes.

If SMS Routing is performed in the CM:

Then the Smpp Work Object will need to contains the target SMPP Sender and SMPP Server. It currently contains this info.

If we implement SMS Fallback, the Fallback SMPP Server and SMPP Sender will also need to included in the Smpp Work object.

In the SMPP Sender node, the sender code can attempt deliver to the target SMPP Server and optionally the fallback SMPP Server if the original SMPP Server fails to accept it.

If SMS Routing is performed in the SMPP Sender(s):

The SMS Routing table will need to be propagated to the Sender Nodes

All SMPP Servers will need to be accessible from all SMPP Sender nodes.