comparison extensions/dict_dcca_3gpp/add_avps.c @ 1515:8430dabbc637

Add 3GPP TS 29.109 V15.0.0 (2017-06) Add AVPs: - GBA-UserSecSettings, OctetString, code 400, section 6.3.1.1 - Transaction-Identifier, OctetString, code 401, section 6.3.1.2 - NAF-Id, OctetString, code 402, section 6.3.1.3 - GAA-Service-Identifier, OctetString, code 403, section 6.3.1.4 - Key-ExpiryTime, Time, code 404, section 6.3.1.5 - ME-Key-Material, OctetString, code 405, section 6.3.1.6 - UICC-Key-Material, OctetString, code 406, section 6.3.1.7 - GBA-U-Awareness-Indicator, Enumerated, code 407, section 6.3.1.8 - BootstrapInfoCreationTime, Time, code 408, section 6.3.1.9 - GUSS-Timestamp, Time, code 409, section 6.3.1.10 - GBA-Type, Enumerated, code 410, section 6.3.1.11 - UE-Id, OctetString, code 411, section 6.3.1.12 - UE-Id-Type, Enumerated, code 412, section 6.3.1.13 - UICC-App-Label, OctetString, code 413, section 6.3.1.14 - UICC-ME, Enumerated, code 414, section 6.3.1.15 - Requested-Key-Lifetime, Time, code 415, section 6.3.1.16 - Private-Identity-Request, Enumerated, code 416, section 6.3.1.17 - GBA-Push-Info, OctetString, code 417, section 6.3.1.18 - NAF-SA-Identifier, OctetString, code 418, section 6.3.1.19 - Security-Feature-Request, OctetString, code 419, section 6.3.1.20 - Security-Feature-Response, OctetString, code 420, section 6.3.1.21 Note: 3GPP TS 29.109 table 6.1 row GBA_U-Awareness-Indicator (407) has an underscore in the name (contrary to RFC 6733 section 4.1). Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407).
author Luke Mewburn <luke@mewburn.net>
date Thu, 09 Apr 2020 00:34:15 +1000
parents 8912a0645645
children 435167c2e51c
comparison
equal deleted inserted replaced
1514:8912a0645645 1515:8430dabbc637
969 934, /* Code */ 969 934, /* Code */
970 10415, /* Vendor */ 970 10415, /* Vendor */
971 "MBMS-Cell-List", /* Name */ 971 "MBMS-Cell-List", /* Name */
972 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 972 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
973 AVP_FLAG_VENDOR, /* Fixed flag values */ 973 AVP_FLAG_VENDOR, /* Fixed flag values */
974 AVP_TYPE_OCTETSTRING /* base type of data */
975 };
976 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
977 };
978
979 /*==================================================================*/
980 /* 3GPP TS 29.109 V15.0.0 (2017-06) */
981 /* Generic Authentication Architecture (GAA); */
982 /* Zh and Zn Interfaces based on the Diameter protocol; */
983 /* Stage 3 */
984 /* */
985 /* From 3GPP 29109-f00.doc */
986 /*==================================================================*/
987
988 /*==================================================================*/
989 /* 3GPP TS 29.109 Table 6.1: New Diameter Multimedia Application AVPs */
990 /*==================================================================*/
991
992 /* GBA-UserSecSettings, OctetString, code 400, section 6.3.1.1 */
993 {
994 struct dict_avp_data data = {
995 400, /* Code */
996 10415, /* Vendor */
997 "GBA-UserSecSettings", /* Name */
998 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
999 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1000 AVP_TYPE_OCTETSTRING /* base type of data */
1001 };
1002 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1003 };
1004
1005 /* Transaction-Identifier, OctetString, code 401, section 6.3.1.2 */
1006 {
1007 struct dict_avp_data data = {
1008 401, /* Code */
1009 10415, /* Vendor */
1010 "Transaction-Identifier", /* Name */
1011 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1012 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1013 AVP_TYPE_OCTETSTRING /* base type of data */
1014 };
1015 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1016 };
1017
1018 /* NAF-Id, OctetString, code 402, section 6.3.1.3 */
1019 {
1020 struct dict_avp_data data = {
1021 402, /* Code */
1022 10415, /* Vendor */
1023 "NAF-Id", /* Name */
1024 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1025 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1026 AVP_TYPE_OCTETSTRING /* base type of data */
1027 };
1028 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1029 };
1030
1031 /* GAA-Service-Identifier, OctetString, code 403, section 6.3.1.4 */
1032 {
1033 struct dict_avp_data data = {
1034 403, /* Code */
1035 10415, /* Vendor */
1036 "GAA-Service-Identifier", /* Name */
1037 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1038 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1039 AVP_TYPE_OCTETSTRING /* base type of data */
1040 };
1041 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1042 };
1043
1044 /* Key-ExpiryTime, Time, code 404, section 6.3.1.5 */
1045 {
1046 struct dict_avp_data data = {
1047 404, /* Code */
1048 10415, /* Vendor */
1049 "Key-ExpiryTime", /* Name */
1050 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1051 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1052 AVP_TYPE_OCTETSTRING /* base type of data */
1053 };
1054 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
1055 };
1056
1057 /* ME-Key-Material, OctetString, code 405, section 6.3.1.6 */
1058 {
1059 struct dict_avp_data data = {
1060 405, /* Code */
1061 10415, /* Vendor */
1062 "ME-Key-Material", /* Name */
1063 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1064 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1065 AVP_TYPE_OCTETSTRING /* base type of data */
1066 };
1067 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1068 };
1069
1070 /* UICC-Key-Material, OctetString, code 406, section 6.3.1.7 */
1071 {
1072 struct dict_avp_data data = {
1073 406, /* Code */
1074 10415, /* Vendor */
1075 "UICC-Key-Material", /* Name */
1076 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1077 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1078 AVP_TYPE_OCTETSTRING /* base type of data */
1079 };
1080 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1081 };
1082
1083 /* Note: 3GPP TS 29.109 table 6.1 row GBA_U-Awareness-Indicator (407) */
1084 /* has an underscore in the name (contrary to RFC 6733 section 4.1). */
1085 /* */
1086 /* Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407). */
1087 /* GBA-U-Awareness-Indicator, Enumerated, code 407, section 6.3.1.8 */
1088 {
1089 struct dict_avp_data data = {
1090 407, /* Code */
1091 10415, /* Vendor */
1092 "GBA-U-Awareness-Indicator", /* Name */
1093 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1094 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1095 AVP_TYPE_INTEGER32 /* base type of data */
1096 };
1097 struct dict_object *type;
1098 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/GBA-U-Awareness-Indicator)", NULL, NULL, NULL };
1099 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1100 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1101 };
1102
1103 /* BootstrapInfoCreationTime, Time, code 408, section 6.3.1.9 */
1104 {
1105 struct dict_avp_data data = {
1106 408, /* Code */
1107 10415, /* Vendor */
1108 "BootstrapInfoCreationTime", /* Name */
1109 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1110 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1111 AVP_TYPE_OCTETSTRING /* base type of data */
1112 };
1113 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
1114 };
1115
1116 /* GUSS-Timestamp, Time, code 409, section 6.3.1.10 */
1117 {
1118 struct dict_avp_data data = {
1119 409, /* Code */
1120 10415, /* Vendor */
1121 "GUSS-Timestamp", /* Name */
1122 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1123 AVP_FLAG_VENDOR, /* Fixed flag values */
1124 AVP_TYPE_OCTETSTRING /* base type of data */
1125 };
1126 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
1127 };
1128
1129 /* GBA-Type, Enumerated, code 410, section 6.3.1.11 */
1130 {
1131 struct dict_avp_data data = {
1132 410, /* Code */
1133 10415, /* Vendor */
1134 "GBA-Type", /* Name */
1135 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1136 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1137 AVP_TYPE_INTEGER32 /* base type of data */
1138 };
1139 struct dict_object *type;
1140 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/GBA-Type)", NULL, NULL, NULL };
1141 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1142 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1143 };
1144
1145 /* UE-Id, OctetString, code 411, section 6.3.1.12 */
1146 {
1147 struct dict_avp_data data = {
1148 411, /* Code */
1149 10415, /* Vendor */
1150 "UE-Id", /* Name */
1151 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1152 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1153 AVP_TYPE_OCTETSTRING /* base type of data */
1154 };
1155 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1156 };
1157
1158 /* UE-Id-Type, Enumerated, code 412, section 6.3.1.13 */
1159 {
1160 struct dict_avp_data data = {
1161 412, /* Code */
1162 10415, /* Vendor */
1163 "UE-Id-Type", /* Name */
1164 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1165 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1166 AVP_TYPE_INTEGER32 /* base type of data */
1167 };
1168 struct dict_object *type;
1169 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/UE-Id-Type)", NULL, NULL, NULL };
1170 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1171 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1172 };
1173
1174 /* UICC-App-Label, OctetString, code 413, section 6.3.1.14 */
1175 {
1176 struct dict_avp_data data = {
1177 413, /* Code */
1178 10415, /* Vendor */
1179 "UICC-App-Label", /* Name */
1180 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1181 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1182 AVP_TYPE_OCTETSTRING /* base type of data */
1183 };
1184 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1185 };
1186
1187 /* UICC-ME, Enumerated, code 414, section 6.3.1.15 */
1188 {
1189 struct dict_avp_data data = {
1190 414, /* Code */
1191 10415, /* Vendor */
1192 "UICC-ME", /* Name */
1193 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1194 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1195 AVP_TYPE_INTEGER32 /* base type of data */
1196 };
1197 struct dict_object *type;
1198 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/UICC-ME)", NULL, NULL, NULL };
1199 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1200 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1201 };
1202
1203 /* Requested-Key-Lifetime, Time, code 415, section 6.3.1.16 */
1204 {
1205 struct dict_avp_data data = {
1206 415, /* Code */
1207 10415, /* Vendor */
1208 "Requested-Key-Lifetime", /* Name */
1209 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1210 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1211 AVP_TYPE_OCTETSTRING /* base type of data */
1212 };
1213 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
1214 };
1215
1216 /* Private-Identity-Request, Enumerated, code 416, section 6.3.1.17 */
1217 {
1218 struct dict_avp_data data = {
1219 416, /* Code */
1220 10415, /* Vendor */
1221 "Private-Identity-Request", /* Name */
1222 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1223 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1224 AVP_TYPE_INTEGER32 /* base type of data */
1225 };
1226 struct dict_object *type;
1227 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Private-Identity-Request)", NULL, NULL, NULL };
1228 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1229 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1230 };
1231
1232 /* GBA-Push-Info, OctetString, code 417, section 6.3.1.18 */
1233 {
1234 struct dict_avp_data data = {
1235 417, /* Code */
1236 10415, /* Vendor */
1237 "GBA-Push-Info", /* Name */
1238 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1239 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1240 AVP_TYPE_OCTETSTRING /* base type of data */
1241 };
1242 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1243 };
1244
1245 /* NAF-SA-Identifier, OctetString, code 418, section 6.3.1.19 */
1246 {
1247 struct dict_avp_data data = {
1248 418, /* Code */
1249 10415, /* Vendor */
1250 "NAF-SA-Identifier", /* Name */
1251 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1252 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1253 AVP_TYPE_OCTETSTRING /* base type of data */
1254 };
1255 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1256 };
1257
1258 /* Security-Feature-Request, OctetString, code 419, section 6.3.1.20 */
1259 {
1260 struct dict_avp_data data = {
1261 419, /* Code */
1262 10415, /* Vendor */
1263 "Security-Feature-Request", /* Name */
1264 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1265 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1266 AVP_TYPE_OCTETSTRING /* base type of data */
1267 };
1268 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1269 };
1270
1271 /* Security-Feature-Response, OctetString, code 420, section 6.3.1.21 */
1272 {
1273 struct dict_avp_data data = {
1274 420, /* Code */
1275 10415, /* Vendor */
1276 "Security-Feature-Response", /* Name */
1277 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1278 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
974 AVP_TYPE_OCTETSTRING /* base type of data */ 1279 AVP_TYPE_OCTETSTRING /* base type of data */
975 }; 1280 };
976 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1281 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
977 }; 1282 };
978 1283
"Welcome to our mercurial repository"