Monday, April 19, 2010

Configuring B-ACD services

Configuring B-ACD services was one of the task that we wanted to look deep into it and for that we read the following comprehensive guide which was a key to got it configured successfully.

Reference:
http://cisco.biz/en/US/docs/voice_ip_comm/cucme/bacd/configuration/guide/40bacd.html
http://cciev.wordpress.com/2006/05/29/cme-b-acd/
http://www.voiceie.com/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=8;t=000692

Here are the steps which were followed;

-- Creating ephone-hunt groups --

ephone-hunt 15 longest-idle
pilot 2000
list 2001, 2002
timeout 10, 10
!
!
!
!
ephone-hunt 16 sequential
pilot 3000
list 3001
timeout 20


-- Configuring AA scripts --
I had to download the whole b-acd-2.1.2.2.tar file to my flash first which consist of the following two tcl scipts
app-b-acd-2.1.2.2.tcl
app-b-acd-aa-2.1.2.2.tcl

through config terminal some mandatory parameters being defined as follows

application
service queue flash:app-b-acd-2.1.2.2.tcl --- named the service name as queue
param number-of-hunt-grps 2 --- we are using 2 hunt groups as earlier defined
param aa-hunt1 2000
param aa-hunt2 3000
param queue-len 15
param queue-manager-debugs 1 --- used with debug command to trace the script

service aa flash:app-b-acd-aa-2.1.2.2.tcl --- named the service name as aa
paramspace english index 1
paramspace english language en
paramspace english location flash:
param service-name queue --- refrencing the service name queue defined earlier
param handoff-string aa
param aa-pilot 1000 --- using pilot number 1000 for which we will define
the dial-peer accordingly
param welcome-prompt _bacd_welcome.au
param number-of-hunt-grps 2
param dial-by-extension-option 3 --- defining the dial by extention option as 3 explicitly

param max-extension-length 4
param second-greeting-time 30
param call-retry-timer 15
param max-time-call-retry 100
param max-time-vm-retry 2
param voice-mail 1002

-- Creating a VOIP dial-peer --

When someone dials the number 1000 it would initiate this dial-peer and the aa service will get activated. the 20.0.0.1 is the loopback address defined for CME

dial-peer voice 1000 voip
service aa
destination-pattern 1000
session target ipv4:20.0.0.1
incoming called-number 1000
dtmf-relay h245-alphanumeric
codec g711ulaw
no vad

-- Now Some diagnostic commands --

CME#call application voice load aa --- loading aa service ( you will need to load this service if you have changed the pre=defined parameters or have added other parameters)

CME#
*Mar 1 00:25:08.519: //-1//HIFS:/hifs_ifs_cb: hifs ifs file read succeeded. size=35485, url=flash:app-b-acd-aa-2.1.2.2.tcl
*Mar 1 00:25:08.539: //-1//HIFS:/hifs_free_idata: hifs_free_idata: 0x67DAA108
*Mar 1 00:25:08.539: //-1//HIFS:/hifs_hold_idata: hifs_hold_idata: 0x67DAA108
*Mar 1 00:25:08.739: //-1//TCL :EE66B155AC000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter second-greeting-time = 30 --
*Mar 1 00:25:08.787: //-1//TCL :EE66B155AC000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter call-retry-timer = 15 --
*Mar 1 00:25:08.855: //-1//TCL :EE66B155AC000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter max-time-call-retry = 100 --
*Mar 1 00:25:08.895: //-1//TCL :EE66B155AC000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter max-time-vm-retry = 2 --
*Mar 1 00:25:08.951: //-1//TCL :EE66B155AC000:/tcl_PutsObjCmd: TCL AA: -- Valid Mandatory parameter number-of-hunt-grps = 2 --

CME#call application voice load queue --- loading queue service

CME#
*Mar 1 00:25:43.759: //-1//HIFS:/hifs_ifs_cb: hifs ifs file read succeeded. size=24985, url=flash:app-b-acd-2.1.2.2.tcl
*Mar 1 00:25:43.767: //-1//HIFS:/hifs_free_idata: hifs_free_idata: 0x67DAA198
*Mar 1 00:25:43.771: //-1//HIFS:/hifs_hold_idata: hifs_hold_idata: 0x67DAA198
*Mar 1 00:25:44.031: //-1//TCL :EE66B15694000:/tcl_PutsObjCmd: TCL B-ACD: -- Valid optional parameter queue-manager-debugs = 1 --
*Mar 1 00:25:44.071: //-1//TCL :EE66B15694000:/tcl_PutsObjCmd: TCL B-ACD: -- Valid Mandatory parameter queue-len = 15 --
*Mar 1 00:25:44.147: //-1//TCL :EE66B15694000:/tcl_PutsObjCmd: TCL B-ACD: -- Valid Mandatory parameter number-of-hunt-grps = 2 --

CME#sh call application sessions -- nothing showed up as we havn't initiated any call to pilot number yet

CME#debug voice application script -- you can see if you getting hits on the application

CME#csim start 1000 --- testing pilot number of aa 1000

csim: called number = 1000, loop count = 1 ping count = 0

*Mar 1 00:26:21.647: //-1//TCL :EE66B1577C000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter second-greeting-time = 30 --
*Mar 1 00:26:21.711: //-1//TCL :EE66B1577C000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter call-retry-timer = 15 --
*Mar 1 00:26:21.747: //-1//TCL :EE66B1577C000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter max-time-call-retry = 100 --
*Mar 1 00:26:21.795: //-1//TCL :EE66B1577C000:/tcl_PutsObjCmd: TCL AA: -- Valid mandatory parameter max-time-vm-retry = 2 --
*Mar 1 00:26:21.835: //-1//TCL :EE66B1577C000:/tcl_PutsObjCmd: TCL AA: -- Valid Mandatory parameter number-of-hunt-grps = 2 --
*Mar 1 00:26:21.983: //6//TCL :/tcl_PutsObjCmd:
proc init_perCallvars
*Mar 1 00:26:21.987:
*Mar 1 00:26:22.055: //6//TCL :/tcl_PutsObjCmd: TCL AA: +++ B-ACD-SERVICE not registered, Starting B-ACD-SERVICE +++
*Mar 1 00:26:22.519: //-1//TCL :EE66B15864000:/tcl_PutsObjCmd: TCL B-ACD: -- Valid optional parameter queue-manager-debugs = 1 --
*Mar 1 00:26:22.551: //-1//TCL :EE66B15864000:/tcl_PutsObjCmd: TCL B-ACD: -- Valid Mandatory parameter queue-len = 15 --
*Mar 1 00:26:22.591: //-1//TCL :EE66B15864000:/tcl_PutsObjCmd: TCL B-ACD: -- Valid Mandatory parameter number-of-hunt-grps = 2 --
*Mar 1 00:26:22.863: %IVR-6-APP_INFO: TCL B-ACD: >>> B-ACD Service Started <<< *Mar 1 00:26:22.871: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: >>> B-ACD Service Started <<< *Mar 1 00:26:22.907: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: >>> Handoff String = aa <<< *Mar 1 00:26:22.975: //6//TCL :/tcl_PutsObjCmd: proc init_perCallvars *Mar 1 00:26:22.979: *Mar 1 00:26:23.175: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: >>> Stat collection disabled for queue 2000 <<< *Mar 1 00:26:23.227: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: ++ Message received from IOS ++ *Mar 1 00:26:23.255: //6//TCL :/tcl_PutsObjCmd: TCL AA: ++ Playing Welcome Prompt and options menu ++ *Mar 1 00:26:26.363: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: ++ Message received from IOS ++ *Mar 1 00:26:26.435: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: >>> Stat collection disabled for queue 3000 <<<
*Mar 1 00:26:26.443: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: ++ Message received from IOS ++
*Mar 1 00:26:26.495: //6//TCL :/tcl_PutsObjCmd: TCL B-ACD: ++ Message received from IOS ++
*Mar 1 00:26:45.843: //6//TCL :/tcl_PutsObjCmd: TCL AA: +++ No option selected +++.
csim: loop = 1, failed = 0
csim: call attempted = 1, setup failed = 0, tone failed = 1


---After we placed a call from softphone to pilot 1000 and during the call we ran the following command with output as follows--

CME#sh call application sessions
Session ID 4

App: queue
Type: Service
Url: flash:app-b-acd-2.1.2.2.tcl

Session ID 8

App: aa
Type: Service
Url: flash:app-b-acd-aa-2.1.2.2.tcl



________________________________________________________

3 comments:

Davgadaze said...

Could you help please?
I had your config on my CME and it is not working

muhamhus said...

Yea sure! What exactly you are trying to achieve an what seems to be the issue?

Also, kindly paste your config

Syed Khairuddin Ahmed said...

Is it important to create a DN number 1000 for pilot number ?