[Freeswitch-users] How can I keep the A-leg from establishing early media (and playing ringback in-band) until after the B-leg answers the call?

Giovanni Maruzzelli gmaruzz at celliax.org
Wed Jul 28 06:30:29 PDT 2010


Jason,

sorry for the inconvenience.

I had a look (a long look) at the problem, and no way I can fix it in
a decent way right now because of how the code is presently structured
and because of my tools here (trying to operate on a remote server
with a wobbly bluetooth connection via the cellphone from a tiny
laptop).

Also, I will need to do extensive testing after changing the answering
mechanism, to be sure it will not break the various cases (many
channels with same username, many channels with different usernames,
earlymedia, etc etc).

So, please be patient until next week and I'll give it a thoroughly solution.

Bye for now,

-giovanni

On Wed, Jul 28, 2010 at 12:11 AM, Giovanni Maruzzelli
<gmaruzz at celliax.org> wrote:
> Wup, I was confused, hehe.
> I'll fix it tomorrow, while the kid is doing his own things with his
> friends (certain times I just don't realize he's big boy now ;) ).
> -giovanni
>
> On 7/27/10, Giovanni Maruzzelli <gmaruzz at celliax.org> wrote:
>> Hi Jason
>>
>> that is mod_skypopen fault (my fault).
>>
>> mod_skypopen directly answers an incoming call, without taking into
>> account if it is directed to do it or not.
>>
>> I've also filed a Jira to myself about it, but not yet taken care of.
>>
>> I will fix it as soon as possible, but probably not before net week
>> (I'm in holyday with the son right now, he would not like that so
>> much).
>>
>> Sorry for making you and anthm waste time in debugging an inexplicable
>> behavior,
>>
>> -giovanni
>>
>>
>> On Tue, Jul 27, 2010 at 8:24 PM, Jason Jeffords <jason at cloudtree.net>
>> wrote:
>>> Hi Anthony,
>>> It looks like mod_skypopen is answering the Skype call and opening the
>>> channel before any
>>> dialplan lookups are reached :(
>>> Here is part of the log:
>>> 2010-07-27 18:07:28.553971 [DEBUG] skypopen_protocol.c:176 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  176
>>>  ][interface1][-1, 0, 0] READING: |||CALL 2114 CONF_ID 0|||
>>> 2010-07-27 18:07:28.563966 [DEBUG] skypopen_protocol.c:176 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  176
>>>  ][interface1][-1, 0, 0] READING: |||USER jjeffords.com TIMEZONE 72000|||
>>> 2010-07-27 18:07:28.633980 [DEBUG] skypopen_protocol.c:176 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  176
>>>  ][interface1][-1, 0, 0] READING: |||CALL 2114 STATUS RINGING|||
>>> 2010-07-27 18:07:28.633980 [DEBUG] skypopen_protocol.c:556 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  556
>>>  ][interface1][-1, 0, 0] NO ACTIVE calls in this moment, skype_call 2114
>>> is
>>> RINGING, to ask PARTNER_HANDLE
>>> 2010-07-27 18:07:28.633980 [DEBUG] skypopen_protocol.c:1498 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1498
>>> ][interface1][-1, 0, 0] SENDING: |||GET CALL 2114 PARTNER_HANDLE||||
>>> 2010-07-27 18:07:28.663964 [DEBUG] skypopen_protocol.c:176 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  176
>>>  ][interface1][-1, 0, 0] READING: |||CALL 2114 PARTNER_HANDLE
>>> jjeffords.com|||
>>> 2010-07-27 18:07:28.663964 [DEBUG] skypopen_protocol.c:481 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  481
>>>  ][interface1][-1, 0, 0] Call 2114 TRY ANSWER
>>> 2010-07-27 18:07:28.663964 [DEBUG] mod_skypopen.c:2301 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  2301
>>> ][interface1][-1, 0, 0] NOT FOUND
>>> 2010-07-27 18:07:28.663964 [DEBUG] skypopen_protocol.c:1498 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1498
>>> ][interface1][-1, 0, 0] SENDING: |||GET CALL 2114 PARTNER_DISPNAME||||
>>> 2010-07-27 18:07:28.683968 [DEBUG] skypopen_protocol.c:1498 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1498
>>> ][interface1][-1,11, 0] SENDING: |||ALTER CALL 2114 ANSWER||||
>>> 2010-07-27 18:07:28.703965 [DEBUG] mod_skypopen.c:2314 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  2314
>>> ][interface1][-1,11, 0] We answered a Skype RING on skype_call 2114
>>> 2010-07-27 18:07:28.703965 [DEBUG] mod_skypopen.c:2322 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  2322
>>> ][interface1][-1,11, 0] NEW!  name: interface1, state: 11,
>>> value=jjeffords.com, tech_pvt->callid_number=jjeffords.com,
>>> tech_pvt->skype_user=cloud-tree-admin
>>> 2010-07-27 18:07:28.703965 [DEBUG] skypopen_protocol.c:176 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  176
>>>  ][interface1][-1,11, 0] READING: |||CALL 2114 PARTNER_DISPNAME Jason
>>> Jeffords|||
>>> 2010-07-27 18:07:28.714033 [DEBUG] skypopen_protocol.c:176 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  176
>>>  ][interface1][-1,11, 0] READING: |||ALTER CALL 2114 ANSWER|||
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:176 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  176
>>>  ][interface1][-1,11, 0] READING: |||CALL 2114 STATUS INPROGRESS|||
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:660 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  660
>>>  ][interface1][-1,11, 0] no tech_pvt->session_uuid_str
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:666 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  666
>>>  ][interface1][-1,11, 0] skype_call: 2114 is now active
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:673 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  673
>>>  ][interface1][-1, 5,21] START start_audio_threads
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:83 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  83
>>> ][interface1][-1, 5,21] Binded! *which_port=32769,
>>> tech_pvt->tcp_cli_port=32770, tech_pvt->tcp_srv_port=32769
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:88 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  88
>>> ][interface1][-1, 5,21] 1 SO_RCVBUF is 87380, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:92 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  92
>>> ][interface1][-1, 5,21] 1 SO_SNDBUF is 16384, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:113 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  113
>>>  ][interface1][-1, 5,21] 2 SO_RCVBUF is 87380, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:132 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  132
>>>  ][interface1][-1, 5,21] 2 SO_SNDBUF is 16384, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:136 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  136
>>>  ][interface1][-1, 5,21] TCP_NODELAY is 0
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:143 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  143
>>>  ][interface1][-1, 5,21] TCP_NODELAY is 0
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:773 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  773
>>>  ][interface1][-1, 5,21] started tcp_srv_thread thread.
>>> 2010-07-27 18:07:28.733950 [DEBUG] mod_skypopen.c:1889 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1889
>>> ][interface1][-1, 5,21] started tcp_srv_thread thread.
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:83 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  83
>>> ][interface1][-1, 5,21] Binded! *which_port=32770,
>>> tech_pvt->tcp_cli_port=32770, tech_pvt->tcp_srv_port=32769
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:88 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  88
>>> ][interface1][-1, 5,21] 1 SO_RCVBUF is 87380, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:92 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  92
>>> ][interface1][-1, 5,21] 1 SO_SNDBUF is 16384, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:113 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  113
>>>  ][interface1][-1, 5,21] 2 SO_RCVBUF is 87380, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:132 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  132
>>>  ][interface1][-1, 5,21] 2 SO_SNDBUF is 16384, size is 4
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:136 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  136
>>>  ][interface1][-1, 5,21] TCP_NODELAY is 0
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:143 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  143
>>>  ][interface1][-1, 5,21] TCP_NODELAY is 0
>>> 2010-07-27 18:07:28.733950 [DEBUG] skypopen_protocol.c:924 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  924
>>>  ][interface1][-1, 5,21] started tcp_cli_thread thread.
>>> 2010-07-27 18:07:28.733950 [DEBUG] mod_skypopen.c:1899 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1899
>>> ][interface1][-1, 5,21] started tcp_cli_thread thread.
>>> 2010-07-27 18:07:28.853968 [DEBUG] skypopen_protocol.c:1498 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1498
>>> ][interface1][-1, 5,21] SENDING: |||ALTER CALL 2114 SET_INPUT
>>> PORT="32770"||||
>>> 2010-07-27 18:07:28.864023 [DEBUG] skypopen_protocol.c:953 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  953
>>>  ][interface1][-1, 5,21] ACCEPTED here you send me 32770
>>> 2010-07-27 18:07:28.864023 [DEBUG] skypopen_protocol.c:958 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  958
>>>  ][interface1][-1, 5,21] 4 SO_RCVBUF is 87380, size is 4
>>> 2010-07-27 18:07:28.864023 [DEBUG] skypopen_protocol.c:962 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  962
>>>  ][interface1][-1, 5,21] 4 SO_SNDBUF is 16384, size is 4
>>> 2010-07-27 18:07:28.873942 [DEBUG] skypopen_protocol.c:1498 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1498
>>> ][interface1][-1, 5,21] SENDING: |||#output ALTER CALL 2114 SET_OUTPUT
>>> PORT="32769"||||
>>> 2010-07-27 18:07:28.883950 [DEBUG] skypopen_protocol.c:688 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  688
>>>  ][interface1][-1, 5,21] New Inbound Channel!
>>>
>>>
>>> 2010-07-27 18:07:28.883950 [DEBUG] mod_skypopen.c:1920 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  1920
>>> ][interface1][-1, 5,21] 2 SESSION_REQUEST
>>> d18a03ae-99a9-11df-9273-dfe9044f32b8
>>> 2010-07-27 18:07:28.883950 [DEBUG] mod_skypopen.c:258 rev
>>> git2svn-syncpoint-master-132-g91a87e9[(nil)|37     ][DEBUG_SKYPE  258
>>>  ][interface1][-1, 5,21] skypopen_tech_init SUCCESS
>>> 2010-07-27 18:07:28.883950 [NOTICE] switch_channel.c:776 New Channel
>>> skypopen/interface1 [d18a03ae-99a9-11df-9273-dfe9044f32b8]
>>> 2010-07-27 18:07:28.883950 [DEBUG] mod_skypopen.c:1944
>>> (skypopen/interface1)
>>> State Change CS_NEW -> CS_INIT
>>>
>>>
>>>
>>> On Tue, Jul 27, 2010 at 2:06 PM, Anthony Minessale
>>> <anthony.minessale at gmail.com> wrote:
>>>>
>>>> don't answer the A leg? bridge to B with it unanswered and it should do
>>>> what you want unless somehow the skype channel answers explicitly which
>>>> would be a possible bug in mod_skype_open
>>>>
>>>> On Tue, Jul 27, 2010 at 9:43 AM, Jason Jeffords <jason at cloudtree.net>
>>>> wrote:
>>>>>
>>>>> Hi Anthony,
>>>>> Thank you for your very fast response and your excellent work on
>>>>> Freeswitch :)
>>>>> We have tried setting ignore_early_media=true in the bridge dial string
>>>>> (the B
>>>>> leg).  This has the expected effect of removing ringing from the
>>>>> channel
>>>>> (the
>>>>> A leg no longer hears ringing, neither Skype nor PSTN).
>>>>> The problem is the A leg has answered the Skype call (mod_skypopen) and
>>>>> established a channel before the B leg has answered.  We want to tie
>>>>> these
>>>>> call state machines together to allow the A leg to continue to Skype
>>>>> ring
>>>>> until
>>>>> the B leg answers.
>>>>> We tried setting ignore_early_media on the A leg as well in several
>>>>> different
>>>>> locations in the dialplan without success.
>>>>> Do you have another other suggestions?  Is there a different variable
>>>>> that
>>>>> allows the state machines to be tied together as described above?
>>>>> Thanks for your help,
>>>>> Jason
>>>>>
>>>>>
>>>>> On Thu, Jul 22, 2010 at 6:01 PM, Anthony Minessale
>>>>> <anthony.minessale at gmail.com> wrote:
>>>>>>
>>>>>> add {ignore_early_media=true} to your bridge dial string
>>>>>>
>>>>>> On Thu, Jul 22, 2010 at 3:51 PM, Jason Jeffords <jason at cloudtree.net>
>>>>>> wrote:
>>>>>>>
>>>>>>> My specific use case is an inbound Skype call using mod_skypopen to a
>>>>>>> SIP phone.
>>>>>>> I would like the Skype call to keep ringing as a Skype call (not a
>>>>>>> PSTN
>>>>>>> call)
>>>>>>> until the B-leg is answered.  The default behaviour is the Skype call
>>>>>>> is answered
>>>>>>> by freeswitch and ringback is played over the established Skype call.
>>>>>>> Thanks in advance,
>>>>>>> Jason
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Anthony Minessale II
>>>>>>
>>>>>> FreeSWITCH http://www.freeswitch.org/
>>>>>> ClueCon http://www.cluecon.com/
>>>>>> Twitter: http://twitter.com/FreeSWITCH_wire
>>>>>>
>>>>>> AIM: anthm
>>>>>> MSN:anthony_minessale at hotmail.com
>>>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>>>>> IRC: irc.freenode.net #freeswitch
>>>>>>
>>>>>> FreeSWITCH Developer Conference
>>>>>> sip:888 at conference.freeswitch.org
>>>>>> googletalk:conf+888 at conference.freeswitch.org
>>>>>> pstn:+19193869900
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Anthony Minessale II
>>>>
>>>> FreeSWITCH http://www.freeswitch.org/
>>>> ClueCon http://www.cluecon.com/
>>>> Twitter: http://twitter.com/FreeSWITCH_wire
>>>>
>>>> AIM: anthm
>>>> MSN:anthony_minessale at hotmail.com
>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>>> IRC: irc.freenode.net #freeswitch
>>>>
>>>> FreeSWITCH Developer Conference
>>>> sip:888 at conference.freeswitch.org
>>>> googletalk:conf+888 at conference.freeswitch.org
>>>> pstn:+19193869900
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>>
>>
>>
>>
>> --
>> Sincerely,
>>
>> Giovanni Maruzzelli
>> Cell : +39-347-2665618
>>
>
> --
> Sent from my mobile device
>
> Sincerely,
>
> Giovanni Maruzzelli
> Cell : +39-347-2665618
>



-- 
Sincerely,

Giovanni Maruzzelli
Cell : +39-347-2665618



More information about the FreeSWITCH-users mailing list