From 3b01ff719c0c87ff0c70c0e841d8bf5afcfd0f0b Mon Sep 17 00:00:00 2001
From: Richard Mudgett <rmudgett@digium.com>
Date: Mon, 11 May 2009 19:11:29 +0000
Subject: [PATCH] Merged revisions 193613 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r193613 | rmudgett | 2009-05-11 14:09:00 -0500 (Mon, 11 May 2009) | 12 lines

  Sent wrong message to clear a call we started if the other end has not responed yet.

  In the state MISDN_CALLING (i.e. SETUP was sent but no answer has arrived yet),
  it is not allowed to clear the call with RELEASE_COMPLETE.  It must be
  cleared with DISCONNECT.  A RELEASE_COMPLETE is only allowed as an answer
  to a SETUP.  (See Q.931 ch. 5.3.2, 5.3.2.a, 5.3.2.b)

  Patches:
      chan-misdn-ccstate7.patch uploaded by customer.

  JIRA ABE-1862
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_misdn.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index b356e4d91b..34402b0d6d 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -6835,12 +6835,11 @@ CLEAN_CH:
 
 	switch (p->state) {
 	case MISDN_INCOMING_SETUP:
-	case MISDN_CALLING:
 		p->state = MISDN_CLEANING;
 		/* This is the only place in misdn_hangup, where we
 		 * can call release_chan, else it might create lot's of trouble
 		 * */
-		ast_log(LOG_NOTICE, "release channel, in CALLING/INCOMING_SETUP state.. no other events happened\n");
+		ast_log(LOG_NOTICE, "release channel, in INCOMING_SETUP state.. no other events happened\n");
 		release_chan(bc);
 		misdn_lib_send_event(bc, EVENT_RELEASE_COMPLETE);
 		break;
@@ -6863,6 +6862,7 @@ CLEAN_CH:
 		}
 		break;
 
+	case MISDN_CALLING:
 	case MISDN_ALERTING:
 	case MISDN_PROGRESS:
 	case MISDN_PROCEEDING:
-- 
GitLab