Module: sip-router Branch: tmp/tm_async_reply_support Commit: 7ec4b5106ce14f353b5cb3ec0af9bc0af4ac5f90 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=7ec4b510...
Author: Richard Good richard.good@smilecoms.com Committer: Richard Good richard.good@smilecoms.com Date: Fri Mar 15 17:57:36 2013 +0200
tm: bug fix t_continue for responses
- t_continue.c : Only set as final response if result code >= 200 when continuing a suspended response
---
modules/tm/t_suspend.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/modules/tm/t_suspend.c b/modules/tm/t_suspend.c index 607be99..9aea87f 100644 --- a/modules/tm/t_suspend.c +++ b/modules/tm/t_suspend.c @@ -328,7 +328,11 @@ int t_continue(unsigned int hash_index, unsigned int label, //} } else { LOG(L_DBG,"t is NOT local sending relaying reply with status code: [%d]", t->uac[branch].reply->first_line.u.reply.statuscode); - reply_status=relay_reply( t, t->uac[branch].reply, branch, t->uac[branch].reply->first_line.u.reply.statuscode,0, 1 ); + int do_put_on_wait = 0; + if(t->uac[branch].reply->first_line.u.reply.statuscode>=200){ + do_put_on_wait = 1; + } + reply_status=relay_reply( t, t->uac[branch].reply, branch, t->uac[branch].reply->first_line.u.reply.statuscode,0, do_put_on_wait ); //TODO do we need this? //if (reply_status == RPS_COMPLETED) { /* no more UAC FR/RETR (if I received a 2xx, there may