Index: apps/app_meetme.c =================================================================== --- apps/app_meetme.c (revision 58432) +++ apps/app_meetme.c (working copy) @@ -3331,8 +3331,10 @@ if (sla_check_timed_out_station(ringing_trunk, station)) continue; - if (remove) + if (remove) { + ast_log(LOG_DEBUG, "Removing ringing trunk %s\n", ringing_trunk->trunk->name); AST_LIST_REMOVE_CURRENT(&sla.ringing_trunks, entry); + } if (trunk_ref) *trunk_ref = s_trunk_ref; @@ -3686,6 +3688,7 @@ time_elapsed = ast_tvdiff_ms(ast_tvnow(), ringing_trunk->ring_begin); time_left = (ringing_trunk->trunk->ring_timeout * 1000) - time_elapsed; if (time_left <= 0) { + ast_log(LOG_DEBUG, "Removing ringing trunk %s\n", ringing_trunk->trunk->name); AST_LIST_REMOVE_CURRENT(&sla.ringing_trunks, entry); sla_stop_ringing_trunk(ringing_trunk); res = 1; @@ -4231,6 +4234,7 @@ ast_mutex_lock(&sla.lock); AST_LIST_TRAVERSE_SAFE_BEGIN(&sla.ringing_trunks, ringing_trunk, entry) { if (ringing_trunk->trunk == trunk) { + ast_log(LOG_DEBUG, "Found unanswered ringing trunk to remove\n"); AST_LIST_REMOVE_CURRENT(&sla.ringing_trunks, entry); break; } @@ -4240,8 +4244,10 @@ if (ringing_trunk) { free(ringing_trunk); pbx_builtin_setvar_helper(chan, "SLATRUNK_STATUS", "UNANSWERED"); + ast_log(LOG_DEBUG, "RINGING_TRUNK event from removing ringing trunk\n"); sla_queue_event(SLA_EVENT_RINGING_TRUNK); - } + } else + ast_log(LOG_DEBUG, "Ringing trunk not found in the list. Answered already?\n"); return 0; }