]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
mod_xml_cdr: add force_process_cdr var to process b leg cdr on a case by case basis...
authorMichael Jerris <mike@jerris.com>
Sat, 24 Apr 2010 21:48:59 +0000 (17:48 -0400)
committerMichael Jerris <mike@jerris.com>
Sat, 24 Apr 2010 21:51:10 +0000 (17:51 -0400)
src/include/switch_types.h
src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c

index 2589e2b8c3ab3a1f4b0fad8767c345eba12aebc6..7e9f6ae42b95f38a5171ee67e0af2cac27a8ac50 100644 (file)
@@ -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"
index 0f2caa0df0264ce2323919a71be26ca9c442903d..3097b2144b6c8bda1afaa06f862571e103285d3c 100644 (file)
@@ -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_";