summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Peeler <jpeeler@digium.com>2009-12-02 00:45:18 +0000
committerJeff Peeler <jpeeler@digium.com>2009-12-02 00:45:18 +0000
commit08ec550c1673c44e1ef176f2399c7f30d0e30a71 (patch)
treecc66167fb0f7b664dd8f750b9e1081329d06820c
parent1ed9e34c0d309c66bd42db7ee92ffaf57410ff81 (diff)
Merged revisions 232090 via svnmerge from
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
-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 40e7de230..707a9b21a 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -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)) {