Index: asterisk/apps/app_meetme.c =================================================================== --- asterisk/apps/app_meetme.c (revision 376309) +++ asterisk/apps/app_meetme.c (working copy) @@ -6420,6 +6420,8 @@ struct sla_trunk_ref *trunk_ref = args->trunk_ref; int caller_is_saved; struct ast_party_caller caller; + int last_state = 0; + int current_state = 0; if (!(dial = ast_dial_create())) { ast_mutex_lock(args->cond_lock); @@ -6473,14 +6475,25 @@ case AST_DIAL_RESULT_TIMEOUT: case AST_DIAL_RESULT_UNANSWERED: done = 1; + break; case AST_DIAL_RESULT_TRYING: + current_state = AST_CONTROL_PROGRESS; + break; case AST_DIAL_RESULT_RINGING: case AST_DIAL_RESULT_PROGRESS: case AST_DIAL_RESULT_PROCEEDING: + current_state = AST_CONTROL_RINGING; break; } if (done) break; + + /* If trunk line state changed, send indication back to originating SLA Station channel */ + if (current_state != last_state) { + ast_debug(3, "Indicating State Change %d to channel %s\n", current_state, ast_channel_name(trunk_ref->chan)); + ast_indicate(trunk_ref->chan, current_state); + last_state = current_state; + } } if (!trunk_ref->trunk->chan) {