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
committerJoshua Colp <jcolp@digium.com>2015-12-04 10:23:48 -0400
commitf42d22d3a1ca5c8ea73df99a50c6a28caa8f8749 (patch)
treed28c3536466b1239a23e8c11abe5df06cbfa2ff4 /bridges/bridge_builtin_features.c
parentfc1186bf2d5f1cab34bbe0d72f4f667044e612d0 (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