From: Michael Jerris Date: Sat, 24 Apr 2010 21:48:59 +0000 (-0400) Subject: mod_xml_cdr: add force_process_cdr var to process b leg cdr on a case by case basis... X-Git-Tag: git2svn-syncpoint-master~202 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1f9dc416d75a42966d43ba6a425cfa0ede930ec;p=thirdparty%2Ffreeswitch.git mod_xml_cdr: add force_process_cdr var to process b leg cdr on a case by case basis when b leg cdr is disabled (XML-17) --- diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 2589e2b8c3..7e9f6ae42b 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -141,6 +141,7 @@ SWITCH_BEGIN_EXTERN_C #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" diff --git a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c index 0f2caa0df0..3097b2144b 100644 --- a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c +++ b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c @@ -200,7 +200,10 @@ static switch_status_t my_on_reporting(switch_core_session_t *session) 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_";