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

Pete Kelly pkelly at gmail.com
Wed Oct 6 03:55:22 PDT 2010


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/c5d4db9b/attachment-0001.html 


More information about the FreeSWITCH-users mailing list