News, TSAPI

CallAban 1.4.0 Released

31 Oct 2014, CallAban release 1.4.0 just released. This version supports REST interface for query statistics data such abandon rate, short duration rate, ACHT, ASA, etc. It also fixed a bug that call info is failed to be stored in database when the data contains single quotation mark.   For details, refer to the support page

Advertisements
Daily Usage, TSAPI

CallAban and Splunk

I implemented a TCP connector module between CallAban and Splunk. It allows me to analysis call center traffic in a systematic way. Also, it allows me to identify problems much easier and faster than before. Currently, I use it in the following areas:

  • Trace a call from its beginning to ending. For example, a call firstly handled by IVR, then handled by an agent
  • Identify the most frequent customers of your call center
  • Identify the agent who disconnects customer call first
  • Identify the agent who creates short duration calls within the center
  • Analysis of abandon calls. For example, to identify which vdn, split, customer number related to abandon calls
  • Analysis of short duration calls. For example, to identify which vdn, split, customer number related to short duration calls
  • Creates reports and dashboards

You can download latest version of CallAban here. Configuration is simple and only has few steps:

Create new index in Splunk

newindex

Define TCP data input

selecttcp

tcpsource

Configure CallAban to send call data to Splunk

callabanconsole

 Search 

callaban

TSAPI

Call Generator for Avaya

Introduction

The Avaya Call Generator is an application for load testing of call center systems. It uses a lot of phantom devices and generates bulk testing calls to a target system. It is useful for IVR and agent CTI application testing.

Before installation of the software, please make sure you the following Avaya features:

  • AVAYA ASAI CTI STATION SFTW LIC
  • AVAYA ASAI PHANTOM CALLS SFTW LIC

Release 1.1.0 just released, this release supports bulk call dialing and sends DTMF tone pattern after call connected.

Preparation and Password Encryption

  • The access MDB file stored the the username and password of AE server. For security reason, a tool called encryptpasswd.exe is provided to generate encrypted password for the installation and configuration of the software
  • Execute the program, generate the encrypted passwords for the user of AE server, then paste the encrypted password to parameter cg_tlink. For example, the encrypted password for “p@ssword” is “R3NIw1yJMLlnPFzEQtuh2A==”
  • encryptpasswd

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  

  • Download the TSAPI client for Windows 32-bit from Avaya web site, it contains the library files. You need to register DevConnect before you can access the download page.
  • Download the Avaya Call Generator zip file here.
  • Follow the installation steps below to install the software.
    • Extract all the files into directory c:\program files\callgen
    • Open Windows Command Prompt, enter the following commands to register the program as Windows Service
      • cd c:\program files\callgen
      • callgen -i
    • Open ODBC Setting, create System DSN called CALLGENCFG for Microsoft Access Driver and point to callgen.mdb which is located in the directory c:\program files\callgen
    • Open the Access file, edit the value of parameters cg_tlink_01 and cg_tlink_02 to the TLINK of your AES servers in the tParameter table
    • Start the Windows Service callgen
    • Telnet to localhost and port number 14009, enter username tcpgate and password tcpgate01 to access the program console
    • Enter the following command in the program console to add phantom device
      • add phantom 41101
      • Hint: 41101 is phantom device, the default license key will come with 5 licenses. Purchase license pack if you want to generate higher traffic
      • Hint: Whenever you added new phantom devices, please restart the service
    • Enter the following command in the program console to add dialing job
      • add job test 100 10 0 912345678
      • Hint: This command adds a job called “test”, total 100 calls, call duration for each call is 10 seconds, use DTMF pattern 0 and the destination number is 912345678
      • Hint: If you want to send DTMF after call connect, execute the following command
    • Enter the following command in the program console to add DTMF pattern
      • add dtmf 0 1 5 8
      • add dtmf 0 2 6 9
      • Hint: The first command adds DTMF pattern 0, step 1 waits 5 seconds then sends DTMF 8 to the connected call
      • Hint: The second command adds DTMF pattern 0, step 2 waits 6 seconds then sends DTMF 9 to the connected call
    • Enter the following command in the program console, you will receive debug information
      • trace on asc
    • Enter the following command in the program console to start the job
      • startjob test 
    • Enter the following command in the program console to stop the job
      • stopjob test
    • Enter the following command in the program console to list out all the job
      • disp job
    • Enter the following command in the program console, you will get the help message
      • help

Uninstallation

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

Licenses

  • Send me your company name and MAC address for the generation of the license key
Daily Usage

Avaya Call Center Voice Mail by Asterisk and OTRS

We just implemented a voice mail solution for one of our call center. The solution is totally based on open source software, they are Asterisk and OTRS. When voice mail is required, Avaya simply redirect the call to Asterisk and Asterisk will convert the voice mail to email, OTRS will pick up the email and put every voice mail in the related queue. Agents then handles each voice mail as ticket, they listen to it, write down the details and close it when the job is done. We as IT, can backup and retrieve the voice mails very easily. The solution works great and the cost is very low compared to Avaya’s solution. Thanks Open Source.

Daily Usage

Direct Agent Calling with Asterisk

This week, I discussed with my team how can we implement Direct Agent Calling in Avaya that routes the call to agent’s mailbox when he/she is unavailable. We did this before by using Audix, but it already retired and no support. It triggers us to think whether it is technical feasibility by using Adjunct routing and Asterisk voice mail to implement this feature again.

I enhanced the Avaya Routing Manager dac routing, add  checking of agent status, route the call to agent’s mailbox when he/she is not available, it works finally.

For redundancy purpose, I plan to have the vector responsible for DAC routing hunts two adjunct links. Of course, a dedicated Avaya Routing Manager responsible for each adjunct link. Moreover, I need to enhance the routing manager software to have time table feature as it is a basic requirement for routing rule definition.

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
TSAPI

Avaya Call Abandon and Short Duration Call Monitoring Tool

Introduction

This tool uses Avaya TSAPI library, it monitors VDN, ACD Hunt Group and Extension objects. For VDN monitoring, it keeps track of call state of all incoming calls from the VDNs. When calls are cleared before answered, calls are recorded as ABANDON. When calls are answered then cleared before a predefined duration, calls are recorded as SHORT DURATION. You can use CALLINFO records to create real time and historical reports. The CALLINFO records can be logged to Splunk and ODBC databases such as MSSQL, MySQL and Oracle are supported. The CallAban tool is useful in the following situations:

  • To provide real time data for building of real time reports and dashboards
  • To trace a call from its beginning to ending, multiple call records are linked by UCID
  • To capture callers for the abandon and short duration calls
  • To detect nuisance call attacks
  • To check how long each customer waits for an agent
  • To check the frequency and duration of an agent to perform hold call
  • To check agent or customer who hangups the call first
  • Uses the VDN detail call logging which stored in the database for different kind of reports
  • To make use of the abandon and short duration data and have integration with different kind of CRM application

12 Mar 2016, CallAban 1.4.6 just released. This version supports logging of change of agent states to database and Splunk. Also, interval statistics data is now included in the real-time SplitSkillStatus report.

22 Feb 2016, CallAban 1.4.5 just released. This version supports logging of SplitSkillStatus report to Splunk and Database. Also, agent logon and logoff events are logged to Splunk and Database. This version also supports MySQL, MSSQL and Oracle for database logging.

10 Feb 2016, CallAban 1.4.4 just released. This version adds a REST interface to get real time information of split skill. The output is similar to the one that produced by CMS real time split skill status report.

16 Dec 2015, CallAban release 1.4.3 just released. This version support REST interfaces to get call queue and call answer CALLINFO list for development of wallboard or real time monitoring applications.

Preparation and Password Encryption

  • The access MDB file stored the the username and password of AE server. For security reason, a tool called encryptpasswd.exe is provided to generate encrypted password for the installation and configuration of the software
  • Execute the program, generate an encrypted passwords for the user of AE server, then paste the encrypted password to parameter ag_tlink. For example, the encrypted password for “p@ssword” is “R3NIw1yJMLlnPFzEQtuh2A==”
  • encryptpasswd

64 bit Windows System 

  • For 64 bit Windows system, please follow the steps below
    • For version >= 1.3.5, download and install the Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update http://www.microsoft.com/en-hk/download/details.aspx?id=26368, use the x86 version
    • For version =< 1.3.4, 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, use the x86 version
    • 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 them out by yourself.

Installation

  • Download the TSAPI client for Windows 32-bit from Avaya web site, it contains the library files. DevConnect registration is required before you can access the download page.
  • Download the Avaya Call Abandon and Short Duration Call Monitoring Tool zip file here.
  • Follow the installation steps below to install the software.
    • Extract all the files into directory c:\program files\callaban
    • Open Windows Command Prompt, enter the following commands to register the program as Windows Service
      • cd c:\program files\callaban
      • callaban -i
    • Open ODBC Setting, create System DSN called CALLABANCFG for Microsoft Access Driver and point to callaban.mdb which is located in the directory c:\program files\callaban
    • Open the Access file, edit the value of parameters ca_tlink_01 and ca_tlink_02 to the TLINK of your AES servers in the tParameter table
    • Edit the value of parameter ca_movingavgmin to define the moving average period for the calculation of abandon and short duration call rate. The default value is 15 minutes.
    • Edit the value of parameter ca_intervalstatmin to define the interval statistics period for the calculation of abandon and short duration call rate. The default value is 30 minutes.
    • Edit the value of parameter ca_shortduration to define the number of seconds for short duration calls. The default value is 3 seconds.
    • Edit the value of parameter ca_agengstatechecksplit to true when you want to poll agent status of agents that login to split
    • Edit the value of parameter ca_refresh_agentstate to define the number of seconds the system gets the state of each agent and update the difference to database and Splunk. The minimum value is 5 seconds.
    • Edit the value of parameter ca_cache_timeout to define the number of seconds as cache time for real time reports. The cache time setting reduce the AES logging when multiple clients retrieve the same report at same period of time.
    • Start the Windows Service callaban
    • Telnet to localhost and port number 14003, enter username tcpgate and password tcpgate01 to access the program console
    • Enter the following command in the program console, you will receive information when there is call abandon and short duration call
      • trace on asc
    • Enter the following command in the program console to add your VDN
      • add vdn xxxxx
    • Enter the following command in the program console, you will get the help message
      • help

Write Abandon and Short Duration Call Data to Database

  • Download the callaban-x.x.x.rar file, unzip the file and there is a SQL script called callaban.sql
  • Follow the steps below to create the required database, tables and user:
    • Create the callaban database in MYSQL
    • CREATE DATABASE callaban;
    • Create a user called “callaban” and password “abancall”
    • CREATE USER 'callaban'@'localhost' IDENTIFIED BY 'abancall';
    • CREATE USER 'callaban'@'%' IDENTIFIED BY 'abancall';
    • GRANT ALL ON callaban.* TO 'callaban'@'localhost';
    • GRANT ALL ON callaban.* TO 'callaban'@'%';
    • FLUSH PRIVILEGES;
    • Use mysql to import table definition:
    • mysql -h localhost -u callaban -p callaban < callaban.sql
  • Open ODBC Setting, create a System DSN called CALLABANDBCFG for MySQL ODBC Driver, MySQL is used to store abandon and short duration calls details information.
  • Edit the parameters follow:
    • ca_dbsqltype, supported database such as mysql, mssql and oracle
    • ca_dbdsn, enter the ODBC System DSN, the default value is CALLABANDBCFG
    • ca_dbusername, the username used to connect the database, default value is callaban
    • ca_dbpasswd, the password used to connect the database, default value is encrypted password 9wkWfxiBlM1L9qsJaDWwAA==
    • ca_writecallinfo, set it to true if CALLINFO data logging is required
    • ca_remotedb_errfile, the filename to store temporary SQL statements when database is not reachable
    • ca_dbmssqlobject, if you are using mssql and you want to change the object name of the database, then change the value of this parameter

Splunk Logging

  • Follow this link for the configuration

Customized DLL for User Data Logging 

  • Edit the parameters to enable logging of user data. A customized DLL is used to extract user data from UUI key
    • ca_custdatadll, the path and name of the DLL
    • ca_custdatamaxsize, the maximum size of user data
    • ca_custdatareplacenonprint, set it to true if replacement of non print characters to blank characters is required
    • ca_custdatatype, the data type of the UUI key for the extraction of user data, the default value is userspecific

Email Notification for Abandon and Short Duration Call

  • Edit the following parameters for email notification
    • Edit the value of parameterca_emailabancall, set it to true for email notification of abandon call
    • Edit the value of parameter ca_emailshortcall, set it to true for email notification of short duration call
    • Edit the value of parameter tg_emailserverip to define the IP address of your email server.
    • Edit the value of parameter tg_emailsmtpport to define the SMTP port number of your email server. The default value is 25.
    • Edit the value of parameter tg_emailusername to define the  username of email agent which is responsible to send notification emails.
    • Type genpass in the program console to generate an encrypted password string for the email agent, copy the string for later use.
    • Edit the value of parameter tg_emailpasswd to define the password of the email agent. The password should be in encrypted format, you can use console command genpass to generate the encrypted password.
    • Edit the value of parameter tg_emailsenderdisplay to define the display name of the email agent.
    • Edit the value of parameter tg_emailauth to define whether authentication is required between your CallAban machine and the email server. When your email server trust your machine, set it to false, otherwise set it to true.
    • Edit the value of parameter tg_emailssl to define whether SSL communication is required for the SMTP session. The default value is false, set it to true when SSL is required.
    • Enter the following command in the program console to add your email address
      • add email youremail@company.com
      • Hint: Replace my email address to yours
    • Enter the following command to test the configuration
      • test email

Display Statistics 

  • Call Abandon and Short Duration Call rates are calculated automatically. 
  • I have integrated Nagios to display them in graphical way, see the pictures below:
  • callaban
  • calabanstat
  • To enable Nagios integration, enter this command in program console to add a TCP port for Nagios plugin
    •  add tcp 5100 * * custom callaban
  • Download the Call Abandon Nagios plugin by this link.
  • Follow the steps to compile the Call Abandon Nagios plugin
    • tar xzvf cabanstat.tgz
    • cd cabanstat
    • make
  • Download the Short Duration Nagios plugin by this link.
  • Follow the steps to compile the Short Duration Nagios plugin
    • tar xzvf cshortstat.tgz
    • cd cshortstat
    • make
  • Ask your system administrator to config the Nagios

CAAPI32

  • Windows DLL API is developed for application integration, OCX version will be developed later. 
  • Sample application with header and library files can be download by this link.
  • You can use API to have the following functions:
    • Get abandon rate
    • Get short duration rate
    • Get the top 10 abandon call agents
    • Get the top 10 short duration call agents
    • Get the top 10 abandon call callers
    • Get the top 10 short duration call callers
    • Receive abandon and short duration call records via user provided callback function
  • To enable caapi32, type the following command in the program console
    • add tcp 5200 * * custom caapi

REST Interface 

Limitation

  • This software required AE server up and running. Missing events will be occurred when the AE server is down or during the fail over from one AE server to another.