if ((f->frametype == AST_FRAME_CONTROL)) {
if (f->subclass.integer == AST_CONTROL_PVT_CAUSE_CODE) {
ast_channel_hangupcause_hash_set(other, f->data.ptr, f->datalen);
- } else if (!(flags & AST_BRIDGE_IGNORE_SIGS)
- && (f->subclass.integer != AST_CONTROL_SRCUPDATE)) {
+ } else if (f->subclass.integer != AST_CONTROL_SRCUPDATE) {
*fo = f;
*rc = who;
res = AST_BRIDGE_COMPLETE;
break;
case AST_FRAME_CONTROL:
- if (!(p->bridge->flags & AST_BRIDGE_IGNORE_SIGS)) {
- #if 0
- if (f.subclass == AST_CONTROL_BUSY ||
- f.subclass == AST_CONTROL_CONGESTION ||
- f.subclass == AST_CONTROL_HANGUP ||
- f.subclass == AST_CONTROL_FLASH)
- #endif
- endbridge = 1;
- }
+ endbridge = 1;
break;
default:
ast_verb(5, "%s: chanreads: Starting cycle ...\n", p->dev);
ast_verb(5, "%s: chanreads: Checking bridge \n", p->dev);
if (p->bridge) {
- if (p->bridge->c0 == p->owner && (p->bridge->flags & AST_BRIDGE_REC_CHANNEL_0))
- bridgerec = 1;
- else if (p->bridge->c1 == p->owner && (p->bridge->flags & AST_BRIDGE_REC_CHANNEL_1))
- bridgerec = 1;
- else
- bridgerec = 0;
+ bridgerec = 0;
} else {
bridgerec = ast_channel_is_bridged(p->owner) ? 1 : 0;
}
#define AST_BRIDGE_DTMF_CHANNEL_0 (1 << 0)
/*! \brief Report DTMF on channel 1 */
#define AST_BRIDGE_DTMF_CHANNEL_1 (1 << 1)
-/*! \brief Return all voice frames on channel 0 */
-#define AST_BRIDGE_REC_CHANNEL_0 (1 << 2)
-/*! \brief Return all voice frames on channel 1 */
-#define AST_BRIDGE_REC_CHANNEL_1 (1 << 3)
-/*! \brief Ignore all signal frames except NULL */
-#define AST_BRIDGE_IGNORE_SIGS (1 << 4)
/*!
static void set_config_flags(struct ast_channel *chan, struct ast_bridge_config *config)
{
-/* BUGBUG there is code that checks AST_BRIDGE_IGNORE_SIGS but no code to set it. */
-/* BUGBUG there is code that checks AST_BRIDGE_REC_CHANNEL_0 but no code to set it. */
-/* BUGBUG there is code that checks AST_BRIDGE_REC_CHANNEL_1 but no code to set it. */
ast_clear_flag(config, AST_FLAGS_ALL);
if (ast_test_flag(&config->features_caller, AST_FEATURE_DTMF_MASK)) {