diff options
author | automerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-05-09 18:18:21 +0000 |
---|---|---|
committer | automerge <automerge@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-05-09 18:18:21 +0000 |
commit | 9ab3c2c7d7bd9555099e0b7a0705d8e3f70e681d (patch) | |
tree | c7695ef0ef43ad4019cbbc2113e4c5105d00495e /channels | |
parent | e522b29560dca571a2442d32ea31b1afab1c39c5 (diff) |
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@63696 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_zap.c | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 3dea1aa5d..4d8d91440 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -5191,28 +5191,30 @@ static struct ast_channel *zt_new(struct zt_pvt *i, int state, int startpbx, int i->subs[index].linear = 0; zt_setlinear(i->subs[index].zfd, i->subs[index].linear); features = 0; - if (i->busydetect && CANBUSYDETECT(i)) { - features |= DSP_FEATURE_BUSY_DETECT; - } - if ((i->callprogress & 1) && CANPROGRESSDETECT(i)) { - features |= DSP_FEATURE_CALL_PROGRESS; - } - if ((!i->outgoing && (i->callprogress & 4)) || - (i->outgoing && (i->callprogress & 2))) { - features |= DSP_FEATURE_FAX_DETECT; - } + if (index == SUB_REAL) { + if (i->busydetect && CANBUSYDETECT(i)) { + features |= DSP_FEATURE_BUSY_DETECT; + } + if ((i->callprogress & 1) && CANPROGRESSDETECT(i)) { + features |= DSP_FEATURE_CALL_PROGRESS; + } + if ((!i->outgoing && (i->callprogress & 4)) || + (i->outgoing && (i->callprogress & 2))) { + features |= DSP_FEATURE_FAX_DETECT; + } #ifdef ZT_TONEDETECT - x = ZT_TONEDETECT_ON | ZT_TONEDETECT_MUTE; - if (ioctl(i->subs[index].zfd, ZT_TONEDETECT, &x)) { + x = ZT_TONEDETECT_ON | ZT_TONEDETECT_MUTE; + if (ioctl(i->subs[index].zfd, ZT_TONEDETECT, &x)) { #endif - i->hardwaredtmf = 0; - features |= DSP_FEATURE_DTMF_DETECT; + i->hardwaredtmf = 0; + features |= DSP_FEATURE_DTMF_DETECT; #ifdef ZT_TONEDETECT - } else if (NEED_MFDETECT(i)) { - i->hardwaredtmf = 1; - features |= DSP_FEATURE_DTMF_DETECT; - } + } else if (NEED_MFDETECT(i)) { + i->hardwaredtmf = 1; + features |= DSP_FEATURE_DTMF_DETECT; + } #endif + } if (features) { if (i->dsp) { ast_log(LOG_DEBUG, "Already have a dsp on %s?\n", tmp->name); |