diff extensions/dict_dcca_3gpp/dict_dcca_3gpp.c @ 1482:8232878f292d

dict_dcca_3gpp: fix types of OMA AVPs Fix AVP types per OMA-DDS-Charging_Data-V1_0-20110201-A.pdf and 3GPP TS 29.230 V15.7.0 (2019-12): - Application-Service-Type (2102) corrected from UTF8String to Enumerated. - Application?Session?Id (2103) corrected from UTF8String to Unsigned32.
author Luke Mewburn <luke@mewburn.net>
date Thu, 26 Mar 2020 15:31:54 +1100
parents c9e9f8a71946
children 900d11ff9d17
line wrap: on
line diff
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Thu Mar 26 15:26:18 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Thu Mar 26 15:31:54 2020 +1100
@@ -14604,6 +14604,7 @@
 
 	/*==================================================================*/
 	/* OMA DDS Charging_Data V1.0 20110201-A                            */
+	/* From OMA OMA-DDS-Charging_Data-V1_0-20110201-A.pdf               */
 	/*==================================================================*/
 
 	/* Application-Server-Id, UTF8String, code 2101, section 8.4        */
@@ -14619,7 +14620,8 @@
 		CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
 	};
 
-	/* Application-Service-Type, UTF8String, code 2102, section 8.4     */
+	/* Note: Application-Service-Type (2102) corrected from UTF8String to Enumerated. */
+	/* Application-Service-Type, Enumerated, code 2102, section 8.4     */
 	{
 		struct dict_avp_data data = {
 			2102,	/* Code */
@@ -14627,12 +14629,16 @@
 			"Application-Service-Type",	/* 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, UTF8String_type, NULL);
-	};
-
-	/* Application-Session-Id, UTF8String, code 2103, section 8.4       */
+			AVP_TYPE_INTEGER32	/* base type of data */
+		};
+		struct dict_object	*type;
+		struct dict_type_data	 tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Application-Service-Type)", NULL, NULL, NULL };
+		CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+		CHECK_dict_new(DICT_AVP, &data, type, NULL);
+	};
+
+	/* Note: Application–Session–Id (2103) corrected from UTF8String to Unsigned32. */
+	/* Application-Session-Id, Unsigned32, code 2103, section 8.4       */
 	{
 		struct dict_avp_data data = {
 			2103,	/* Code */
@@ -14640,9 +14646,9 @@
 			"Application-Session-Id",	/* 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, UTF8String_type, NULL);
+			AVP_TYPE_UNSIGNED32	/* base type of data */
+		};
+		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
 	/* Content-ID, UTF8String, code 2116, section 8.4                   */
"Welcome to our mercurial repository"