Thursday, February 26, 2009

SMS Solutions for Third Party Applications

Here we will talk about SMS solution providers or those applications which use SMS in their application. There are mainly 2 ways third party application can use SMS services:

A) Very Preemptive/simple:

Here application connects to the third party aggregator or SMS Gateway(s) and send/receive message. In general this flow can have flowing 2 varieties:

i) Only for Sending Messages:

Third party application sends the message as bulk to SMS Gateway or SMS Aggregator via HTTP/SMPP/CIMD. SMS Gateway/Aggregator will send the message to operator SMSC(s) via SMPP/CIMD/HTTP.SMSC then sends the message to the intended Subscriber.

ii) Both Sending and Receiving Messages:

Third party application sends the message as bulk to SMS Gateway or SMS Aggregator via HTTP/SMPP/CIMD. SMS Gateway/Aggregator will send the message to operator SMSC(s) via SMPP/CIMD/HTTP.SMSC then sends the message to the intended Subscriber.

Now, if the Subscriber wants/needs to reply back to the application with response (say, for Purchasing content/subscribing for Jokes etc.) s/he sends it and it reaches to the Operator SMSC and SMSC then finds the SMS Gateway/Aggregator to deliver the SMS and SMS Gateway then sends the Reply SMS back to the Application.

In this model SMS Gateway/Aggregator can only be able to get response back from the subscriber if it has connectivity with the SMSC of the Subscriber Operator. I mean any SMPP/CIMD/HTTP connectivity.

Note: So, this method is mainly used for sending bulk messages, instead of any Interactive Applications. And if you want to develop any application with only SMS Push, this is the simplest and cost effective method.

B) ESME way:

Here, instead of connecting to the SMS Gateway/Aggregator your SMS application can directly connect to the operator SMSC. So, you need to connect to SMSC to send message and this connection will be on a protocol called SMPP/CIMD/HTTP. You will become an EMSE (External Short Message Entity) for the SMSC. Operator will provision your application as an ESME on its SMSC with System ID/Password and Shortcode.

You need to first connect to SMSC over SMPP (TCP/IP) using an allocated System Id and Password. Then your application can send message(s) to the subscriber via SMSC. Subscriber in terns can send the reply back to your application or can request for Subscription/Content etc. by sending specific Keyword to your Shortcode. This will reach to the SMSC from Subscriber handset and SMSC will deliver the message to your application.

Note: Here, though push SMS can work if the Subscribers do not belong to the same operator to which SMSC your application is connected. But, for Subscriber to send message back to your application, s/he should belong to the same operator.

No comments: