cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
657
Views
5
Helpful
0
Comments

 

 

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.

 

 

# 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

 

# service aa flash:bacdprompts/app-b-acd-aa-2.1.2.2.tcl
# paramspace english index 1
! -- We use English language. All prompts will be prefixed with en.

 

# paramspace english language en
# paramspace english location flash:bacdprompts/

! -- defines the locaiton of audio files for IVR


# param service-name queue
# 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.

 

# 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.

# 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"

# 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.

 

# 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:

 

#param max-time-vm-retry 2

#param number-of-hunt-grps 1

#param dial-by-extension-option 3

#param second-greeting-time 60

 

 

Dial-peer for AA service

 

#dial-peer voice 222 voip

#service aa

! -- Enables AA service on dial-peer

 

#destination-pattern 6000

#session target ipv4:10.10.254.3

#incoming called-number 6000

#dtmf-relay h245-alphanumeric

#codec g711ulaw

#no vad

 

Setting Up Ephone Hunt Groups in CME

 

# ephone-hunt 1 sequential
# pilot 6100

! -- Pilot number to reach the hunt group


# list 6001, 6002

! -- list of numbers where the hunt group redirects the incoming calls

 

# ephone-hunt 2 sequential
# pilot 6101

! -- Pilot number to reach the hunt group


# 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

 


# service queue flash:bacdprompts/app-b-acd-2.1.2.2.tcl

 

# param number-of-hunt-grps 3

! -- MUST BE SET. Tells the system how many entries are present in the menu

 

# param aa-hunt1 6100

! -- Menu option 1 goes to 6100

 

# 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

 

# param aa-hunt10 1000

! -- Here I put aa-hunt10 to 1000 where 1000 is the extension of the operator


# param queue-len 15


# param queue-manager-debugs 1

 

Configure Music On Hold (MOH)

 

# telephony-service

# moh en_bacd_music_on_hold.au

! -- Enables Music on hold audio files

 

 

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:bacdprompts/app-b-acd-aa-2.1.2.2.tcl
paramspace english index 1
paramspace english language en
paramspace english location flash:bacdprompts/
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:bacdprompts/app-b-acd-2.1.2.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-2.1.2.3.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-2.1.2.3.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)

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-2.1.2.3.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-2.1.2.3.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:

 

UC520-cvanlabe#call application voice load queue
UC520-cvanlabe#call application voice load aa

 

To enable debug:

 

# debug voip ccapi inout

# debug voip appl script

 

Related Information

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: