How to build a high volume SMS messaging system?

MESSAGE CAPACITY

Peak capacity: 80 SMS / second (The peek capacity is balanced between outgoing and incoming messages. For example if you are receiving 80 SMS / second you can send 0 SMS / second, but if you receive 40 SMS / second, you can send 40 SMS /second at the same time. The peak capacity determines the required CPU performance.)

Average capacity per day: 80 SMS / second (The average capacity per day is often smaller than the peak capacity. The average capacity determines the amount of memory and hard disk space required.)

MAIN USAGE

The Outgoing / Incoming messages ratio is defined as: The system configuration should be optimized for accepting incoming messages only. Look at the sms architecture diagram - Figure 1.

END-USER APPLICATION

For the End-user application the following options can be selected:

  • Option 1: All messages (telephone numbers, message text, timestamp) should be stored in a database and a web based user interface is required. The web based user interface should provide a summary, and detailed message information and it should be customized according to the requirements of the customer

  • Option 2: Only the telephone numbers and the receiving timestamp should be stored for each message in a database. The user interface should display summary information showing the number of incoming messages based on a user defined time interval

  • Option 3: Only summary information should be stored. The user interface should display summary information showing the number of incoming messages based on predefined counters. (e.g. messages per hour, messages per day, etc)

  • Option 4: All messages should be forwarded to an external applications over HTTP or an other API.

sms architecture diagram of a high volume sms messaging system
Figure 1 - System Architecture Overview

COMPONENT ROLES:

  1. Cisco Router
    • VPN Connection management ( L2TP/ PPTP over IPSEC)
    • Firewall Functionality
    • Network Address translation (static routes)
  2. Ozeki SMS Server 1
    IP SMS connection termination (supported SMS protocols):
    • SMPP (v3.3, v3.4, v5.0)
    • CIMD2
    • UCP
    • HTTP Server
    • HTTP Client
    SMS Message Handling functionality:
      Message character set conversion (GSM 7bit, UCS2, Arabic, Chinese, Cyrill,
    • Latin, etc., character sets are all converted to Unicode / UTF 8)
    • Phone Number conversion (All phone numbers are converted to standard international format)
    • Message Segmentation / Reassembly (To handle multipart messages)
    • Message PDU Encoding / Decoding
    • Delivery Report Handling
    • Windowing for asynchronous high performance messaging
    Message Routing
    • Inbound Routing
    • Outbound Routing
  3. Ozeki SMS Server 2
    • Same as Ozeki SMS Server 1
    • Load Balancing
    • Backup Server
  4. Storage + Reporting Server
    • SMS Storage ( Oracle or Microsoft SQL server)
    • Reporting
    • User Interface

More information