Module: sip-router Branch: master Commit: 0af3944586c881f5d3ea0be19242cdf84906269e URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0af39445...
Author: Ovidiu Sas osas@voipembedded.com Committer: Ovidiu Sas osas@voipembedded.com Date: Fri Oct 8 12:02:30 2010 -0400
modules_k/rtpproxy: fix rtpproxy_offer/answer when called with a second parameter
- closes FS#69 - nathelper.c: rtpproxy_offer / rtpproxy_answer (str2 parameter ignored) - reported by Marc Villacorta
---
modules_k/rtpproxy/rtpproxy.c | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/modules_k/rtpproxy/rtpproxy.c b/modules_k/rtpproxy/rtpproxy.c index e9a0832..920bdd6 100644 --- a/modules_k/rtpproxy/rtpproxy.c +++ b/modules_k/rtpproxy/rtpproxy.c @@ -284,7 +284,7 @@ static int alter_rtcp(struct sip_msg *msg, str *body, str *oldport, str *newport static char *gencookie(); static int rtpp_test(struct rtpp_node*, int, int); static int unforce_rtp_proxy_f(struct sip_msg *, char *, char *); -static int force_rtp_proxy(struct sip_msg *, char *, char *, int); +static int force_rtp_proxy(struct sip_msg *, char *, char *, int, int); static int start_recording_f(struct sip_msg *, char *, char *); static int rtpproxy_answer1_f(struct sip_msg *, char *, char *); static int rtpproxy_answer2_f(struct sip_msg *, char *, char *); @@ -1672,13 +1672,13 @@ rtpproxy_offer1_f(struct sip_msg *msg, char *str1, char *str2)
cp = ip_addr2a(&msg->rcv.dst_ip); strcpy(newip, cp); - return rtpproxy_offer2_f(msg, str1, newip); + return force_rtp_proxy(msg, str1, newip, 1, 0); }
static int rtpproxy_offer2_f(struct sip_msg *msg, char *param1, char *param2) { - return force_rtp_proxy(msg, param1, param2, 1); + return force_rtp_proxy(msg, param1, param2, 1, 1); }
static int @@ -1687,9 +1687,13 @@ rtpproxy_answer1_f(struct sip_msg *msg, char *str1, char *str2) char *cp; char newip[IP_ADDR_MAX_STR_SIZE];
+ if (msg->first_line.type == SIP_REQUEST) + if (msg->first_line.u.request.method_value != METHOD_ACK) + return -1; + cp = ip_addr2a(&msg->rcv.dst_ip); strcpy(newip, cp); - return rtpproxy_answer2_f(msg, str1, newip); + return force_rtp_proxy(msg, str1, newip, 0, 0); }
static int @@ -1700,7 +1704,7 @@ rtpproxy_answer2_f(struct sip_msg *msg, char *param1, char *param2) if (msg->first_line.u.request.method_value != METHOD_ACK) return -1;
- return force_rtp_proxy(msg, param1, param2, 0); + return force_rtp_proxy(msg, param1, param2, 0, 1); }
@@ -1751,7 +1755,7 @@ free_opts(struct options *op1, struct options *op2, struct options *op3) } while (0);
static int -force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer) +force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer, int forcedIP) { str body, body1, oldport, oldip, newport, newip; str callid, from_tag, to_tag, tmp, payload_types; @@ -2165,8 +2169,16 @@ force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer) newip.len = 7; } } else { - newip.s = (argc < 2) ? str2 : argv[1]; - newip.len = strlen(newip.s); + if (forcedIP) { + newip.s = str2; + newip.len = strlen(newip.s); +#ifdef EXTRA_DEBUG + LM_DBG("forcing IP='%.*s'\n", newip.len, newip.s); +#endif + } else { + newip.s = (argc < 2) ? str2 : argv[1]; + newip.len = strlen(newip.s); + } } /* marker to double check : newport goes: str -> int -> str ?!?! */ newport.s = int2str(port, &newport.len); /* beware static buffer */
Maybe it is precisely this that I meant to allege was not working.
-- Alex Balashov - Principal Evariste Systems LLC 1170 Peachtree Street 12th Floor, Suite 1200 Atlanta, GA 30309 Tel: +1-678-954-0670 Fax: +1-404-961-1892 Web: http://www.evaristesys.com/
On Oct 11, 2010, at 11:29 AM, Ovidiu Sas osas@voipembedded.com wrote:
Module: sip-router Branch: master Commit: 0af3944586c881f5d3ea0be19242cdf84906269e URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0af39445...
Author: Ovidiu Sas osas@voipembedded.com Committer: Ovidiu Sas osas@voipembedded.com Date: Fri Oct 8 12:02:30 2010 -0400
modules_k/rtpproxy: fix rtpproxy_offer/answer when called with a second parameter
- closes FS#69
- nathelper.c: rtpproxy_offer / rtpproxy_answer (str2 parameter
ignored)
- reported by Marc Villacorta
modules_k/rtpproxy/rtpproxy.c | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/modules_k/rtpproxy/rtpproxy.c b/modules_k/rtpproxy/ rtpproxy.c index e9a0832..920bdd6 100644 --- a/modules_k/rtpproxy/rtpproxy.c +++ b/modules_k/rtpproxy/rtpproxy.c @@ -284,7 +284,7 @@ static int alter_rtcp(struct sip_msg *msg, str *body, str *oldport, str *newport static char *gencookie(); static int rtpp_test(struct rtpp_node*, int, int); static int unforce_rtp_proxy_f(struct sip_msg *, char *, char *); -static int force_rtp_proxy(struct sip_msg *, char *, char *, int); +static int force_rtp_proxy(struct sip_msg *, char *, char *, int, int); static int start_recording_f(struct sip_msg *, char *, char *); static int rtpproxy_answer1_f(struct sip_msg *, char *, char *); static int rtpproxy_answer2_f(struct sip_msg *, char *, char *); @@ -1672,13 +1672,13 @@ rtpproxy_offer1_f(struct sip_msg *msg, char *str1, char *str2)
cp = ip_addr2a(&msg->rcv.dst_ip); strcpy(newip, cp);
- return rtpproxy_offer2_f(msg, str1, newip);
- return force_rtp_proxy(msg, str1, newip, 1, 0);
}
static int rtpproxy_offer2_f(struct sip_msg *msg, char *param1, char *param2) {
- return force_rtp_proxy(msg, param1, param2, 1);
- return force_rtp_proxy(msg, param1, param2, 1, 1);
}
static int @@ -1687,9 +1687,13 @@ rtpproxy_answer1_f(struct sip_msg *msg, char *str1, char *str2) char *cp; char newip[IP_ADDR_MAX_STR_SIZE];
- if (msg->first_line.type == SIP_REQUEST)
if (msg->first_line.u.request.method_value != METHOD_ACK)
return -1;
cp = ip_addr2a(&msg->rcv.dst_ip); strcpy(newip, cp);
return rtpproxy_answer2_f(msg, str1, newip);
- return force_rtp_proxy(msg, str1, newip, 0, 0);
}
static int @@ -1700,7 +1704,7 @@ rtpproxy_answer2_f(struct sip_msg *msg, char *param1, char *param2) if (msg->first_line.u.request.method_value != METHOD_ACK) return -1;
- return force_rtp_proxy(msg, param1, param2, 0);
- return force_rtp_proxy(msg, param1, param2, 0, 1);
}
@@ -1751,7 +1755,7 @@ free_opts(struct options *op1, struct options *op2, struct options *op3) } while (0);
static int -force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer) +force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer, int forcedIP) { str body, body1, oldport, oldip, newport, newip; str callid, from_tag, to_tag, tmp, payload_types; @@ -2165,8 +2169,16 @@ force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer) newip.len = 7; } } else {
newip.s = (argc < 2) ? str2 : argv[1];
newip.len = strlen(newip.s);
if (forcedIP) {
newip.s = str2;
newip.len = strlen(newip.s);
+#ifdef EXTRA_DEBUG
LM_DBG("forcing IP='%.*s'\n", newip.len,
newip.s); +#endif
} else {
newip.s = (argc < 2) ? str2 : argv[1];
newip.len = strlen(newip.s);
} } /* marker to double check : newport goes: str -> int ->
str ?!?! */ newport.s = int2str(port, &newport.len); /* beware static buffer */
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Hello Alex,
Are you referring to the issue that you had in the past with rtpproxy_offer/answer? The second param for rtpproxy_offer/answer _and_ force_rtp_proxy was ignored in previous versions.
Regards, Ovidiu Sas
On Mon, Oct 11, 2010 at 11:40 AM, Alex Balashov abalashov@evaristesys.com wrote:
Maybe it is precisely this that I meant to allege was not working.
-- Alex Balashov - Principal Evariste Systems LLC 1170 Peachtree Street 12th Floor, Suite 1200 Atlanta, GA 30309 Tel: +1-678-954-0670 Fax: +1-404-961-1892 Web: http://www.evaristesys.com/
On Oct 11, 2010, at 11:29 AM, Ovidiu Sas osas@voipembedded.com wrote:
Module: sip-router Branch: master Commit: 0af3944586c881f5d3ea0be19242cdf84906269e URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0af39445...
Author: Ovidiu Sas osas@voipembedded.com Committer: Ovidiu Sas osas@voipembedded.com Date: Fri Oct 8 12:02:30 2010 -0400
modules_k/rtpproxy: fix rtpproxy_offer/answer when called with a second parameter
- closes FS#69
- nathelper.c: rtpproxy_offer / rtpproxy_answer (str2 parameter ignored) - reported by Marc Villacorta
modules_k/rtpproxy/rtpproxy.c | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/modules_k/rtpproxy/rtpproxy.c b/modules_k/rtpproxy/rtpproxy.c index e9a0832..920bdd6 100644 --- a/modules_k/rtpproxy/rtpproxy.c +++ b/modules_k/rtpproxy/rtpproxy.c @@ -284,7 +284,7 @@ static int alter_rtcp(struct sip_msg *msg, str *body, str *oldport, str *newport static char *gencookie(); static int rtpp_test(struct rtpp_node*, int, int); static int unforce_rtp_proxy_f(struct sip_msg *, char *, char *); -static int force_rtp_proxy(struct sip_msg *, char *, char *, int); +static int force_rtp_proxy(struct sip_msg *, char *, char *, int, int); static int start_recording_f(struct sip_msg *, char *, char *); static int rtpproxy_answer1_f(struct sip_msg *, char *, char *); static int rtpproxy_answer2_f(struct sip_msg *, char *, char *); @@ -1672,13 +1672,13 @@ rtpproxy_offer1_f(struct sip_msg *msg, char *str1, char *str2)
cp = ip_addr2a(&msg->rcv.dst_ip); strcpy(newip, cp);
- return rtpproxy_offer2_f(msg, str1, newip);
- return force_rtp_proxy(msg, str1, newip, 1, 0);
}
static int rtpproxy_offer2_f(struct sip_msg *msg, char *param1, char *param2) {
- return force_rtp_proxy(msg, param1, param2, 1);
- return force_rtp_proxy(msg, param1, param2, 1, 1);
}
static int @@ -1687,9 +1687,13 @@ rtpproxy_answer1_f(struct sip_msg *msg, char *str1, char *str2) char *cp; char newip[IP_ADDR_MAX_STR_SIZE];
- if (msg->first_line.type == SIP_REQUEST)
- if (msg->first_line.u.request.method_value != METHOD_ACK)
- return -1;
cp = ip_addr2a(&msg->rcv.dst_ip); strcpy(newip, cp);
- return rtpproxy_answer2_f(msg, str1, newip);
- return force_rtp_proxy(msg, str1, newip, 0, 0);
}
static int @@ -1700,7 +1704,7 @@ rtpproxy_answer2_f(struct sip_msg *msg, char *param1, char *param2) if (msg->first_line.u.request.method_value != METHOD_ACK) return -1;
- return force_rtp_proxy(msg, param1, param2, 0);
- return force_rtp_proxy(msg, param1, param2, 0, 1);
}
@@ -1751,7 +1755,7 @@ free_opts(struct options *op1, struct options *op2, struct options *op3) } while (0);
static int -force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer) +force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer, int forcedIP) { str body, body1, oldport, oldip, newport, newip; str callid, from_tag, to_tag, tmp, payload_types; @@ -2165,8 +2169,16 @@ force_rtp_proxy(struct sip_msg* msg, char* str1, char* str2, int offer) newip.len = 7; } } else {
- newip.s = (argc < 2) ? str2 : argv[1];
- newip.len = strlen(newip.s);
- if (forcedIP) {
- newip.s = str2;
- newip.len = strlen(newip.s);
+#ifdef EXTRA_DEBUG
- LM_DBG("forcing IP='%.*s'\n", newip.len, newip.s);
+#endif
- } else {
- newip.s = (argc < 2) ? str2 : argv[1];
- newip.len = strlen(newip.s);
- }
} /* marker to double check : newport goes: str -> int -> str ?!?! */ newport.s = int2str(port, &newport.len); /* beware static buffer */
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev