05-01-2012 10:05 AM - edited 03-21-2019 05:44 AM
Hello guys,
currently installing a new UC560 for a client and he has a request that I don't know if it can be configured on the system (probably not by CCA, but maybe CLI???)
I have a few B-ACD queues set, and some hunt groups also, to handle bilingual calls.
When those B-ACD and hunt groups are called, the client doesn't need to see the phone number, but rather know which queue or huntgroup was called, so they could answer the call in french or english right at the beginning.
Is it possible to replace the caller-id when those specific huntgroups and bacd numbers are called?
I would need the following text
BACD1 (#870) : French Customer Service
BACD2 (#871) : English Customer Service
HUNT1 (#850) : Billing
HUNT2 (#851) : Payables
Let me know if this is feasible and also how (of course )
Thank you!!!
Solved! Go to Solution.
05-02-2012 08:54 AM
The only thought that comes to mind is using a TCL script to do so.
There is pretty good documentation on the TCL scripting available in UC500/CME.
Please note that it would definetely NOT be Cisco supported.
If you need assistance, I could probably help, otherwise Paolo Bevilacqua does quite a bit with TCL and might have a solution for you.
05-02-2012 08:54 AM
The only thought that comes to mind is using a TCL script to do so.
There is pretty good documentation on the TCL scripting available in UC500/CME.
Please note that it would definetely NOT be Cisco supported.
If you need assistance, I could probably help, otherwise Paolo Bevilacqua does quite a bit with TCL and might have a solution for you.
05-02-2012 12:15 PM
Thank you Daniel, will look into that then.
Where can I find the TCL documentation for the UC500, I always seem to get lost on Cisco's website when I need to find documents...
Thanks again!
05-02-2012 01:02 PM
http://www.cisco.com/en/US/docs/ios/voice/tcl/developer/guide/tclivrv2_ch1.html
It is also worth noting that the "B-ACD" included with UC500 is indeed a TCL script.
Unfortunately it is a fairly complicated script, but a good reference nonetheless.
The script below is an example of how to change the Caller-Name for an incoming call.
This could probably be adapted for your use.
# modify_caller_name.tcl
# Script Version 1.0(1)
#------------------------------------------------------------------
# March 2003, Niels Brunsgaard
#
# Copyright (c) 1998-2002 by cisco Systems, Inc.
# All rights reserved.
#------------------------------------------------------------------
#
# This tcl script changes the calling display name to a value that depends on the calling number. #
proc init { } {
global param
}
proc act_Setup { } {
leg setupack leg_incoming
set dnis [infotag get leg_dnis]
set ani [infotag get leg_ani]
puts "dnis: $dnis ani: $ani"
set no_match 1
set x 1
while {1} {
if {[infotag get cfg_avpair_exists clid_prefix$x] && [infotag get cfg_avpair_exists display_name$x]} {
set clid_prefix [infotag get cfg_avpair clid_prefix$x]
set display_name [infotag get cfg_avpair display_name$x]
puts "clid_prefix: $clid_prefix display_name: $display_name"
set len [string length clid_prefix]
set match [string first $clid_prefix $ani]
puts "len: $len match: $match"
if { $match == 0 } {
set no_match 0
set callInfo(displayInfo) $display_name
puts "Found a match, setting name to $display_name"
break
}
} else {
puts "No more prefixes or name at $x"
break
}
incr x
if { $x > 1000 } { puts "Too many prefixes and names" }
}
if {$no_match} {
if {[infotag get cfg_avpair_exists display_name_default]} {
set display_name [infotag get cfg_avpair display_name_default]
set callInfo(displayInfo) $display_name
puts "Setting to default display name: $display_name"
}
}
puts "Final name $display_name"
leg proceeding leg_incoming
leg setup $dnis callInfo leg_incoming
}
proc act_CallSetupDone { } {
global beep
set status [infotag get evt_status]
puts "Entering act_CallSetupDone"
if { $status != "ls_000"} {
puts "Call [infotag get con_all] got event $status while placing an outgoing call"
call close
}
}
proc act_Cleanup { } {
puts "Entering act_Cleanup"
call close
}
proc act_Abort { } {
puts "Unexpected event - entering act_Abort"
call close
}
init
#----------------------------------
# State Machine
#----------------------------------
set TopFSM(any_state,ev_disconnected) "act_Abort,same_state"
set TopFSM(CALL_INIT,ev_setup_indication) "act_Setup,PLACECALL"
set TopFSM(PLACECALL,ev_setup_done) "act_CallSetupDone,CALLACTIVE"
set TopFSM(CALLACTIVE,ev_disconnected) "act_Cleanup,CALLDISCONNECTED"
set TopFSM(CALLDISCONNECTED,ev_disconnect_done) "act_Cleanup,same_state"
fsm define TopFSM CALL_INIT
Example usage:
call appl voice modify_name tftp://modify_calling_name.tcl
call application voice modify_name clid_prefix1
call application voice modify_name display_name1
call application voice modify_name clid_prefix2
call application voice modify_name display_name2
...
call application voice modify_name clid_prefix1000
call application voice modify_name display_name1000
call appli voice modify_name display_name_defaultdial-peer voice 1 pots
application modify_name
incoming called-number .
05-03-2012 02:32 AM
Thank you Daniel for mentioning my work.
In fact, my B-ACD/AA modification already support hunt-group name display.
06-05-2012 02:57 PM
Where would I find this custom modification Paolo? I have the same requirement as the original poster. And will this modifcation work with the newly released 8.6 software pack?
06-05-2012 03:26 PM
All my developments can be acquired at www.ciscoscripts.com
These are to be installed and configured using using CLI only, no GUI.
06-05-2012 03:28 PM
Excellent. Thanks Paolo
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