* Miscellaneous formatting changes to make v1.4 and trunk
authorRichard Mudgett <rmudgett@digium.com>
Tue, 30 Sep 2008 21:00:54 +0000 (21:00 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 30 Sep 2008 21:00:54 +0000 (21:00 +0000)
more merge compatible in the mISDN area.

channels/chan_misdn.c
*  Eliminated redundant code in cb_events() EVENT_SETUP

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

channels/chan_misdn.c
channels/misdn/isdn_lib.c
channels/misdn/isdn_lib.h
doc/tex/misdn.tex

index 3d3da0c..7f71df0 100644 (file)
@@ -425,49 +425,50 @@ static void print_facility(struct FacParm *fac, struct misdn_bchannel *bc)
 {
        switch (fac->Function) {
 #ifdef HAVE_MISDN_FAC_RESULT
 {
        switch (fac->Function) {
 #ifdef HAVE_MISDN_FAC_RESULT
-               case Fac_RESULT:
-                       chan_misdn_log(0, bc->port," --> Received RESULT Operation\n");
-                       break;
+       case Fac_RESULT:
+               chan_misdn_log(0, bc->port," --> Received RESULT Operation\n");
+               break;
 #endif
 #ifdef HAVE_MISDN_FAC_ERROR
 #endif
 #ifdef HAVE_MISDN_FAC_ERROR
-               case Fac_ERROR:
-                       chan_misdn_log(0, bc->port," --> Received Error Operation\n");
-                       chan_misdn_log(0, bc->port," --> Value:%d Error:%s\n",fac->u.ERROR.errorValue, fac->u.ERROR.error);
-                       break;
+       case Fac_ERROR:
+               chan_misdn_log(0, bc->port," --> Received Error Operation\n");
+               chan_misdn_log(0, bc->port," --> Value:%d Error:%s\n",fac->u.ERROR.errorValue, fac->u.ERROR.error);
+               break;
 #endif
 #endif
-               case Fac_CD:
-                       chan_misdn_log(1,bc->port," --> calldeflect to: %s, screened: %s\n", fac->u.CDeflection.DeflectedToNumber,
-                                       fac->u.CDeflection.PresentationAllowed ? "yes" : "no");
-                       break;
-               case Fac_AOCDCurrency:
-                       if (fac->u.AOCDcur.chargeNotAvailable)
-                               chan_misdn_log(1,bc->port," --> AOCD currency: charge not available\n");
-                       else if (fac->u.AOCDcur.freeOfCharge)
-                               chan_misdn_log(1,bc->port," --> AOCD currency: free of charge\n");
-                       else if (fac->u.AOCDchu.billingId >= 0)
-                               chan_misdn_log(1,bc->port," --> AOCD currency: currency:%s amount:%d multiplier:%d typeOfChargingInfo:%s billingId:%d\n",
-                                               fac->u.AOCDcur.currency, fac->u.AOCDcur.currencyAmount, fac->u.AOCDcur.multiplier,
-                                               (fac->u.AOCDcur.typeOfChargingInfo == 0) ? "subTotal" : "total", fac->u.AOCDcur.billingId);
-                       else
-                               chan_misdn_log(1,bc->port," --> AOCD currency: currency:%s amount:%d multiplier:%d typeOfChargingInfo:%s\n",
-                                               fac->u.AOCDcur.currency, fac->u.AOCDcur.currencyAmount, fac->u.AOCDcur.multiplier,
-                                               (fac->u.AOCDcur.typeOfChargingInfo == 0) ? "subTotal" : "total");
-                       break;
-               case Fac_AOCDChargingUnit:
-                       if (fac->u.AOCDchu.chargeNotAvailable)
-                               chan_misdn_log(1,bc->port," --> AOCD charging unit: charge not available\n");
-                       else if (fac->u.AOCDchu.freeOfCharge)
-                               chan_misdn_log(1,bc->port," --> AOCD charging unit: free of charge\n");
-                       else if (fac->u.AOCDchu.billingId >= 0)
-                               chan_misdn_log(1,bc->port," --> AOCD charging unit: recordedUnits:%d typeOfChargingInfo:%s billingId:%d\n",
-                                               fac->u.AOCDchu.recordedUnits, (fac->u.AOCDchu.typeOfChargingInfo == 0) ? "subTotal" : "total", fac->u.AOCDchu.billingId);
-                       else
-                               chan_misdn_log(1,bc->port," --> AOCD charging unit: recordedUnits:%d typeOfChargingInfo:%s\n",
-                                               fac->u.AOCDchu.recordedUnits, (fac->u.AOCDchu.typeOfChargingInfo == 0) ? "subTotal" : "total");
-                       break;
-               case Fac_None:
-               default:
-                       chan_misdn_log(1,bc->port," --> unknown facility\n");
+       case Fac_CD:
+               chan_misdn_log(1,bc->port," --> calldeflect to: %s, screened: %s\n", fac->u.CDeflection.DeflectedToNumber,
+                       fac->u.CDeflection.PresentationAllowed ? "yes" : "no");
+               break;
+       case Fac_AOCDCurrency:
+               if (fac->u.AOCDcur.chargeNotAvailable)
+                       chan_misdn_log(1,bc->port," --> AOCD currency: charge not available\n");
+               else if (fac->u.AOCDcur.freeOfCharge)
+                       chan_misdn_log(1,bc->port," --> AOCD currency: free of charge\n");
+               else if (fac->u.AOCDchu.billingId >= 0)
+                       chan_misdn_log(1,bc->port," --> AOCD currency: currency:%s amount:%d multiplier:%d typeOfChargingInfo:%s billingId:%d\n",
+                               fac->u.AOCDcur.currency, fac->u.AOCDcur.currencyAmount, fac->u.AOCDcur.multiplier,
+                               (fac->u.AOCDcur.typeOfChargingInfo == 0) ? "subTotal" : "total", fac->u.AOCDcur.billingId);
+               else
+                       chan_misdn_log(1,bc->port," --> AOCD currency: currency:%s amount:%d multiplier:%d typeOfChargingInfo:%s\n",
+                               fac->u.AOCDcur.currency, fac->u.AOCDcur.currencyAmount, fac->u.AOCDcur.multiplier,
+                               (fac->u.AOCDcur.typeOfChargingInfo == 0) ? "subTotal" : "total");
+               break;
+       case Fac_AOCDChargingUnit:
+               if (fac->u.AOCDchu.chargeNotAvailable)
+                       chan_misdn_log(1,bc->port," --> AOCD charging unit: charge not available\n");
+               else if (fac->u.AOCDchu.freeOfCharge)
+                       chan_misdn_log(1,bc->port," --> AOCD charging unit: free of charge\n");
+               else if (fac->u.AOCDchu.billingId >= 0)
+                       chan_misdn_log(1,bc->port," --> AOCD charging unit: recordedUnits:%d typeOfChargingInfo:%s billingId:%d\n",
+                               fac->u.AOCDchu.recordedUnits, (fac->u.AOCDchu.typeOfChargingInfo == 0) ? "subTotal" : "total", fac->u.AOCDchu.billingId);
+               else
+                       chan_misdn_log(1,bc->port," --> AOCD charging unit: recordedUnits:%d typeOfChargingInfo:%s\n",
+                               fac->u.AOCDchu.recordedUnits, (fac->u.AOCDchu.typeOfChargingInfo == 0) ? "subTotal" : "total");
+               break;
+       case Fac_None:
+       default:
+               chan_misdn_log(1,bc->port," --> unknown facility\n");
+               break;
        }
 }
 
        }
 }
 
@@ -747,7 +748,7 @@ static char *handle_cli_misdn_set_debug(struct ast_cli_entry *e, int cmd, struct
 
        if (a->argc < 4 || a->argc > 7)
                return CLI_SHOWUSAGE;
 
        if (a->argc < 4 || a->argc > 7)
                return CLI_SHOWUSAGE;
-       
+
        if (!strcasecmp(a->argv[3], "on")) {
                level = 1;
        } else if (!strcasecmp(a->argv[3], "off")) {
        if (!strcasecmp(a->argv[3], "on")) {
                level = 1;
        } else if (!strcasecmp(a->argv[3], "off")) {
@@ -757,10 +758,11 @@ static char *handle_cli_misdn_set_debug(struct ast_cli_entry *e, int cmd, struct
        }
 
        switch (a->argc) {
        }
 
        switch (a->argc) {
-       case 4: 
+       case 4:
        case 5:
                {
        case 5:
                {
-                       int only = 0, i;
+                       int i;
+                       int only = 0;
                        if (a->argc == 5) {
                                if (strncasecmp(a->argv[4], "only", strlen(a->argv[4])))
                                        return CLI_SHOWUSAGE;
                        if (a->argc == 5) {
                                if (strncasecmp(a->argv[4], "only", strlen(a->argv[4])))
                                        return CLI_SHOWUSAGE;
@@ -775,7 +777,7 @@ static char *handle_cli_misdn_set_debug(struct ast_cli_entry *e, int cmd, struct
                        ast_cli(a->fd, "changing debug level for all ports to %d%s\n",misdn_debug[0], only?" (only)":"");
                }
                break;
                        ast_cli(a->fd, "changing debug level for all ports to %d%s\n",misdn_debug[0], only?" (only)":"");
                }
                break;
-       case 6: 
+       case 6:
        case 7:
                {
                        int port;
        case 7:
                {
                        int port;
@@ -979,8 +981,6 @@ static inline void show_config_description(int fd, enum misdn_cfg_elements elem)
                ast_cli(fd, "[%s] %s   (Default: %s)\n\t%s\n", section, name, def, desc);
        else
                ast_cli(fd, "[%s] %s\n\t%s\n", section, name, desc);
                ast_cli(fd, "[%s] %s   (Default: %s)\n\t%s\n", section, name, def, desc);
        else
                ast_cli(fd, "[%s] %s\n\t%s\n", section, name, desc);
-
-       return;
 }
 
 static char *handle_cli_misdn_show_config(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 }
 
 static char *handle_cli_misdn_show_config(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
@@ -1218,7 +1218,7 @@ static void print_bc_info (int fd, struct chan_list *help, struct misdn_bchannel
 
 static char *handle_cli_misdn_show_channels(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
 
 static char *handle_cli_misdn_show_channels(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
-       struct chan_list *help = NULL;
+       struct chan_list *help;
 
        switch (cmd) {
        case CLI_INIT:
 
        switch (cmd) {
        case CLI_INIT:
@@ -1236,7 +1236,7 @@ static char *handle_cli_misdn_show_channels(struct ast_cli_entry *e, int cmd, st
 
        help = cl_te;
   
 
        help = cl_te;
   
-       ast_cli(a->fd, "Channel List: %p\n", cl_te); 
+       ast_cli(a->fd, "Channel List: %p\n", cl_te);
 
        for (; help; help = help->next) {
                struct misdn_bchannel *bc = help->bc;   
 
        for (; help; help = help->next) {
                struct misdn_bchannel *bc = help->bc;   
@@ -1280,7 +1280,7 @@ static char *handle_cli_misdn_show_channels(struct ast_cli_entry *e, int cmd, st
 
 static char *handle_cli_misdn_show_channel(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
 
 static char *handle_cli_misdn_show_channel(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
-       struct chan_list *help = NULL;
+       struct chan_list *help;
 
        switch (cmd) {
        case CLI_INIT:
 
        switch (cmd) {
        case CLI_INIT:
@@ -1359,7 +1359,7 @@ static char *handle_cli_misdn_show_stacks(struct ast_cli_entry *e, int cmd, stru
             port = misdn_cfg_get_next_port(port)) {
                char buf[128];
                get_show_stack_details(port, buf);
             port = misdn_cfg_get_next_port(port)) {
                char buf[128];
                get_show_stack_details(port, buf);
-               ast_cli(a->fd,"  %s  Debug:%d%s\n", buf, misdn_debug[port], misdn_debug_only[port] ? "(only)" : "");
+               ast_cli(a->fd, "  %s  Debug:%d%s\n", buf, misdn_debug[port], misdn_debug_only[port] ? "(only)" : "");
        }
 
        return CLI_SUCCESS;
        }
 
        return CLI_SUCCESS;
@@ -1514,6 +1514,9 @@ static char *handle_cli_misdn_send_facility(struct ast_cli_entry *e, int cmd, st
 
 static char *handle_cli_misdn_send_restart(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
 
 static char *handle_cli_misdn_send_restart(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
+       int port;
+       int channel;
+
        switch (cmd) {
        case CLI_INIT:
                e->command = "misdn send restart";
        switch (cmd) {
        case CLI_INIT:
                e->command = "misdn send restart";
@@ -1528,10 +1531,14 @@ static char *handle_cli_misdn_send_restart(struct ast_cli_entry *e, int cmd, str
        if (a->argc < 4 || a->argc > 5)
                return CLI_SHOWUSAGE;
 
        if (a->argc < 4 || a->argc > 5)
                return CLI_SHOWUSAGE;
 
-       if (a->argc == 5)
-               misdn_lib_send_restart(atoi(a->argv[3]), atoi(a->argv[4]));
-       else
-               misdn_lib_send_restart(atoi(a->argv[3]), -1);
+       port = atoi(a->argv[3]);
+
+       if (a->argc == 5) {
+               channel = atoi(a->argv[4]);
+               misdn_lib_send_restart(port, channel);
+       } else {
+               misdn_lib_send_restart(port, -1);
+       }
 
        return CLI_SUCCESS;
 }
 
        return CLI_SUCCESS;
 }
@@ -1613,7 +1620,7 @@ static char *handle_cli_misdn_toggle_echocancel(struct ast_cli_entry *e, int cmd
                return CLI_SUCCESS;
        }
 
                return CLI_SUCCESS;
        }
 
-       tmp->toggle_ec = tmp->toggle_ec?0:1;
+       tmp->toggle_ec = tmp->toggle_ec ? 0 : 1;
 
        if (tmp->toggle_ec) {
 #ifdef MISDN_1_2
 
        if (tmp->toggle_ec) {
 #ifdef MISDN_1_2
@@ -1946,10 +1953,15 @@ static int read_config(struct chan_list *ch, int orig)
 {
        struct ast_channel *ast;
        struct misdn_bchannel *bc;
 {
        struct ast_channel *ast;
        struct misdn_bchannel *bc;
-       int port, hdlc = 0;
-       char lang[BUFFERSIZE + 1], localmusicclass[BUFFERSIZE + 1], faxdetect[BUFFERSIZE + 1];
-       char buf[256], buf2[256];
-       ast_group_t pg, cg;
+       int port;
+       int hdlc = 0;
+       char lang[BUFFERSIZE + 1];
+       char localmusicclass[BUFFERSIZE + 1];
+       char faxdetect[BUFFERSIZE + 1];
+       char buf[256];
+       char buf2[256];
+       ast_group_t pg;
+       ast_group_t cg;
 
        if (!ch) {
                ast_log(LOG_WARNING, "Cannot configure without chanlist\n");
 
        if (!ch) {
                ast_log(LOG_WARNING, "Cannot configure without chanlist\n");
@@ -1979,10 +1991,10 @@ static int read_config(struct chan_list *ch, int orig)
 
        misdn_cfg_get(port, MISDN_CFG_SENDDTMF, &bc->send_dtmf, sizeof(bc->send_dtmf));
        
 
        misdn_cfg_get(port, MISDN_CFG_SENDDTMF, &bc->send_dtmf, sizeof(bc->send_dtmf));
        
-       misdn_cfg_get( port, MISDN_CFG_ASTDTMF, &ch->ast_dsp, sizeof(int));
+       misdn_cfg_get(port, MISDN_CFG_ASTDTMF, &ch->ast_dsp, sizeof(int));
 
        if (ch->ast_dsp) {
 
        if (ch->ast_dsp) {
-               ch->ignore_dtmf=1;
+               ch->ignore_dtmf = 1;
        }
 
        misdn_cfg_get(port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(bc->need_more_infos));
        }
 
        misdn_cfg_get(port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(bc->need_more_infos));
@@ -2295,7 +2307,7 @@ static int misdn_answer(struct ast_channel *ast)
        struct chan_list *p;
        const char *tmp;
 
        struct chan_list *p;
        const char *tmp;
 
-       if (!ast || ! (p = MISDN_ASTERISK_TECH_PVT(ast)) ) return -1;
+       if (!ast || !(p = MISDN_ASTERISK_TECH_PVT(ast))) return -1;
        
        chan_misdn_log(1, p ? (p->bc ? p->bc->port : 0) : 0, "* ANSWER:\n");
        
        
        chan_misdn_log(1, p ? (p->bc ? p->bc->port : 0) : 0, "* ANSWER:\n");
        
@@ -2311,7 +2323,6 @@ static int misdn_answer(struct ast_channel *ast)
        }
 
        tmp = pbx_builtin_getvar_helper(p->ast, "CRYPT_KEY");
        }
 
        tmp = pbx_builtin_getvar_helper(p->ast, "CRYPT_KEY");
-
        if (!ast_strlen_zero(tmp)) {
                chan_misdn_log(1, p->bc->port, " --> Connection will be BF crypted\n");
                ast_copy_string(p->bc->crypt_key, tmp, sizeof(p->bc->crypt_key));
        if (!ast_strlen_zero(tmp)) {
                chan_misdn_log(1, p->bc->port, " --> Connection will be BF crypted\n");
                ast_copy_string(p->bc->crypt_key, tmp, sizeof(p->bc->crypt_key));
@@ -2352,8 +2363,8 @@ static int misdn_digit_end(struct ast_channel *ast, char digit, unsigned int dur
        struct chan_list *p;
        struct misdn_bchannel *bc;
        char buf[2] = { digit, 0 };
        struct chan_list *p;
        struct misdn_bchannel *bc;
        char buf[2] = { digit, 0 };
-       
-       if (!ast || ! (p=MISDN_ASTERISK_TECH_PVT(ast))) return -1;
+
+       if (!ast || !(p = MISDN_ASTERISK_TECH_PVT(ast))) return -1;
 
        bc = p->bc;
        chan_misdn_log(1, bc ? bc->port : 0, "* IND : Digit %c\n", digit);
 
        bc = p->bc;
        chan_misdn_log(1, bc ? bc->port : 0, "* IND : Digit %c\n", digit);
@@ -2384,7 +2395,7 @@ static int misdn_digit_end(struct ast_channel *ast, char digit, unsigned int dur
                        if ( bc->send_dtmf ) 
                                send_digit_to_chan(p,digit);
                break;
                        if ( bc->send_dtmf ) 
                                send_digit_to_chan(p,digit);
                break;
-}
+       }
 
        return 0;
 }
 
        return 0;
 }
@@ -2451,7 +2462,7 @@ static int misdn_indication(struct ast_channel *ast, int cond, const void *data,
                        p->state = MISDN_ALERTING;
                        chan_misdn_log(2, p->bc->port, " --> * IND :\tringing pid:%d\n", p->bc ? p->bc->pid : -1);
                        misdn_lib_send_event( p->bc, EVENT_ALERTING);
                        p->state = MISDN_ALERTING;
                        chan_misdn_log(2, p->bc->port, " --> * IND :\tringing pid:%d\n", p->bc ? p->bc->pid : -1);
                        misdn_lib_send_event( p->bc, EVENT_ALERTING);
-                       
+
                        if (p->other_ch && p->other_ch->bc) {
                                if (misdn_inband_avail(p->other_ch->bc)) {
                                        chan_misdn_log(2, p->bc->port, " --> other End is mISDN and has inband info available\n");
                        if (p->other_ch && p->other_ch->bc) {
                                if (misdn_inband_avail(p->other_ch->bc)) {
                                        chan_misdn_log(2, p->bc->port, " --> other End is mISDN and has inband info available\n");
@@ -2466,8 +2477,8 @@ static int misdn_indication(struct ast_channel *ast, int cond, const void *data,
 
                        chan_misdn_log(3, p->bc->port, " --> * SEND: State Ring pid:%d\n", p->bc ? p->bc->pid : -1);
                        ast_setstate(ast, AST_STATE_RINGING);
 
                        chan_misdn_log(3, p->bc->port, " --> * SEND: State Ring pid:%d\n", p->bc ? p->bc->pid : -1);
                        ast_setstate(ast, AST_STATE_RINGING);
-                       
-                       if ( !p->bc->nt && (p->originator == ORG_MISDN) && !p->incoming_early_audio ) 
+
+                       if (!p->bc->nt && (p->originator == ORG_MISDN) && !p->incoming_early_audio)
                                chan_misdn_log(2, p->bc->port, " --> incoming_early_audio off\n");
                        else 
                                return -1;
                                chan_misdn_log(2, p->bc->port, " --> incoming_early_audio off\n");
                        else 
                                return -1;
@@ -2595,13 +2606,13 @@ static int misdn_hangup(struct ast_channel *ast)
                stop_bc_tones(p);
 
        bc->out_cause = ast->hangupcause ? ast->hangupcause : AST_CAUSE_NORMAL_CLEARING;
                stop_bc_tones(p);
 
        bc->out_cause = ast->hangupcause ? ast->hangupcause : AST_CAUSE_NORMAL_CLEARING;
-               
-       if ( (varcause = pbx_builtin_getvar_helper(ast, "HANGUPCAUSE")) ||
-            (varcause = pbx_builtin_getvar_helper(ast, "PRI_CAUSE"))) {
+
+       if ((varcause = pbx_builtin_getvar_helper(ast, "HANGUPCAUSE")) ||
+               (varcause = pbx_builtin_getvar_helper(ast, "PRI_CAUSE"))) {
                int tmpcause = atoi(varcause);
                bc->out_cause = tmpcause ? tmpcause : AST_CAUSE_NORMAL_CLEARING;
        }
                int tmpcause = atoi(varcause);
                bc->out_cause = tmpcause ? tmpcause : AST_CAUSE_NORMAL_CLEARING;
        }
-    
+
        chan_misdn_log(1, bc->port, "* IND : HANGUP\tpid:%d ctx:%s dad:%s oad:%s State:%s\n", p->bc ? p->bc->pid : -1, ast->context, ast->exten, ast->cid.cid_num, misdn_get_ch_state(p));
        chan_misdn_log(3, bc->port, " --> l3id:%x\n", p->l3id);
        chan_misdn_log(3, bc->port, " --> cause:%d\n", bc->cause);
        chan_misdn_log(1, bc->port, "* IND : HANGUP\tpid:%d ctx:%s dad:%s oad:%s State:%s\n", p->bc ? p->bc->pid : -1, ast->context, ast->exten, ast->cid.cid_num, misdn_get_ch_state(p));
        chan_misdn_log(3, bc->port, " --> l3id:%x\n", p->l3id);
        chan_misdn_log(3, bc->port, " --> cause:%d\n", bc->cause);
@@ -2623,25 +2634,25 @@ static int misdn_hangup(struct ast_channel *ast)
        case MISDN_DIALING:
                start_bc_tones(p);
                hanguptone_indicate(p);
        case MISDN_DIALING:
                start_bc_tones(p);
                hanguptone_indicate(p);
-               
-               p->state=MISDN_CLEANING;
+
+               p->state = MISDN_CLEANING;
                if (bc->need_disconnect)
                        misdn_lib_send_event( bc, EVENT_DISCONNECT);
                break;
        case MISDN_CALLING_ACKNOWLEDGE:
                start_bc_tones(p);
                hanguptone_indicate(p);
                if (bc->need_disconnect)
                        misdn_lib_send_event( bc, EVENT_DISCONNECT);
                break;
        case MISDN_CALLING_ACKNOWLEDGE:
                start_bc_tones(p);
                hanguptone_indicate(p);
-               
+
                if (bc->need_disconnect)
                        misdn_lib_send_event( bc, EVENT_DISCONNECT);
                break;
                if (bc->need_disconnect)
                        misdn_lib_send_event( bc, EVENT_DISCONNECT);
                break;
-      
+
        case MISDN_ALERTING:
        case MISDN_PROGRESS:
        case MISDN_PROCEEDING:
                if (p->originator != ORG_AST) 
                        hanguptone_indicate(p);
        case MISDN_ALERTING:
        case MISDN_PROGRESS:
        case MISDN_PROCEEDING:
                if (p->originator != ORG_AST) 
                        hanguptone_indicate(p);
-      
+
                /*p->state=MISDN_CLEANING;*/
                if (bc->need_disconnect)
                        misdn_lib_send_event( bc, EVENT_DISCONNECT);
                /*p->state=MISDN_CLEANING;*/
                if (bc->need_disconnect)
                        misdn_lib_send_event( bc, EVENT_DISCONNECT);
@@ -2672,7 +2683,7 @@ static int misdn_hangup(struct ast_channel *ast)
 
        case MISDN_BUSY:
                break;
 
        case MISDN_BUSY:
                break;
-      
+
        case MISDN_HOLD_DISCONNECT:
                /* need to send release here */
                chan_misdn_log(1, bc->port, " --> cause %d\n", bc->cause);
        case MISDN_HOLD_DISCONNECT:
                /* need to send release here */
                chan_misdn_log(1, bc->port, " --> cause %d\n", bc->cause);
@@ -2696,7 +2707,7 @@ static int misdn_hangup(struct ast_channel *ast)
        }
 
        p->state = MISDN_CLEANING;
        }
 
        p->state = MISDN_CLEANING;
-    
+
        chan_misdn_log(3, bc->port, " --> Channel: %s hanguped new state:%s\n", ast->name, misdn_get_ch_state(p));
 
        return 0;
        chan_misdn_log(3, bc->port, " --> Channel: %s hanguped new state:%s\n", ast->name, misdn_get_ch_state(p));
 
        return 0;
@@ -2928,7 +2939,7 @@ static int misdn_write(struct ast_channel *ast, struct ast_frame *frame)
 
                ast_debug(1, "write2mISDN %p %d bytes: ", p, frame->samples);
 
 
                ast_debug(1, "write2mISDN %p %d bytes: ", p, frame->samples);
 
-               for (i = 0; i < max ; i++)
+               for (i = 0; i < max; i++)
                        ast_debug(1, "%2.2x ", ((char*) frame->data.ptr)[i]);
        }
 #endif
                        ast_debug(1, "%2.2x ", ((char*) frame->data.ptr)[i]);
        }
 #endif
@@ -2960,7 +2971,7 @@ static int misdn_write(struct ast_channel *ast, struct ast_frame *frame)
                
        } else {
                /*transmit without jitterbuffer*/
                
        } else {
                /*transmit without jitterbuffer*/
-               i=misdn_lib_tx2misdn_frm(ch->bc, frame->data.ptr, frame->samples);
+               i = misdn_lib_tx2misdn_frm(ch->bc, frame->data.ptr, frame->samples);
        }
 
        return 0;
        }
 
        return 0;
@@ -3155,7 +3166,6 @@ static struct chan_list *init_chan_list(int orig)
        struct chan_list *cl;
 
        cl = ast_calloc(1, sizeof(*cl));
        struct chan_list *cl;
 
        cl = ast_calloc(1, sizeof(*cl));
-
        if (!cl) {
                chan_misdn_log(-1, 0, "misdn_request: malloc failed!");
                return NULL;
        if (!cl) {
                chan_misdn_log(-1, 0, "misdn_request: malloc failed!");
                return NULL;
@@ -3276,7 +3286,6 @@ static struct ast_channel *misdn_request(const char *type, int format, void *dat
                                        }
                                }
                        } while (!newbc && robin_channel != rr->channel);
                                        }
                                }
                        } while (!newbc && robin_channel != rr->channel);
-                       
                } else {                
                        for (port = misdn_cfg_get_next_port(0); port > 0;
                                 port = misdn_cfg_get_next_port(port)) {
                } else {                
                        for (port = misdn_cfg_get_next_port(0); port > 0;
                                 port = misdn_cfg_get_next_port(port)) {
@@ -3443,7 +3452,6 @@ static struct ast_channel *misdn_new(struct chan_list *chlist, int state,  char
        }
 
        tmp = ast_channel_alloc(1, state, cid_num, cid_name, "", exten, "", 0, "%s/%s%d-u%d", misdn_type, c ? "" : "tmp", chan_offset + c, glob_channel++);
        }
 
        tmp = ast_channel_alloc(1, state, cid_num, cid_name, "", exten, "", 0, "%s/%s%d-u%d", misdn_type, c ? "" : "tmp", chan_offset + c, glob_channel++);
-
        if (tmp) {
                chan_misdn_log(2, 0, " --> * NEW CHANNEL dad:%s oad:%s\n", exten, callerid);
 
        if (tmp) {
                chan_misdn_log(2, 0, " --> * NEW CHANNEL dad:%s oad:%s\n", exten, callerid);
 
@@ -3479,7 +3487,6 @@ static struct ast_channel *misdn_new(struct chan_list *chlist, int state,  char
 
                if (pipe(chlist->pipe) < 0)
                        ast_log(LOG_ERROR, "Pipe failed\n");
 
                if (pipe(chlist->pipe) < 0)
                        ast_log(LOG_ERROR, "Pipe failed\n");
-
                ast_channel_set_fd(tmp, 0, chlist->pipe[0]);
 
                if (state == AST_STATE_RING)
                ast_channel_set_fd(tmp, 0, chlist->pipe[0]);
 
                if (state == AST_STATE_RING)
@@ -3527,9 +3534,9 @@ static struct chan_list *find_holded(struct chan_list *list, struct misdn_bchann
 
        chan_misdn_log(6, bc->port, "$$$ find_holded: channel:%d oad:%s dad:%s\n", bc->channel, bc->oad, bc->dad);
        for (;help; help = help->next) {
 
        chan_misdn_log(6, bc->port, "$$$ find_holded: channel:%d oad:%s dad:%s\n", bc->channel, bc->oad, bc->dad);
        for (;help; help = help->next) {
-               chan_misdn_log(4, bc->port, "$$$ find_holded: --> holded:%d channel:%d\n", help->state==MISDN_HOLDED, help->hold_info.channel);
-               if (    (help->state == MISDN_HOLDED) && 
-                       (help->hold_info.port == bc->port) ) 
+               chan_misdn_log(4, bc->port, "$$$ find_holded: --> holded:%d channel:%d\n", help->state == MISDN_HOLDED, help->hold_info.channel);
+               if ((help->state == MISDN_HOLDED) && 
+                       (help->hold_info.port == bc->port))
                        return help;
        }
        chan_misdn_log(6, bc->port, "$$$ find_chan: No channel found for oad:%s dad:%s\n", bc->oad, bc->dad);
                        return help;
        }
        chan_misdn_log(6, bc->port, "$$$ find_chan: No channel found for oad:%s dad:%s\n", bc->oad, bc->dad);
@@ -3653,7 +3660,7 @@ static void hangup_chan(struct chan_list *ch)
 
 /** Isdn asks us to release channel, pendant to misdn_hangup **/
 static void release_chan(struct misdn_bchannel *bc) {
 
 /** Isdn asks us to release channel, pendant to misdn_hangup **/
 static void release_chan(struct misdn_bchannel *bc) {
-       struct ast_channel *ast=NULL;
+       struct ast_channel *ast = NULL;
 
        ast_mutex_lock(&release_lock);
        {
 
        ast_mutex_lock(&release_lock);
        {
@@ -3715,9 +3722,8 @@ static void release_chan(struct misdn_bchannel *bc) {
                } else {
                        /* chan is already cleaned, so exiting  */
                }
                } else {
                        /* chan is already cleaned, so exiting  */
                }
-
-               ast_mutex_unlock(&release_lock);
        }
        }
+       ast_mutex_unlock(&release_lock);
 /*** release end **/
 }
 
 /*** release end **/
 }
 
@@ -3854,7 +3860,9 @@ static void send_cause2ast(struct ast_channel *ast, struct misdn_bchannel *bc, s
 
 void import_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_list *ch)
 {
 
 void import_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_list *ch)
 {
-       const char *tmp = pbx_builtin_getvar_helper(chan, "MISDN_PID");
+       const char *tmp;
+
+       tmp = pbx_builtin_getvar_helper(chan, "MISDN_PID");
        if (tmp) {
                ch->other_pid = atoi(tmp);
                chan_misdn_log(3, bc->port, " --> IMPORT_PID: importing pid:%s\n", tmp);
        if (tmp) {
                ch->other_pid = atoi(tmp);
                chan_misdn_log(3, bc->port, " --> IMPORT_PID: importing pid:%s\n", tmp);
@@ -3878,8 +3886,9 @@ void import_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_
        }
 
        tmp = pbx_builtin_getvar_helper(chan, "MISDN_KEYPAD");
        }
 
        tmp = pbx_builtin_getvar_helper(chan, "MISDN_KEYPAD");
-       if (tmp)
+       if (tmp) {
                ast_copy_string(bc->keypad, tmp, sizeof(bc->keypad));
                ast_copy_string(bc->keypad, tmp, sizeof(bc->keypad));
+       }
 }
 
 void export_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_list *ch)
 }
 
 void export_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_list *ch)
@@ -3899,8 +3908,9 @@ void export_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_
                pbx_builtin_setvar_helper(chan, "MISDN_URATE", tmp);
        }
 
                pbx_builtin_setvar_helper(chan, "MISDN_URATE", tmp);
        }
 
-       if (bc->uulen)
+       if (bc->uulen) {
                pbx_builtin_setvar_helper(chan, "MISDN_USERUSER", bc->uu);
                pbx_builtin_setvar_helper(chan, "MISDN_USERUSER", bc->uu);
+       }
 
        if (!ast_strlen_zero(bc->keypad)) 
                pbx_builtin_setvar_helper(chan, "MISDN_KEYPAD", bc->keypad);
 
        if (!ast_strlen_zero(bc->keypad)) 
                pbx_builtin_setvar_helper(chan, "MISDN_KEYPAD", bc->keypad);
@@ -4061,7 +4071,9 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
        case EVENT_DTMF_TONE:
        {
                /*  sending INFOS as DTMF-Frames :) */
        case EVENT_DTMF_TONE:
        {
                /*  sending INFOS as DTMF-Frames :) */
-               struct ast_frame fr = { 0, };
+               struct ast_frame fr;
+
+               memset(&fr, 0, sizeof(fr));
                fr.frametype = AST_FRAME_DTMF;
                fr.subclass = bc->dtmf ;
                fr.src = NULL;
                fr.frametype = AST_FRAME_DTMF;
                fr.subclass = bc->dtmf ;
                fr.src = NULL;
@@ -4098,7 +4110,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
                                ast_copy_string(bc->info_dad, bc->keypad, sizeof(bc->info_dad));
                        }
 
                                ast_copy_string(bc->info_dad, bc->keypad, sizeof(bc->info_dad));
                        }
 
-                       strncat(bc->dad,bc->info_dad, sizeof(bc->dad) - strlen(bc->dad) - 1);
+                       strncat(bc->dad, bc->info_dad, sizeof(bc->dad) - strlen(bc->dad) - 1);
                        ast_copy_string(ch->ast->exten, bc->dad, sizeof(ch->ast->exten));
 
                        /* Check for Pickup Request first */
                        ast_copy_string(ch->ast->exten, bc->dad, sizeof(ch->ast->exten));
 
                        /* Check for Pickup Request first */
@@ -4158,6 +4170,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
                        /*  sending INFOS as DTMF-Frames :) */
                        struct ast_frame fr;
                        int digits;
                        /*  sending INFOS as DTMF-Frames :) */
                        struct ast_frame fr;
                        int digits;
+
                        memset(&fr, 0, sizeof(fr));
                        fr.frametype = AST_FRAME_DTMF;
                        fr.subclass = bc->info_dad[0] ;
                        memset(&fr, 0, sizeof(fr));
                        fr.frametype = AST_FRAME_DTMF;
                        fr.subclass = bc->info_dad[0] ;
@@ -4188,7 +4201,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
                int msn_valid = misdn_cfg_is_msn_valid(bc->port, bc->dad);
                struct ast_channel *chan;
                int exceed;
                int msn_valid = misdn_cfg_is_msn_valid(bc->port, bc->dad);
                struct ast_channel *chan;
                int exceed;
-               int pres,screen;
+               int pres, screen;
                int ai;
                int im;
 
                int ai;
                int im;
 
@@ -4217,21 +4230,6 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
                }
 
                print_bearer(bc);
                }
 
                print_bearer(bc);
-    
-               if (!bc->nt && ! msn_valid) {
-                       chan_misdn_log(1, bc->port, " --> Ignoring Call, its not in our MSN List\n");
-                       return RESPONSE_IGNORE_SETUP; /*  Ignore MSNs which are not in our List */
-               }
-
-               if (bc->cw) {
-                       int cause;
-                       chan_misdn_log(0, bc->port, " --> Call Waiting on PMP sending RELEASE_COMPLETE\n");
-                       misdn_cfg_get(bc->port, MISDN_CFG_REJECT_CAUSE, &cause, sizeof(cause));
-                       bc->out_cause = cause ? cause : AST_CAUSE_NORMAL_CLEARING;
-                       return RESPONSE_RELEASE_SETUP;
-               }
-
-               print_bearer(bc);
 
                ch = init_chan_list(ORG_MISDN);
 
 
                ch = init_chan_list(ORG_MISDN);
 
@@ -4499,7 +4497,6 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
        break;
        case EVENT_PROCEEDING:
        {
        break;
        case EVENT_PROCEEDING:
        {
-               
                if (misdn_cap_is_speech(bc->capability) &&
                     misdn_inband_avail(bc) ) {
                        start_bc_tones(ch);
                if (misdn_cap_is_speech(bc->capability) &&
                     misdn_inband_avail(bc) ) {
                        start_bc_tones(ch);
@@ -4514,7 +4511,6 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
        }
        break;
        case EVENT_PROGRESS:
        }
        break;
        case EVENT_PROGRESS:
-
                if (bc->channel) 
                        update_name(ch->ast, bc->port, bc->channel);
 
                if (bc->channel) 
                        update_name(ch->ast, bc->port, bc->channel);
 
@@ -4733,7 +4729,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
        {
                if (ch->bc->AOCD_need_export)
                        export_aoc_vars(ch->originator, ch->ast, ch->bc);
        {
                if (ch->bc->AOCD_need_export)
                        export_aoc_vars(ch->originator, ch->ast, ch->bc);
-               if (!misdn_cap_is_speech(ch->bc->capability) ) {
+               if (!misdn_cap_is_speech(ch->bc->capability)) {
                        struct ast_frame frame;
                        /*In Data Modes we queue frames*/
                        frame.frametype  = AST_FRAME_VOICE; /*we have no data frames yet*/
                        struct ast_frame frame;
                        /*In Data Modes we queue frames*/
                        frame.frametype  = AST_FRAME_VOICE; /*we have no data frames yet*/
@@ -4784,7 +4780,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
        }
        break;
        case EVENT_TIMEOUT:
        }
        break;
        case EVENT_TIMEOUT:
-               {
+       {
                if (ch && bc)
                        chan_misdn_log(1, bc->port, "--> state: %s\n", misdn_get_ch_state(ch));
 
                if (ch && bc)
                        chan_misdn_log(1, bc->port, "--> state: %s\n", misdn_get_ch_state(ch));
 
@@ -4953,7 +4949,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
 #ifdef HAVE_MISDN_FAC_ERROR
                case Fac_ERROR:
 #endif
 #ifdef HAVE_MISDN_FAC_ERROR
                case Fac_ERROR:
 #endif
-               break;
+                       break;
                default:
                        chan_misdn_log(0, bc->port," --> not yet handled: facility type:%d\n", bc->fac_in.Function);
                }
                default:
                        chan_misdn_log(0, bc->port," --> not yet handled: facility type:%d\n", bc->fac_in.Function);
                }
@@ -5113,8 +5109,8 @@ static int load_module(void)
                "        takes taps as optarg (32,64,128,256)\n"
                "   e! - Disable echo cancelation on this channel\n"
                "    f - Enable fax detection\n"
                "        takes taps as optarg (32,64,128,256)\n"
                "   e! - Disable echo cancelation on this channel\n"
                "    f - Enable fax detection\n"
-               "    h - Make digital outgoing call\n" 
-               "   h1 - Make HDLC mode digital outgoing call\n" 
+               "    h - Make digital outgoing call\n"
+               "   h1 - Make HDLC mode digital outgoing call\n"
                "    i - Ignore detected DTMF tones, don't signal them to Asterisk,\n"
                "        they will be transported inband.\n"
                "   jb - Set jitter buffer length, optarg is length\n"
                "    i - Ignore detected DTMF tones, don't signal them to Asterisk,\n"
                "        they will be transported inband.\n"
                "   jb - Set jitter buffer length, optarg is length\n"
@@ -5551,15 +5547,13 @@ struct misdn_jb *misdn_jb_init(int size, int upper_threshold)
        jb->state_empty = 0;
        jb->bytes_wrote = 0;
        jb->samples = ast_malloc(size * sizeof(char));
        jb->state_empty = 0;
        jb->bytes_wrote = 0;
        jb->samples = ast_malloc(size * sizeof(char));
-
        if (!jb->samples) {
                ast_free(jb);
                chan_misdn_log(-1, 0, "No free Mem for jb->samples\n");
                return NULL;
        }
        if (!jb->samples) {
                ast_free(jb);
                chan_misdn_log(-1, 0, "No free Mem for jb->samples\n");
                return NULL;
        }
-       
-       jb->ok = ast_malloc(size * sizeof(char));
 
 
+       jb->ok = ast_malloc(size * sizeof(char));
        if (!jb->ok) {
                ast_free(jb->samples);
                ast_free(jb);
        if (!jb->ok) {
                ast_free(jb->samples);
                ast_free(jb);
@@ -5618,7 +5612,7 @@ int misdn_jb_fill(struct misdn_jb *jb, const char *data, int len)
 
                rp = wp;
                for (j = 0; j < jb->upper_threshold; j++)
 
                rp = wp;
                for (j = 0; j < jb->upper_threshold; j++)
-                       rp = rp != 0 ? rp - 1 : jb->size - 1;
+                       rp = (rp != 0) ? rp - 1 : jb->size - 1;
                jb->rp = rp;
                jb->state_full = 0;
                jb->state_empty = 1;
                jb->rp = rp;
                jb->state_full = 0;
                jb->state_empty = 1;
index eddde67..6836e01 100644 (file)
@@ -979,7 +979,10 @@ void misdn_lib_setup_bc(struct misdn_bchannel *bc)
 int setup_bc(struct misdn_bchannel *bc)
 {
        unsigned char buff[1025];
 int setup_bc(struct misdn_bchannel *bc)
 {
        unsigned char buff[1025];
-       int midev, channel, b_stid, i;
+       int midev;
+       int channel;
+       int b_stid;
+       int i;
        mISDN_pid_t pid;
        int ret;
 
        mISDN_pid_t pid;
        int ret;
 
@@ -1857,7 +1860,8 @@ handle_event_nt(void *dat, void *arg)
                switch(hh->prim){
                case CC_RETRIEVE|INDICATION:
                {
                switch(hh->prim){
                case CC_RETRIEVE|INDICATION:
                {
-                       struct misdn_bchannel *bc, *hold_bc;
+                       struct misdn_bchannel *bc;
+                       struct misdn_bchannel *hold_bc;
 
                        iframe_t frm; /* fake te frm to add callref to global callreflist */
                        frm.dinfo = hh->dinfo;
 
                        iframe_t frm; /* fake te frm to add callref to global callreflist */
                        frm.dinfo = hh->dinfo;
@@ -3965,7 +3969,7 @@ static void manager_event_handler(void *arg)
                                } else {
                                        iframe_t *frm = (iframe_t *)msg->data;
                                        struct misdn_bchannel *bc = find_bc_by_l3id(stack, frm->dinfo);
                                } else {
                                        iframe_t *frm = (iframe_t *)msg->data;
                                        struct misdn_bchannel *bc = find_bc_by_l3id(stack, frm->dinfo);
-                                       if (bc) 
+                                       if (bc)
                                                send_msg(glob_mgr->midev, bc, msg);
                                        else  {
                                                if (frm->dinfo == MISDN_ID_GLOBAL || frm->dinfo == MISDN_ID_DUMMY ) {
                                                send_msg(glob_mgr->midev, bc, msg);
                                        else  {
                                                if (frm->dinfo == MISDN_ID_GLOBAL || frm->dinfo == MISDN_ID_DUMMY ) {
@@ -4204,7 +4208,6 @@ void manager_bchannel_activate(struct misdn_bchannel *bc)
 
 void manager_bchannel_deactivate(struct misdn_bchannel * bc)
 {
 
 void manager_bchannel_deactivate(struct misdn_bchannel * bc)
 {
-
        struct misdn_stack *stack=get_stack_by_bc(bc);
        iframe_t dact;
        char buf[128];  
        struct misdn_stack *stack=get_stack_by_bc(bc);
        iframe_t dact;
        char buf[128];  
@@ -4586,7 +4589,8 @@ void misdn_split_conf(struct misdn_bchannel *bc, int conf_id)
        cb_log(4,bc->port, "Splitting bc:%x in conf:%d\n",bc->addr,conf_id);
 }
 
        cb_log(4,bc->port, "Splitting bc:%x in conf:%d\n",bc->addr,conf_id);
 }
 
-void misdn_lib_bridge( struct misdn_bchannel * bc1, struct misdn_bchannel *bc2) {
+void misdn_lib_bridge( struct misdn_bchannel * bc1, struct misdn_bchannel *bc2)
+{
        int conf_id = bc1->pid + 1;
        struct misdn_bchannel *bc_list[] = { bc1, bc2, NULL };
        struct misdn_bchannel **bc;
        int conf_id = bc1->pid + 1;
        struct misdn_bchannel *bc_list[] = { bc1, bc2, NULL };
        struct misdn_bchannel **bc;
index 15e43b0..59b9418 100644 (file)
@@ -410,7 +410,7 @@ struct misdn_bchannel {
        /*! \brief This is used as a pending bridge join request for when bc_state becomes BCHAN_ACTIVATED */
        enum bchannel_state next_bc_state;
 
        /*! \brief This is used as a pending bridge join request for when bc_state becomes BCHAN_ACTIVATED */
        enum bchannel_state next_bc_state;
 
-       /*! \brief Bridgign conference ID */
+       /*! \brief Bridging conference ID */
        int conf_id;
 
        /*! \brief TRUE if this channel is on hold */
        int conf_id;
 
        /*! \brief TRUE if this channel is on hold */
index a2be24f..9ac245e 100644 (file)
@@ -65,8 +65,7 @@ Modules. Also install process described in \url{http://www.misdn.org/index.php/I
 
 To compile and install this driver, you'll need at least one mISDN Driver and
 the mISDNuser package. Chan\_misdn works with both, the current release version
 
 To compile and install this driver, you'll need at least one mISDN Driver and
 the mISDNuser package. Chan\_misdn works with both, the current release version
-and the development (svn trunk) version of Asterisk. mISDNuser and mISDN must
-be fetched from cvs.isdn4linux.de.
+and the development (svn trunk) version of Asterisk.
 
 You should use Kernels $>$= 2.6.9
 
 
 You should use Kernels $>$= 2.6.9
 
@@ -138,14 +137,15 @@ The available options are:
       takes taps as optarg (32,64,128,256)
  e! - Disable echo cancelation on this channel
   f - Enable fax detection
       takes taps as optarg (32,64,128,256)
  e! - Disable echo cancelation on this channel
   f - Enable fax detection
-  h - Make digital outgoing call 
- h1 - Make HDLC mode digital outgoing call 
+  h - Make digital outgoing call
+ h1 - Make HDLC mode digital outgoing call
   i - Ignore detected DTMF tones, don't signal them to Asterisk,
       they will be transported inband.
  jb - Set jitter buffer length, optarg is length
  jt - Set jitter buffer upper threshold, optarg is threshold
  jn - Disable jitter buffer
   i - Ignore detected DTMF tones, don't signal them to Asterisk,
       they will be transported inband.
  jb - Set jitter buffer length, optarg is length
  jt - Set jitter buffer upper threshold, optarg is threshold
  jn - Disable jitter buffer
-  n - Don't have mISDN detect DTMF tones on called channel
+  n - Disable mISDN DSP on channel.
+      Disables: echo cancel, DTMF detection, and volume control.
   p - Caller ID presentation,
       optarg is either 'allowed' or 'restricted'
   s - Send Non-inband DTMF as inband
   p - Caller ID presentation,
       optarg is either 'allowed' or 'restricted'
   s - Send Non-inband DTMF as inband
@@ -220,7 +220,7 @@ Now you should see the misdn cli commands:
 
 You can only use "misdn send display" when an Asterisk channel is created and
 isdn is in the correct state. "correct state" means that you have established a
 
 You can only use "misdn send display" when an Asterisk channel is created and
 isdn is in the correct state. "correct state" means that you have established a
-call to another phone (mustnot be isdn though).
+call to another phone (must not be isdn though).
 
 Then you use it like this:
 
 
 Then you use it like this: