cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
28870
Views
41
Helpful
5
Comments
Raees Shaikh
Cisco Employee
Cisco Employee

Introduction

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:

  • Automatic answering of outside calls with greetings and menus that allow callers to select the appropriate department or to dial known extension numbers.
  • Managed call queues for hunt groups that route calls for different menu options.

Components Used

  • Cisco Unified Communications Manager Express 8.0
  • Cisco Unified IP Phones 7975/7970

CME B-ACD & AA Service Configuration

Pilot Number of the Auto-attendant Script

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


  • "AA Script" - Automated Attendant on pilot point 6000 and AA service is responsible for playing prompts and digit collection.

  • When DTMF is collected, this "AA" script hands-off the call to the "ACD" script.

Service AA configuration and Language setting

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

Audio files

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

Timers

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

Voicemail

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

Dial-peer for AA service

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

Setting Up Ephone Hunt Groups in CME

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

ACD Script - Call Routing/Queue

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

Configure Music On Hold (MOH)

Router(config)#telephony-service

Router(config-telephony)#moh en_bacd_music_on_hold.au

! -- Enables Music on hold audio files

Files required in the Flash

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.

Configuration Examples

1. B-ACD and Auto Attendant Configuration for an Incoming VoIP Call

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
!

2. B-ACD and Auto Attendant Configuration for an Incoming call over FXO

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

3. B-ACD and Auto Attendant Configuration for an Incoming and Outgoing call over FXO

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
!

4. Configuration for Calls tranferred from CUE AA back to B-ACD

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.

Troubleshooting Tips

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

Related Information

Comments

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

 

tfsnchez88
Level 1
Level 1

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. 

jcontreras2
Community Member

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

Hamada Ahmed
Level 1
Level 1

Hi ,

 

Is it can work on ISR 4331 without CUE ?

msaeedi
Level 1
Level 1

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 

Getting Started

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: