Send SMS over IP - sms

I hope to create a web server that can give some extra facilities for SMS Service Providers. Can I send SMS through internet? If its possible then, Are there any libraries for Send and Receive SMS over the internet?

There are many different options to send SMS over Internet, but most popular are the following:
Connecting to SMSC of mobile carriers directly (usually via SMPP protocol).
Connecting through some SMS aggregation service like Clickatell mentioned in previous answers.
Choice between these options depends mostly on non-technical issues:
Required coverage (mobile carrier will provide only messaging inside it's network).
Premium Rate billing possibility (this requires closer work with carrier).
Well, price too... :-)
Technically most popular options are:
Specialized protocols like SMPP (Short Message Peer to Peer).
HTTP based protocols provided by SMS aggregators.
If you need unified solution, I recommend to use Kannel open source SMS gateway that support many popular transports (SMPP, CIMD, UCP, HTTP, etc).

You've got www.Nexmo.com www.tropo.com www.twilio.com www.smsified.com ... and so on...

You can use http://www.clickatell.com/ which gives you a few options such as sending SMS one by one, or by using bulk files such as XML.
I found the clickatell API to be really usefull and easy, I managed to add SMS capability to an existing website in a few hours by creating a simple class to wrap up all the methods.
One thing to remember though this is not going to be free for you, there will be costs involved depending on where you send the text to, and where you are based.

You can send SMS programmatically through TheTexting API, They provide cheap rates and their service is really good.
Full disclosure: I work for company that makes this product.

Related

How to send a USSD Code to mobile phones

I want to send and run a USSD code on mobile phones via PHP. I have an SMS gateway, can I send it through SMS or do I need to purchase an other service? I have been searching the net and didn't come to a solution that's perfect for me.
Some company's support told me that I can send it using XML in SMS.
The USSD command I want to run is :
1. *21*___SOME NO____#
2. #21#
USSD and SMS are two different services that are both supported in 3gpp mobile protocols.
Check your documentation, or ask a support engineer at the organisation that supplies your SMS gateway to know if they also support USSD. If yes, then they should give you details on how to use it.
The interface to a USSD gateway is not standard, it will depend on how the individual company has implemented it.
A quick search on Google for the words "ussd gateway" brings up several USSD products.

Reading sms without using GSM Modem?

I want to read sms in a mobile and process it in my server. I think it can be done with the help of GSM modem. But, i have been asked to do it without using GSM modem.Is there any other way to make it done?. If there is any other way, pls let me know.
(preferred languages to implement-java,c#/vb.net,php,c/c++)
Update based on comment:
I am planning to develop a SMS polling system using which our company employees can vote by sending SMS.
For example, the users will be asked to send sms in a particular format(say VOTE ) to a mobile number. I need to read the sms(which is in a mobile) from my server and it should be processed to calculate the result.
I think what you are looking for is a SMS Gateway. There are plenty of services out there; like For example this service http://clickatell.com/products/gateway.php
They usually provide an API that you can use to integrate it with your servers.
You have some basic information on SMS Gateways available on Wikipedia here:
http://en.wikipedia.org/wiki/SMS_gateway
And a list of SMS Gateways available here:
http://en.wikipedia.org/wiki/List_of_SMS_gateways

Sending an SMS myself

I'm taking shots in the dark here. I'd like to create a web service where eventually I send an SMS by using my own hardware. I'm not sure what I need in order to send an SMS myself. I don't want to use any of the existing SMS send services out there, I need to be able to send these SMS myself.
It looks like there's one opensource project in particular that deals with this, "Kannel":
http://www.kannel.org/
what I don't understand is, do I need to get a GSM modem to be able to send SMS? Do SMS gateways (like Kannel) eventually need to get to a GSM modem to send messages, or is there some other hardware you need to be able to actually send the messages?
Thanks
Just find an online SMS Gateway. These Gateway providers are your best bet since they have handled all the heavy lifting for you. Just utilize their API and you should be able to do whatever you want. Some of these gateways are free and some are not. I've included a short list below.
https://www.clickatell.com/pricing/message_cost.php
http://www.zeepmobile.com/
(Carrier based SMS transit)
http://en.wikipedia.org/wiki/List_of_carriers_providing_SMS_transit
I'm sure there are a ton more, but this will get you started.
You always need a GSM modem to send the SMS unless you use a provider that handles this for you (but they usually want money for this).
If you want to setup your own Hardware infrastructure, you have to get GSM Modem, A Sim card and use it to send SMS.
Other option, which I recommend, is to use SMS getways and use
SMPP protocol
XML or HTTP Apis
In later, you dont have to create any infrastructure and the starting cost will be very low compared to GSM Modem. You can get up and running in a day.
Note : to reduce the SMS costs, you should choose different getways for different countries. In India you can easily find getways who provides SMS at merely 3 paise
You will have to download an API that handles the sending and recieving of messages for you. I once used this in one project where i had my GSM Phone connected to my computer thru one of the COM ports. Configured the API to communicate thru the COM Port to listen to any incoming text messages also send messages thru my GSM Phone. Here is a great link to the resources i used for that project. I hope this will help. http://www.codeproject.com/KB/cs/SMS.aspx

Are short codes required in the U.S. for SMS applications?

Simple question: I'm researching SMS gateways for the U.S. We've implemented in Europe before, but I can't determine if renting a "short code" is required for for subscription automated outbound SMS traffic in the U.S. or if that just varies by SMS gateway provider. My hunch is that it is required, expensive as it is, but I need confirmation before I'm comfortable presenting that to my manager.
It varies by carrier. Some carriers will allow you to use an email gateway for a production-level application; some will not.
More to the point, you will have far, far less headaches down the road by actually using the short code and native SMS than an email gateway, which tend to have fairly diverse latency, availability, and functionality behaviors.
I previously worked for a company that did some SMS work, and I believe a short code is required.
If I understand your question correctly, most SMS gateway providers in the U.S. don't require a special short code for outbound SMS. I am using SMS in an app right now without my own shortcode.
They do require it for inbound SMS though. There are alternatives to that too, as you can use a service like Textmarks.

Receive SMS messages by web application

We are building a web app that should be able to receive SMS messages and store the information contained in it in database.
Which methods have you used? Which service providers are out there that can assist?
http://www.clickatell.com/ are massive and it works exactly like it says on the tin. You pay for a phone number and sms messages sent to that end up hitting a URL on your site to deliver them just like someone posting a form.
I'd recommend using a service such as TextMarks. TextMarks is free, and lets you pick a keyword for your service that allows users to route messages to you through TextMarks' shared short code, 41411. The only catch here is that they reserve 20 characters in each message for short advertisements to pay for their services.
If you ever outgrow their ad-sponsored services, you can upgrade to a premium version that doesn't include ads.
Another (cheaper) alternative is to have your users send text messages to an email address like sms#yourapp.com. Then you can have a background thread that's looking at the email account and puts the messages into the database.
I've implemented and tested this approach with major US carriers with everything from smart phones to pay-as-you-go "crappy" phones without a hitch.
When the user sends the SMS to your email address you get the SMS email gateway address (e.g. 8055551234#vtext.net) so you can send response messages.
The only downside is that it's a bit more difficult to find the "send to email address" options on most phones, but it is (basically) free for you. This is especially helpful for reducing costs while testing out workflows. Those ~3 cents for each SMS add up pretty quickly, especially during automated testing.
When you want to support SMS numbers you can configure most SMS gateways to send an email to an address, so you won't have to change your infrastructure to support a "real" SMS messages.
I haven't done it yet, but I guess you could also setup an Asterisk system on your server, then get a regular VOIP acccount (which Asterisk hooks into) and configure the Asterisk server to forward all SMS to your application. This article might help setting up the Asterisk server.
I've had experience using MX Telecom as an SMS Gateway. Essentially they posted data to our web service every time we received an incoming SMS. The application in question was also sending SMS messages as well and we just did an http GET to a web page of theirs.
I can't speak to the business end (i.e. cost), as I was just in charge of implementing the features - but working with an SMS gateway is really very simple from a development perspective.
+1 on sebastian i was jsut writting pretty much the same
if you are working with ruby you might want to have a look at adhearsion
You can use SMS gateway software which will receive SMS messages through a GSM modem or 3G dongle connected to a PC and POST them to your website via HTTP. Eg: this software

Resources