summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorOlle Johansson <oej@edvina.net>2006-08-30 19:07:21 +0000
committerOlle Johansson <oej@edvina.net>2006-08-30 19:07:21 +0000
commit0ace854142d8611779d99dfb92dc12544566d95a (patch)
tree251d4bca94582f5945831cd136590c183706a444 /channels
parent8d1bf3298f6a322c44b036f8cc00b1058e2c526f (diff)
Issue #7572 (Boesl) - hangup channel that get buggy 487 response (imported from 1.2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index efc89caaa..a7b7bf81c 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2987,6 +2987,7 @@ static int hangup_sip2cause(int cause)
case 401: /* Unauthorized */
return AST_CAUSE_CALL_REJECTED;
case 403: /* Not found */
+ case 487: /* Call cancelled */
return AST_CAUSE_CALL_REJECTED;
case 404: /* Not found */
return AST_CAUSE_UNALLOCATED;
@@ -11827,6 +11828,8 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
break;
case 487: /* Response on INVITE that has been CANCELled */
/* channel now destroyed - dec the inUse counter */
+ if (owner)
+ ast_queue_hangup(p->owner);
update_call_counter(p, DEC_CALL_LIMIT);
break;
case 482: /*