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

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2025-11-24T12:33:57+01:00

sipdump: new parameter fagex to provide file age with time expression

---

Modified: src/modules/sipdump/sipdump_mod.c

---

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

---

diff --git a/src/modules/sipdump/sipdump_mod.c 
b/src/modules/sipdump/sipdump_mod.c
index a2556cec7e0..7b8878cc1c4 100644
--- a/src/modules/sipdump/sipdump_mod.c
+++ b/src/modules/sipdump/sipdump_mod.c
@@ -58,6 +58,7 @@ static str sipdump_fprefix = str_init("kamailio-sipdump-");
 int sipdump_mode = SIPDUMP_MODE_WTEXT;
 static str sipdump_event_callback = STR_NULL;
 static int sipdump_fage = 0;
+static str sipdump_fagex = STR_NULL;
 
 static int sipdump_event_route_idx = -1;
 
@@ -90,6 +91,7 @@ static param_export_t params[]={
        {"folder",         PARAM_STR,   &sipdump_folder},
        {"fprefix",        PARAM_STR,   &sipdump_fprefix},
        {"fage",           PARAM_INT,   &sipdump_fage},
+       {"fagex",          PARAM_STR,   &sipdump_fagex},
        {"mode",           PARAM_INT,   &sipdump_mode},
        {"event_callback", PARAM_STR,   &sipdump_event_callback},
 
@@ -124,6 +126,9 @@ struct module_exports exports = {
  */
 static int mod_init(void)
 {
+       int i;
+       int n;
+
        if(!(sipdump_mode
                           & (SIPDUMP_MODE_WTEXT | SIPDUMP_MODE_WPCAP
                                           | SIPDUMP_MODE_EVROUTE))) {
@@ -170,6 +175,36 @@ static int mod_init(void)
                }
        }
 
+       if(sipdump_fagex.len > 0) {
+               n = 0;
+               sipdump_fage = 0;
+               for(i = 0; i < sipdump_fagex.len; i++) {
+                       if(sipdump_fagex.s[i] >= 0 && sipdump_fagex.s[i] <= 9) {
+                               n = 10 * n + (sipdump_fagex.s[i] - '0');
+                       } else {
+                               if(sipdump_fagex.s[i] == 'h' || 
sipdump_fagex.s[i] == 'H') {
+                                       sipdump_fage += 3600 * n;
+                                       n = 0;
+                               } else if(sipdump_fagex.s[i] == 'd'
+                                                 || sipdump_fagex.s[i] == 'D') 
{
+                                       sipdump_fage += 24 * 3600 * n;
+                                       n = 0;
+                               } else if(sipdump_fagex.s[i] == 'm'
+                                                 || sipdump_fagex.s[i] == 'M') 
{
+                                       sipdump_fage += 60 * n;
+                                       n = 0;
+                               } else if(sipdump_fagex.s[i] == 's'
+                                                 || sipdump_fagex.s[i] == 'S') 
{
+                                       sipdump_fage += n;
+                                       n = 0;
+                               } else {
+                                       LM_ERR("unexpected file age char '%c' 
at position %d\n",
+                                                       sipdump_fagex.s[i], i);
+                               }
+                       }
+               }
+       }
+
        if(sipdump_fage > 0) {
                if(sr_wtimer_add(sipdump_storage_clean, NULL, 600) < 0) {
                        return -1;

_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to