“We want to use SMS”. I hear that often from customers or prospects, but there is just as often confusion around what is really meant. Do you want to send a text message out of an IVR dialog, e.g. to send a confirmation message? Or do you want to send outbound SMS independent of a voice application, e.g. an emergency or outage notification, or an appointment reminder, triggered by some back-end system? And in either case, should the recipient of the message be able to respond? Or do you want to text-enable an IVR-like self-service portal, i.e. offer self-service using 2-way SMS?
Voxeo supports all of the above scenarios, so let me show you how to build them using our VoiceObjects product, either in our public cloud (VoiceObjects On-Demand), or in a private cloud on your premise. (The instructions work just as well for any other application server, though). Find general documentation on our SMS API here: http://help.voxeo.com/go/help/evolution.sms.postapi
1) How to send outbound SMS, with no inbound response option
In order to be able to send outbound text messages, you will need to setup an application in Evolution. This is irrespective of where your (VoiceObjects) application server lives.
- Create a new application
- If all you want to do is send an outbound message from your back-end system (i.e. you do not involve VoiceObjects at all):
- Set the communication form to Text
- For the Text Messaging platform, select SMS HTTP Post Interface
- As Messaging URL, define a valid URL. This is needed even if users are not expected to respond to the outbound message (which would trigger this URL). Any URL will do, e.g. http://www.google.com.
- If you have a voice application and you wish to send outbound SMS from within that:
- Set the communication form to Both
- For the Text Messaging platform, select SMS HTTP Post Interface, and for the Voice platform, either select VoiceObjects On-Demand (for hosted VOD applications) or any VXML-based platform (for premise VO installations)
- As Messaging URL, define a valid URL. This is needed even if users are not expected to respond to the outbound message. Any URL will do, e.g. http://www.google.com.
- As Voice URL, define the URL pointing to your premise VO (or other app server) installation, or select your existing VOD application for a VOD installation
- Add a phone number to your application, click Create.
- Under Contact Methods, note down the SMS Botkey and the phone number.
To send a text message from your back-end system, trigger the following URL:
|botkey||The botkey of your application, as noted before|
|apimethod||Always set this to send|
|msg||The text of your message|
|user||The phone number you want to send this message to|
|network||Always set this to SMS|
|from||The phone number of your application, as noted before|
To send a text message from within your VoiceObjects voice application, build a Connector object with the following configuration:
2) How to allow inbound messages
If the recipient responds to your initial message, the response will be collected by Voxeo’s SMS Hosting and passed through to the application associated with the phone number.
To process inbound responses (or respond to an initial inbound message sent by a user), first follow the steps for a new application as described above. As Messaging URL, define a URL to your application server that will handle the incoming messages. If your application is hosted on VoiceObjects On-Demand, I still recommend to select the SMS HTTP POST Interface as your platform. Contact support to ask for the URL of your specific VOD instance (bound to your Evolution account). If your application is hosted on your premises, define a normal VoiceObjects URL, but add the following two parameters: vsDriver=173&User-Agent=IMified. (If your application does not use VoiceObjects, define the URL that points to your application server).
A full VoiceObjects URL for text applications would look like this:
Now, when sending an outbound message from your SMS-enabled application phone number and the recipient responds, your VoiceObjects server will manage the ongoing SMS communication. The same holds true if the user initiates an inbound text message.
- Outbound Call Applications with VO
- Slides from T-Mobile: How To Enhance An Existing VoiceObjects Voice App With a Text Channel
- What the VoiceObjects acquisition by Voxeo means for voice application developers…
- Developer Jam Session – May 27 – VoiceObjects and the Prime Telecom demo app
- In the new year, have you tried VoiceObjects? (It’s free to download)