[Freeswitch-users] getting disconnect cause for a leg after bridge in Lua

Michael Collins msc at freeswitch.org
Wed Aug 17 22:33:09 MSD 2011


Well, it's possible if you're using an event socket program, however if you
are using a dialplan script you simply cannot bend the laws of physics to
magically know what's going on with the b leg when your program is "inside"
the a leg.

I recommend that you use a socket-based program if you want this level of
control. A socket-based program gives you the perspective that you need: you
can "oversee" multiple call legs. Just a thought...

-MC

On Wed, Aug 17, 2011 at 7:51 AM, Mi Ke <mi.ke at null.net> wrote:

> Thanks for replying, Michael.
>
> Meanwhile if session creation fails, such session can also be considered as
> disconnected and gone, however its disconnect cause can be read from
> session:hangupCause(). To my opinion, it would be very useful if disconnect
> cause could be always readable in Lua after session completion since such
> mechanism already exists for failed sessions.
>
> Thanks / Mike
>
>
>
>
>
>
>  ----- Original Message -----
>
> From: Michael Collins
>
> Sent: 08/16/11 03:03 AM
>
> To: FreeSWITCH Users Help
>
> Subject: Re: [Freeswitch-users] getting disconnect cause for a leg after
> bridge in Lua
>
>  No, you can't do this because the session you are checking is "gone" as
> soon as the call leg is disconnected. You are better off using a hangup hook
> or an event socket application if you need to get that value in realtime.
> Dialplan scripts are good for connecting endpoints and doing simple logic
> but they are absolutely not what you want for doing any kind of billing or
> reporting.
>
>  -MC
>
>  On Sat, Aug 13, 2011 at 2:46 AM, Mi Ke <mi.ke at null.net> wrote:
>
>> Hi All,
>>
>> Is there any way to get a real disconnection cause for leg B in the
>> following script ?
>>
>>
>> if (session_a:ready() and session_b:ready()) then
>>
>>    freeswitch.bridge(session_a,session_b)
>>
>>    -- session_b gets disconnect here ...
>>
>>     local session_b_hangup_cause = session_b:hangupCause()
>>
>>
>>
>> session_b_hangup_cause is always "SUCCESS" after debridging while log and
>> CDR shows correct value - can get it to my script ?
>>
>> Thanks / Mike
>>
>>
>>
>> _______________________________________________
>> Join us at ClueCon 2011, Aug 9-11, Chicago
>> http://www.cluecon.com 877-7-4ACLUE
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
>
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110817/a7afde20/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list