Handoff without call leg

Version 1
    This document was generated from CDN thread

    Created by: Grant Bagdasarian on 21-02-2012 04:20:52 AM
    Hello,
     
    I'm trying to call another application, a vxml, from my tcl script. I'm using the leg vxmldialog command but this requires a call leg. The tcl script places a call, but always has to call the vxml, regardless of the outcome of the call. This means when the destination does not answer there is no call leg and I'm not able to call the vxml. All I need is to send an array  to the vxml. I tried the sendmsg command but I can't catch the ev_msg_indication event in vxml.
     
    Does anyone have a work around for this or is this simply not possible?
     
    Grant

    Subject: RE: Handoff without call leg
    Replied by: Raghavendra Gutty Veeranagappa on 21-02-2012 07:02:17 AM
    Hi Grant,

    you can try to use incoming call leg for vxmldialog.

    leg vxmldialog leg_incoming

    Thanks,
    Raghavendra

    Subject: RE: Handoff without call leg
    Replied by: Grant Bagdasarian on 21-02-2012 07:18:43 AM
    Hello Raghavendra,

    There is no incoming call leg. The tcl script polls for calls to place from a HTTP service.

    I decided to change some things. Instead of the vxml I'm using another tcl script, since it's possible to use the sendmsg command to send an array between tcl scripts.
    It was also a requirement for a VXML to be able to send a message to that tcl and that's also possible using the object element with classid “builtin://com.cisco.ivrscript.sendevent”.

    I have the following scenario. The tcl script polls for a call and places one. Once the destination answers an handoff is performed to a vxml. This vxml does a transfer to another destination. Once this destination answers both call legs are connected and they're able to speak with each other. Next the initial destination hangs up.

    What I wish to know from this scenario is, what happens to all the script instances which are running? Do they return back to their parent which called them? If so, once back to the initial script does the script continue to execute all the remaining code, this includes sending a msg to another tcl script? I think it does, but for some reason it does not happen all  the time. The tcl which receives the msg does not always execute its code.

    Thanks,

    Grant

    Subject: RE: Handoff without call leg
    Replied by: Raghavendra Gutty Veeranagappa on 22-02-2012 01:11:37 AM
    Hi Grant,

    tcl script will receive "ev_vxmldialog_done" event when the VXML dialog completes, you can call some procedure on receiving the "ev_vxmldialog_done" event.

    you can also do handoff with below command, The only difference between appl and callappl is appl does not provide a return value, callappl does. But this command also need incoming legid to perform handoff.

    handoff {appl | callappl} {legID | info-tag} [{legID2 | info-tag2} ...] {app-name | <handle>} [-s <argstring>]

    For more information you can refer tcl programming guide.

    Thanks,
    Raghavendra

    Subject: RE: Handoff without call leg
    Replied by: Grant Bagdasarian on 22-02-2012 07:17:08 AM
    Thank you, but I really need something which does not require a call leg. And it seems that sendmsg is my only option. I'm still trying with this, but I've encountered some other problems which I need to fix first in my TCL scripts.