diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 0f5c2d028d..9cce246aa4 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -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++) {