Module: sip-router Branch: master Commit: c4ea425076504248e1fd8f9022b3bf56c2293a83 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c4ea4250...
Author: Richard Fuchs rfuchs@sipwise.com Committer: Andreas Granig agranig@sipwise.com Date: Thu Apr 19 17:42:52 2012 +0200
rtpproxy(k): Send Via branch to rtpproxy
- Introduce force/unforce options "1" and "2" to optionally send first or second Via branch to rtpproxy, respectively. This can be used to stop only a specific branch in the rtp proxy, which is needed for complex serial looping scenarios where in a race condition a new branch is processed before a previous branch is cancelled, where the cancel would whipe the whole call from the rtp proxy instead of just the old branch, causing the subsequent rtp proxy lookup to fail.
---
modules/rtpproxy/doc/rtpproxy_admin.xml | 49 ++++++++++++++- modules/rtpproxy/rtpproxy.c | 105 +++++++++++++++++++++++------- modules/rtpproxy/rtpproxy_funcs.c | 24 +++++++ modules/rtpproxy/rtpproxy_funcs.h | 1 + 4 files changed, 153 insertions(+), 26 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=c4ea...
+1
I would have needed this feature some time ago when I played around with v4/v6 bridging
On 19.04.2012 18:03, Andreas Granig wrote:
Module: sip-router Branch: master Commit: c4ea425076504248e1fd8f9022b3bf56c2293a83 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c4ea4250...
Author: Richard Fuchsrfuchs@sipwise.com Committer: Andreas Granigagranig@sipwise.com Date: Thu Apr 19 17:42:52 2012 +0200
rtpproxy(k): Send Via branch to rtpproxy
- Introduce force/unforce options "1" and "2" to optionally send first or second Via branch to rtpproxy, respectively. This can be used to stop only a specific branch in the rtp proxy, which is needed for complex serial looping scenarios where in a race condition a new branch is processed before a previous branch is cancelled, where the cancel would whipe the whole call from the rtp proxy instead of just the old branch, causing the subsequent rtp proxy lookup to fail.
modules/rtpproxy/doc/rtpproxy_admin.xml | 49 ++++++++++++++- modules/rtpproxy/rtpproxy.c | 105 +++++++++++++++++++++++------- modules/rtpproxy/rtpproxy_funcs.c | 24 +++++++ modules/rtpproxy/rtpproxy_funcs.h | 1 + 4 files changed, 153 insertions(+), 26 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=c4ea...
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
On 04/19/2012 06:21 PM, Klaus Darilion wrote:
+1
I would have needed this feature some time ago when I played around with v4/v6 bridging
We're using this feature together with ngcp-mediaproxy-ng (http://deb.sipwise.com/spce/2.5/pool/main/n/ngcp-mediaproxy-ng/) since SPCE v2.5.
The thing here is that to take full advantage of it, rtpproxy needs to support it in more detail. It basically works fine because the call-id will be "callid;viabranch", so the via-branch is considered part of the call-id in rtpproxy, but if you do unforce_rtp_proxy() without a via-branch, it won't find the call, so you need to use unfoce_rtp_proxy("2") if you did rtpproxy_offer("1") or rtpproxy_answer("2").
In ngcp_mediaproxy_ng, we whipe out all branches if no via-branch is passed in unforce_rtp_proxy(). If the stock rtpproxy wants to take advantage of that as well, it should check for a via-branch token in the call-id also and act accordingly.
JFYI, Andreas