Merged revisions 232090 via svnmerge from
authorJeff Peeler <jpeeler@digium.com>
Wed, 2 Dec 2009 00:45:18 +0000 (00:45 +0000)
committerJeff Peeler <jpeeler@digium.com>
Wed, 2 Dec 2009 00:45:18 +0000 (00:45 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r232090 | jpeeler | 2009-12-01 18:42:58 -0600 (Tue, 01 Dec 2009) | 10 lines

  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: https://origsvn.digium.com/svn/asterisk/trunk@232091 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_dahdi.c

index 40e7de2..707a9b2 100644 (file)
@@ -4602,7 +4602,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->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)) {