Navigation


Changeset 1515:8430dabbc637 in freeDiameter for extensions


Ignore:
Timestamp:
Apr 8, 2020, 11:34:15 PM (4 years ago)
Author:
Luke Mewburn <luke@mewburn.net>
Branch:
default
Phase:
public
Message:

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).

Location:
extensions/dict_dcca_3gpp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/dict_dcca_3gpp/add_avps.c

    r1514 r1515  
    972972                        AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY,    /* Fixed flags */
    973973                        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 */
    9741279                        AVP_TYPE_OCTETSTRING    /* base type of data */
    9751280                };
  • extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv

    r1514 r1515  
    148148Diagnostic-Info,933,20.5a.11,Unsigned32,V,P,,M
    149149MBMS-Cell-List,934,20.5a.12,OctetString,V,P,,M
     150,,,,,,,
     151@standard,3GPP TS 29.109,,,,,,
     152#=,,,,,,,
     153# 3GPP TS 29.109 V15.0.0 (2017-06),,,,,,,
     154# Generic Authentication Architecture (GAA);,,,,,,,
     155# Zh and Zn Interfaces based on the Diameter protocol;,,,,,,,
     156# Stage 3,,,,,,,
     157# ,,,,,,,
     158# From 3GPP 29109-f00.doc,,,,,,,
     159#=,,,,,,,
     160#,,,,,,,
     161#=,,,,,,,
     162# 3GPP TS 29.109 Table 6.1: New Diameter Multimedia Application AVPs,,,,,,,
     163#=,,,,,,,
     164#,,,,,,,
     165GBA-UserSecSettings,400,6.3.1.1,OctetString,"M, V",,,
     166Transaction-Identifier,401,6.3.1.2,OctetString,"M, V",,,
     167NAF-Id,402,6.3.1.3,OctetString,"M, V",,,
     168GAA-Service-Identifier,403,6.3.1.4,OctetString,"M, V",,,
     169Key-ExpiryTime,404,6.3.1.5,Time,"M, V",,,
     170ME-Key-Material,405,6.3.1.6,OctetString,"M, V",,,
     171UICC-Key-Material,406,6.3.1.7,OctetString,"M, V",,,
     172# Note: 3GPP TS 29.109 table 6.1 row GBA_U-Awareness-Indicator (407),,,,,,,
     173# has an underscore in the name (contrary to RFC 6733 section 4.1).,,,,,,,
     174# ,,,,,,,
     175# Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407).,,,,,,,
     176GBA-U-Awareness-Indicator,407,6.3.1.8,Enumerated,"M, V",,,
     177BootstrapInfoCreationTime,408,6.3.1.9,Time,"M, V",,,
     178GUSS-Timestamp,409,6.3.1.10,Time,V,,,M
     179GBA-Type,410,6.3.1.11,Enumerated,"M, V",,,
     180UE-Id,411,6.3.1.12,OctetString,"M, V",,,
     181UE-Id-Type,412,6.3.1.13,Enumerated,"M, V",,,
     182UICC-App-Label,413,6.3.1.14,OctetString,"M, V",,,
     183UICC-ME,414,6.3.1.15,Enumerated,"M, V",,,
     184Requested-Key-Lifetime,415,6.3.1.16,Time,"M, V",,,
     185Private-Identity-Request,416,6.3.1.17,Enumerated,"M, V",,,
     186GBA-Push-Info,417,6.3.1.18,OctetString,"M, V",,,
     187NAF-SA-Identifier,418,6.3.1.19,OctetString,"M, V",,,
     188Security-Feature-Request,419,6.3.1.20,OctetString,"M,V",,,
     189Security-Feature-Response,420,6.3.1.21,OctetString,"M,V",,,
    150190,,,,,,,
    151191@standard,3GPP TS 29.128,,,,,,
Note: See TracChangeset for help on using the changeset viewer.