[OpenSIPS-Users] RTP Proxy and Re-Invites

Răzvan Crainea razvan at opensips.org
Fri Nov 14 10:45:51 CET 2014


Hi, Ali!

The reINVITES should be handled similar to INVITEs, with an offer for 
the request and an answer for the reply. But indeed, there's no way to 
recover from a rejected reINVITE.
Actually the problem is a bit deeper and I don't really know how this 
should be handled. It depends on whether the client sends the re-invite 
to create a new media stream, or update the old one. In the first case, 
RTPProxy should create a new media stream and if that one fails, only 
delete the latter one - this is not supported by RTPProxy. In the second 
case, the entire media should be seized, and this is how it works now :).

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/14/2014 03:30 AM, Jeff Pyle wrote:
> Ali,
>
> This is what I use within loose_route() to handle rtpproxy.  In my 
> particular case I'm bridging between two interfaces.
>
>
>     if (has_body("application/sdp"))  {
>              # Begin rtp session update gyrations
>              if (method == "INVITE") {
>                      # INVITE w/ SDP, so early neg
>                      # This is offer, reply is answer
>      rtpproxy_offer("frocl");
>      t_on_reply("1");
>              } else if (method == "ACK") {
>                      # ACK w/ SDP, so late neg (done now)
>                      # This is answer
>      rtpproxy_answer("frocl");
>              }
>      } else {
>              if (method == "INVITE") {
>                      # INVITE w/o SDP, so late neg
>                      # This is nothing, reply is offer, ACK is answer
>     (~5 lines up)
>      t_on_reply("2");
>              } else {
>      t_on_reply("1");
>              }
>      }
>
>
>
> And then:
>
>
>     onreply_route[1] {      # Manage content as necessary - early
>     negotiation
>             if (has_body("application/sdp")) {
>                     if ($DLG_status) {      # Update
>     rtpproxy_answer("frocl");
>                     } else {        # New
>     rtpproxy_answer("froc");
>                     }
>             }
>     }
>
>
>     onreply_route[2] {      # Manage content as necessary -
>     late negotiation - update
>             if (has_body("application/sdp")) {
>     rtpproxy_offer("frocl");
>             }
>     }
>
>
>
>
> This does not handle rejected reinvites.  I don't know how to solve 
> that one.  Otherwise, it works well, although in some spots it may be 
> overkill.
>
>
> - Jeff
>
>
>
> On Thu, Nov 13, 2014 at 5:13 PM, Ali Pey <alipey at gmail.com 
> <mailto:alipey at gmail.com>> wrote:
>
>     Hello,
>
>     What's the best way of handling rtpproxy with re-invites?
>
>     Should I do unforce and then offer/answer? What if the re-invite
>     gets rejected?
>
>     Any help appreciated.
>
>     Thanks,
>     Ali Pey
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20141114/d6539747/attachment-0001.htm>


More information about the Users mailing list