From f7624718f82ea3b6ad3e7a27ff931d0100d6f98d Mon Sep 17 00:00:00 2001
From: Igor Goncharovskiy <igor.goncharovsky@gmail.com>
Date: Tue, 2 Jul 2013 10:16:27 +0000
Subject: [PATCH] Fix issue with inability to cancell call transfer made by
 on-sceen menus.

Reported by: Igor Olhovskiy
........

Merged revisions 393395 from http://svn.asterisk.org/svn/asterisk/branches/11


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

diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c
index 6e3b47afa3..5a5674daa6 100644
--- a/channels/chan_unistim.c
+++ b/channels/chan_unistim.c
@@ -3292,12 +3292,11 @@ static void key_call(struct unistimsession *pte, char keycode)
 		}
 		break;
 	case KEY_FUNC2:
+		if (ast_channel_state(sub->owner) == AST_STATE_RING) {
+			transfer_cancel_step2(pte);
+		}
 		if (ast_channel_state(sub->owner) == AST_STATE_UP) {
-			if (get_sub(pte->device, SUB_THREEWAY)) {
-				transfer_cancel_step2(pte);
-			} else {
-				transfer_call_step1(pte);
-			}
+			transfer_call_step1(pte);
 		}
 		break;
 	case KEY_HANGUP:
@@ -4815,7 +4814,6 @@ static int unistim_hangup(struct ast_channel *ast)
 				continue;
 			}
 			if (d->ssub[i] != NULL) { /* Found other subchannel active other then hangup'ed one */
-				ast_log(LOG_WARNING, "There is not only one call here %p %p %i\n",d->ssub[i], sub, i);
 				end_call = 0;
 			}
 		}
-- 
GitLab