@ -664,6 +664,18 @@ static void rad_tick(void* arg) {
now - t - > call_started < RADIO_CALL_RING_TB | | now - t - > call_started > RADIO_CALL_RING_TB + 1000 ) goto phone_failed ;
call_set_phone_state ( C , 0 , 0 ) ;
DEBUG_INFO ( DEBUG_CATEGORY_RADIO , " phone policy passed: hidden/published BGP, warn, override with loss, reject, independent blocks, 60s choice " ) ;
radio_set_active ( C , gid , 1 ) ;
call_set_phone_state ( C , 2 , CALL_POLICY_BLOCK_RADIO | CALL_POLICY_WARN_PHONE | CALL_POLICY_REJECT_PHONE ) ;
g_drop_result = 1 ; g_drop_ack = 1 ;
radio_action ( A , 114 , RADIO_CALL_START , nc ) ; + + t - > call_step ; break ;
case 21 :
if ( ! g_calls [ 14 ] [ IDX_A ] . finished ) break ;
if ( g_calls [ 14 ] [ IDX_A ] . reason ! = RADIO_CALL_ALREADY_ACTIVE | | g_calls [ 14 ] [ IDX_C ] . incoming | |
! radio_is_active ( C , gid ) | | radio_is_active ( A , gid ) ) goto phone_failed ;
radio_action ( A , 114 , RADIO_CALL_CONTINUE , 0 ) ;
radio_set_active ( C , gid , 0 ) ;
call_set_phone_state ( C , 0 , 0 ) ;
DEBUG_INFO ( DEBUG_CATEGORY_RADIO , " already-active reply delivered with RESULT/ACK loss, no incoming event and no caller radio activation " ) ;
t - > phase = P_RADIO_ON ; break ;
phone_failed :
DEBUG_ERROR ( DEBUG_CATEGORY_RADIO , " phone policy failed step=%d force_drops_left=%d incoming108=%d state108=%d reason108=%d " ,