diff options
author | Liong Sauw Ming <ming@teluu.com> | 2015-01-22 08:48:32 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2015-01-22 08:48:32 +0000 |
commit | e97419fb349a35c917455608216745e3ec94b897 (patch) | |
tree | c9bb5fabae857669cd6ebd35b002fb0cd6833e57 | |
parent | 591f068c76a79f7b9c097f27a7a78bca53086533 (diff) |
Re #1797: Fixes assert if 422 response is received (thanks to Brian Walker for the report)
If 422 is received, INVITE will be automatically retried, but the
provisional media has been cleaned up.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4976 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 6 |
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 cbadd3c7..3f822a32 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -4731,7 +4731,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)) + (tsx->status_code!=401 && tsx->status_code!=407 && + tsx->status_code!=422)) { if (tsx->status_code/100 != 2) { /* Monitor the status of call hold/unhold request */ @@ -4765,7 +4766,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)) + (tsx->status_code!=401 && tsx->status_code!=407 && + tsx->status_code!=422)) { if (tsx->status_code/100 != 2 || ((call->opt.flag & PJSUA_CALL_NO_SDP_OFFER) == 0 && |