views:

292

answers:

3

hello guys,

Am using java to develop program that receives and processes SMS messages. I have been able to code the processing of the SMS Messages received and its working perfectly. Now the challenge i have is receiving the the SMS Messages from the CDMA network. When the application is about to go live, the CDMA network will setup a VPN connection which will enable my application to connect to its IN or its IN connect to my application to deliver the SMS Messages to my application over the VPN. Now, in what format will be SMS be sent to the application? Or will i just need to listen on the VPN and read data's when they become available? Thank you very much for your time.

Thanks.

A: 

Different protocols like SMPP (1, 2), UCP (1, 2), or even HTTP can be employed to transfer SMS from one party to another. You need to check with your upstream provider what protocols they offer.

Bombe
+4  A: 

I assume that by IN you mean Intelligent Network? Usually IN is not relevant for sending/receiving SMS messages - you need to connect to the Short Message Service Center (SMSC) (or some proxy/gateway) in order to do that.

As also pointed out by Bombe, there are several protocols that you can use to connect to the mobile operators SMSC, it is all quite vendor-specific, due to historic reasons. Common protocols are:

  • SMPP (most popular, becoming the de-facto standard). There are two SMPP java libraries:
    • SMPP API at SourceForge - very stable and mature library, I have personally used it in several projects and can recommend it.
    • Logica OpenSMPP - library from the company that developed the SMPP specification. I have never used this, so I cannot comment on its maturity or stability.
  • UCP (specification) - quite old standard. I'm not aware of any open java libraries for this protocol. However, as it is all ASCII-based, it is fairly easy to implement yourself (as long as you like messing with bytes :-)).
  • CIMD2 - specification for communicating with Nokia SMSCs. It is becoming legacy, as I have heard that newer Nokia SMSC releases also support SMPP. No known open java libraries for this either.
  • and finally, there are gazillions of custom protocols implemented to make it "easier" for 3rd-party developers to connect to SMSCs. These are usually based on HTTP and XML (SOAP, if you are lucky).

To sum up, the choice of protocol is not yours to make. It is usually dictated by the SMSC vendor or the mobile operator (in case they have developed some sort of "proxy/gateway", to shield their SMSC from potential programming errors that external developers can make).

P.S. in case you are not limited to java, you can also have a look at Kannel - the Open Source WAP and SMS gateway. I have not used it myself, but as far as I have heard, they should have all major protocols covered.

Neeme Praks
the message is coming by smpp. i will download the two SMPP API and check them out.
War Coder
A: 

If the messages come into you over SMPP have a look at the SMPPAPI.

http://smppapi.sourceforge.net/

Talk to your mobile network they will tell you what format your messages will be delivered in.

Paul Whelan