Revision
17404
Author
mike
Date
2010-04-26 04:28:56 -0500 (Mon, 26 Apr 2010)

Log Message

add last talking time per member to conference xml list

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (17403 => 17404)


--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	2010-04-26 09:26:54 UTC (rev 17403)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	2010-04-26 09:28:56 UTC (rev 17404)
@@ -336,6 +336,7 @@
 	int32_t energy_level;
 	int32_t volume_in_level;
 	int32_t volume_out_level;
+	switch_time_t last_talking;
 	uint32_t native_rate;
 	switch_audio_resampler_t *read_resampler;
 	int16_t *resample_out;
@@ -1912,6 +1913,7 @@
 
 				if (diff >= diff_level || ++hangunder_hits >= hangunder) {
 					hangover_hits = hangunder_hits = 0;
+					member->last_talking = switch_epoch_time_now(NULL);
 
 					if (!switch_test_flag(member, MFLAG_TALKING)) {
 						switch_event_t *event;
@@ -3616,6 +3618,9 @@
 		add_x_tag(x_member, "caller_id_number", profile->caller_id_number, toff++);
 
 
+                switch_snprintf(i, sizeof(i), "%d", switch_epoch_time_now(NULL) - member->last_talking);
+                add_x_tag(x_member, "last_talking", member->last_talking ? i : "N/A", toff++);
+
 		x_flags = switch_xml_add_child_d(x_member, "flags", count++);
 		switch_assert(x_flags);