aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-01-10 23:47:46 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-01-10 23:47:46 +0000
commit90ec5e0771acb2cc958b2185efcfff164016710f (patch)
treece793a5abf90edd6085b770f3a9f6e1fc717f61b /channels
parent0701c25e6e5dad9f6a8f6abe7de0c040e89649a3 (diff)
When rejecting a call, free up the channel (bug #661)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1922 f38db490-d61c-443f-a65b-d21fe96a405b
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