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

Author: Daniel-Constantin Mierla <mico...@gmail.com>
Committer: Daniel-Constantin Mierla <mico...@gmail.com>
Date: 2025-05-28T21:28:47+02:00

core: helper functions to get/set msg env lists

---

Modified: src/core/srapi.c
Modified: src/core/srapi.h

---

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

---

diff --git a/src/core/srapi.c b/src/core/srapi.c
index 99fbf49d8a9..8d7bd1ca620 100644
--- a/src/core/srapi.c
+++ b/src/core/srapi.c
@@ -19,7 +19,9 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+
 #include "dprint.h"
+#include "route.h"
 
 #include "srapi.h"
 
@@ -69,3 +71,34 @@ sr_cfgenv_t *sr_cfgenv_get(void)
 {
        return &_sr_cfgenv;
 }
+
+/**
+ *
+ */
+void ksr_msg_env_push(ksr_msg_env_t *menv)
+{
+       menv->route_type = get_route_type();
+
+       /* make available the avp list from transaction */
+       menv->avps_uri_from = set_avp_list(AVP_TRACK_FROM | AVP_CLASS_URI, 
NULL);
+       menv->avps_uri_to = set_avp_list(AVP_TRACK_TO | AVP_CLASS_URI, NULL);
+       menv->avps_user_from = set_avp_list(AVP_TRACK_FROM | AVP_CLASS_USER, 
NULL);
+       menv->avps_user_to = set_avp_list(AVP_TRACK_TO | AVP_CLASS_USER, NULL);
+       menv->avps_domain_from =
+                       set_avp_list(AVP_TRACK_FROM | AVP_CLASS_DOMAIN, NULL);
+       menv->avps_domain_to = set_avp_list(AVP_TRACK_TO | AVP_CLASS_DOMAIN, 
NULL);
+       menv->xavps = xavp_set_list(NULL);
+       menv->xavus = xavu_set_list(NULL);
+       menv->xavis = xavi_set_list(NULL);
+
+       return;
+}
+
+/**
+ *
+ */
+void ksr_msg_env_pop(ksr_msg_env_t *menv)
+{
+       set_route_type(menv->route_type);
+       return;
+}
diff --git a/src/core/srapi.h b/src/core/srapi.h
index 1f5f8e7d36b..b573493a62b 100644
--- a/src/core/srapi.h
+++ b/src/core/srapi.h
@@ -20,6 +20,8 @@
 #define __SRAPI_H__
 
 #include "str.h"
+#include "usr_avp.h"
+#include "xavp.h"
 #include "parser/msg_parser.h"
 
 typedef void (*sr_generate_callid_f)(str *);
@@ -39,4 +41,21 @@ typedef struct sr_cfgenv
 void sr_cfgenv_init(void);
 sr_cfgenv_t *sr_cfgenv_get(void);
 
+typedef struct ksr_msg_env
+{
+       int route_type;
+       avp_list_t *avps_user_from;
+       avp_list_t *avps_user_to;
+       avp_list_t *avps_domain_from;
+       avp_list_t *avps_domain_to;
+       avp_list_t *avps_uri_from;
+       avp_list_t *avps_uri_to;
+       sr_xavp_t **xavps;
+       sr_xavp_t **xavus;
+       sr_xavp_t **xavis;
+} ksr_msg_env_t;
+
+void ksr_msg_env_push(ksr_msg_env_t *menv);
+void ksr_msg_env_pop(ksr_msg_env_t *menv);
+
 #endif

_______________________________________________
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