aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels/chan_dahdi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index fc63cde2a..9718bcd26 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -3134,7 +3134,11 @@ static int dahdi_call(struct ast_channel *ast, char *rdest, int timeout)
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->law);
+ if (IS_DIGITAL(ast->transfercapability)){
+ set_actual_gain(p->subs[SUB_REAL].dfd, 0, 0, 0, p->law);
+ } else {
+ set_actual_gain(p->subs[SUB_REAL].dfd, 0, p->rxgain, p->txgain, p->law);
+ }
mysig = p->sig;
if (p->outsigmod > -1)