[OpenSIPS-Users] Mediaproxy not updating with new SDPs

Jeff Pyle jpyle at fidelityvoice.com
Thu Jul 22 16:42:38 CEST 2010


Hi Saúl,

On Jul 21, 2010, at 5:14 PM, Saúl Ibarra Corretgé wrote:

> Hi Jeff,
> 
> On 21/07/10 21:50, Jeff Pyle wrote:
>> Hello,
>> 
>> I am using Mediaproxy 2.3.8 with Opensips 1.6 r6702.  I use the engage_media_proxy() function.  Most things work pretty well except for the following scenario:
>> 
>> Call comes in from CPE, hits the engage_media_proxy() function, and t_relay's to the far end.  The far-end sends a 503, but before they do, they send some media.  I'm working with them now to determine the true source of this unwanted media.  Anyway, Opensips does a serial fork to the next carrier, who sends a 183 w/ SDP, and finally a 200 OK.  But the media relay has already locked down to the media the first carrier sent.  How come the media relay doesn't learn about the new media information from the SDPs in the 183 and the 200?
>> 
> 
> MediaProxy uses the information from the SDP from both ends and then it 
> waits to receive a RTP packet from each endpoint. Once this happens it 
> inserts a conntrack rule in the kernel so that the relaying is performed.
> 
> I could judge better with a SIP trace but my guess is that the dialog 
> could get to an inconsistent state, so mediaproxy loses track.

That would make sense...

> 
>> I'd like to be able to wait for an SDP to come back on a 18x or a 200 before starting the relay.  It appears the engage_media_proxy() function is available only from the REQUEST_ROUTE.  Perhaps it would be smarter in this case to use the use_media_proxy()/end_media_session() functions in the REPLY_ROUTE and FAILURE_ROUTEs.
>> 
> 
> You are right. Engage_media_proxy covers most general purpose scenarios 
> but it's not suitable for everyone, so in this case you may want yo call 
> the individual functions manually.
> 

...but I think I need to rework the config with the individual functions so I won't worry about the dialog portion too much.  

I've used only the engage_media_proxy function so far.  I vaguely remember examples of use_media_proxy/end_media_session in the loose route section, failure routes, etc.  Or maybe I'm confusing it with rtpproxy.  Anyway, are there any examples around of a recommended, basic implementation?  Even general guidelines would be helpful just to make sure I'm on the right track.  For example, would it make sense to run end_media_session followed by a use_media_proxy on a reply route any time an SDP is present to "reset" the dispatcher and relays to the new stream?


Regards,
Jeff


> 
> Regards,
> 
> -- 
> Saúl Ibarra Corretgé
> AG Projects
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list