sips/ice: disconnect event only if previously connected

Refs #68668

Change-Id: I620cbe2370ffac8c6584ab3f3dd55a879123d2d1
This commit is contained in:
Adrien Béraud
2015-03-16 18:14:29 -04:00
committed by Gerrit Code Review
parent 8a6b5f2a0b
commit 19aab4b58b

View File

@ -800,7 +800,7 @@ SipsIceTransport::clean()
pjsip_transport_add_ref(getTransportBase());
auto state_cb = pjsip_tpmgr_get_state_cb(trData_.base.tpmgr);
if (state_cb) {
if (state_cb && state_ == TlsConnectionState::ESTABLISHED) {
pjsip_transport_state_info state_info;
pjsip_tls_state_info tls_info;
@ -816,12 +816,9 @@ SipsIceTransport::clean()
(*state_cb)(getTransportBase(), PJSIP_TP_STATE_DISCONNECTED, &state_info);
}
if (trData_.base.is_shutdown or trData_.base.is_destroying) {
pjsip_transport_dec_ref(getTransportBase());
return;
}
if (not trData_.base.is_shutdown and not trData_.base.is_destroying)
pjsip_transport_shutdown(getTransportBase());
pjsip_transport_shutdown(getTransportBase());
pjsip_transport_dec_ref(getTransportBase());
}