Index: channels/chan_dahdi.c =================================================================== --- channels/chan_dahdi.c (revision 230771) +++ channels/chan_dahdi.c (working copy) @@ -4593,7 +4600,11 @@ ast_log(LOG_WARNING, "Unable to flush input on channel %d: %s\n", p->channel, strerror(errno)); p->outgoing = 1; - set_actual_gain(p->subs[SUB_REAL].dfd, 0, p->rxgain, p->txgain, p->rxdrc, p->txdrc, p->law); + if (IS_DIGITAL(ast->transfercapability)){ + set_actual_gain(p->subs[SUB_REAL].dfd, 0, 0, 0, p->rxdrc, p->txdrc, p->law); + } else { + set_actual_gain(p->subs[SUB_REAL].dfd, 0, p->rxgain, p->txgain, p->rxdrc, p->txdrc, p->law); + } #ifdef HAVE_PRI if (dahdi_sig_pri_lib_handles(p->sig)) {