]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix previous commit so that we actually disable echocanbridged if echocancel is off.
authorJason Parker <jparker@digium.com>
Mon, 18 Feb 2008 22:28:56 +0000 (22:28 +0000)
committerJason Parker <jparker@digium.com>
Mon, 18 Feb 2008 22:28:56 +0000 (22:28 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@103795 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_zap.c

index 0f5c2d028dda48f93f3054ff2113bf878d093fbb..9cce246aa478e31eb5f6e60929c5862d2f6b849c 100644 (file)
@@ -7426,7 +7426,13 @@ static struct zt_pvt *mkintf(int channel, struct zt_chan_conf conf, struct zt_pr
                tmp->echocancel = conf.chan.echocancel;
                tmp->echotraining = conf.chan.echotraining;
                tmp->pulse = conf.chan.pulse;
-               tmp->echocanbridged = conf.chan.echocanbridged;
+               if (tmp->echocancel)
+                       tmp->echocanbridged = conf.chan.echocanbridged;
+               else {
+                       if (conf.chan.echocanbridged)
+                               ast_log(LOG_NOTICE, "echocancelwhenbridged requires echocancel to be enabled; ignoring\n");
+                       tmp->echocanbridged = 0;
+               }
                tmp->busydetect = conf.chan.busydetect;
                tmp->busycount = conf.chan.busycount;
                tmp->busy_tonelength = conf.chan.busy_tonelength;
@@ -9990,7 +9996,7 @@ static int zap_show_channel(int fd, int argc, char **argv)
                        ast_cli(fd, "Default law: %s\n", tmp->law == ZT_LAW_MULAW ? "ulaw" : tmp->law == ZT_LAW_ALAW ? "alaw" : "unknown");
                        ast_cli(fd, "Fax Handled: %s\n", tmp->faxhandled ? "yes" : "no");
                        ast_cli(fd, "Pulse phone: %s\n", tmp->pulsedial ? "yes" : "no");
-                       ast_cli(fd, "Echo Cancellation: %d taps%s, currently %s\n", tmp->echocancel, (!tmp->echocancel || tmp->echocanbridged) ? "" : " unless TDM bridged", tmp->echocanon ? "ON" : "OFF");
+                       ast_cli(fd, "Echo Cancellation: %d taps%s, currently %s\n", tmp->echocancel, tmp->echocanbridged ? "" : " unless TDM bridged", tmp->echocanon ? "ON" : "OFF");
                        if (tmp->master)
                                ast_cli(fd, "Master Channel: %d\n", tmp->master->channel);
                        for (x = 0; x < MAX_SLAVES; x++) {