summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjsip/src/pjsip/sip_transaction.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
index eff48562..54ddfefd 100644
--- a/pjsip/src/pjsip/sip_transaction.c
+++ b/pjsip/src/pjsip/sip_transaction.c
@@ -2176,6 +2176,14 @@ static void tsx_update_transport( pjsip_transaction *tsx,
pjsip_transport_add_ref(tp);
pjsip_transport_add_state_listener(tp, &tsx_tp_state_callback, tsx,
&tsx->tp_st_key);
+ if (tp->is_shutdown) {
+ pjsip_transport_state_info info;
+
+ pj_bzero(&info, sizeof(info));
+ info.user_data = tsx;
+ info.status = PJSIP_SC_TSX_TRANSPORT_ERROR;
+ tsx_tp_state_callback(tp, PJSIP_TP_STATE_DISCONNECTED, &info);
+ }
}
}