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 <[email protected]> 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 <[email protected]> wrote: > >> Module: sip-router >> Branch: master >> Commit: 0af3944586c881f5d3ea0be19242cdf84906269e >> URL: >> http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0af3944586c881f5d3ea0be19242cdf84906269e >> >> Author: Ovidiu Sas <[email protected]> >> Committer: Ovidiu Sas <[email protected]> >> 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 >> [email protected] >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev > _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
