10.2.3. Sending SMS Messages Using a Protocol / Interface Supported by an SMSC or SMS Gateway

After setting up an account with a wireless carrier or an SMS service provider, you can start sending SMS messages using a protocol / interface supported by the SMSC or SMS gateway. To communicate with an SMSC, an SMSC protocol is required. Most of these SMSC protocols are proprietary to the company that developed the SMSC. One widely used SMSC protocol is SMPP (Short Message Peer to Peer). It was originally a proprietary SMSC protocol created by Logica (an SMSC vendor). Now SMPP is an open SMSC protocol whose development is controlled by a non-profit organization SMS Forum. The following table lists some of the SMSC protocols and the SMSC vendors who develop the protocols:

SMSC vendor

SMSC protocol

CMG (CMG and Logica have merged into LogicaCMG.)

EMI (External Machine Interface)

UCP (Universal Computer Protocol)

Logica (CMG and Logica have merged into LogicaCMG.)

(Now the SMS Forum is responsible for the development of SMPP.)

SMPP (Short Message Peer to Peer)


CIMD (Computer Interface to Message Distribution)

SEMA Group (Now Airwide Solutions)

OIS (Open Interface Specification)


SMS gateways of SMS service providers and wireless carriers very often support one or more of the following protocols / interfaces: HTTP, HTTPS (HTTP + SSL encryption), XML over HTTP / HTTPS, SMTP (email to SMS), FTP. Some also support the SMPP protocol, which is usually used by advanced users. SMSC protocols other than SMPP are not commonly supported.

It is very easy to send SMS messages if you use a simple protocol like HTTP / HTTPS. Here is an example. To send an SMS message "It is easy to send text messages" to the mobile phone number 61234567, you submit an HTTP GET to the SMS gateway using an URL that looks something like this:


In the above URL:

After receiving your HTTP request, the SMS gateway will forward your SMS text message towards the recipient. The SMS gateway will then send back an HTTP response that contains a return value. The return value indicates whether there are any errors. For example, a certain SMS gateway may use the return value 0 to indicate that there is no error, the return value 1 to indicate the error "The account does not have enough credits", the return value 2 to indicate the error "The SMS message is too long", etc.

Note that the parameters that can be passed in an HTTP request and the return values varies between SMS gateways of different SMS service providers and wireless carriers. To send the same SMS message "It is easy to send text messages" to the same mobile phone number 61234567 but with a different SMS service provider, the URL to be used may become:


Also, note that data transmitted over the Internet using the HTTP protocol is not secure. This means other people can read your account name and password you included in the above URL. To send data securely, you should use the HTTPS protocol instead of HTTP (i.e. change "http" at the beginning of the above URL to "https"), like this:


Previous Page Page 13 of 65 Next Page

Contents at a Glance (Click Here for Full Table of Contents)

Feedback Form (ExpandCollapse)

What do you think about this web page?

(Optional) Please provide us more details. For example, suppose you select option 2 above, can you tell us specifically what information is missing? You can also suggest anything that can help us improve this web page.

(Optional) Your name:

(Optional) Your email address:

Please enter again to confirm:

Due to the amount of messages we received, we may not be able to reply to all messages.

A button for going back to the top of this page