--- asterisk-11.2.1-s2/channels/chan_unistim.c 2013-02-15 11:40:54.000000000 -0800 +++ asterisk-11.2.1-custom/channels/chan_unistim.c 2013-02-15 11:43:23.000000000 -0800 @@ -4846,7 +4846,7 @@ break; } } - refresh_all_favorite(s); /* Update favicons in case of DND keys */ + /* refresh_all_favorite(s); */ /* Update favicons in case of DND keys, problem: clears line key showing currently connected line, breaks ability to hangup currently connected line */ if (s->state == STATE_RINGING && sub->subtype == SUB_RING) { send_no_ring(s); if (ast_channel_hangupcause(ast) != AST_CAUSE_ANSWERED_ELSEWHERE) { @@ -4856,6 +4856,14 @@ if (!sub_real) { show_main_page(s); } + else { /* hangup on a ringing line: reset status to reflect that we're still on an active call */ + s->state = STATE_CALL; + send_callerid_screen(s, sub_real); + send_text(TEXT_LINE2, TEXT_NORMAL, s, ustmtext("is on-line", s)); + send_text_status(s, ustmtext(" Transf Hangup", s)); + /* send_favorite_short(sub->softkey, FAV_ICON_OFFHOOK_BLACK, s) */ + + } } if (s->state == STATE_CALL && sub->subtype == SUB_REAL) { close_call(s);