Fix issue with inability to cancell call transfer made by on-sceen menus.
authorIgor Goncharovskiy <igor.goncharovsky@gmail.com>
Tue, 2 Jul 2013 10:16:27 +0000 (10:16 +0000)
committerIgor Goncharovskiy <igor.goncharovsky@gmail.com>
Tue, 2 Jul 2013 10:16:27 +0000 (10:16 +0000)
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

index 6e3b47a..5a5674d 100644 (file)
@@ -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;
                        }
                }