summaryrefslogtreecommitdiff
path: root/bridges/bridge_builtin_features.c
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2015-11-28 08:46:02 -0600
committerMatt Jordan <mjordan@digium.com>2015-11-30 20:11:43 -0600
commit6614babea27fbafbe11820ea03737dd5c4f9ecec (patch)
tree0920e64b2f32863c146dd578784834b1638be0ac /bridges/bridge_builtin_features.c
parent3fcf160faeb036529c575b66d73e7978f475fb28 (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 'bridges/bridge_builtin_features.c')
0 files changed, 0 insertions, 0 deletions