From 685c71490a5430a59e0f7a29c9b78b46ab490e9f Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Mon, 29 Apr 2013 05:30:57 +0000 Subject: 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 --- pjsip/src/pjsua-lib/pjsua_call.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'pjsip') 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; } } -- cgit v1.2.3