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=7ec4b51…
Author: Richard Good <richard.good(a)smilecoms.com>
Committer: Richard Good <richard.good(a)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