Mercurial > hg > freeDiameter
diff extensions/dict_dcca_3gpp/add_avps.c @ 1505:b382cbd1a710
Add 3GPP TS 29.217 V15.1.0 (2019-09)
Add AVPs:
- Aggregated-Congestion-Info, Grouped, code 4000, section 5.3.2
- Aggregated-RUCI-Report, Grouped, code 4001, section 5.3.3
- Congestion-Level-Definition, Grouped, code 4002, section 5.3.4
- Congestion-Level-Range, Unsigned32, code 4003, section 5.3.5
- Congestion-Level-Set-Id, Unsigned32, code 4004, section 5.3.6
- Congestion-Level-Value, Unsigned32, code 4005, section 5.3.7
- Congestion-Location-Id, Grouped, code 4006, section 5.3.8
- Conditional-Restriction, Unsigned32, code 4007, section 5.3.9
- eNodeB-Id, OctetString, code 4008, section 5.3.10
- IMSI-List, OctetString, code 4009, section 5.3.11
- RCAF-Id, DiameterIdentity, code 4010, section 5.3.12
- Reporting-Restriction, Unsigned32, code 4011, section 5.3.13
- RUCI-Action, Unsigned32, code 4012, section 5.3.14
- Extended-eNodeB-Id, OctetString, code 4013, section 5.3.15
author | Luke Mewburn <luke@mewburn.net> |
---|---|
date | Fri, 03 Apr 2020 17:01:16 +1100 |
parents | 4dff34cd2d3d |
children | f5b1c2e2827f |
line wrap: on
line diff
--- a/extensions/dict_dcca_3gpp/add_avps.c Fri Apr 03 16:50:00 2020 +1100 +++ b/extensions/dict_dcca_3gpp/add_avps.c Fri Apr 03 17:01:16 2020 +1100 @@ -6118,6 +6118,200 @@ }; /*==================================================================*/ + /* 3GPP TS 29.217 V15.1.0 (2019-09) */ + /* Policy and Charging Control (PCC); */ + /* Congestion reporting over Np reference point */ + /* */ + /* From 3GPP 29217-f10.doc */ + /*==================================================================*/ + + /*==================================================================*/ + /* 3GPP TS 29.217 Table 5.3.1.1: Np specific Diameter AVPs */ + /*==================================================================*/ + + /* Aggregated-Congestion-Info, Grouped, code 4000, section 5.3.2 */ + { + struct dict_avp_data data = { + 4000, /* Code */ + 10415, /* Vendor */ + "Aggregated-Congestion-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); + }; + + /* Aggregated-RUCI-Report, Grouped, code 4001, section 5.3.3 */ + { + struct dict_avp_data data = { + 4001, /* Code */ + 10415, /* Vendor */ + "Aggregated-RUCI-Report", /* 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); + }; + + /* Congestion-Level-Definition, Grouped, code 4002, section 5.3.4 */ + { + struct dict_avp_data data = { + 4002, /* Code */ + 10415, /* Vendor */ + "Congestion-Level-Definition", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_GROUPED /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* Congestion-Level-Range, Unsigned32, code 4003, section 5.3.5 */ + { + struct dict_avp_data data = { + 4003, /* Code */ + 10415, /* Vendor */ + "Congestion-Level-Range", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_UNSIGNED32 /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* Congestion-Level-Set-Id, Unsigned32, code 4004, section 5.3.6 */ + { + struct dict_avp_data data = { + 4004, /* Code */ + 10415, /* Vendor */ + "Congestion-Level-Set-Id", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_UNSIGNED32 /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* Congestion-Level-Value, Unsigned32, code 4005, section 5.3.7 */ + { + struct dict_avp_data data = { + 4005, /* Code */ + 10415, /* Vendor */ + "Congestion-Level-Value", /* 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); + }; + + /* Congestion-Location-Id, Grouped, code 4006, section 5.3.8 */ + { + struct dict_avp_data data = { + 4006, /* Code */ + 10415, /* Vendor */ + "Congestion-Location-Id", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_GROUPED /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* Conditional-Restriction, Unsigned32, code 4007, section 5.3.9 */ + { + struct dict_avp_data data = { + 4007, /* Code */ + 10415, /* Vendor */ + "Conditional-Restriction", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_UNSIGNED32 /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* eNodeB-Id, OctetString, code 4008, section 5.3.10 */ + { + struct dict_avp_data data = { + 4008, /* Code */ + 10415, /* Vendor */ + "eNodeB-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, NULL, NULL); + }; + + /* IMSI-List, OctetString, code 4009, section 5.3.11 */ + { + struct dict_avp_data data = { + 4009, /* Code */ + 10415, /* Vendor */ + "IMSI-List", /* 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); + }; + + /* RCAF-Id, DiameterIdentity, code 4010, section 5.3.12 */ + { + struct dict_avp_data data = { + 4010, /* Code */ + 10415, /* Vendor */ + "RCAF-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, DiameterIdentity_type, NULL); + }; + + /* Reporting-Restriction, Unsigned32, code 4011, section 5.3.13 */ + { + struct dict_avp_data data = { + 4011, /* Code */ + 10415, /* Vendor */ + "Reporting-Restriction", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_UNSIGNED32 /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* RUCI-Action, Unsigned32, code 4012, section 5.3.14 */ + { + struct dict_avp_data data = { + 4012, /* Code */ + 10415, /* Vendor */ + "RUCI-Action", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_UNSIGNED32 /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* Extended-eNodeB-Id, OctetString, code 4013, section 5.3.15 */ + { + struct dict_avp_data data = { + 4013, /* Code */ + 10415, /* Vendor */ + "Extended-eNodeB-Id", /* 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); + }; + + /*==================================================================*/ /* 3GPP TS 29.229 V15.2.0 (2019-09) */ /* Cx and Dx interfaces based on the Diameter protocol; */ /* Protocol details */