cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3008
Views
5
Helpful
7
Replies

Replace Caller-ID by "name" of HuntGroup or BACD called

mdube
Level 1
Level 1

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!!!

1 Accepted Solution

Accepted Solutions

danplacek
Level 4
Level 4

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.

View solution in original post

7 Replies 7

danplacek
Level 4
Level 4

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.

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!

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_default

dial-peer voice 1 pots

  application modify_name

incoming called-number .

Thank you Daniel for mentioning my work.

In fact, my B-ACD/AA modification already support hunt-group name display.

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?

All my developments can be acquired at www.ciscoscripts.com

These are to be installed and configured using using CLI only, no GUI.

Excellent. Thanks Paolo