diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-12-02 00:42:58 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-12-02 00:42:58 +0000 |
commit | b0954bd3b6efbf9fabf49f435bbf47965f7f2737 (patch) | |
tree | a77b056dec9c738a058570a805c1e50601e93130 /channels/chan_dahdi.c | |
parent | 2933b0c96aaeaf7edea63e1d36251267b3e6d292 (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/chan_dahdi.c')
-rw-r--r-- | channels/chan_dahdi.c | 6 |
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) |