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

Author: Daniel-Constantin Mierla <mico...@gmail.com>
Committer: Daniel-Constantin Mierla <mico...@gmail.com>
Date: 2025-05-30T12:23:19+02:00

siptrace: reset x/avp lists after event route

- GH #4258

---

Modified: src/modules/siptrace/siptrace.c

---

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

---

diff --git a/src/modules/siptrace/siptrace.c b/src/modules/siptrace/siptrace.c
index 6e6ffcaf237..3c27e20fe87 100644
--- a/src/modules/siptrace/siptrace.c
+++ b/src/modules/siptrace/siptrace.c
@@ -41,6 +41,7 @@
 #include "../../core/ip_addr.h"
 #include "../../core/mem/mem.h"
 #include "../../core/mem/shm_mem.h"
+#include "../../core/receive.h"
 #include "../../core/rpc.h"
 #include "../../core/rpc_lookup.h"
 #include "../../lib/srdb1/db.h"
@@ -54,6 +55,7 @@
 #include "../../core/str.h"
 #include "../../core/onsend.h"
 #include "../../core/events.h"
+#include "../../core/srapi.h"
 #include "../../core/kemi.h"
 
 #include "siptrace_data.h"
@@ -2220,12 +2222,12 @@ static siptrace_data_t *siptrace_event_data = NULL;
 
 static int siptrace_exec_evcb_msg(siptrace_data_t *sto)
 {
-       int backup_rt;
        run_act_ctx_t ctx;
        run_act_ctx_t *bctx;
        sr_kemi_eng_t *keng = NULL;
        str evname = str_init("siptrace:msg");
        sip_msg_t msg;
+       ksr_msg_env_t menv = {0};
 
        if(_siptrace_evrt_msg_idx < 0 && _siptrace_evcb_msg.len <= 0) {
                return 0;
@@ -2248,7 +2250,7 @@ static int siptrace_exec_evcb_msg(siptrace_data_t *sto)
                return -1;
        }
 
-       backup_rt = get_route_type();
+       ksr_msg_env_push(&menv);
        set_route_type(EVENT_ROUTE);
        init_run_actions_ctx(&ctx);
 
@@ -2267,8 +2269,9 @@ static int siptrace_exec_evcb_msg(siptrace_data_t *sto)
        }
        siptrace_event_data = NULL;
 
+       ksr_msg_env_reset();
        free_sip_msg(&msg);
-       set_route_type(backup_rt);
+       ksr_msg_env_pop(&menv);
        if(ctx.run_flags & DROP_R_F) {
                return DROP_R_F;
        }

_______________________________________________
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