Module: sip-router
Branch: tma0/iptrtpproxy-v2
Commit: 1b33f6147a23d0ff6c59bd05f0c61935f79dc502
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1b33f6147a23d0ff6c59bd05f0c61935f79dc502

Author: Tomas Mandys <[email protected]>
Committer: Tomas Mandys <[email protected]>
Date:   Wed Aug 31 22:02:45 2011 +0200

- fixed throttling (do not override values when adjust_timeout())

---

 modules/iptrtpproxy/iptrtpproxy.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/modules/iptrtpproxy/iptrtpproxy.c 
b/modules/iptrtpproxy/iptrtpproxy.c
index 1338be1..3ab0c10 100644
--- a/modules/iptrtpproxy/iptrtpproxy.c
+++ b/modules/iptrtpproxy/iptrtpproxy.c
@@ -1228,6 +1228,10 @@ inline static void fill_in_session(int flags, int 
media_idx, struct sdp_session
                in_session->sh.ttl = global_params.ttl;
                in_session->sh.flags |= XT_RTPPROXY_SOCKOPT_FLAG_SESSION_TTL;
        }
+}
+
+inline static void fill_in_session_throttle(int flags, int media_idx, struct 
xt_rtpproxy_sockopt_session *in_session) {
+       int j;
        if (global_params.throttle.mark > 0) {
                for (j=0; j<2; j++) {                   
                        
in_session->dir[GATE_A_TO_B(flags)].stream[j].throttle.mark = 
global_params.throttle.mark;
@@ -1376,6 +1380,7 @@ ERR("DEBUG_RTPPROXY: module: do not allocate session for 
on-hold stream unless r
                                }
                        }
                        fill_in_session(flags, i, &global_sdp_sess, 
ipt_sess.sessions+ipt_sess.session_count);
+                       fill_in_session_throttle(flags, i, 
ipt_sess.sessions+ipt_sess.session_count);
                        ipt_sess.sdp_media[i] = ipt_sess.session_count;
                skip_fill:
                        ipt_sess.session_count++;
@@ -1666,6 +1671,7 @@ static int rtpproxy_update(struct sip_msg* msg, char* 
_flags, char* _session_ids
                        if (ipt_sess.sdp_media[i] >= 0) {
                                if (global_sdp_sess.media[i].active) {
                                        fill_in_session(flags, i, 
&global_sdp_sess, ipt_sess.sessions+ipt_sess.sdp_media[i]);
+                                       fill_in_session_throttle(flags, i, 
ipt_sess.sessions+ipt_sess.sdp_media[i]);
                                        
ipt_sess.sessions[ipt_sess.sdp_media[i]].sh.flags &= 
~XT_RTPPROXY_SOCKOPT_FLAG_SESSION_DESTROY;
                                }
                        }
@@ -1737,6 +1743,7 @@ static int rtpproxy_adjust_timeout(struct sip_msg* msg, 
char* _flags, char* _ses
        for (i = 0; i < ipt_sess.sdp_media_count; i++) {
                if (ipt_sess.sdp_media[i] >= 0) {
                        fill_in_session(flags, i, NULL, 
ipt_sess.sessions+ipt_sess.sdp_media[i]);
+                       /* throttle not affected */
                }
        }
 //ERR("DEBUG_RTPPROXY: module: rtpproxy_adjust_timeout: 
xt_RTPPROXY_update_sessions(%d), flags:%d, sess:%.*s\n", 
ipt_sess.session_count, flags, STR_FMT(&session_ids));


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to