SMS Service Development Fundamentals

SMS Service Development

SMS gateway is configured to handle the connections to the SMSCs. Now the SMS text messaging application only needs to know how to connect to the SMS gateway. To support more SMSCs, it just needs to modify the settings of the SMS gateway. The SMPP account information (TON, NPI, Service Type, ID, Password, IP, Port Bind Mode) provided by the SMSC/SMPP Server side is configurable.


SMSGW is a standard product combining the SMPP Application and Content Delivery Engine – cde.php. To receive any SMS, required short code is configured in SMSGW Database.



SMSGW is connected to SMSC and SMS send & receive related informations are stored in Database. Mainly all short codes, keywords and other necessary items are kept in SMS Database. Then cde.php send contents based on received SMS short code, keyword. Success and Error response is handled through information stored in Database.

Push/Pull Service

Contents will be collected for certain SMSs received from Clients or SMSC/SMPP Servers from external web services or content sources. It is URL Based Push Pull Content.


There can be multiple keyword defined against each single short code and different web service or content source may provide content for different keyword. In Keyword Table of SMSGW Database, Keyword and related informations are defined. For certain keywords the contents can be fixed plain text, then relevant text is given in SMSText other than this if URL return is the output then relevant URL is given there.

Keyword Table

There is a snapshot of Keyword Table



SMS Based

When content is plain text for some keyword, see the yellow marked cell above in Keyword table.


Here SrcType is set as SMS, reply is sent with the message defined in SMSText field. User sends SMS with the keyword “SSD” to short code 2345, reply message is “You are welcome”. HitCount contains the incremental hit number whenever this keyword SSD received. LastHit is the last hit time. Status is active for this keyword.

URL Based

When content is URL based, see the green marked cell above in Keyword table.

Here SrcType is set as URL. . User sends SMS with the keyword “SSDTECH” to short code 2424, reply message is the output of the URL defined in URL column.


The following URL which is defined in URL field will output user a welcome message containing user’s mobile number, short code and message.



Short Code

For every short code, there should be an entry in Short Code table.



If users send wrong keyword at any short code and Default keyword is Not set for any short code, an error SMS reply is sent back to user which is defined in the ErrorSMS field.

When DefaultKeyword is set, and user sends any message to that short code, first matching Keyword (according to DefaultKeyword) is taken and related message is sent to user.


Masking can be defined for a specific keyword. srcMN contains the short code where SMS comes and maskName contains the masking name which will send as reply. Say you SMS to 1234 with a valid Keyword and get reply with the mask name Close UP which is defined in mask table.



Services without any Response

There are some Services which does not get any instant reply based on received SMS.

When there is any type of Voting service, users normally don’t get any thank you message. There is no response for Sales Report submission at day end.

When Cde.php returns +OK, then SMSGW sends NO response. In that case, reply message is later send through SMS Web services.

Sending SMS from External Applications (Push/Bulk SMS)

There are two web services, SendSingleSMS and SendMultipleSMS. First one is used to send SMS to a specific destination. If bulk messages need to send, SendMultipleSMS is used.


When user is subscribed to Breaking News, they get breaking news as Bulk SMS. SendSingleSMS can be used for one by one SMS sending or SendMultipleSMS for bulk SMS sending.


User Name, Password, TON, NPI, type, coding – these fields are needed to send SMS using these web services. TON, NPI are used to mention if the source number is numeric or alpha-numeric.


These web services write SMS to smsoutbox table which are picked up for sending SMS later.

Further Readings

  1. SMS Basics
[feather_share size="24" show="twitter, google_plus, facebook, linkedin, mail " hide="reddit, pinterest, tumblr"]

We love to hear from you