summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2013-03-12 08:18:12 +0000
committerLiong Sauw Ming <ming@teluu.com>2013-03-12 08:18:12 +0000
commita917bcbd271fb4a0751793317f79b17a0ae8966d (patch)
tree10eee697bd83a44687a0a83a900a8a5f22311338 /pjsip/src/pjsip
parentb66ab7a7307c11a49723a55d3f54b5bdbf208b04 (diff)
Fixed #1641: Handling transport disconnection when the transaction state is still in null state
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4438 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip')
-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);
+ }
}
}