changeset 1484:3bf80555f00a

dict_dcca_3gpp: change External-Identifier code 3GPP TS 29.061 table 9a does not define External-Identifier (28) for Diameter. 3GPP TS 29.061 table 9b refers to 3GPP TS 29.336 for External-Identifier (3111). External-Identifier (28) OctetString replaced by External-Identifier (3111) UTF8String, from 3GPP TS 29.336 Table 6.4.1/1 and clause 6.4.11.
author Luke Mewburn <luke@mewburn.net>
date Fri, 27 Mar 2020 09:55:33 +1100
parents 900d11ff9d17
children a0ca9ac32a3a
files contrib/dict_json/dictionary_dcca_3gpp.json extensions/dict_dcca_3gpp/dict_dcca_3gpp.c extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv
diffstat 3 files changed, 65 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/dict_json/dictionary_dcca_3gpp.json	Thu Mar 26 15:52:18 2020 +1100
+++ b/contrib/dict_json/dictionary_dcca_3gpp.json	Fri Mar 27 09:55:33 2020 +1100
@@ -2930,16 +2930,6 @@
       "Vendor": 10415
     },
     {
-      "Code": 28,
-      "Flags": {
-        "Must": "V",
-        "MustNot": "M"
-      },
-      "Name": "External-Identifier",
-      "Type": "OctetString",
-      "Vendor": 10415
-    },
-    {
       "Code": 124,
       "Flags": {
         "Must": "M",
@@ -10850,6 +10840,16 @@
       "Vendor": 10415
     },
     {
+      "Code": 3111,
+      "Flags": {
+        "Must": "V",
+        "MustNot": "M"
+      },
+      "Name": "External-Identifier",
+      "Type": "UTF8String",
+      "Vendor": 10415
+    },
+    {
       "Code": 3401,
       "Flags": {
         "Must": "VM",
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Thu Mar 26 15:52:18 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c	Fri Mar 27 09:55:33 2020 +1100
@@ -72,10 +72,9 @@
  * 1. It would be good if 29.061 was reviewed to check for each AVP if
  * it is Mandatory or not. The data currently in the document does not
  * match what was in the previous version of the freeDiameter
- * extension (the one that existedbefore I rewrote it) or what I saw
+ * extension (the one that existed before I rewrote it) or what I saw
  * so far. IIRC, even the table and the document contradict each
- * other. The AVP table is also missing an entry for
- * "External-Identifier", 28.
+ * other.
  *
  * 2. 29.140 has conflicting AVP names with other documents:
  *   - Sequence-Number is also in 32.329
@@ -737,19 +736,13 @@
 		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
 	};
 
-	/* added manually, missing in AVP table                             */
-	/* External-Identifier, OctetString, code 28, section 16.4.7        */
-	{
-		struct dict_avp_data data = {
-			28,	/* Code */
-			10415,	/* Vendor */
-			"External-Identifier",	/* Name */
-			AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,	/* Fixed flags */
-			AVP_FLAG_VENDOR,	/* Fixed flag values */
-			AVP_TYPE_OCTETSTRING	/* base type of data */
-		};
-		CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
-	};
+	/* Note: 3GPP TS 29.061 table 9a does not define                    */
+	/* External-Identifier (28) for Diameter.                           */
+	/* 3GPP TS 29.061 table 9b refers to 3GPP TS 29.336                 */
+	/* for External-Identifier (3111).                                  */
+	/*                                                                  */
+	/* External-Identifier (28) OctetString replaced by                 */
+	/* External-Identifier (3111) UTF8String.                           */
 
 	/* TMGI, OctetString, code 900, section 17.07.02                    */
 	{
@@ -8771,6 +8764,30 @@
 	};
 
 	/*==================================================================*/
+	/* 3GPP TS 29.336 V15.7.0 (2019-09)                                 */
+	/* From 3GPP 29336-f70.docx                                         */
+	/*==================================================================*/
+
+	/*==================================================================*/
+	/* 3GPP TS 29.336 Table 6.4.1/1: S6m/S6n specific Diameter AVPs     */
+	/*                                                                  */
+	/* Note: This is incomplete.                                        */
+	/*==================================================================*/
+
+	/* External-Identifier, UTF8String, code 3111, section 6.4.11       */
+	{
+		struct dict_avp_data data = {
+			3111,	/* Code */
+			10415,	/* Vendor */
+			"External-Identifier",	/* 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);
+	};
+
+	/*==================================================================*/
 	/* 3GPP TS 32.299 V15.7.0 (2019-06)                                 */
 	/* From 3GPP 32299-f70.doc                                          */
 	/*==================================================================*/
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv	Thu Mar 26 15:52:18 2020 +1100
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv	Fri Mar 27 09:55:33 2020 +1100
@@ -56,8 +56,14 @@
 3GPP-Packet-Filter,25,16.4.7,OctetString,V,P,,M,
 3GPP-Negotiated-DSCP,26,16.4.7,OctetString,V,P,,M,
 3GPP-Allocate-IP-Type,27,16.4.7,OctetString,V,P,,M,
-"# added manually, missing in AVP table",,,,,,,,
-External-Identifier,28,16.4.7,OctetString,V,P,,M,
+# Note: 3GPP TS 29.061 table 9a does not define,,,,,,,,
+# External-Identifier (28) for Diameter.,,,,,,,,
+# 3GPP TS 29.061 table 9b refers to 3GPP TS 29.336,,,,,,,,
+# for External-Identifier (3111).,,,,,,,,
+# ,,,,,,,,
+# External-Identifier (28) OctetString replaced by,,,,,,,,
+# External-Identifier (3111) UTF8String.,,,,,,,,
+#,,,,,,,,
 TMGI,900,17.07.02,OctetString,"M,V",P,,,
 Required-MBMS-Bearer-Capabilities,901,17.07.03,UTF8String,"M,V",P,,,
 MBMS-StartStop-Indication,902,17.07.05,Enumerated,"M,V",P,,,
@@ -809,6 +815,20 @@
 Call-Reference-Number,721,6.3.30,OctetString,V,,,M,No
 AS-Number,722,6.3.31,OctetString,V,,,M,No
 ,,,,,,,,
+@standard,3GPP TS 29.336,,,,,,,
+#=,,,,,,,,
+# 3GPP TS 29.336 V15.7.0 (2019-09),,,,,,,,
+# From 3GPP 29336-f70.docx,,,,,,,,
+#=,,,,,,,,
+#,,,,,,,,
+#=,,,,,,,,
+# 3GPP TS 29.336 Table 6.4.1/1: S6m/S6n specific Diameter AVPs,,,,,,,,
+# ,,,,,,,,
+# Note: This is incomplete.,,,,,,,,
+#=,,,,,,,,
+#,,,,,,,,
+External-Identifier,3111,6.4.11,UTF8String,"M,V",,,,No
+,,,,,,,,
 @standard,3GPP TS 32.299,,,,,,,
 #=,,,,,,,,
 # 3GPP TS 32.299 V15.7.0 (2019-06),,,,,,,,
"Welcome to our mercurial repository"