I am researching companies that provide both SMS and voicemail services via an API call. I want to be able to contact users (most of whom are US-based) via both text-message and voicemail. The idea is that our web server would connect to the SMS/voicemail provider's server (e.g. using HTTP post) and then send the message to the recipient's phone. In the case of an SMS message we'd send the user a text message and for voicemail there would be a translation of the text message to a robot voice and it would then call the user's phone and recite the message.
Are there any folks out there that have worked with companies that provide both SMS and voicemail? If so, can you recommend a provider?
Thanks in advance.
I've used BT's phone/sms services in the past. It's a great service for sending sms as well as automating calls. I particularly like the fact that everything is open sourced, and they have wrappers for a lot of main stream languages, plus the API is quite simple.
I was introduced to it in a course I took with the BT guys, and it took me a couple of days to have something not trivial running.
Update: the following US-based providers have both voicemail (including text-to-speech) and SMS services that are accessible via an API (web service type of model).
West Corporation (based in Omaha, NE)
Premier Global Services (based in Atlanta, GA)
Twenty First Century Communications (based in Columbus, OH)
Varolii Corporation (based in Seattle, WA)
Related
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.
I've been tasked with a project where the customer would like to send SMS, MMS messages from a mobile device. They would like to have a dedicated phone number to send these messages to. We would like these messages get routed through a gateway so it can be processed in a Java Application Server and have the server generate a response that will make its way back to the users mobile device. The server side of this will be done in Java.
I'm new to this and trying to understand the best approach. Please let me know what services and APIs are available that will allow me to do this. It seems like there are plenty of services available to get the message from the server to the phone, but I'm not clear on the mechanism for getting the message from the device routed to the Java application server.
Any suggestions are greatly appreciated.
Thanks in advance.
Seth
You could get yourself an old Nokia 3210 or something with a data cable and connect it to a server.
There are a bunch of companies that can provide a phone number to receive incoming sms messages as well as send them (not sure about MMS; that is a different story). One of them is Clickatell. They have a variety of API's you can use from Java.
http://www.clickatell.com/products/gateway.php
There are some services which allow you to define a callback URL, so when their server receives an SMS, they forward the data to you via HTTP POST. Of course, there are several proprietary protocols, and SMPP (e.g. http://opensmpp.logica.com/), but that's a lot more complicated.
An example of such a service is http://www.textmagic.com/app/pages/en/products/bulk-sms-gateway-api
My company is working for a Telco who will allow us to send/receive sms using their gateway eventually but for now I need a sms gateway setup on my Win7 box that I can used to test and build an applicaton that sends and optionally receive sms messages.
I have had a look at Kannel but I cant seem to find a Win7 version or dont know how to compile and setup one on Win7.
If someone has any experience in this then please help me. Thanks
If you will be connecting to the telco it will probably be to their SMSC directly via SMPP or similar protocols, which means you will need to setup something to talk to that. Kannel is an excellent open source implementation of an SMS Gateway, and probably your best bet at this. It will take care of talking with the telco's SMSC, and will provide you with a simple HTTP based interface to submit messages to from your application.
In that case, you are better off trying to set it up sooner rather than later, because quite a bit is involved in Kannel's configuration. It requires linux based systems to run and there is no windows port.
However, in order to get started developing your application, you can look into a fake SMS Gateway that will accept the same HTTP interface as Kannel, and return back made up replies. A quick and dirty way would be to write a simple web page in any language you wish, that will accept a few parameters over a web request and print out "55124" for the new message id, or similar. Then your application can do a simple HTTP call to it to simulate sending an sms:
http://smsgateway.local/simulator.php?to=12345678&from=12345&body=hello+there
If you want something more realistic look at this list of software. There are some libraries for sending sms via mobile phone connected serially, and SMPPSim which looks like it could work for you for this.
I want an SMS service that maps incoming SMS-es to an http request to my server and maps my HTTP response to an SMS reply. Can someone recommend an SMS gateway that provides reasonable service to North America?
Thre are lots of providers out there that can provide this (see google here or here). There are also some guides on the web such as "How to Choose an SMS Gateway Provider".
A couple of examples that look pretty professional (however i have not used them):
Clickatell
CellTrust
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