Merged revisions 67210 via svnmerge from
authorChristian Richter <christian.richter@beronet.com>
Tue, 5 Jun 2007 11:48:25 +0000 (11:48 +0000)
committerChristian Richter <christian.richter@beronet.com>
Tue, 5 Jun 2007 11:48:25 +0000 (11:48 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r67210 | crichter | 2007-06-05 12:25:32 +0200 (Di, 05 Jun 2007) | 9 lines

Merged revisions 67209 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r67209 | crichter | 2007-06-05 12:05:45 +0200 (Di, 05 Jun 2007) | 1 line

added possibility to deactivate bridging per port
........

................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67240 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c
channels/misdn/chan_misdn_config.h
channels/misdn_config.c

index 14c241f..4d936be 100644 (file)
@@ -2808,6 +2808,16 @@ static 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) {
@@ -3268,6 +3278,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
index 47d767a..17d99b4 100644 (file)
@@ -67,6 +67,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 */
index f9450c0..69b35cc 100644 (file)
@@ -314,6 +314,13 @@ static const struct misdn_cfg_spec port_spec[] = {
        { "nttimeout", MISDN_CFG_NTTIMEOUT, MISDN_CTYPE_BOOL, "no", NONE ,
                "Set this to yes if you want calls disconnected in overlap mode\n"
                "\twhen a timeout happens." },
+       { "bridging", MISDN_CFG_BRIDGING, MISDN_CTYPE_BOOL, "yes", NONE,
+               "Set this to yes/no, default is yes.\n"
+               "This can be used to have bridging enabled in general and to\n"
+               "disable it for specific ports. It makes sense to disable\n"
+               "bridging on NT Port where you plan to use the HOLD/RETRIEVE\n"
+               "features with ISDN phones.\n"
+               },
        { "msns", MISDN_CFG_MSNS, MISDN_CTYPE_MSNLIST, "*", NONE,
                "MSN's for TE ports, listen on those numbers on the above ports, and\n"
                "\tindicate the incoming calls to Asterisk.\n"