[Freeswitch-users] Problem bridging 2 calls with bypass_media=true

Pete Kelly pkelly at gmail.com
Wed Oct 6 06:00:47 PDT 2010


Sorry to be a pain - does anyone have a more elegant suggestion (or could
this be a bug?)

In the while loop I have below, as soon as the call is hung up the obSession
variable seems to be destroyed completely so the lua script crashes when it
tries to call obSession:ready() with the following error:

010-10-06 13:57:14.082645 [ERR] mod_lua.cpp:182 attempt to call a nil value
stack traceback:
        [C]: in function 'ready'
        /usr/local/freeswitch/scripts/click2call_call.lua:58: in main chunk


On 6 October 2010 11:55, Pete Kelly <pkelly at gmail.com> wrote:

> This seems to do the trick, unless anyone can suggest anything more elegant
> than the while loop?
>
> obSession = freeswitch.Session("sofia/lpmedia/91979197 at 10.15.20.122:5060")
> obSession:setVariable('bypass_media', 'true');
>
> function myHangupHook()
> freeswitch.consoleLog("INFO", "hungup\n");
> end
>
> if obSession:ready() then
>
>     obSession:setHangupHook("myHangupHook")
>
>     obSession:execute("bridge", "sofia/lpmedia/2000 at 10.15.20.122:5060")
>
>     while (obSession:ready() == true) do
>      obSession:sleep("1000");
>     end
> end
>
>
>
> On 6 October 2010 11:38, Pete Kelly <pkelly at gmail.com> wrote:
>
>>
>>
>> On 6 October 2010 11:28, Wasim Baig <wasim at convergence.pk> wrote:
>>
>>> Perhaps you've got it setup async, in which case nothing blocks FS from
>>> going through the rest of the script after the bridge.
>>> You need to tell Lua to watch out for a hangup on either leg after the
>>> bridge before continuing with the script.
>>> Or do it sync.
>>>
>>
>> That sounds like exactly what is happening, as the while loop prevents the
>> hangup.
>>
>> How would you suggest I watch for the hangup? If I check the output
>> of obSession:hangupCause() and obSession:hangupState() within the while loop
>> they are always both set to SUCCESS (during the call, and after hangup).
>>
>> Hangup hook maybe?
>>
>>
>>>
>>> -wasim
>>>
>>>
>>> On Wed, Oct 6, 2010 at 15:21, Nyamul Hassan <mnhassan at usa.net> wrote:
>>>
>>>> That does not look like the full log. Can you put the complete log,
>>>> right from the start to the end, in the PasteBin?
>>>>
>>>> Also, it appears that both the legs are to the same IP. Is that by
>>>> design?
>>>>
>>>> Regards
>>>> HASSAN
>>>>
>>>>
>>>> On 2010-10-06, Pete Kelly <pkelly at gmail.com> wrote:
>>>> > After the call is set up, Freeswitch sends a reINVITE to legA, with
>>>> legB's
>>>> > media IP/port, then vice versa.
>>>> >
>>>> > Then it sends a BYE to both legs immediately .
>>>> >
>>>> > However I've put a dummy while loop after the bridge:
>>>> >
>>>> > while(1==1) do
>>>> >
>>>> > end
>>>> >
>>>> > and the call remains up!
>>>> >
>>>> > However the lua script now never ends.
>>>> >
>>>> > On 6 October 2010 10:42, David Ponzone <david.ponzone at ipeva.fr>
>>>> wrote:
>>>> >
>>>> >> my question is going to sound stupid but:
>>>> >> how long before the call is ended ?
>>>> >> are you sure A can talk to B directly ?
>>>> >>
>>>> >> David Ponzone  Direction Technique
>>>> >> email: david.ponzone at ipeva.fr
>>>> >> tel:      01 74 03 18 97
>>>> >> gsm:   06 66 98 76 34
>>>> >>
>>>> >> Service Client IPeva
>>>> >> tel:      0811 46 26 26
>>>> >> www.ipeva.fr  -   www.ipeva-studio.com
>>>> >>
>>>> >> *Ce message et toutes les pièces jointes sont confidentiels et
>>>> établis à
>>>> >> l'intention exclusive de ses destinataires. Toute utilisation ou
>>>> diffusion
>>>> >> non autorisée est interdite. Tout message électronique est
>>>> susceptible
>>>> >> d'altération. **IPeva** décline toute responsabilité au titre de ce
>>>> >> message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas
>>>> >> destinataire de ce message, merci de le détruire immédiatement et
>>>> >> d'avertir
>>>> >> l'expéditeur.*
>>>> >> *
>>>> >> *
>>>> >>
>>>> >>
>>>> >>
>>>> >> Le 06/10/2010 à 11:33, Pete Kelly a écrit :
>>>> >>
>>>> >> I've checked and it's PCMU for all legs, including Freeswitch...
>>>> anyway
>>>> >> it's Freeswitch which is ending the calls. I would expect leg A or
>>>> leg B
>>>> >> to
>>>> >> end the call if it was a codec issue.
>>>> >>
>>>> >> On 6 October 2010 10:26, David Ponzone <david.ponzone at ipeva.fr>
>>>> wrote:
>>>> >>
>>>> >>> Pete,
>>>> >>>
>>>> >>> perhaps leg A and B can't agree on the codec ?
>>>> >>>
>>>> >>>  David Ponzone  Direction Technique
>>>> >>> email: david.ponzone at ipeva.fr
>>>> >>> tel:      01 74 03 18 97
>>>> >>> gsm:   06 66 98 76 34
>>>> >>>
>>>> >>> Service Client IPeva
>>>> >>> tel:      0811 46 26 26
>>>> >>> www.ipeva.fr  -   www.ipeva-studio.com
>>>> >>>
>>>> >>> *Ce message et toutes les pièces jointes sont confidentiels et
>>>> établis à
>>>> >>> l'intention exclusive de ses destinataires. Toute utilisation ou
>>>> >>> diffusion
>>>> >>> non autorisée est interdite. Tout message électronique est
>>>> susceptible
>>>> >>> d'altération. **IPeva** décline toute responsabilité au titre de ce
>>>> >>> message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas
>>>> >>> destinataire de ce message, merci de le détruire immédiatement et
>>>> >>> d'avertir
>>>> >>> l'expéditeur.*
>>>> >>> *
>>>> >>> *
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> Le 06/10/2010 à 11:18, Pete Kelly a écrit :
>>>> >>>
>>>> >>> Hi
>>>> >>>
>>>> >>> I am having some problems bridging 2 calls and bypassing the media.
>>>> >>>
>>>> >>> I am using a lua script executed from the command line to phone out
>>>> to
>>>> >>> the
>>>> >>> first device (leg A), then on answer bridge a call to a second
>>>> device
>>>> >>> (leg
>>>> >>> B).
>>>> >>>
>>>> >>> If I set the bypass_media=true, then freeswitch immediately sends
>>>> out
>>>> >>> BYEs
>>>> >>> after the reINVITEs have happened.
>>>> >>>
>>>> >>> If I leave bypass_media unset, everything works fine except the
>>>> media is
>>>> >>> bridged.
>>>> >>>
>>>> >>> The lua script I am using is a very simple one and looks like this:
>>>> >>>
>>>> >>> obSession = freeswitch.Session("sofia/lpmedia/
>>>> 91979197 at 10.15.20.122:5060
>>>> >>> ")
>>>> >>> obSession:setVariable('bypass_media', 'true');
>>>> >>>
>>>> >>> if obSession:ready() then
>>>> >>>     -- Do something good here
>>>> >>>
>>>> >>>     obSession:execute("bridge", "sofia/lpmedia/
>>>> 2000 at 10.15.20.122:5060")
>>>> >>> end
>>>> >>>
>>>> >>> I have tried variations on this including, putting
>>>> [bypass_media=true]
>>>> >>> on
>>>> >>> leg A, and using the [bypass_media_after_bridge=true] on leg B
>>>> >>>
>>>> >>> The logs say this:
>>>> >>>  ...
>>>> >>> 2010-10-06 10:10:05.847278 [NOTICE] sofia.c:5085 Channel
>>>> [sofia/lpmedia/
>>>> >>> 2000 at 10.15.20.122:5060] has been answered
>>>> >>> 2010-10-06 10:10:06.650155 [NOTICE] switch_cpp.cpp:976 Hangup
>>>> >>> sofia/lpmedia/91979197 at 10.15.20.122:5060 [CS_HIBERNATE]
>>>> [NORMAL_CLEARING]
>>>> >>> 2010-10-06 10:10:06.650155 [NOTICE] switch_ivr_bridge.c:936 Hangup
>>>> >>> sofia/lpmedia/2000 at 10.15.20.122:5060 [CS_HIBERNATE]
>>>> [NORMAL_CLEARING]
>>>> >>> 2010-10-06 10:10:06.651420 [NOTICE] switch_core_session.c:1228
>>>> Session 27
>>>> >>> (sofia/lpmedia/91979197 at 10.15.20.122:5060) Ended
>>>> >>> 2010-10-06 10:10:06.651420 [NOTICE] switch_core_session.c:1230 Close
>>>> >>> Channel sofia/lpmedia/91979197 at 10.15.20.122:5060 [CS_DESTROY]
>>>> >>> freeswitch at pete-desktop> 2010-10-06 10:10:06.651420 [NOTICE]
>>>> >>> switch_core_session.c:1228 Session 28 (sofia/lpmedia/
>>>> >>> 2000 at 10.15.20.122:5060) Ended
>>>> >>> 2010-10-06 10:10:06.651420 [NOTICE] switch_core_session.c:1230 Close
>>>> >>> Channel sofia/lpmedia/2000 at 10.15.20.122:5060 [CS_DESTROY]
>>>> >>>
>>>> >>>
>>>> >>> Does anyone have any ideas as to why freeswitch may be ending the
>>>> calls?
>>>> >>>
>>>> >>> I am using the latest git checkout - the behaviour was slightly
>>>> different
>>>> >>> with the 1.06 package. The call would setup but the reINVITEs did
>>>> not
>>>> >>> happen
>>>> >>> as they should.
>>>> >>>
>>>> >>> Pete
>>>> >>>
>>>> >>> _______________________________________________
>>>> >>> 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
>>>> >>>
>>>> >>>
>>>> >> _______________________________________________
>>>> >> 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
>>>> >>
>>>> >>
>>>> >
>>>>
>>>> --
>>>> Sent from my mobile device
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> wasim h. baig | principal consultant | convergence pk | +92 30 0850 8070
>>> | peace be upon you ...
>>>
>>> _______________________________________________
>>> 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/20101006/5c5215cc/attachment-0001.html 


More information about the FreeSWITCH-users mailing list