]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Do not modify the gain settings on data calls.
authorJeff Peeler <jpeeler@digium.com>
Wed, 2 Dec 2009 00:42:58 +0000 (00:42 +0000)
committerJeff Peeler <jpeeler@digium.com>
Wed, 2 Dec 2009 00:42:58 +0000 (00:42 +0000)
(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: https://origsvn.digium.com/svn/asterisk/branches/1.4@232090 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_dahdi.c

index 805d835825ebebf846bcb4007125494ba60435f6..67d0d1736fbdb1455343ee022bc833ba01a979b0 100644 (file)
@@ -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)