diff options
author | Matt Jordan <mjordan@digium.com> | 2015-11-28 08:46:02 -0600 |
---|---|---|
committer | Matt Jordan <mjordan@digium.com> | 2015-11-30 20:11:43 -0600 |
commit | 6614babea27fbafbe11820ea03737dd5c4f9ecec (patch) | |
tree | 0920e64b2f32863c146dd578784834b1638be0ac /menuselect/make_version | |
parent | 3fcf160faeb036529c575b66d73e7978f475fb28 (diff) |
bridges/bridge_t38: Add a bridging module for managing T.38 state
When 4875e5ac32 was merged, it fixed several issues with a direct media bridge
transitioning to handling a T.38 fax. However, it uncovered a race condition
caused by the bridging core. When a channel involved in a T.38 fax leaves a
bridge, the frame queued by the channel driver that should inform the far side
that it is no longer in a T.38 fax may not make it across the bridge. The
bridging framework is *extremely* aggressive in tearing down the bridge, and
control frames that are currently in flight *may* get dropped.
This patch adds a new module to the bridging framework, bridge_t38. This module
maintains some notion of the T.38 state for the two channels in a bridge. When
the bridge detects that it is being torn down or when one of the two channels
leaves, it informs the respective channel(s) that they should stop faxing. This
ensures that channels switch back to audio if they survive and are ejected out
of a bridge while faxing.
ASTERISK-25582
Change-Id: If5b0bb478eb01c4607c9f4a7fc17c7957d260ea0
Diffstat (limited to 'menuselect/make_version')
0 files changed, 0 insertions, 0 deletions