Module: sip-router Branch: 4.0 Commit: 211348ae0fa62282fb437fc97beeab6b10a1dbed URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=211348ae0fa62282fb437fc97beeab6b10a1dbed
Author: Daniel-Constantin Mierla <[email protected]> Committer: Daniel-Constantin Mierla <[email protected]> Date: Sun Nov 24 16:06:41 2013 +0100 tmx: backup and restore existing T and branch pointers for t_cancel_callid() - reported and initial patch by Guillaume Bour (cherry picked from commit 60372d613544af1f8f06122eb77fa2a9636a6c3a) (cherry picked from commit f7ed69d75746dc55e5a48a7a18602124e73cd3cd) --- modules/tmx/tmx_mod.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/modules/tmx/tmx_mod.c b/modules/tmx/tmx_mod.c index c559f40..8837a58 100644 --- a/modules/tmx/tmx_mod.c +++ b/modules/tmx/tmx_mod.c @@ -331,6 +331,8 @@ static int fixup_cancel_callid(void** param, int param_no) static int t_cancel_callid(struct sip_msg* msg, char *cid, char *cseq, char *flag) { struct cell *trans; + struct cell *bkt; + int bkb; struct cancel_info cancel_data; str cseq_s; str callid_s; @@ -356,6 +358,8 @@ static int t_cancel_callid(struct sip_msg* msg, char *cid, char *cseq, char *fla return -1; } + bkt = _tmx_tmb.t_gett(); + bkb = _tmx_tmb.t_gett_branch(); if( _tmx_tmb.t_lookup_callid(&trans, callid_s, cseq_s) < 0 ) { DBG("Lookup failed - no transaction\n"); return -1; @@ -370,6 +374,7 @@ static int t_cancel_callid(struct sip_msg* msg, char *cid, char *cseq, char *fla _tmx_tmb.cancel_uacs(trans, &cancel_data, 0); //_tmx_tmb.unref_cell(trans); + _tmx_tmb.t_sett(bkt, bkb); return 1; } _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
