summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2015-01-22 08:48:32 +0000
committerLiong Sauw Ming <ming@teluu.com>2015-01-22 08:48:32 +0000
commite97419fb349a35c917455608216745e3ec94b897 (patch)
treec9bb5fabae857669cd6ebd35b002fb0cd6833e57 /pjsip
parent591f068c76a79f7b9c097f27a7a78bca53086533 (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
Diffstat (limited to 'pjsip')
-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 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 &&