summaryrefslogtreecommitdiff
path: root/channels/chan_zap.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-09-13 22:14:34 +0000
committerMark Spencer <markster@digium.com>2004-09-13 22:14:34 +0000
commit3cb1d7843be62bb6f0119f39d06ca5770a1d440d (patch)
treefa86626e892db2dfa6df2fd117e51bb16666e4f1 /channels/chan_zap.c
parent4d6b943ea4d7e820459b35a573f0512203dbf15f (diff)
Bring sanity to inband notification on PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_zap.c')
-rwxr-xr-xchannels/chan_zap.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 6ef99213f..52cb22fd8 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -4174,9 +4174,10 @@ static int zt_indicate(struct ast_channel *chan, int condition)
switch(condition) {
case AST_CONTROL_BUSY:
#ifdef ZAPATA_PRI
- if (p->priindication_oob && p->sig == SIG_PRI)
- res = pri_hangup(p->pri->pri, p->call, PRI_CAUSE_USER_BUSY);
- else
+ if (p->priindication_oob && p->sig == SIG_PRI) {
+ chan->hangupcause = AST_CAUSE_USER_BUSY;
+ chan->_softhangup |= AST_SOFTHANGUP_DEV;
+ } else
#endif
res = tone_zone_play_tone(p->subs[index].zfd, ZT_TONE_BUSY);
break;
@@ -4242,9 +4243,10 @@ static int zt_indicate(struct ast_channel *chan, int condition)
case AST_CONTROL_CONGESTION:
chan->hangupcause = AST_CAUSE_CONGESTION;
#ifdef ZAPATA_PRI
- if (p->priindication_oob && p->sig == SIG_PRI)
- res = pri_hangup(p->pri->pri, p->call, PRI_CAUSE_SWITCH_CONGESTION);
- else
+ if (p->priindication_oob && p->sig == SIG_PRI) {
+ chan->hangupcause = AST_CAUSE_SWITCH_CONGESTION;
+ chan->_softhangup |= AST_SOFTHANGUP_DEV;
+ } else
#endif
res = tone_zone_play_tone(p->subs[index].zfd, ZT_TONE_CONGESTION);
break;