manipulation with GTD LON parameter in TCL script

Version 1
    This document was generated from CDN thread

    Created by: Maxim Khavankin on 15-09-2010 07:23:56 PM
    Hello
    all,
     

    The topology looks like this:
     
    PSTN
    ----SS7----PGW+AS530XM----SIP-GTD----CUBE----SIP-GTD------CVP----ICM
     
    Does anyone know ¿ is it possible to manipulate in Tcl script with GTD
    Parameter Location Number (LON)?
     
    We are getting LON parameter from PGW in SIP-GTD trunk on CUBE. The idea is
    to use Tcl script to move information about customer location from LON parameter
    to UUI parameter. CVP natively understands UUI parameter in SIP-GTD trunk and
    sends this information towards ICM. We need it, to be able to use the LON
    information in ICM-script.
     
    TCL IVR API Version 2.0 Programming Guide doesn¿t mention GTD-parameters at
    all.
    http://www.cisco.com/en/US/docs/ios/voice/tcl/developer/guide/tclivrv2.html
     
    VoiceXML Programming guide mention GTD-parameters, but no the LON (Table
    1-16).
    http://www.cisco.com/en/US/docs/ios/voice/vxml/developer/guide/refgde1.html
     
    Any ideas?

     


    Regards,
    Maxim
    Khavankin

    Subject: RE: manipulation with GTD LON parameter in TCL script
    Replied by: Yaw-Ming Chen on 15-09-2010 09:09:43 PM
    Like you said it's not documented what you can get but I would think most of them we can get.
     
    Here are some example to get GTD attribute, you can try it out.
     
    Thanks,
     
    Yawming
     
     if {[infotag get gtd_attr_exists gtd_iam cpn.-1]} {
                        set noa [string trim [object get gtd gtd_iam cpn.1.noa]]
                        set npi [string trim [object get gtd gtd_iam cpn.1.npi]]
                        if {$IOS == "PI"} {
                            set num [string trim [object get gtd gtd_iam cpn.1.#]]
                        } else {
                            set num [string trim [object get gtd gtd_iam cpn.1.num]]
                        }
                        set tmpstr "rx-cdn:noa:$noa,npi:$npi,#:$num"
                        puts "TCL: vsa ($AvsendCtr) for cpn:$tmpstr"
                        set AVSEND(h323-ivr-out,$AvsendCtr) $tmpstr
                        incr AvsendCtr
                    }
                    if {[infotag get gtd_attr_exists gtd_iam cgn.-1]} {
                        set noa [string trim [object get gtd gtd_iam cgn.1.noa]]
                        set npi [string trim [object get gtd gtd_iam cgn.1.npi]]
                        set pi  [string trim [object get gtd gtd_iam cgn.1.pi]]
                        set si  [string trim [object get gtd gtd_iam cgn.1.si]]
                        if {$IOS == "PI"} {
                            set num [string trim [object get gtd gtd_iam cgn.1.#]]
                        } else {
                            set num [string trim [object get gtd gtd_iam cgn.1.num]]
                        }
                        set tmpstr "rx-cgn:noa:$noa,npi:$npi,pi:$pi,si:$si,#:$num"
                        puts "TCL: vsa ($AvsendCtr) for cgn:$tmpstr"
                        set AVSEND(h323-ivr-out,$AvsendCtr) $tmpstr
                        incr AvsendCtr
                    }

                    if {[infotag get gtd_attr_exists gtd_iam rgn.-1]} {
                        set noa [string trim [object get gtd gtd_iam rgn.1.noa]]
                        set npi [string trim [object get gtd gtd_iam rgn.1.npi]]
                        set pi  [string trim [object get gtd gtd_iam rgn.1.pi]]
                        if {$IOS == "PI"} {
                            set num [string trim [object get gtd gtd_iam rgn.1.#]]
                        } else {
                            set num [string trim [object get gtd gtd_iam rgn.1.num]]
                        }
                        set tmpstr "rx-rdn:noa:$noa,npi:$npi,pi:$pi,#:$num"
                        set AVSEND(h323-ivr-out,$AvsendCtr) $tmpstr
                        incr AvsendCtr
                    }