diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-06-05 10:05:45 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-06-05 10:05:45 +0000 |
commit | b14d4ebd361a3dfe91b8fee416fe09f0fd34970b (patch) | |
tree | 6835b2780e9ec4bc561603f14bc7f1b155843e9d | |
parent | 57a13eaab1c6707d90f1a2a5b594bb7b312e6ed2 (diff) |
added possibility to deactivate bridging per port
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@67209 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_misdn.c | 11 | ||||
-rw-r--r-- | channels/misdn/chan_misdn_config.h | 1 | ||||
-rw-r--r-- | channels/misdn_config.c | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index b26df3468..93da8d5a6 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -2404,6 +2404,16 @@ enum ast_bridge_result misdn_bridge (struct ast_channel *c0, else return -1; + int p1_b, p2_b; + + misdn_cfg_get(ch1->bc->port, MISDN_CFG_BRIDGING, &p1_b, sizeof(int)); + misdn_cfg_get(ch2->bc->port, MISDN_CFG_BRIDGING, &p2_b, sizeof(int)); + + if ( ! p1_b || ! p2_b) { + ast_log(LOG_NOTICE, "Falling back to Asterisk bridging\n"); + return AST_BRIDGE_FAILED; + } + int bridging; misdn_cfg_get( 0, MISDN_GEN_BRIDGING, &bridging, sizeof(int)); if (bridging) { @@ -2842,6 +2852,7 @@ static struct ast_channel *misdn_new(struct chan_list *chlist, int state, char int bridging; misdn_cfg_get( 0, MISDN_GEN_BRIDGING, &bridging, sizeof(int)); + if (bridging) tmp->tech = &misdn_tech; else diff --git a/channels/misdn/chan_misdn_config.h b/channels/misdn/chan_misdn_config.h index 9305df500..78cfdb2f9 100644 --- a/channels/misdn/chan_misdn_config.h +++ b/channels/misdn/chan_misdn_config.h @@ -58,6 +58,7 @@ enum misdn_cfg_elements { MISDN_CFG_NEED_MORE_INFOS, /* bool */ MISDN_CFG_NOAUTORESPOND_ON_SETUP, /* bool */ MISDN_CFG_NTTIMEOUT, /* bool */ + MISDN_CFG_BRIDGING, /* int */ MISDN_CFG_JITTERBUFFER, /* int */ MISDN_CFG_JITTERBUFFER_UPPER_THRESHOLD, /* int */ MISDN_CFG_CALLGROUP, /* ast_group_t */ diff --git a/channels/misdn_config.c b/channels/misdn_config.c index 9018e7f7a..607b44d7f 100644 --- a/channels/misdn_config.c +++ b/channels/misdn_config.c @@ -119,6 +119,7 @@ static const struct misdn_cfg_spec port_spec[] = { { "need_more_infos", MISDN_CFG_NEED_MORE_INFOS, MISDN_CTYPE_BOOL, "0", NONE }, { "noautorespond_on_setup", MISDN_CFG_NOAUTORESPOND_ON_SETUP, MISDN_CTYPE_BOOL, "0", NONE }, { "nttimeout", MISDN_CFG_NTTIMEOUT, MISDN_CTYPE_BOOL, "no", NONE }, + { "bridging", MISDN_CFG_BRIDGING, MISDN_CTYPE_BOOL, "yes", NONE }, { "jitterbuffer", MISDN_CFG_JITTERBUFFER, MISDN_CTYPE_INT, "4000", NONE }, { "jitterbuffer_upper_threshold", MISDN_CFG_JITTERBUFFER_UPPER_THRESHOLD, MISDN_CTYPE_INT, "0", NONE }, { "callgroup", MISDN_CFG_CALLGROUP, MISDN_CTYPE_ASTGROUP, NO_DEFAULT, NONE }, |