summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2013-04-29 05:30:57 +0000
committerNanang Izzuddin <nanang@teluu.com>2013-04-29 05:30:57 +0000
commit685c71490a5430a59e0f7a29c9b78b46ab490e9f (patch)
tree518f845b67dcbe0900a1a6e594a05a42d861d4d8 /pjsip
parent4f0aa07c68c652e53aca43486602ea341b769d1e (diff)
Fixed #1662: Reset/nullify the pointer to dialog in internal PJSUA call structure after an incoming call is terminated due to media channel init error.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4509 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_call.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c
index 386025ec..bb6cb561 100644
--- a/pjsip/src/pjsua-lib/pjsua_call.c
+++ b/pjsip/src/pjsua-lib/pjsua_call.c
@@ -1371,7 +1371,8 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
*/
pjsip_dlg_respond(dlg, rdata, sip_err_code, NULL, NULL, NULL);
pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE);
- call->inv = NULL;
+ call->inv = NULL;
+ call->async_call.dlg = NULL;
goto on_return;
}
} else if (status != PJ_EPENDING) {
@@ -1379,6 +1380,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
pjsip_dlg_respond(dlg, rdata, sip_err_code, NULL, NULL, NULL);
pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE);
call->inv = NULL;
+ call->async_call.dlg = NULL;
goto on_return;
}
}
@@ -1405,6 +1407,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
pjsua_media_channel_deinit(call->index);
call->inv = NULL;
+ call->async_call.dlg = NULL;
goto on_return;
}
@@ -1444,6 +1447,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
}
pjsua_media_channel_deinit(call->index);
call->inv = NULL;
+ call->async_call.dlg = NULL;
goto on_return;
} else {
@@ -1452,6 +1456,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata)
pjsua_perror(THIS_FILE, "Unable to send 100 response", status);
pjsua_media_channel_deinit(call->index);
call->inv = NULL;
+ call->async_call.dlg = NULL;
goto on_return;
}
}