aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-02 00:42:58 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-02 00:42:58 +0000
commitb0954bd3b6efbf9fabf49f435bbf47965f7f2737 (patch)
treea77b056dec9c738a058570a805c1e50601e93130 /channels
parent2933b0c96aaeaf7edea63e1d36251267b3e6d292 (diff)
Do not modify the gain settings on data calls.
(The digital flag actually represents a data call.) (closes issue #15972) Reported by: udosw Patches: transcap_digital_fix.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@232090 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-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 805d83582..67d0d1736 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -2152,7 +2152,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)