瀏覽代碼

core: implement pop of lists from msg env

(cherry picked from commit 465fda0f790e44e5484b2ef41363fb23fece3f41)
Daniel-Constantin Mierla 3 月之前
父節點
當前提交
ffe19fc221
共有 1 個文件被更改,包括 11 次插入1 次删除
  1. 11 1
      src/core/srapi.c

+ 11 - 1
src/core/srapi.c

@@ -79,7 +79,6 @@ 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);
@@ -100,5 +99,16 @@ void ksr_msg_env_push(ksr_msg_env_t *menv)
 void ksr_msg_env_pop(ksr_msg_env_t *menv)
 {
 	set_route_type(menv->route_type);
+
+	set_avp_list(AVP_TRACK_FROM | AVP_CLASS_URI, menv->avps_uri_from);
+	set_avp_list(AVP_TRACK_TO | AVP_CLASS_URI, menv->avps_uri_to);
+	set_avp_list(AVP_TRACK_FROM | AVP_CLASS_USER, menv->avps_user_from);
+	set_avp_list(AVP_TRACK_TO | AVP_CLASS_USER, menv->avps_user_to);
+	set_avp_list(AVP_TRACK_FROM | AVP_CLASS_DOMAIN, menv->avps_domain_from);
+	set_avp_list(AVP_TRACK_TO | AVP_CLASS_DOMAIN, menv->avps_domain_to);
+	xavp_set_list(menv->xavps);
+	xavu_set_list(menv->xavus);
+	xavi_set_list(menv->xavis);
+
 	return;
 }