diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2013-04-29 05:30:57 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2013-04-29 05:30:57 +0000 |
commit | 685c71490a5430a59e0f7a29c9b78b46ab490e9f (patch) | |
tree | 518f845b67dcbe0900a1a6e594a05a42d861d4d8 | |
parent | 4f0aa07c68c652e53aca43486602ea341b769d1e (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
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 7 |
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; } } |