diff options
author | Liong Sauw Ming <ming@teluu.com> | 2013-03-12 08:18:12 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2013-03-12 08:18:12 +0000 |
commit | a917bcbd271fb4a0751793317f79b17a0ae8966d (patch) | |
tree | 10eee697bd83a44687a0a83a900a8a5f22311338 /pjsip | |
parent | b66ab7a7307c11a49723a55d3f54b5bdbf208b04 (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')
-rw-r--r-- | pjsip/src/pjsip/sip_transaction.c | 8 |
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); + } } } |