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!