Issue #7572 (Boesl) - hangup channel that get buggy 487 response (imported from 1.2)
authorOlle Johansson <oej@edvina.net>
Wed, 30 Aug 2006 19:07:21 +0000 (19:07 +0000)
committerOlle Johansson <oej@edvina.net>
Wed, 30 Aug 2006 19:07:21 +0000 (19:07 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41433 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index efc89ca..a7b7bf8 100644 (file)
@@ -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: /*