diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-01-10 23:47:46 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-01-10 23:47:46 +0000 |
commit | 90ec5e0771acb2cc958b2185efcfff164016710f (patch) | |
tree | ce793a5abf90edd6085b770f3a9f6e1fc717f61b /channels | |
parent | 0701c25e6e5dad9f6a8f6abe7de0c040e89649a3 (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-x | channels/chan_zap.c | 5 |
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 |