[OpenSIPS-Users] multiple use_media_proxy() calls
Dan Pascu
dan at ag-projects.com
Tue Jan 25 15:13:10 CET 2011
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.
>
> 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.
>
> 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.
> 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
More information about the Users
mailing list