[Freeswitch-svn] [commit] r9567 - freeswitch/trunk/src
    Freeswitch SVN 
    anthm at freeswitch.org
       
    Mon Sep 15 10:32:24 EDT 2008
    
    
  
Author: anthm
Date: Mon Sep 15 10:32:23 2008
New Revision: 9567
Modified:
   freeswitch/trunk/src/switch_caller.c
Log:
expose time table to variable interface via caller field lookup 
Modified: freeswitch/trunk/src/switch_caller.c
==============================================================================
--- freeswitch/trunk/src/switch_caller.c	(original)
+++ freeswitch/trunk/src/switch_caller.c	Mon Sep 15 10:32:23 2008
@@ -207,6 +207,29 @@
 	if (!strcasecmp(name, "privacy_hide_number")) {
 		return switch_test_flag(caller_profile, SWITCH_CPF_HIDE_NUMBER) ? "true" : "false";
 	}
+	if (!strcasecmp(name, "profile_created_time")) {
+		return switch_core_sprintf(caller_profile->pool, "%" SWITCH_TIME_T_FMT, caller_profile->times->profile_created);		
+	}
+	if (!strcasecmp(name, "created_time")) {
+		return switch_core_sprintf(caller_profile->pool, "%" SWITCH_TIME_T_FMT, caller_profile->times->created);		
+	}
+	if (!strcasecmp(name, "answered_time")) {
+		return switch_core_sprintf(caller_profile->pool, "%" SWITCH_TIME_T_FMT, caller_profile->times->answered);		
+	}
+	if (!strcasecmp(name, "progress_time")) {
+		return switch_core_sprintf(caller_profile->pool, "%" SWITCH_TIME_T_FMT, caller_profile->times->progress);		
+	}
+	if (!strcasecmp(name, "progress_media_time")) {
+		return switch_core_sprintf(caller_profile->pool, "%" SWITCH_TIME_T_FMT, caller_profile->times->progress_media);		
+	}
+	if (!strcasecmp(name, "hungup_time")) {
+		return switch_core_sprintf(caller_profile->pool, "%" SWITCH_TIME_T_FMT, caller_profile->times->hungup);		
+	}
+	if (!strcasecmp(name, "transferred_time")) {
+		return switch_core_sprintf(caller_profile->pool, "%" SWITCH_TIME_T_FMT, caller_profile->times->transferred);		
+	}
+	
+
 	return NULL;
 }
 
@@ -271,10 +294,16 @@
 		switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header_name, caller_profile->profile_index);
 	}
 	if (caller_profile->times) {
+		switch_snprintf(header_name, sizeof(header_name), "%s-Profile-Created-Time", prefix);
+		switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%" SWITCH_TIME_T_FMT, caller_profile->times->profile_created);
 		switch_snprintf(header_name, sizeof(header_name), "%s-Channel-Created-Time", prefix);
 		switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%" SWITCH_TIME_T_FMT, caller_profile->times->created);
 		switch_snprintf(header_name, sizeof(header_name), "%s-Channel-Answered-Time", prefix);
 		switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%" SWITCH_TIME_T_FMT, caller_profile->times->answered);
+		switch_snprintf(header_name, sizeof(header_name), "%s-Channel-Progress-Time", prefix);
+		switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%" SWITCH_TIME_T_FMT, caller_profile->times->progress);		
+		switch_snprintf(header_name, sizeof(header_name), "%s-Channel-Progress-Media-Time", prefix);
+		switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%" SWITCH_TIME_T_FMT, caller_profile->times->progress_media);
 		switch_snprintf(header_name, sizeof(header_name), "%s-Channel-Hangup-Time", prefix);
 		switch_event_add_header(event, SWITCH_STACK_BOTTOM, header_name, "%" SWITCH_TIME_T_FMT, caller_profile->times->hungup);
 		switch_snprintf(header_name, sizeof(header_name), "%s-Channel-Transfer-Time", prefix);
    
    
More information about the Freeswitch-svn
mailing list