}
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:
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;
}
}