Hello,
you can commit, but add it also to force_rtp_proxy, where it should be just ignored -- in this way rtpproxy_manage() can be used for all requests and replies with same parameter.
Cheers, Daniel
On 10/20/12 9:17 AM, Juha Heinanen wrote:
the patch below adds 't' flag to rtpproxy_destroy flags. if 't' flag is present when rtpproxy_destroy is called, to tag is not included in D command sent to rtpproxy thus causing destroy of the full call.
't' flag can be used to avoid piling up of unused rtpproxy calls by making it possible to call rtpproxy_destroy when 200 ok is received from a branch where rtpproxy is not used.
is it ok for me to commit this patch or do long term rtpproxy users have a better idea?
it would still make sense to include a timer in rtpproxy that cleans up un-used calls at an interval that corresponds to sip proxy's invite timeout.
-- juha
*** /usr/src/orig/sip-router/modules/rtpproxy/rtpproxy.c 2012-10-19 14:31:27.658485534 +0300 --- modules/rtpproxy/rtpproxy.c 2012-10-20 09:52:10.308389743 +0300
*** 1678,1683 **** --- 1678,1684 ---- str callid, from_tag, to_tag, viabranch; char *cp; int via = 0;
- int to = 1; int ret; struct rtpp_node *node; struct iovec v[1 + 4 + 3 + 2] = {{NULL, 0}, {"D", 1}, {" ", 1}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {" ", 1}, {NULL, 0}, {" ", 1}, {NULL, 0}};
*** 1700,1705 **** --- 1701,1710 ---- via = 1; break;
case 't':
case 'T':
to = 0;
break; case 'a': case 'A': case 'i':
*** 1736,1742 **** return -1; } to_tag.s = 0; ! if (get_to_tag(msg, &to_tag) == -1) { LM_ERR("can't get To tag\n"); return -1; } --- 1741,1748 ---- return -1; } to_tag.s = 0; ! to_tag.len = 0; ! if ((to == 1) && get_to_tag(msg, &to_tag) == -1) { LM_ERR("can't get To tag\n"); return -1; }
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users