From 41e4460769e0ee5b56491feac7671b29026fcae0 Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Tue, 16 Aug 2022 11:41:37 +0200 Subject: [PATCH] diameter: Gx: add AVP 3GPP-Charging-Characteristics The 3GPP-Charging-Characteristics is an operator specific AVP (optional). The 3GPP-Charging-Characteristics can be filled by the HSS and pass through to the Gx interface. See ETSI 29.212 5.4.0.1 for further details. --- lib/diameter/gx/message.c | 2 ++ lib/diameter/gx/message.h | 1 + 2 files changed, 3 insertions(+) diff --git a/lib/diameter/gx/message.c b/lib/diameter/gx/message.c index 47a09c8a0..358305768 100644 --- a/lib/diameter/gx/message.c +++ b/lib/diameter/gx/message.c @@ -56,6 +56,7 @@ struct dict_object *ogs_diam_gx_3gpp_user_location_info = NULL; struct dict_object *ogs_diam_gx_called_station_id = NULL; struct dict_object *ogs_diam_gx_default_eps_bearer_qos = NULL; struct dict_object *ogs_diam_gx_3gpp_ms_timezone = NULL; +struct dict_object *ogs_diam_gx_3gpp_charging_characteristics = NULL; struct dict_object *ogs_diam_gx_event_trigger = NULL; struct dict_object *ogs_diam_gx_bearer_control_mode = NULL; struct dict_object *ogs_diam_gx_charging_rule_install = NULL; @@ -133,6 +134,7 @@ int ogs_diam_gx_init(void) CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Event-Trigger", &ogs_diam_gx_event_trigger); CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Bearer-Control-Mode", &ogs_diam_gx_bearer_control_mode); + CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "3GPP-Charging-Characteristics", &ogs_diam_gx_3gpp_charging_characteristics); CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Charging-Rule-Install", &ogs_diam_gx_charging_rule_install); CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Charging-Rule-Remove", &ogs_diam_gx_charging_rule_remove); CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Charging-Rule-Definition", &ogs_diam_gx_charging_rule_definition); diff --git a/lib/diameter/gx/message.h b/lib/diameter/gx/message.h index a6e39157e..ab4db94e6 100644 --- a/lib/diameter/gx/message.h +++ b/lib/diameter/gx/message.h @@ -86,6 +86,7 @@ extern struct dict_object *ogs_diam_gx_3gpp_user_location_info; extern struct dict_object *ogs_diam_gx_called_station_id; extern struct dict_object *ogs_diam_gx_default_eps_bearer_qos; extern struct dict_object *ogs_diam_gx_3gpp_ms_timezone; +extern struct dict_object *ogs_diam_gx_3gpp_charging_characteristics; extern struct dict_object *ogs_diam_gx_event_trigger; extern struct dict_object *ogs_diam_gx_bearer_control_mode; extern struct dict_object *ogs_diam_gx_charging_rule_install;