Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

TCL 2.0 and vxml hybrid

Hello,

I have a problem with my vxml output. According to the debug log, the result is right but the are extra vxml process that change the output. Below are my tcl/vxml code :

proc act_GetANIList { } {

global param1

global Result

global pinN

global accountN

global account

global pin

global aniNo

global paramarray

set vxmlScript {<vxml version="2.0"><form><var name="accNo" expr="com.cisco.params.accountN"/><var name="userPwd" expr="com.cisco.params.pinN"/><block><cisco-puts>DEBUG:VXML</cisco-puts><submit expr="'http://anilistservlet'" method="get" namelist="accNo userPwd"/><exit namelist="Result"/></block></form></vxml>}

set paramarray(accountN) $account

set paramarray(pinN) $pin

puts "\n\tAccount no is $account , pin is $pin\n\n"

leg vxmldialog leg_incoming -u $baseURI -v $vxmlScript -p paramarray

puts "VXML END"

}

#

proc act_SearchAniStatus { } {

global param1

global param2

global param

global paramarray

global pin

global account

global ani

global prompt_ANI

set exp_ev vxml.session.complete

set ev [infotag get evt_vxmlevent]

if {$ev != $exp_ev} {

media play leg_incoming _my_no_aaa.au

fsm setstate CALLDISCONNECT

return

}

set status [infotag get evt_status]

if {$status != "vd_000"} {

media play leg_incoming _my_no_aaa.au

fsm setstate CALLDISCONNECT

return

}

set eventParam [infotag get evt_vxmlevent_params paramarray]

for {set i 0} {$i < [llength $eventParam]} {incr i} {

set [set value [lindex $eventParam $i]] $paramarray($value)

set Result $paramarray($value)

set cnt [expr $i + 1]

append prompt_ANI "_my_[set cnt].au %s1000 " "_zero.au " $option_prompt " %s1000 "

set paramarray($value) ""

}

if {$Result == "3"} {

media play leg_incoming _Not_registered_any_phone.au

} elseif {$Result == "2"} {

media play leg_incoming _Failed.au

fsm setstate CALLDISCONNECT

} else {

_Registered_phone_no.au $prompt_ANI

media play leg_incoming _Registered_phone_no.au $option_prompt

set prompt_ANI ""

}

return

}

The output is :

.Jan 17 13:15:25.185: <var>: namep=aniNo1 expr=0122222222

.Jan 17 13:15:25.185: //-1//VXML:/vxml_expr_eval: expr=var aniNo1=0122222222

.Jan 17 13:15:25.185: <var>: namep=aniNo2 expr=0192505246

.Jan 17 13:15:25.185: //-1//VXML:/vxml_expr_eval: expr=var aniNo2=0192505246

.Jan 17 13:15:25.189: <var>: namep=aniNo3 expr=0361565224

.Jan 17 13:15:25.189: //-1//VXML:/vxml_expr_eval: expr=var aniNo3=0361565224

.Jan 17 13:15:25.189: vxml_counter_reset:

.Jan 17 13:15:25.189: //-1//VXML:/vxml_formitem_select: Status=VXML_STATUS_OK,

.Jan 17 13:15:25.189: //-1//VXML:/vxml_formitem_select: AsyncStatus=VXML_STATUS_OK

.Jan 17 13:15:25.189: //-1//VXML:/vxml_expr_eval: expr=_in76='defined'

.Jan 17 13:15:25.189: //-1//VXML:/vxml_block_proc:

.Jan 17 13:15:25.189: <block>:

.Jan 17 13:15:25.189: //-1//VXML:/vxml_item_attrs_proc: name=_in76

.Jan 17 13:15:25.189: //-1//VXML:/vxml_exit_proc:

.Jan 17 13:15:25.189: <exit>:

.Jan 17 13:15:25.189: //-1//VXML:/vxml_nmtokens_proc: name=aniNo1 name=aniNo2 name=aniNo3

.Jan 17 13:15:25.189: //-1//VXML:/vxml_leave_scope: scope=8

.Jan 17 13:15:25.189: //-1//VXML:/vxml_vapp_terminate: vapp_status=0 ref_count 0

.Jan 17 13:15:25.189: //-1//VXML:/vxml_vapp_terminate: exitstr=aniNo1=21570706,aniNo2=192505246,aniNo3=63367828

.Jan 17 13:15:25.189: //-1//VAPP:/vapp_terminate:

.Jan 17 13:15:25.189: //-1//VAPP:/vapp_session_exit_event_name: Exit Event vxml.session.complete

The output change from :

namep=aniNo1 expr=0122222222 to exitstr=aniNo1=21570706

and

expr=var aniNo3=0361565224 to aniNo3=63367828

TQ.

107
Views
0
Helpful
0
Replies