summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsip/sip_transport_tls.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/pjsip/src/pjsip/sip_transport_tls.c b/pjsip/src/pjsip/sip_transport_tls.c
index bae3ffd1..4495589b 100644
--- a/pjsip/src/pjsip/sip_transport_tls.c
+++ b/pjsip/src/pjsip/sip_transport_tls.c
@@ -194,9 +194,21 @@ static void tls_init_shutdown(struct tls_transport *tls, pj_status_t status)
state_cb = pjsip_tpmgr_get_state_cb(tls->base.tpmgr);
if (state_cb) {
pjsip_transport_state_info state_info;
-
+ pjsip_tls_state_info tls_info;
+ pj_ssl_sock_info ssl_info;
+
+ /* Init transport state info */
pj_bzero(&state_info, sizeof(state_info));
state_info.status = tls->close_reason;
+
+ if (tls->ssock &&
+ pj_ssl_sock_get_info(tls->ssock, &ssl_info) == PJ_SUCCESS)
+ {
+ pj_bzero(&tls_info, sizeof(tls_info));
+ tls_info.ssl_sock_info = &ssl_info;
+ state_info.ext_info = &tls_info;
+ }
+
(*state_cb)(&tls->base, PJSIP_TP_STATE_DISCONNECTED, &state_info);
}