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!