[OpenSIPS-Users] multiple use_media_proxy() calls
Jeff Pyle
jpyle at fidelityvoice.com
Tue Jan 25 15:39:30 CET 2011
Dan,
On 1/25/11 9:13 AM, "Dan Pascu" <dan at ag-projects.com> wrote:
>
>On 25 Jan 2011, at 15:35, Jeff Pyle wrote:
>
>>>> Or, perhaps something already available in the code to force a reset
>>>>of
>>>> some sorts when the 18x w/ SDP message comes back? By this point, the
>>>> leaky media has stopped and the legit media is flowing.
>>>
>>> I don't think this is your case, because the relay already handles
>>>this.
>>> it will reset it's knowledge of the learnt addresses with every
>>> request/reply in dialog. So when the 2nd 183 comes in, it does reset
>>>the
>>> ports and attempts to relearn them. If things would be as you describe
>>> them (1st media stream has stopped when the 2nd 183 comes), then it
>>> should simply work because the relay would reset and learn the ports
>>>from
>>> the 2nd media stream. But I suspect that the 1st media stream still
>>>flows
>>> a bit past the 2nd 183 and the relay locks onto that again instead of
>>> locking on the 2nd media stream (that probably comes only after it
>>> re-locked to the 1st). Otherwise I cannot explain why it wouldn't work
>>> for you as the relay relearns the addresses after every 183/200
>>
>> Here's the thing: there is only one 183, not two.
>>
>> The carrier sends only a 100, then some of this "leaky" media as I am
>> calling it. I think the term "leaky" fits because it arrives outside of
>> any SDP. The relay locks onto this media. By the time the carrier does
>> send the 183 (and SDP), the leaky media has stopped and the legit media
>> has started. But, since there is only one 183, it appears the relay
>> doesn't have an opportunity to reset. There is only one stream at a
>>time.
>
>Then there is some misunderstanding somewhere. Before the first 183
>arrives, mediaproxy cannot lock onto anything as it doesn't yet have
>information about both endpoints. It needs a request (INVITE) and a reply
>that carries media (183/200), before it can even begin to listen to
>packets. So how can it lock to media before even allocating the ports and
>listening is beyond me.
Interesting. I will re-verify the leaky media has stopped before the 183
arrives. A plausible explanation is that I am incorrect, and it is still
flowing after the 183.
>
>>
>> We have examined the Mediaproxy accounting records after the fact. They
>> show the port on the carrier-side as the one from the leaky media, not
>>the
>> one from the SDP. For some reason the relay does not reset at 200 OK
>>time.
>
>I checked the code and it does reset on any new request/reply.
Does this mean that it resets once on any request/reply pair, or that it
resets on each new request and each new reply?
>
>>
>> This is on Mediaproxy 2.3.8, as far as we can go on CentOS with the
>>Python
>
>Hmm, I really can't recall if that version had this ability or not. I
>suggest you try the latest version and see if it fixes your problem.
Yes, certainly. I'll be far enough along in the build to do that shortly.
One fine point: We have been saying 183 throughout this entire
discussion. That isn't accurate. In most cases the GSX at this carrier
sends a 180 with SDP. I bring it up only to rule out some weird
difference that may exist within Mediaproxy between a 183 and a 180 with
SDP. An SDP is an SDP, regardless of the code it rides in on, no?
- Jeff
>
>> package limitations. I am rebuilding into Debian Lenny with Opensips
>>1.6
>> and Mediaproxy 2.4 from the package repositories. Perhaps we will see a
>> different behavior with more current versions.
>
>--
>Dan
>
>
>
>
>
>_______________________________________________
>Users mailing list
>Users at lists.opensips.org
>http://lists.opensips.org/cgi-bin/mailman/listinfo/users
More information about the Users
mailing list