Asterisk, TSAPI

Asterisk FastAGI IVR for Outbound Calling

Introduction

The Asterisk FastAGI IVR is a simple IVR program that prompts userid and password before allows user to make outbound call using the Asterisk server. This simple IVR program is useful for the following situation:

  • When legacy PBX is tied with Asterisk and enables users to make outbound calls using Asterisk VoIP trunks
  • User ID and password is required  for outbound calls

64 bit Windows System 

  • For 64 bit Windows system, please follow the steps below
    •  Download and install the Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC Security Update, http://www.microsoft.com/en-us/download/details.aspx?id=26347
    • Configure ODBC System DSN using
      C:WindowsSysWOW64odbcad32.exe
    • Stop the Windows firewall because it enables by default and I don’t have time to figure out what ports are required to open, you need to find it out yourself.

Installation of Asterisk FastAGI IVR 

  • Download the Asterisk FastAGI IVR zip file here.
  • Follow the steps below to install the software.
    • Extract all the files into directory c:\program files\fagiivr
    • Open Windows Command Prompt, enter the following commands to register the program as Windows Service
      • cd c:\program files\fagiivr
      • fagiivr -i
    • Open ODBC Setting, create a System DSN called FAGIIVRCFG for Microsoft Access Driver and point to fagiivr.mdb which is located in the directory c:\program files\fagiivr
    • fagiivrcfg1
    • Start the Windows Service fagiivr
    • Telnet to localhost and port number 14006, enter username tcpgate and password tcpgate01 to access the program console
    • Enter the following command to update the fastagi listening port
      • update parameter ivr_fagiport 4573
      • Hint: the default listening port of fagiivr program is 4573, Asterisk will connect this port when dial a specific extension number
    • Enter the following command to update the voice prompt directory in Asterisk
      • update parameter ivr_voicepromptdir /var/spool/asterisk/voicemail/default/fagiivr/
      • Hint: copy the files userid.wav, password.wav and number.wav in the zip file to the Asterisk voice prompt directory. Please ensure Asterisk has read permission right of the directory.
    • Enter the following command to reload the configuration once you have made change
      • reload
    • Enter the following command in the program console, you will receive debug information.
      • trace on asc
    • Enter the following command to add user
      • add carduser 
      • Hint: the program will prompt you userid, password and full name of the user. Enter digits for userid and password because the IVR only accept digits as input
    • Enter the following command to display user information
      • disp carduser all
    • Enter the following command in the program console, you will get the help message.
      • help

Asterisk Configuration

  • It seems FastAGI behaves differently when using different version of Asterisk. I tested Asterisk 1.6.2.9 and 1.6.2.10, the FastAGI works correctly with the AstLogger. But when I tested  Asterisk 1.6.2.23 and 1.6.2.24, Asterisk did not respond to FastAGI IVR. Funny!
  • I finally know why, this post mentioned that Asterisk expects newline is included in the agi command. My program does not send the newline and new version of my program will address this issue.
  • Add a dialplan under the context for the trunk that setup between your legacy PBX and Asterisk, e.g.
  • fagiivrast
  • For FastAGI host, enter the IP address of the fagiivr machine. For example, the IP address 10.X.X.X.

Uninstallation

  • Stop the Window Service fagiivr
  • Open Windows Command Prompt, enter the following commands to uninstall the program from Windows Service
    • cd c:\program files\fagiivr
    • fagiivr -u

2 thoughts on “Asterisk FastAGI IVR for Outbound Calling

Leave a comment