Share This Post:

Python alarm application

We want to buy the Broadcast-By-Phone/Gateway and I’ve been experimenting with the Python interface as well as the Broadcast-by-Phone user interface. The application we want to develop is to notify people of alarm events that occur. The following are the requirements:

Each alarm event will have a custom message based on the nature of the event
The alarm will be ‘live’ until it has been acknowledged positively by someone on a phone list
Our system will compose the custom message (a *.vxml file) which incluceds some .wav bits and some tts bits, where both the wav and tts bits vary from message to message.
We can then build a list of people who can respond to the alarm
We then want to ring through the list until someone both answers the call and keys a code to acknowledge it.

From the examples I’ve seen and played with I think we cannot do all of the above, so I need your help. I’ve used the BbP application to build a custom message and can see that the “Confirmation” column is populated appropriately when someone presses a key. I’ve used the python example to play a .wav file and to continue through a list until an acknowledge code it dialled. However, The ‘stop broadcasting after getting confirmation code’ seems only to be applicable in the python call which invokes the command line of BbP, and this command line seems only to take a .wav file as a parameter. I do not seem to be able to create a vxml variable message and then to use the BbP command line to play that variable message and get any key-press feedback. Clearly this must be possible as the BbP application itself is getting key press feedback from the gateway. I am just now sure how? Could you please let me know a way forwards?

To create automated phone call applications using Voicent telephony platform, you first have to make a choice as which API you want to use. You can interface with application level API or with gateway level API. Application level APIs are interfaces for Voicent applications, such as Broadcast By Phone, Auto Reminder, Agent Dialer. Theses APIs, unlike the gateway level API, do not use the low level VXML files. Application level APIs are easy to use. For example, the call-till-confirm feature you tried is already implemented in BBP. If you use the gateway level API, you will have to implement this feature yourself. But the gateway level API offers the most flexibility – actually, all Voicent applications are built on top of the gateway API (and gateway client library available in Voicent developer annual subscription)

From the description of your project, it seems you should be able to build it using the BBP interface. The following are key steps:

1. Use Message Designer To Create Your Custom Message

Instead of trying to use a custom vxml file, you should use the built-in Message Designer to create your custom message. If you only have several types of messages, you should create a custom message for each type. For each type of custom message, the wave files and TTS do not change. (If for some reason, you have to vary the wave file and TTS, then you need to create corresponding columns to hold these wave files and TTS, and use these columns in creating your custom message using Message Designer. But this complicates the whole project).

2. Create Call Lists Files

For each type of custom message, create an empty call list file (.voc). Then select the corresponding custom message for the call list. This empty call list serves as a template.

3. Invoke Auto Dialer From Command Line

Build your phone numbers to call and use it as part of the command line. Also specify the empty call list corresponding to the desired custom message.

Optional Step: Use IVR Studio To Create Your Custom Message

If your call message requires advanced features, like using multiple questions and answers, linking to a website or database, or sending email, you need to use Voicent IVR Studio. The built-in Message Designer is a one-level designer, it can only create certain simple call messages. With IVR Studio, you can create almost any kind of IVR applications you can think of.

Hello, and thanks for the prompt reply. I follow your thinking in the reply page which is great and I will try that. However, I am not sure of one remaining essential thing: I will need to generate the alarm message to play on the fly (I will use python for that) and schedule the call using the python API. My question is: Using the command line invocation, how do I populate the columns in the template VOC file with the correct TTS and WAV file data so that the call made is the right call?

The best way is to use the -import command line option. Please make sure you first create the call list (.voc) columns in the template file.

Share This Post:

This entry was posted in IVR Developer, Outbound IVR. Bookmark the permalink.