Getting VApp running
Installation
Download and unpack archive with source code then run as root:
# python setup.py install
This will install the core VApp library to your system.
The distribution contains not only library but also a sample IVR server that you are free to play with. It is located in the samples/ directory. There are following sample IVR applications included:
- TestNumbers - allows to enter a number from the keypad and then pronounces the number in the selected language.
- Callback - Calls back the user and then runs the Listen To Voicemail application
- VoicemailRecord and Voicemail - simple implementation of Voicemail feature
In order to use the sample IVR server you should install Asterisk server and configure it to route calls to the IVR server. For example the context in the extensions.conf to terminate calls to the IVR server can look as follows:
[my_ivrs] exten => _[a-zA-Z0-9].,1,AGI(agi://127.0.0.1/)
You should also grant the sample IVR server an access to Asterisk Manager Interface. Please enable the interface in the manager.conf and add the following section:
[ivrd] secret=secret deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.255 write = all read = all
Now you can start the samples/sample-ivrd.py server. You should see the following output:
DEBUG:root:Plugin Callback imported successfully. DEBUG:root:Daemon Callback imported successfully. DEBUG:root:Callback monitor started DEBUG:root:Plugin TestNumbers imported successfully. DEBUG:root:Plugin Voicemail imported successfully. DEBUG:root:Plugin VoicemailRecord imported successfully.
And now you can start to use the sample IVR applications. The particular application is chosen based on CLD of the call:
- to run the TestNumbers application the call has to have the CLD set to testnum.
- to run the Callback the call has to have the CLD of callback.
- to run the VoicemailRecord the CLD has to be in form vm<box#>, where <box#> is the extension number of the message recipient.
- the Voicemail listening is launched by setting the CLD to vm exactly.
