summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2016-03-03 08:30:56 +0000
committerLiong Sauw Ming <ming@teluu.com>2016-03-03 08:30:56 +0000
commit9367f52454076bf60dc4efa8b87f488807dee95a (patch)
tree39a24fee531ee149c5f55b38a4e70d537249c7af
parentdadb786718e17735efce99fb2c73ec269beb7e6a (diff)
Fixed #1905: assertion in call redirection
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5252 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip/src/pjsua-lib/pjsua_call.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c
index bb549654..d8cf68ec 100644
--- a/pjsip/src/pjsua-lib/pjsua_call.c
+++ b/pjsip/src/pjsua-lib/pjsua_call.c
@@ -4797,7 +4797,8 @@ static void pjsua_call_on_tsx_state_changed(pjsip_inv_session *inv,
pjsip_method_cmp(&tsx->method, &pjsip_invite_method)==0 &&
tsx->state >= PJSIP_TSX_STATE_COMPLETED &&
e->body.tsx_state.prev_state < PJSIP_TSX_STATE_COMPLETED &&
- (tsx->status_code!=401 && tsx->status_code!=407 &&
+ (!PJSIP_IS_STATUS_IN_CLASS(tsx->status_code, 300) &&
+ tsx->status_code!=401 && tsx->status_code!=407 &&
tsx->status_code!=422))
{
if (tsx->status_code/100 == 2) {
@@ -4842,7 +4843,8 @@ static void pjsua_call_on_tsx_state_changed(pjsip_inv_session *inv,
pjsip_method_cmp(&tsx->method, &pjsip_update_method)==0 &&
tsx->state >= PJSIP_TSX_STATE_COMPLETED &&
e->body.tsx_state.prev_state < PJSIP_TSX_STATE_COMPLETED &&
- (tsx->status_code!=401 && tsx->status_code!=407 &&
+ (!PJSIP_IS_STATUS_IN_CLASS(tsx->status_code, 300) &&
+ tsx->status_code!=401 && tsx->status_code!=407 &&
tsx->status_code!=422))
{
if (tsx->status_code/100 != 2 ||