Module: kamailio Branch: 4.4 Commit: 3d166a443c2de24a6b742a1bb5f5dd7f2dfac98b URL: https://github.com/kamailio/kamailio/commit/3d166a443c2de24a6b742a1bb5f5dd7f2dfac98b
Author: Federico Cabiddu <[email protected]> Committer: Federico Cabiddu <[email protected]> Date: 2017-04-18T23:00:03+02:00 tm: don't reset uac reply if in a continue route (cherry picked from commit 152504f108d39ae33c845f7e74a889411868033d) --- Modified: modules/tm/t_reply.c --- Diff: https://github.com/kamailio/kamailio/commit/3d166a443c2de24a6b742a1bb5f5dd7f2dfac98b.diff Patch: https://github.com/kamailio/kamailio/commit/3d166a443c2de24a6b742a1bb5f5dd7f2dfac98b.patch --- diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c index cf56de7..aa37f2a 100644 --- a/modules/tm/t_reply.c +++ b/modules/tm/t_reply.c @@ -1293,7 +1293,10 @@ static enum rps t_should_relay_response( struct cell *Trans , int new_code, picked_branch = branch; run_branch_failure_handlers( Trans, Trans->uac[branch].reply, new_code, extra_flags); - Trans->uac[branch].reply = 0; + /* Don't do reset the reply if we are in a resume route, + * we need to free it at the end of the continue processing */ + if (!(Trans->flags&T_ASYNC_CONTINUE)) + Trans->uac[branch].reply = 0; } @@ -1375,8 +1378,11 @@ static enum rps t_should_relay_response( struct cell *Trans , int new_code, /* now reset it; after the failure logic, the reply may * not be stored any more and we don't want to keep into - * transaction some broken reference */ - Trans->uac[branch].reply = 0; + * transaction some broken reference. Don't do it if we + * are in a resume route, we need to free it at the end + * of the continue processing */ + if (!(Trans->flags&T_ASYNC_CONTINUE)) + Trans->uac[branch].reply = 0; /* look if the callback perhaps replied transaction; it also covers the case in which a transaction is replied localy _______________________________________________ Kamailio (SER) - Development Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
