Modified: freeswitch/trunk/src/include/switch_types.h (17385 => 17386)
--- freeswitch/trunk/src/include/switch_types.h 2010-04-24 20:05:04 UTC (rev 17385)
+++ freeswitch/trunk/src/include/switch_types.h 2010-04-24 21:51:10 UTC (rev 17386)
@@ -141,6 +141,7 @@
#define SWITCH_API_HANGUP_HOOK_VARIABLE "api_hangup_hook"
#define SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE "session_in_hangup_hook"
#define SWITCH_PROCESS_CDR_VARIABLE "process_cdr"
+#define SWITCH_FORCE_PROCESS_CDR_VARIABLE "force_process_cdr"
#define SWITCH_BRIDGE_CHANNEL_VARIABLE "bridge_channel"
#define SWITCH_CHANNEL_NAME_VARIABLE "channel_name"
#define SWITCH_BRIDGE_UUID_VARIABLE "bridge_uuid"
Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c (17385 => 17386)
--- freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c 2010-04-24 20:05:04 UTC (rev 17385)
+++ freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c 2010-04-24 21:51:10 UTC (rev 17386)
@@ -200,7 +200,10 @@
is_b = channel && switch_channel_get_originator_caller_profile(channel);
if (!globals.log_b && is_b) {
- return SWITCH_STATUS_SUCCESS;
+ const char *force_cdr = switch_channel_get_variable(channel, SWITCH_FORCE_PROCESS_CDR_VARIABLE);
+ if (!switch_true(force_cdr)) {
+ return SWITCH_STATUS_SUCCESS;
+ }
}
if (!is_b && globals.prefix_a)
a_prefix = "a_";