]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_session.c: Fix unbound srv failover tests. 00/3600/1
authorRichard Mudgett <rmudgett@digium.com>
Wed, 17 Aug 2016 19:13:56 +0000 (14:13 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 17 Aug 2016 21:38:19 +0000 (16:38 -0500)
commit1cd12d73a60aaf8a6940ebf5d7791c4c9d5409ac
tree16ef3d1c4c6b384b0c800b1c361f31c418298d6f
parent56e0aed17758b1cad338e84c5457824cee874d95
res_pjsip_session.c: Fix unbound srv failover tests.

Commit 1b666549f33d69dc080b212bf92126f3bc3a18b2 broke the srv failover
functionality if a TCP connection gets disconnected.  Under these
conditions, session_inv_on_state_changed() gets a
PJSIP_EVENT_TRANSPORT_ERROR and restarts the INVITE transaction on a new
transport.  Unfortunately, session_inv_on_tsx_state_changed() also gets
the same PJSIP_EVENT_TRANSPORT_ERROR event and unconditionally terminates
the session.

* Made session_inv_on_tsx_state_changed() complete terminating the session
on PJSIP_EVENT_TRANSPORT_ERROR only if the session state is still
PJSIP_INV_STATE_DISCONNECTED.

ASTERISK-26305 #close
Reported by: Richard Mudgett

Change-Id: If736e766b5c55b970fa38ca6c8a885caf27b897d
res/res_pjsip_session.c