12-26-2017 05:13 AM - edited 03-17-2019 11:50 AM
Hi,
Can anyone assist me in B-ACD 3.0.5 requirements and configuration on 2911 Router. Just wonder to configure like this Calling party receives Welcome prompt then enters dial number, if not after some period forwards call to operator.
I am following the guide here.
dial-peer voice 150 voip
service aa
dtmf-relay h245-alphanumeric
no vad
codec g711ulaw
application
service aa flash:app-b-acd-aa-3.0.0.5.tcl
param welcomePrompt en_bacd_welcome.au
param operator 1000
12-26-2017 05:40 AM
Just got fast busy tone after mentioned configuration
12-26-2017 07:18 AM
As per your config, dial-peer 150 is not hit. You have to add a condition for it; eg. incoming called-number.
12-26-2017 07:22 AM
Thanks, I forgot to add, incoming-called number is done under dial-peer
12-26-2017 07:27 AM
Still the same issue
12-26-2017 09:37 PM - edited 12-26-2017 09:37 PM
Below is the tcl script I am using
# ---------------------------------------------------
# Script Name: acd.tcl
# Update Info: v 1.0, 2017-12-07, test
# ---------------------------------------------------
# Call Flow Summary:
# Call is transferred to the extension dialled.
# If no digit is entered,
# it is transferred to a specific number.
# ---------------------------------------------------
# ---------------------------------------------------
# Initialization Procedure:
# This procedure is used to initialize global
# variables or to run some initial fuctions.
# ---------------------------------------------------
proc init { } {
puts "\n(init)Starting the initialization process.."
global param
global digitcollect
global maxDigits
global initialDigitTimeout
global interDigitTimeout
global operator
global dest
global welcomePrompt
set operator [infotag get cfg_avpair operator]
set welcomePrompt [infotag get cfg_avpair welcome]
set digitcollect ""
set param(interruptPrompt) true
set param(abortKey) *
set param(terminationKey) #
set param(maxDigits) 4
set param(initialDigitTimeout) 3
set param(interDigitTimeout) 3
puts "\n(init)Initialization is completed."
}
# ---------------------------------------------------
# Action Procedures:
# These procedures are called from the FSM.
# They respond to some specific events and
# take the appropriate actions.
# ---------------------------------------------------
proc act_Setup { } {
puts "\n(act_Setup)Setting up the call.."
global param
global digitcollect
global maxDigits
global initialDigitTimeout
global interDigitTimeout
global operator
global dest
global welcomePrompt
set operator [infotag get cfg_avpair operator]
set welcomePrompt [infotag get cfg_avpair welcome]
set digitcollect ""
set param(interruptPrompt) true
set param(abortKey) *
set param(terminationKey) #
set param(maxDigits) 4
set param(initialDigitTimeout) 3
set param(interDigitTimeout) 3
leg setupack leg_incoming
leg proceeding leg_incoming
leg connect leg_incoming
puts "\n(act_Setup)Playing the announcement $welcomePrompt.."
media play leg_incoming $welcomePrompt
puts "\n(act_Setup)Collecting digits.."
leg collectdigits leg_incoming param
}
proc act_Collected { } {
global param
global digitcollect
global maxDigits
global initialDigitTimeout
global interDigitTimeout
global operator
global dest
global welcomePrompt
set status [infotag get evt_status]
if { $status == "cd_001" } {
puts "\n(act_Collected)Digit collection timed out due to noinput or nomatch."
set dest $operator
puts "\n(act_Collected)Transferring call to the operator.."
}
if { $status == "cd_005" } {
set digitcollect [infotag get evt_dcdigits]
if { $digitcollect != "" } {
puts "\n(act_Collected)Transferring call to the DN: $digitcollect.."
set dest $digitcollect
} else {
puts "\n(act_Collected)Transferring call to the operator.."
set dest $operator
}
}
leg setup $dest callInfo leg_incoming
playtone leg_incoming tn_ringback
}
proc act_CallSetupDone { } {
set status [infotag get evt_status]
puts "\n(act_CallSetupDone)Trying to transfer the call to the destination.."
if { $status == "ls_000" } {
puts "\n(act_CallSetupDone)Status: $status"
puts "\n(act_CallSetupDone)Call is placed successfully."
} else {
puts "\n(act_CallSetupDone)Status: $status"
puts "\n(act_CallSetupDone)An error occured while placing the call."
puts "\n(act_CallSetupDone)Disconnecting the call."
call close
}
}
proc act_Cleanup { } {
puts "\n(act_Cleanup)Call is disconnected."
call close
}
# ---------------------------------------------------
# Main
# ---------------------------------------------------
init
# ---------------------------------------------------
# Finite State Machine
# ---------------------------------------------------
set fsm(any_state,ev_disconnected) "act_Cleanup,same_state"
set fsm(any_state,ev_named_timer) "act_Cleanup,same_state"
set fsm(CALL_INIT,ev_setup_indication) "act_Setup,COLLECTDIGITS"
set fsm(COLLECTDIGITS,ev_collectdigits_done) "act_Collected,PLACECALL"
set fsm(PLACECALL,ev_setup_done) "act_CallSetupDone,CALLDISCONNECTED"
set fsm(CALLDISCONNECTED,ev_disconnected) "act_Cleanup,same_state"
set fsm(CALLDISCONNECTED,ev_disconnect_done) "act_Cleanup,same_state"
fsm define fsm CALL_INIT
VGW configuraiton
application
service aa flash:acd.tcl
param operator 1001
param welcomePrompt flash:en_bacd_welcome.au
dial-peer voice 150 voip
session protocol sipv2
session transport udp
service aa
incoming called-number 1111111
voice-class sip bind control source-interface GigabitEthernetX/X
voice-class sip bind media source-interface GigabitEthernetX/X
dtmf-relay sip-kpml rtp-nte
codec g711ulaw
no vad
num-exp 1111111 1001
Here is debug outputs
VG##debug voice application script
voip application script debugging is on
VG#
VG#
*Dec 27 05:31:51.172: //-1//TCL :EE3A771128000:/tcl_PutsObjCmd:
(init)Starting the initialization process..
*Dec 27 05:31:51.172:
*Dec 27 05:31:51.172: %SYS-3-MGDTIMER: Uninitialized timer, set_exptime, timer = 2249F3A0. -Process= "CC-API_VCM", ipl= 0, pid= 453
-Traceback= 360A3568z 3606BAE4z 3606BE8Cz 36036E7Cz 360B011Cz 360B0538z 358297BCz 35829C38z 35829EC0z 300329C8z 300329ACz
12-27-2017 12:10 AM
is Unity Express required Auto-Attendant to work?
12-27-2017 02:04 AM
The B-ACD script does not need CUE to work. Have you downloaded the latest b-acd script version from Cisco Website B-ACD scripts ?
Also, attach the debug voip application logs.
12-27-2017 02:17 AM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide