]> git.ipfire.org Git - thirdparty/asterisk.git/commit
chan_sip.c: Fix T.38 issues caused by leaving a bridge. 03/2303/2
authorRichard Mudgett <rmudgett@digium.com>
Mon, 22 Feb 2016 22:59:40 +0000 (16:59 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 29 Feb 2016 18:58:48 +0000 (12:58 -0600)
commit18a323e54298fee27d91ef0fe634895960a732ed
tree46d76a019568e16c21817bdc4eb49d6f640a34e5
parent263a39f2ccf54a313f5ba3f148551b9208caf183
chan_sip.c: Fix T.38 issues caused by leaving a bridge.

chan_sip could not handle AST_T38_TERMINATED frames being sent to it when
the channel left the bridge.  The action resulted in overlapping outgoing
reINVITEs.  The testsuite tests/fax/sip/directmedia_reinvite_t38 was not
happy.

* Force T.38 to be remembered as locally bridged.  Now when the channel
leaves the native RTP bridge after T.38, the channel remembers that it has
already reINVITEed the media back to Asterisk.  It just needs to terminate
T.38 when the AST_T38_TERMINATED arrives.

* Prevent redundant AST_T38_TERMINATED from causing problems.  Redundant
AST_T38_TERMINATED frames could cause overlapping outgoing reINVITEs if
they happen before the T.38 state changes to disabled.  Now the T.38 state
is set to disabled before the reINVITE is sent.

ASTERISK-25582 #close

Change-Id: I53f5c6ce7d90b3f322a942af1a9bcab6d967b7ce
channels/chan_sip.c