summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-01-10 23:47:46 +0000
committerMark Spencer <markster@digium.com>2004-01-10 23:47:46 +0000
commit5bd726380ca9b55913d41a79ae94046616131dff (patch)
treece793a5abf90edd6085b770f3a9f6e1fc717f61b /channels
parent2e3400f8990c98a6d06447ff87144b1c76315ce5 (diff)
When rejecting a call, free up the channel (bug #661)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_zap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 3826e16af..9fc73eb62 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -1804,7 +1804,7 @@ static int zt_hangup(struct ast_channel *ast)
if (!p->alreadyhungup) {
res = pri_disconnect(p->pri->pri, p->call, PRI_CAUSE_NORMAL_CLEARING);
} else {
- pri_release(p->pri->pri, p->call, -1);
+ pri(p->pri->pri, p->call, -1);
p->call = NULL;
p->alreadyhungup = 0;
}
@@ -6148,7 +6148,7 @@ static void *pri_dchannel(void *vpri)
#else
pri_release(pri->pri, e->ring.call, PRI_CAUSE_SWITCH_CONGESTION);
#endif
- pri->pvt[chan]->call = 0;
+ pri->pvt[chan]->call = NULL;
}
} else {
if ((!strlen(pri->pvt[chan]->exten) || ast_matchmore_extension(NULL, pri->pvt[chan]->context, pri->pvt[chan]->exten, 1, pri->pvt[chan]->callerid)) && !e->ring.complete)
@@ -6163,6 +6163,7 @@ static void *pri_dchannel(void *vpri)
#else
pri_release(pri->pri, e->ring.call, PRI_CAUSE_UNALLOCATED);
#endif
+ pri->pvt[chan]->call = NULL;
}
}
} else