diff extensions/dict_dcca_3gpp/add_avps.c @ 1504:4dff34cd2d3d

Add 3GPP TS 29.215 V15.2.0 (2019-09) Add AVPs: - DRA-Deployment, Enumerated, code 2206, section 5.3.7 - Multiple-BBERF-Action, Enumerated, code 2204, section 5.3.6 - Subsession-Decision-Info, Grouped, code 2200, section 5.3.1 - Subsession-Enforcement-Info, Grouped, code 2201, section 5.3.2 - Subsession-Id, Unsigned32, code 2202, section 5.3.3 - Subsession-Operation, Enumerated, code 2203, section 5.3.4 - DRA-Binding, Enumerated, code 2208, section 5.3.x - PCRF-Address, DiameterIdentity, code 2207, section A.7.3.1.1 - UE-Local-IPv6-Prefix, OctetString, code 2205, section A.8.3.1
author Luke Mewburn <luke@mewburn.net>
date Fri, 03 Apr 2020 16:50:00 +1100
parents b526a9899931
children b382cbd1a710
line wrap: on
line diff
--- a/extensions/dict_dcca_3gpp/add_avps.c	Fri Apr 03 16:07:04 2020 +1100
+++ b/extensions/dict_dcca_3gpp/add_avps.c	Fri Apr 03 16:50:00 2020 +1100
@@ -5969,6 +5969,155 @@
 	};
 
 	/*==================================================================*/
+	/* 3GPP TS 29.215 V15.2.0 (2019-09)                                 */
+	/* Policy and Charging Control (PCC) over S9 reference point;       */
+	/* Stage 3                                                          */
+	/*                                                                  */
+	/* From 3GPP 29215-f20.doc                                          */
+	/*==================================================================*/
+
+	/*==================================================================*/
+	/* 3GPP TS 29.215 Table 5.3.0.1: S9 specific Diameter AVPs          */
+	/*==================================================================*/
+
+	/* DRA-Deployment, Enumerated, code 2206, section 5.3.7             */
+	{
+		struct dict_avp_data data = {
+			2206,	/* Code */
+			10415,	/* Vendor */
+			"DRA-Deployment",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRA-Deployment)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Multiple-BBERF-Action, Enumerated, code 2204, section 5.3.6      */
+	{
+		struct dict_avp_data data = {
+			2204,	/* Code */
+			10415,	/* Vendor */
+			"Multiple-BBERF-Action",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Multiple-BBERF-Action)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Subsession-Decision-Info, Grouped, code 2200, section 5.3.1      */
+	{
+		struct dict_avp_data data = {
+			2200,	/* Code */
+			10415,	/* Vendor */
+			"Subsession-Decision-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Subsession-Enforcement-Info, Grouped, code 2201, section 5.3.2   */
+	{
+		struct dict_avp_data data = {
+			2201,	/* Code */
+			10415,	/* Vendor */
+			"Subsession-Enforcement-Info",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_GROUPED	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Subsession-Id, Unsigned32, code 2202, section 5.3.3              */
+	{
+		struct dict_avp_data data = {
+			2202,	/* Code */
+			10415,	/* Vendor */
+			"Subsession-Id",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/* Subsession-Operation, Enumerated, code 2203, section 5.3.4       */
+	{
+		struct dict_avp_data data = {
+			2203,	/* Code */
+			10415,	/* Vendor */
+			"Subsession-Operation",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Subsession-Operation)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* DRA-Binding, Enumerated, code 2208, section 5.3.x                */
+	{
+		struct dict_avp_data data = {
+			2208,	/* Code */
+			10415,	/* Vendor */
+			"DRA-Binding",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR,	/* Fixed flag values */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRA-Binding)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/*==================================================================*/
+	/* Table A.7.3.1.1: S9a specific Diameter AVPs                      */
+	/*==================================================================*/
+
+	/* PCRF-Address, DiameterIdentity, code 2207, section A.7.3.1.1     */
+	{
+		struct dict_avp_data data = {
+			2207,	/* Code */
+			10415,	/* Vendor */
+			"PCRF-Address",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+	};
+
+	/*==================================================================*/
+	/* Table A.8.3.1.1: S9a* specific Diameter AVPs                     */
+	/*==================================================================*/
+
+	/* UE-Local-IPv6-Prefix, OctetString, code 2205, section A.8.3.1    */
+	{
+		struct dict_avp_data data = {
+			2205,	/* Code */
+			10415,	/* Vendor */
+			"UE-Local-IPv6-Prefix",	/* Name */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
+			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flag values */
+			AVP_TYPE_OCTETSTRING	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+	};
+
+	/*==================================================================*/
 	/* 3GPP TS 29.229 V15.2.0 (2019-09)                                 */
 	/* Cx and Dx interfaces based on the Diameter protocol;             */
 	/* Protocol details                                                 */
"Welcome to our mercurial repository"