Module: kamailio
Branch: master
Commit: c09961d5b3144b1fb5809a29280c5baa776ee6ea
URL: 
https://github.com/kamailio/kamailio/commit/c09961d5b3144b1fb5809a29280c5baa776ee6ea

Author: Lucian Balaceanu <lucian.balace...@1and1.ro>
Committer: Lucian Balaceanu <lucian.balace...@1and1.ro>
Date: 2025-07-16T10:44:04+03:00

acc_json: add cdr_skip parameter

---

Modified: src/modules/acc_json/acc_json_mod.c
Modified: src/modules/acc_json/doc/acc_json_admin.xml

---

Diff:  
https://github.com/kamailio/kamailio/commit/c09961d5b3144b1fb5809a29280c5baa776ee6ea.diff
Patch: 
https://github.com/kamailio/kamailio/commit/c09961d5b3144b1fb5809a29280c5baa776ee6ea.patch

---

diff --git a/src/modules/acc_json/acc_json_mod.c 
b/src/modules/acc_json/acc_json_mod.c
index 3008012ecdd..a24ff607c79 100644
--- a/src/modules/acc_json/acc_json_mod.c
+++ b/src/modules/acc_json/acc_json_mod.c
@@ -99,6 +99,7 @@ str cdr_q_name = {0, 0};
 static char *cdr_log_facility_str = 0;
 static char *cdr_json_pre_encoded_prefix_str = 0;
 str cdr_json_pre_encoded_prefix = {0, 0};
+str acc_json_cdr_skip = {NULL, 0};
 
 static cmd_export_t cmds[] = {{0, 0, 0, 0, 0, 0}};
 
@@ -118,6 +119,7 @@ static param_export_t params[] = {{"acc_flag", PARAM_INT, 
&acc_flag},
                {"cdr_pre_encoded_prefix", PARAM_STRING,
                                &cdr_json_pre_encoded_prefix_str},
                {"cdr_enable", PARAM_INT, &cdr_enable},
+               {"cdr_skip", PARAM_STR, &acc_json_cdr_skip},
                {"cdr_expired_dlg_enable", PARAM_INT, &cdr_expired_dlg_enable},
                {"cdr_log_level", PARAM_INT, &cdr_log_level},
                {"cdr_log_facility", PARAM_STRING, &cdr_log_facility_str},
@@ -452,7 +454,19 @@ int cdr_json_write(struct dlg_cell *dlg, struct sip_msg 
*req, cdr_info_t *inf)
        int extra_cnt = 0;
        int core_cnt = 0;
 
-       json_t *object = json_object();
+       json_t *object = NULL;
+
+       /* Skip cdr if cdr_skip dlg_var exists */
+       if(acc_json_cdr_skip.len > 0) {
+               str nocdr_val = {0};
+               dlgb.get_dlg_varval(dlg, &acc_json_cdr_skip, &nocdr_val);
+               if(nocdr_val.s) {
+                       LM_DBG("cdr_skip dlg_var set, skip cdr!");
+                       return 0;
+               }
+       }
+
+       object = json_object();
 
        /* get default values */
        core_cnt = accb.get_core_cdr_attrs(dlg, inf->varr, inf->iarr, 
inf->tarr);
diff --git a/src/modules/acc_json/doc/acc_json_admin.xml 
b/src/modules/acc_json/doc/acc_json_admin.xml
index 08bb113d06c..8d3ae12bf8f 100644
--- a/src/modules/acc_json/doc/acc_json_admin.xml
+++ b/src/modules/acc_json/doc/acc_json_admin.xml
@@ -348,6 +348,24 @@ modparam("acc_json", "cdr_enable", 1)
                </example>
        </section>
 
+       <section id="acc_json.p.cdr_skip">
+               <title><varname>cdr_skip</varname> (string)</title>
+               <para>
+               Skip cdr generation for dialogs with this dlg_var set.
+               </para>
+               <para>
+               Default value is NULL.
+               </para>
+               <example>
+               <title>cdr_skip example</title>
+               <programlisting format="linespecific">
+...
+modparam("acc_json", "cdr_skip", "nocdr")
+...
+</programlisting>
+               </example>
+       </section>
+
        <section id="acc.p.cdr_extra">
                <title><varname>cdr_extra</varname> (str)</title>
                <para>

_______________________________________________
Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to