06-12-2011 11:58 PM - edited 03-12-2019 09:39 AM
This document explains the Configuration procedures to enable Basic Automatic Call Distribution (B-ACD) and Auto-Attendant (AA) Services on Cisco Unified Communications Manager Express (CME).
Basic Automatic Call Distribution (B-ACD) and Auto-Attendant (AA) service is available in CME to provide the following functionality:
Each AA service has its own AA pilot number that callers dial to reach the AA. This number is specified in the param aa-pilot command.
Router(config-app-param)#param aa-pilot 6000
! -- In this example 6000 is the Auto attendant service Pilot number where callers dial to reach the Auto attendant service.
B-ACD : Basic Automatic Call Distribution
Router(config)#application
Router(config-app)#service aa flash:app-b-acd-aa-3.0.0.2.tcl
Router(config-app-param)#paramspace english index 1
! -- We use English language. All prompts will be prefixed with en.
Router(config-app-param)#paramspace english language en
Router(config-app-param)#paramspace english location flash:
! -- defines the locaiton of audio files for IVR
Router(config-app-param)#param service-name queue
Router(config-app-param)#param handoff-string aa
The real file loaded will be <<en_bacd_welcome.au>> since we're using language <<en>>. After this welcome, a hardcoded menu will be played "Press 1 for X, press 2 for Y, ...". This is audio from file _bacd_options_menu.au.
Router(config-app-param)#param welcome-prompt _bacd_welcome.au
When all members in the huntgroup are busy, this timer tells the script to poll the status of members of the hunt group every 15 seconds.
Router(config-app-param)#param call-retry-timer 15
This Timer defines how long a caller can be held in the queue. After this timer expires, the caller is sent to the number defined in "param voice-mail"
Router(config-app-param)#param max-time-call-retry 700
This will be the Destination for caller when he's too long in the queue. The voice-mail pilot number will never be used if the final number is set within the ephone-hunt configuration. since in the final number will most likely be invoked before the max-time-call-retry timer expires.For this reason it's recommended that the final number within the huntgroup is not used unless there is a specific reason to use it.
Router(config-app-param)#param voice-mail 5003
If the number configured for the voice-mail parameter is not responding, then the TCL script will retry every 15 seconds (or whatever the call-retry-timer has been set to).The script will only retry a certain number of times configurable using the following parameter:
Router(config-app-param)#param max-time-vm-retry 2
Router(config-app-param)#param number-of-hunt-grps 1
Router(config-app-param)#param dial-by-extension-option 3
Router(config-app-param)#param second-greeting-time 60
There are two ways you can implement this.
1. Either have a Inbound dial-peer to match the incoming call & later use the dialed number or PLAR configured to match the outgoing dial-peer using loopback.
Router(config)#dial-peer voice 11 pots
Router(config-dial-peer)#incoming called-number .
Router(config-dial-peer)#direct-inward-dial
Router(config-dial-peer)#port 0/1/0:15
Router(config-dial-peer)#forward-digits all
Router(config-dial-peer)#exit
Router(config)#dial-peer voice 222 voip
Router(config-dial-peer)#service aa ! -- Enables AA service on dial-peer
Router(config-dial-peer)#destination-pattern 6000
Router(config-dial-peer)#session target ipv4:10.10.254.3
Router(config-dial-peer)#incoming called-number 6000
Router(config-dial-peer)#dtmf-relay h245-alphanumeric
Router(config-dial-peer)#codec g711ulaw
Router(config-dial-peer)#no vad
2. You can directly invoke the service on the incoming dial-peer.
Router(config)#dial-peer voice 24 pots
Router(config-dial-peer)#service aa
Router(config-dial-peer)#incoming called-number 6000
Router(config-dial-peer)#port 0/1/1
Router(config)#ephone-hunt 1 sequential
Router(config-ephone-hunt)#pilot 6100
! -- Pilot number to reach the hunt group
Router(config-ephone-hunt)#list 6001, 6002
! -- list of numbers where the hunt group redirects the incoming calls
Router(config)#ephone-hunt 2 sequential
Router(config-ephone-hunt)#pilot 6101
! -- Pilot number to reach the hunt group
Router(config-ephone-hunt)#list 6001, 6002
! -- list of numbers where the hunt group redirects the incoming calls
Responsible for routing the call to a huntgroup and queue the call when members of the huntgroup are all busy.
Call-Queue and AA Tcl Scripts in Flash Memory
Router(config)#application
Router(config-app)#service queue flash:app-b-acd-3.0.0.2.tcl
Router(config-app-param)#param number-of-hunt-grps 3
! -- MUST BE SET. Tells the system how many entries are present in the menu
Router(config-app-param)#param aa-hunt1 6100
! -- Menu option 1 goes to 6100
Router(config-app-param)#param aa-hunt2 6101
! -- Menu option 2 goes to 6101
!-- DTMF option "0" routes the call to the operator. By default, the highest aa-huntX group is defined as the operator one
Router(config-app-param)#param aa-hunt10 1000
! -- Here I put aa-hunt10 to 1000 where 1000 is the extension of the operator
Router(config-app-param)#param queue-len 15
Router(config-app-param)#param queue-manager-debugs 1
Router(config)#telephony-service
Router(config-telephony)#moh en_bacd_music_on_hold.au
! -- Enables Music on hold audio files
Router#show flash
-#- --length-- -----date/time------ path
1 62127984 Feb 23 1905 17:51:44 c3845-adventerprisek9-mz.124-24.T2.bin
2 75650 Jun 10 2011 05:52:02 en_bacd_allagentsbusy.au
3 83291 Jun 10 2011 05:52:38 en_bacd_disconnect.au
4 63055 Jun 11 2011 06:52:30 en_bacd_enter_dest.au
5 37952 Jun 11 2011 06:52:46 en_bacd_invalidoption.au
6 37952 Jun 11 2011 06:52:46 en_bacd_invalidoption.au
7 496521 Jun 10 2011 05:53:00 en_bacd_music_on_hold.au
8 123446 Jun 10 2011 05:53:06 en_bacd_options_menu.au
9 42978 Jun 10 2011 05:53:12 en_bacd_welcome.au
10 34794 Jun 10 2011 05:53:18 en_bacd_xferto_operator.au
11 30421 Jun 10 2011 05:53:24 app-b-acd-3.0.0.2.tcl
12 55599 Jun 10 2011 05:53:30 app-b-acd-aa-3.0.0.2.tcl
Please make sure you have all the above files in the flash inorder for the B_ACD to operate properly. Kindly ignore the IOS image name from the above output.
For B-ACD scripts, make a loop:
Must match on incoming call-leg. Then it needs to be routed to the correct destination. Incoming called number, destination pattern and then point to the same host.
!
dial-peer voice 222 voip
service aa
destination-pattern 6000
session target ipv4:10.10.254.3
incoming called-number 6000
dtmf-relay h245-alphanumeric
codec g711ulaw
no vad
!
service aa flash:app-b-acd-aa-3.0.0.2.tcl
paramspace english index 1
paramspace english language en
paramspace english location flash:
param service-name queue
param handoff-string aa
param aa-pilot 6000
param welcome-prompt _bacd_welcome.au
param call-retry-timer 15
param max-time-call-retry 700
param voice-mail 5003
param max-time-vm-retry 2
param number-of-hunt-grps 1
param dial-by-extension-option 3
param second-greeting-time 60
service queue flash:app-b-acd-3.0.0.2.tcl
param number-of-hunt-grps 3
param aa-hunt1 6100
param aa-hunt2 6101
param aa-hunt10 1000
param queue-len 15
param queue-manager-debugs 1
ephone-hunt 1 sequential
pilot 6100
list 6001, 6002
ephone-hunt 2 sequential
pilot 6101
list 6001, 6002
ephone-dn 10
number 1000
!
telephony-service
moh en_bacd_music_on_hold.au
create cnf-file
!
application
service aa-test flash:app-b-acd-aa-3.0.0.2.tcl
paramspace english index 1
paramspace english language en
paramspace english location flash:
param service-name queue
param handoff-string aa-test
param aa-pilot 6011
param welcome-prompt _bacd_welcome.au
param call-retry-timer 15
param max-time-call-retry 700
param voice-mail 5003
param max-time-vm-retry 2
param number-of-hunt-grps 1
param dial-by-extension-option 3
param second-greeting-time 60
service queue flash:app-b-acd-3.0.0.2.tcl
param number-of-hunt-grps 3
param aa-hunt1 6100
param aa-hunt2 6101
param aa-hunt10 1000
param queue-len 15
param queue-manager-debugs 1
ephone-hunt 1 sequential
pilot 6100
list 6001, 6002
ephone-hunt 2 sequential
pilot 6101
list 6001, 6002
ephone-dn 10
number 1000
!
voice-port 0/0/0
!
!
telephony-service
moh en_bacd_music_on_hold.au
create cnf-file
!
dial-peer voice 3 pots
service aa-test
direct-inward-dial
port 0/0/0
!
Note: Please do not configure any PLAR under the Voice Port
Ex. Outbound Dialpeer
!
dial-peer voice 29 pots
corlist outgoing local
destination-pattern 91[1-3].$
port 0/0/0
forward-digits 3
!
!
voice-port 0/0/0
!
!
dial-peer voice 3 pots
service aa-test
direct-inward-dial
port 0/0/0
!
Due to the dial-peer matching rule, the incoming call will always match dial-peer 29 (destination-pattern is preferred over port. Please refer http://www.cisco.com/en/US/tech/tk652/tk90/technologies_tech_note09186a008010fed1.shtml for more information on inbound dial matching criteria.)
To make this work, you need to have a translation pattern in the incoming direction under the voice port. Please refer the below configuration.
!
voice translation-rule 1
rule 1 // /1234/
!
!
voice translation-profile fxo
translate called 1
!
!
voice-port 0/1/0
translation-profile incoming fxo
!
!
voice-port 0/0/0
!
!
dial-peer voice 3 pots
destination-pattern 1234
service aa-test
direct-inward-dial
port 0/0/0
!
!
dial-peer voice 29 pots
corlist outgoing local
destination-pattern 91[1-3].$
port 0/0/0
forward-digits 3
!
application
service aa-test flash:app-b-acd-aa-3.0.0.2.tcl
paramspace english index 1
paramspace english language en
paramspace english location flash:
param service-name queue
param handoff-string aa-test
param aa-pilot 6011
param welcome-prompt _bacd_welcome.au
param call-retry-timer 15
param max-time-call-retry 700
param voice-mail 5003
param max-time-vm-retry 2
param number-of-hunt-grps 1
param dial-by-extension-option 3
param second-greeting-time 60
service queue flash:app-b-acd-3.0.0.2.tcl
param number-of-hunt-grps 3
param aa-hunt1 6100
param aa-hunt2 6101
param aa-hunt10 1000
param queue-len 15
param queue-manager-debugs 1
ephone-hunt 1 sequential
pilot 6100
list 6001, 6002
ephone-hunt 2 sequential
pilot 6101
list 6001, 6002
ephone-dn 10
number 1000
!
!
telephony-service
moh en_bacd_music_on_hold.au
create cnf-file
!
PSTN - - CME - - CUE AA - - Customer presses option on AA that sends them back to CME - - B-ACD - - Hunt Group - - IP Phone.
Basically if the customer uses the number for the B-ACD directly as the option in the CUE AA menu the call ends up hanging (caller hears dead air). The way we got it to work was to have the CUE AA dial out to a DN, that had CFA set to point to the B-ACD. This allowed the dial-peers to match correctly and the call to work.
To reload an application:
Router#call application voice load queue
Router#call application voice load aa
Note: You need to reload the script everytime a change is made to the script parameter values.
To enable debug:
Router#debug voip ccapi inout
Router#debug voip appl script
Good afternoon,
call from pstn (client), pilot number....
Welcome audio say "welcome to (name of company......), if you know the number of the extension, digit this... or wait for transfer to our recepcionist" (all this in spanish language)
the script will be wait 10 seconds and transfer to recepcionist extension.
i hope your comments,
Thanks and regards,
Camilo.
mmxv
Hi , I have some question about that.
If I can make this configuration for a cisco spiad 2901, it's the same configuration or a need other configuration.
I hope you can help me.
And thanks for all.
best regards.
hello I need you to support me with a welcome message settings and do not already have the .au audio and uploaded to the flash but I do commands to configure is only cme I have no unity
Hi ,
Is it can work on ISR 4331 without CUE ?
I prefer to do explanation of TCL script itself, so the topic will be completed.
i dont know where this script configured i mean is it available by default in router flash, could you illustrate that in more detailed and focusing on TCL script.
thanks on your great explanation
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: