Module: sip-router
Branch: master
Commit: 60372d613544af1f8f06122eb77fa2a9636a6c3a
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=60372d613544af1f8f06122eb77fa2a9636a6c3a

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

---

 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 53a466c..89f5e65 100644
--- a/modules/tmx/tmx_mod.c
+++ b/modules/tmx/tmx_mod.c
@@ -334,6 +334,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;
@@ -359,6 +361,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;
@@ -373,6 +377,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

Reply via email to