# HG changeset patch # User Luke Mewburn # Date 1585265427 -39600 # Node ID eeb5706333c3ea4364cc903effa664704661b628 # Parent a0ca9ac32a3a6384cb678caac036b0e5f766193a Update to 3GPP TS 29.061 V15.5.0 (2018-12) Add AVPs: - TWAN-Identifier, OctetString, code 29, section 16.4.7 - 3GPP-User-Location-Info-Time, OctetString, code 30, section 16.4.7 - 3GPP-Secondary-RAT-Usage, OctetString, code 31, section 16.4.7 - MBMS-Access-Indicator, Enumerated, code 923, section 20.5a.1 - MBMS-GW-SSM-IP-Address, OctetString, code 924, section 20.5a.2 - MBMS-GW-SSM-IPv6-Address, OctetString, code 925, section 20.5a.3 - MBMS-BMSC-SSM-UDP-Port, OctetString, code 926, section 20.5a.4 - MBMS-GW-UDP-Port, OctetString, code 927, section 20.5a.5 - MBMS-GW-UDP-Port-Indicator, Enumerated, code 928, section 20.5a.6 - MBMS-Data-Transfer-Start, Unsigned64, code 929, section 20.5a.7 - MBMS-Data-Transfer-Stop, Unsigned64, code 930, section 20.5a.8 - MBMS-Flag, Unsigned32, code 931, section 20.5a.9 - Restart-Counter, Unsigned32, code 932, section 20.5a.10 - Diagnostic-Info, Unsigned32, code 933, section 20.5a.11 - MBMS-Cell-List, OctetString, code 934, section 20.5a.12 Update notes and comments to reflect current style. diff -r a0ca9ac32a3a -r eeb5706333c3 extensions/dict_dcca_3gpp/dict_dcca_3gpp.c --- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c Fri Mar 27 10:05:54 2020 +1100 +++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c Fri Mar 27 10:30:27 2020 +1100 @@ -368,12 +368,18 @@ /*==================================================================*/ /*==================================================================*/ - /* 3GPP 29.061-c00 (12.0.0 2012.12.20) */ - /* 3GPP 29.061 is not very clear and self-inconsistent about M */ - /* for this reason, other sources are assumed more trustworthy */ - /*==================================================================*/ - - /* M inconsistently specified */ + /* 3GPP TS 29.061 V15.5.0 (2018-12) */ + /* From 3GPP 29061-f50.doc */ + /*==================================================================*/ + + /*==================================================================*/ + /* 3GPP TS 29.061 Table 9a: Gi/Sgi specific AVPs */ + + /* Note: 3GPP TS 29.061 is unclear and inconsistent about M. */ + /* For this reason, other sources are assumed more trustworthy. */ + /*==================================================================*/ + + /* Note: 3GPP-IMSI (1) changed to Must M. */ /* 3GPP-IMSI, UTF8String, code 1, section 16.4.7 */ { struct dict_avp_data data = { @@ -387,8 +393,8 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* 29.061 says OctetString; dumps say UInt32; manually changed */ - /* 29.061 says MUST NOT M; dumps say MUST */ + /* Note: 3GPP-Charging-Id (2) type changed from OctetString to Unsigned32, */ + /* per 3GPP TS 29.061 clause 16.4.7.2/2 and packet dumps. */ /* 3GPP-Charging-Id, Unsigned32, code 2, section 16.4.7 */ { struct dict_avp_data data = { @@ -402,7 +408,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* 29.061 says MUST NOT M; dumps say MUST */ + /* Note: 3GPP-PDP-Type (3) changed to Must M. */ /* 3GPP-PDP-Type, Enumerated, code 3, section 16.4.7 */ { struct dict_avp_data data = { @@ -432,7 +438,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP-GPRS-Negotiated-QoS-Profile (5) changed to Must M per contrib/3gpp. */ /* 3GPP-GPRS-Negotiated-QoS-Profile, UTF8String, code 5, section 16.4.7 */ { struct dict_avp_data data = { @@ -446,7 +452,6 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* M inconsistently specified; old contrib/3gg says MUST NOT */ /* 3GPP-SGSN-Address, OctetString, code 6, section 16.4.7 */ { struct dict_avp_data data = { @@ -473,7 +478,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* 29.061 says MUST NOT M; dumps say MUST */ + /* Note: 3GPP-IMSI-MCC-MNC (8) changed to Must M per packet dumps. */ /* 3GPP-IMSI-MCC-MNC, UTF8String, code 8, section 16.4.7 */ { struct dict_avp_data data = { @@ -487,7 +492,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP-GGSN-MCC-MNC (9) changed to Must M per contrib/3gpp. */ /* 3GPP-GGSN-MCC-MNC, UTF8String, code 9, section 16.4.7 */ { struct dict_avp_data data = { @@ -501,7 +506,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP-NSAPI (10) changed to Must M per contrib/3gpp. */ /* 3GPP-NSAPI, OctetString, code 10, section 16.4.7 */ { struct dict_avp_data data = { @@ -515,7 +520,9 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* added manually, missing in AVP table */ + /* Note: 3GPP TS 29.061 table 9a does not define */ + /* 3GPP-Session-Stop-Indicator (11) even when it is referenced */ + /* by other 3GPP Diameter AVPs including PS-Information (874). */ /* 3GPP-Session-Stop-Indicator, OctetString, code 11, section 16.4.7 */ { struct dict_avp_data data = { @@ -529,7 +536,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP-Selection-Mode (12) changed to Must M per contrib/3gpp. */ /* 3GPP-Selection-Mode, UTF8String, code 12, section 16.4.7 */ { struct dict_avp_data data = { @@ -543,7 +550,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP-Charging-Characteristics (13) changed to Must M per contrib/3gpp. */ /* 3GPP-Charging-Characteristics, UTF8String, code 13, section 16.4.7 */ { struct dict_avp_data data = { @@ -557,7 +564,10 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ + /* 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address. */ + /* This rename was not applied. */ + /* 3GPP-CG-IPv6-Address (14) changed to Must M per contrib/3gpp. */ /* 3GPP-CG-IPv6-Address, OctetString, code 14, section 16.4.7 */ { struct dict_avp_data data = { @@ -571,8 +581,10 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* M inconsistently specified */ - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ + /* 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address. */ + /* This rename was not applied. */ + /* 3GPP-SGSN-IPv6-Address (15) changed to Must M per contrib/3gpp. */ /* 3GPP-SGSN-IPv6-Address, OctetString, code 15, section 16.4.7 */ { struct dict_avp_data data = { @@ -586,7 +598,10 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ + /* 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address. */ + /* This rename was not applied. */ + /* 3GPP-GGSN-IPv6-Address (16) changed to Must M per contrib/3gpp. */ /* 3GPP-GGSN-IPv6-Address, OctetString, code 16, section 16.4.7 */ { struct dict_avp_data data = { @@ -600,7 +615,10 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ + /* 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers. */ + /* This rename was not applied. */ + /* 3GPP-IPv6-DNS-Servers (17) changed to Must M per contrib/3gpp. */ /* 3GPP-IPv6-DNS-Servers, OctetString, code 17, section 16.4.7 */ { struct dict_avp_data data = { @@ -614,7 +632,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */ + /* Note: 3GPP-SGSN-MCC-MNC (18) changed to Must M per contrib/3gpp. */ /* 3GPP-SGSN-MCC-MNC, UTF8String, code 18, section 16.4.7 */ { struct dict_avp_data data = { @@ -628,7 +646,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* M inconsistently specified */ + /* Note: 3GPP-IMEISV (20) changed to Must M. */ /* 3GPP-IMEISV, OctetString, code 20, section 16.4.7 */ { struct dict_avp_data data = { @@ -642,7 +660,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* M inconsistently specified */ + /* Note: 3GPP-RAT-Type (21) changed to Must M. */ /* 3GPP-RAT-Type, OctetString, code 21, section 16.4.7 */ { struct dict_avp_data data = { @@ -656,7 +674,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* M inconsistently specified */ + /* Note: 3GPP-User-Location-Info (22) changed to Must M. */ /* 3GPP-User-Location-Info, OctetString, code 22, section 16.4.7 */ { struct dict_avp_data data = { @@ -670,7 +688,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* M inconsistently specified */ + /* Note: 3GPP-MS-TimeZone (23) changed to Must M. */ /* 3GPP-MS-TimeZone, OctetString, code 23, section 16.4.7 */ { struct dict_avp_data data = { @@ -744,7 +762,51 @@ /* External-Identifier (28) OctetString replaced by */ /* External-Identifier (3111) UTF8String. */ - /* TMGI, OctetString, code 900, section 17.07.02 */ + + /* TWAN-Identifier, OctetString, code 29, section 16.4.7 */ + { + struct dict_avp_data data = { + 29, /* Code */ + 10415, /* Vendor */ + "TWAN-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); + }; + + /* 3GPP-User-Location-Info-Time, OctetString, code 30, section 16.4.7 */ + { + struct dict_avp_data data = { + 30, /* Code */ + 10415, /* Vendor */ + "3GPP-User-Location-Info-Time", /* 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-Secondary-RAT-Usage, OctetString, code 31, section 16.4.7 */ + { + struct dict_avp_data data = { + 31, /* Code */ + 10415, /* Vendor */ + "3GPP-Secondary-RAT-Usage", /* 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.061 Table 10: Gmb specific AVPs */ + /*==================================================================*/ + + /* TMGI, OctetString, code 900, section 17.7.2 */ { struct dict_avp_data data = { 900, /* Code */ @@ -757,7 +819,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* Required-MBMS-Bearer-Capabilities, UTF8String, code 901, section 17.07.03 */ + /* Required-MBMS-Bearer-Capabilities, UTF8String, code 901, section 17.7.3 */ { struct dict_avp_data data = { 901, /* Code */ @@ -770,7 +832,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* MBMS-StartStop-Indication, Enumerated, code 902, section 17.07.05 */ + /* MBMS-StartStop-Indication, Enumerated, code 902, section 17.7.5 */ { struct dict_avp_data data = { 902, /* Code */ @@ -786,7 +848,7 @@ CHECK_dict_new(DICT_AVP, &data, type, NULL); }; - /* MBMS-Service-Area, OctetString, code 903, section 17.07.06 */ + /* MBMS-Service-Area, OctetString, code 903, section 17.7.6 */ { struct dict_avp_data data = { 903, /* Code */ @@ -799,7 +861,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* MBMS-Session-Duration, OctetString, code 904, section 17.07.07 */ + /* MBMS-Session-Duration, OctetString, code 904, section 17.7.7 */ { struct dict_avp_data data = { 904, /* Code */ @@ -812,7 +874,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* Alternative-APN, UTF8String, code 905, section 17.07.08 */ + /* Alternative-APN, UTF8String, code 905, section 17.7.8 */ { struct dict_avp_data data = { 905, /* Code */ @@ -825,7 +887,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* MBMS-Service-Type, Enumerated, code 906, section 17.07.09 */ + /* MBMS-Service-Type, Enumerated, code 906, section 17.7.9 */ { struct dict_avp_data data = { 906, /* Code */ @@ -841,7 +903,7 @@ CHECK_dict_new(DICT_AVP, &data, type, NULL); }; - /* MBMS-2G-3G-Indicator, Enumerated, code 907, section 17.07.10 */ + /* MBMS-2G-3G-Indicator, Enumerated, code 907, section 17.7.10 */ { struct dict_avp_data data = { 907, /* Code */ @@ -857,7 +919,7 @@ CHECK_dict_new(DICT_AVP, &data, type, NULL); }; - /* MBMS-Session-Identity, OctetString, code 908, section 17.07.11 */ + /* MBMS-Session-Identity, OctetString, code 908, section 17.7.11 */ { struct dict_avp_data data = { 908, /* Code */ @@ -870,7 +932,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* RAI, UTF8String, code 909, section 17.07.12 */ + /* RAI, UTF8String, code 909, section 17.7.12 */ { struct dict_avp_data data = { 909, /* Code */ @@ -883,7 +945,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* Additional-MBMS-Trace-Info, OctetString, code 910, section 17.07.13 */ + /* Additional-MBMS-Trace-Info, OctetString, code 910, section 17.7.13 */ { struct dict_avp_data data = { 910, /* Code */ @@ -896,7 +958,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* MBMS-Time-To-Data-Transfer, OctetString, code 911, section 17.07.14 */ + /* MBMS-Time-To-Data-Transfer, OctetString, code 911, section 17.7.14 */ { struct dict_avp_data data = { 911, /* Code */ @@ -909,7 +971,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* MBMS-Session-Repetition-Number, OctetString, code 912, section 17.07.15 */ + /* MBMS-Session-Repetition-Number, OctetString, code 912, section 17.7.15 */ { struct dict_avp_data data = { 912, /* Code */ @@ -922,7 +984,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* MBMS-Required-QoS, UTF8String, code 913, section 17.07.16 */ + /* MBMS-Required-QoS, UTF8String, code 913, section 17.7.16 */ { struct dict_avp_data data = { 913, /* Code */ @@ -935,7 +997,7 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* MBMS-Counting-Information, Enumerated, code 914, section 17.07.17 */ + /* MBMS-Counting-Information, Enumerated, code 914, section 17.7.17 */ { struct dict_avp_data data = { 914, /* Code */ @@ -951,7 +1013,7 @@ CHECK_dict_new(DICT_AVP, &data, type, NULL); }; - /* MBMS-User-Data-Mode-Indication, Enumerated, code 915, section 17.07.18 */ + /* MBMS-User-Data-Mode-Indication, Enumerated, code 915, section 17.7.18 */ { struct dict_avp_data data = { 915, /* Code */ @@ -967,7 +1029,7 @@ CHECK_dict_new(DICT_AVP, &data, type, NULL); }; - /* MBMS-GGSN-Address, OctetString, code 916, section 17.07.19 */ + /* MBMS-GGSN-Address, OctetString, code 916, section 17.7.19 */ { struct dict_avp_data data = { 916, /* Code */ @@ -980,7 +1042,10 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* MBMS-GGSN-IPv6-Address, OctetString, code 917, section 17.07.20 */ + /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ + /* MBMS-GGSN-IPv6-Address (917) to MBMS-GGSN-Ipv6-Address. */ + /* This rename was not applied. */ + /* MBMS-GGSN-IPv6-Address, OctetString, code 917, section 17.7.20 */ { struct dict_avp_data data = { 917, /* Code */ @@ -993,7 +1058,7 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* MBMS-BMSC-SSM-IP-Address, OctetString, code 918, section 17.07.21 */ + /* MBMS-BMSC-SSM-IP-Address, OctetString, code 918, section 17.7.21 */ { struct dict_avp_data data = { 918, /* Code */ @@ -1006,7 +1071,10 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* MBMS-BMSC-SSM-IPv6-Address, OctetString, code 919, section 17.07.22 */ + /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */ + /* MBMS-BMSC-SSM-IPv6-Address (919) to MBMS-BMSC-SSM-Ipv6-Address. */ + /* This rename was not applied. */ + /* MBMS-BMSC-SSM-IPv6-Address, OctetString, code 919, section 17.7.22 */ { struct dict_avp_data data = { 919, /* Code */ @@ -1065,6 +1133,175 @@ }; /*==================================================================*/ + /* 3GPP TS 29.061 Table 20.5a.1: SGmb specific AVPs */ + /*==================================================================*/ + + /* MBMS-Access-Indicator, Enumerated, code 923, section 20.5a.1 */ + { + struct dict_avp_data data = { + 923, /* Code */ + 10415, /* Vendor */ + "MBMS-Access-Indicator", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ + AVP_TYPE_INTEGER32 /* base type of data */ + }; + struct dict_object *type; + struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-Access-Indicator)", NULL, NULL, NULL }; + CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); + CHECK_dict_new(DICT_AVP, &data, type, NULL); + }; + + /* MBMS-GW-SSM-IP-Address, OctetString, code 924, section 20.5a.2 */ + { + struct dict_avp_data data = { + 924, /* Code */ + 10415, /* Vendor */ + "MBMS-GW-SSM-IP-Address", /* 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 V12.6.0 (2014-06) renamed */ + /* MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address. */ + /* This rename was not applied. */ + /* MBMS-GW-SSM-IPv6-Address, OctetString, code 925, section 20.5a.3 */ + { + struct dict_avp_data data = { + 925, /* Code */ + 10415, /* Vendor */ + "MBMS-GW-SSM-IPv6-Address", /* 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); + }; + + /* MBMS-BMSC-SSM-UDP-Port, OctetString, code 926, section 20.5a.4 */ + { + struct dict_avp_data data = { + 926, /* Code */ + 10415, /* Vendor */ + "MBMS-BMSC-SSM-UDP-Port", /* 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); + }; + + /* MBMS-GW-UDP-Port, OctetString, code 927, section 20.5a.5 */ + { + struct dict_avp_data data = { + 927, /* Code */ + 10415, /* Vendor */ + "MBMS-GW-UDP-Port", /* 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); + }; + + /* MBMS-GW-UDP-Port-Indicator, Enumerated, code 928, section 20.5a.6 */ + { + struct dict_avp_data data = { + 928, /* Code */ + 10415, /* Vendor */ + "MBMS-GW-UDP-Port-Indicator", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_INTEGER32 /* base type of data */ + }; + struct dict_object *type; + struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-GW-UDP-Port-Indicator)", NULL, NULL, NULL }; + CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); + CHECK_dict_new(DICT_AVP, &data, type, NULL); + }; + + /* MBMS-Data-Transfer-Start, Unsigned64, code 929, section 20.5a.7 */ + { + struct dict_avp_data data = { + 929, /* Code */ + 10415, /* Vendor */ + "MBMS-Data-Transfer-Start", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_UNSIGNED64 /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* MBMS-Data-Transfer-Stop, Unsigned64, code 930, section 20.5a.8 */ + { + struct dict_avp_data data = { + 930, /* Code */ + 10415, /* Vendor */ + "MBMS-Data-Transfer-Stop", /* Name */ + AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ + AVP_FLAG_VENDOR, /* Fixed flag values */ + AVP_TYPE_UNSIGNED64 /* base type of data */ + }; + CHECK_dict_new(DICT_AVP, &data, NULL, NULL); + }; + + /* MBMS-Flag, Unsigned32, code 931, section 20.5a.9 */ + { + struct dict_avp_data data = { + 931, /* Code */ + 10415, /* Vendor */ + "MBMS-Flag", /* 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); + }; + + /* Restart-Counter, Unsigned32, code 932, section 20.5a.10 */ + { + struct dict_avp_data data = { + 932, /* Code */ + 10415, /* Vendor */ + "Restart-Counter", /* 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); + }; + + /* Diagnostic-Info, Unsigned32, code 933, section 20.5a.11 */ + { + struct dict_avp_data data = { + 933, /* Code */ + 10415, /* Vendor */ + "Diagnostic-Info", /* 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); + }; + + /* MBMS-Cell-List, OctetString, code 934, section 20.5a.12 */ + { + struct dict_avp_data data = { + 934, /* Code */ + 10415, /* Vendor */ + "MBMS-Cell-List", /* 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.128 V15.6.0 (2019-09) */ /* From 3GPP 29128-f60.docx */ /*==================================================================*/ @@ -1639,6 +1876,7 @@ }; /* Note: Name conflict with 3GPP TS 32.299 Status (2702). */ + /* Status (1116) renamed to Status-29.140 (1116). */ /* Status-29.140, Grouped, code 1116, section 6.3.19 */ { struct dict_avp_data data = { @@ -4878,6 +5116,8 @@ /*==================================================================*/ /* 3GPP TS 29.229 Table 6.3.1: Diameter Multimedia Application AVPs */ + /* */ + /* Note: AVPs referenced from other sources are not added here. */ /*==================================================================*/ /* Visited-Network-Identifier, OctetString, code 600, section 6.3.1 */ @@ -5380,11 +5620,6 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* Note: Uses RFC 4590 Digest-Realm (104). */ - /* Note: Uses RFC 4590 Digest-Algorithm (111). */ - /* Note: Uses RFC 4590 Digest-QoP (110). */ - /* Note: Uses RFC 4590 Digest-HA1 (121). */ - /* UAR-Flags, Unsigned32, code 637, section 6.3.44 */ { struct dict_avp_data data = { @@ -5618,9 +5853,6 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* Note: Uses RFC 7683 OC-Supported-Features (621). */ - /* Note: Uses RFC 7683 OC-OLR (623). */ - /* Initial-CSeq-Sequence-Number, Unsigned32, code 654, section 6.3.62 */ { struct dict_avp_data data = { @@ -5686,9 +5918,6 @@ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); }; - /* Note: Uses RFC 7944 DRMP (301). */ - /* Note: Uses RFC 8583 Load (650). */ - /* RTR-Flags, Unsigned32, code 659, section 6.3.69 */ { struct dict_avp_data data = { @@ -6698,7 +6927,7 @@ /* Note: 3GPP TS 29.272 V12.5.0 (2014-06) table 7.3.1/1 */ /* changed row SS-Status (1477) to be OctetString instead of Grouped. */ - /* Clause 7.3.88 already described SS-Status as OctetString. */ + /* Clause 7.3.88 already described SS-Status (1147) as OctetString. */ /* SS-Status, OctetString, code 1477, section 7.3.88 */ { struct dict_avp_data data = { @@ -8420,6 +8649,8 @@ /*==================================================================*/ /* 3GPP TS 29.329 Table 6.3.1: Table 6.3.1: Diameter Multimedia Application AVPs */ + /* */ + /* Note: AVPs referenced from other sources are not added here. */ /*==================================================================*/ /* User-Identity, Grouped, code 700, section 6.3.1 */ @@ -8449,6 +8680,7 @@ }; /* Note: Name conflict with 3GPP TS 29.229 User-Data (606). */ + /* User-Data (702) renamed to User-Data-29.329 (702). */ /* User-Data-29.329, OctetString, code 702, section 6.3.3 */ { struct dict_avp_data data = { @@ -8584,13 +8816,6 @@ CHECK_dict_new(DICT_AVP, &data, type, NULL); }; - /* Note: Uses 3GPP TS 29.229 Server-Name (602). */ - /* Note: Uses 3GPP TS 29.229 Supported-Features (628). */ - /* Note: Uses 3GPP TS 29.229 Feature-List-ID (629). */ - /* Note: Uses 3GPP TS 29.229 Feature-List (630). */ - /* Note: Uses 3GPP TS 29.229 Supported-Applications (631). */ - /* Note: Uses 3GPP TS 29.229 Public-Identity (601). */ - /* DSAI-Tag, OctetString, code 711, section 6.3.18 */ { struct dict_avp_data data = { @@ -8604,10 +8829,6 @@ CHECK_dict_new(DICT_AVP, &data, NULL, NULL); }; - /* Note: Uses 3GPP TS 29.229 Wildcarded-Public-Identity (634). */ - /* Note: Uses 3GPP TS 29.229 Wildcarded-IMPU (636). */ - /* Note: Uses 3GPP TS 29.229 Session-Priority (650). */ - /* One-Time-Notification, Enumerated, code 712, section 6.3.22 */ { struct dict_avp_data data = { @@ -8839,6 +9060,7 @@ }; /* Note: Name conflict with 3GPP TS 29.212 3GPP-PS-Data-Off-Status (2847). */ + /* 3GPP-PS-Data-Off-Status (4406) renamed to 3GPP-PS-Data-Off-Status-32.299 (4406). */ /* 3GPP-PS-Data-Off-Status-32.299, Enumerated, code 4406 */ { struct dict_avp_data data = { diff -r a0ca9ac32a3a -r eeb5706333c3 extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv --- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv Fri Mar 27 10:05:54 2020 +1100 +++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv Fri Mar 27 10:30:27 2020 +1100 @@ -3,59 +3,77 @@ ,,,,,,,, @standard,3GPP TS 29.061,,,,,,, #=,,,,,,,, -# 3GPP 29.061-c00 (12.0.0 2012.12.20),,,,,,,, -# 3GPP 29.061 is not very clear and self-inconsistent about M,,,,,,,, -"# for this reason, other sources are assumed more trustworthy",,,,,,,, +# 3GPP TS 29.061 V15.5.0 (2018-12),,,,,,,, +# From 3GPP 29061-f50.doc,,,,,,,, +#=,,,,,,,, +#,,,,,,,, +#=,,,,,,,, +# 3GPP TS 29.061 Table 9a: Gi/Sgi specific AVPs,,,,,,,, +#,,,,,,,, +# Note: 3GPP TS 29.061 is unclear and inconsistent about M.,,,,,,,, +"# For this reason, other sources are assumed more trustworthy.",,,,,,,, #=,,,,,,,, #,,,,,,,, -# M inconsistently specified,,,,,,,, -3GPP-IMSI,1,16.4.7,UTF8String,"M,V",P,,, -# 29.061 says OctetString; dumps say UInt32; manually changed,,,,,,,, -# 29.061 says MUST NOT M; dumps say MUST,,,,,,,, -3GPP-Charging-Id,2,16.4.7,Unsigned32,"M,V",P,,, -# 29.061 says MUST NOT M; dumps say MUST,,,,,,,, -3GPP-PDP-Type,3,16.4.7,Enumerated,"M,V",P,,, -3GPP-CG-Address,4,16.4.7,OctetString,V,P,,M, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-GPRS-Negotiated-QoS-Profile,5,16.4.7,UTF8String,"M,V",P,,, -# M inconsistently specified; old contrib/3gg says MUST NOT,,,,,,,, -3GPP-SGSN-Address,6,16.4.7,OctetString,V,P,,M, -3GPP-GGSN-Address,7,16.4.7,OctetString,V,P,,M, -# 29.061 says MUST NOT M; dumps say MUST,,,,,,,, -3GPP-IMSI-MCC-MNC,8,16.4.7,UTF8String,"M,V",P,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-GGSN-MCC-MNC,9,16.4.7,UTF8String,"M,V",P,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-NSAPI,10,16.4.7,OctetString,"M,V",P,,, -"# added manually, missing in AVP table",,,,,,,, +# Note: 3GPP-IMSI (1) changed to Must M.,,,,,,,, +3GPP-IMSI,1,16.4.7,UTF8String,"M,V",P,,,Y +"# Note: 3GPP-Charging-Id (2) type changed from OctetString to Unsigned32,",,,,,,,, +# per 3GPP TS 29.061 clause 16.4.7.2/2 and packet dumps.,,,,,,,, +3GPP-Charging-Id,2,16.4.7,Unsigned32,"M,V",P,,,Y +# Note: 3GPP-PDP-Type (3) changed to Must M.,,,,,,,, +3GPP-PDP-Type,3,16.4.7,Enumerated,"M,V",P,,,Y +3GPP-CG-Address,4,16.4.7,OctetString,V,P,,M,Y +# Note: 3GPP-GPRS-Negotiated-QoS-Profile (5) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-GPRS-Negotiated-QoS-Profile,5,16.4.7,UTF8String,"M,V",P,,,Y +3GPP-SGSN-Address,6,16.4.7,OctetString,V,P,,M,Y +3GPP-GGSN-Address,7,16.4.7,OctetString,V,P,,M,Y +# Note: 3GPP-IMSI-MCC-MNC (8) changed to Must M per packet dumps.,,,,,,,, +3GPP-IMSI-MCC-MNC,8,16.4.7,UTF8String,"M,V",P,,,Y +# Note: 3GPP-GGSN-MCC-MNC (9) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-GGSN-MCC-MNC,9,16.4.7,UTF8String,"M,V",P,,,Y +# Note: 3GPP-NSAPI (10) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-NSAPI,10,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP TS 29.061 table 9a does not define,,,,,,,, +# 3GPP-Session-Stop-Indicator (11) even when it is referenced,,,,,,,, +# by other 3GPP Diameter AVPs including PS-Information (874).,,,,,,,, 3GPP-Session-Stop-Indicator,11,16.4.7,OctetString,V,P,,M, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-Selection-Mode,12,16.4.7,UTF8String,"M,V",P,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-Charging-Characteristics,13,16.4.7,UTF8String,"M,V",P,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-CG-IPv6-Address,14,16.4.7,OctetString,"M,V",P,,, -# M inconsistently specified,,,,,,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-SGSN-IPv6-Address,15,16.4.7,OctetString,"M,V",P,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-GGSN-IPv6-Address,16,16.4.7,OctetString,"M,V",P,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-IPv6-DNS-Servers,17,16.4.7,OctetString,"M,V",P,,, -# 29.061 says MUST NOT M; old contrib/3gpp says MUST,,,,,,,, -3GPP-SGSN-MCC-MNC,18,16.4.7,UTF8String,"M,V",P,,, -# M inconsistently specified,,,,,,,, -3GPP-IMEISV,20,16.4.7,OctetString,"M,V",P,,, -# M inconsistently specified,,,,,,,, -3GPP-RAT-Type,21,16.4.7,OctetString,"M,V",P,,, -# M inconsistently specified,,,,,,,, -3GPP-User-Location-Info,22,16.4.7,OctetString,"M,V",P,,, -# M inconsistently specified,,,,,,,, -3GPP-MS-TimeZone,23,16.4.7,OctetString,"M,V",P,,, -3GPP-CAMEL-Charging-Info,24,16.4.7,OctetString,V,P,,M, -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, +# Note: 3GPP-Selection-Mode (12) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-Selection-Mode,12,16.4.7,UTF8String,"M,V",P,,,Y +# Note: 3GPP-Charging-Characteristics (13) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-Charging-Characteristics,13,16.4.7,UTF8String,"M,V",P,,,Y +# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,, +# 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address.,,,,,,,, +# This rename was not applied.,,,,,,,, +# 3GPP-CG-IPv6-Address (14) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-CG-IPv6-Address,14,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,, +# 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address.,,,,,,,, +# This rename was not applied.,,,,,,,, +# 3GPP-SGSN-IPv6-Address (15) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-SGSN-IPv6-Address,15,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,, +# 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address.,,,,,,,, +# This rename was not applied.,,,,,,,, +# 3GPP-GGSN-IPv6-Address (16) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-GGSN-IPv6-Address,16,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,, +# 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers.,,,,,,,, +# This rename was not applied.,,,,,,,, +# 3GPP-IPv6-DNS-Servers (17) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-IPv6-DNS-Servers,17,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP-SGSN-MCC-MNC (18) changed to Must M per contrib/3gpp.,,,,,,,, +3GPP-SGSN-MCC-MNC,18,16.4.7,UTF8String,"M,V",P,,,Y +# Note: 3GPP-IMEISV (20) changed to Must M.,,,,,,,, +3GPP-IMEISV,20,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP-RAT-Type (21) changed to Must M.,,,,,,,, +3GPP-RAT-Type,21,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP-User-Location-Info (22) changed to Must M.,,,,,,,, +3GPP-User-Location-Info,22,16.4.7,OctetString,"M,V",P,,,Y +# Note: 3GPP-MS-TimeZone (23) changed to Must M.,,,,,,,, +3GPP-MS-TimeZone,23,16.4.7,OctetString,"M,V",P,,,Y +3GPP-CAMEL-Charging-Info,24,16.4.7,OctetString,V,P,,M,Y +3GPP-Packet-Filter,25,16.4.7,OctetString,V,P,,M,Y +3GPP-Negotiated-DSCP,26,16.4.7,OctetString,V,P,,M,Y +3GPP-Allocate-IP-Type,27,16.4.7,OctetString,V,P,,M,Y # 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,,,,,,,, @@ -64,29 +82,63 @@ # 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,,, -MBMS-Service-Area,903,17.07.06,OctetString,"M,V",P,,, -MBMS-Session-Duration,904,17.07.07,OctetString,"M,V",P,,, -Alternative-APN,905,17.07.08,UTF8String,"M,V",P,,, -MBMS-Service-Type,906,17.07.09,Enumerated,"M,V",P,,, -MBMS-2G-3G-Indicator,907,17.07.10,Enumerated,"M,V",P,,, -MBMS-Session-Identity,908,17.07.11,OctetString,"M,V",P,,, -RAI,909,17.07.12,UTF8String,"M,V",P,,, -Additional-MBMS-Trace-Info,910,17.07.13,OctetString,"M,V",P,,, -MBMS-Time-To-Data-Transfer,911,17.07.14,OctetString,"M,V",P,,, -MBMS-Session-Repetition-Number,912,17.07.15,OctetString,"M,V",P,,, -MBMS-Required-QoS,913,17.07.16,UTF8String,"M,V",P,,, -MBMS-Counting-Information,914,17.07.17,Enumerated,"M,V",P,,, -MBMS-User-Data-Mode-Indication,915,17.07.18,Enumerated,"M,V",P,,, -MBMS-GGSN-Address,916,17.07.19,OctetString,"M,V",P,,, -MBMS-GGSN-IPv6-Address,917,17.07.20,OctetString,"M,V",P,,, -MBMS-BMSC-SSM-IP-Address,918,17.07.21,OctetString,"M,V",P,,, -MBMS-BMSC-SSM-IPv6-Address,919,17.07.22,OctetString,"M,V",P,,, -MBMS-Flow-Identifier,920,17.7.23,OctetString,"M,V",P,,, -CN-IP-Multicast-Distribution,921,17.7.24,Enumerated,"M,V",P,,, -MBMS-HC-Indicator,922,17.7.25,Enumerated,"M,V",P,,, +#,,,,,,,, +TWAN-Identifier,29,16.4.7,OctetString,V,P,,M,Y +3GPP-User-Location-Info-Time,30,16.4.7,OctetString,V,P,,M,Y +3GPP-Secondary-RAT-Usage,31,16.4.7,OctetString,V,P,,M,Y +#=,,,,,,,, +# 3GPP TS 29.061 Table 10: Gmb specific AVPs,,,,,,,, +#=,,,,,,,, +#,,,,,,,, +TMGI,900,17.7.2,OctetString,"M,V",P,,,Y +Required-MBMS-Bearer-Capabilities,901,17.7.3,UTF8String,"M,V",P,,,Y +MBMS-StartStop-Indication,902,17.7.5,Enumerated,"M,V",P,,,Y +MBMS-Service-Area,903,17.7.6,OctetString,"M,V",P,,,Y +MBMS-Session-Duration,904,17.7.7,OctetString,"M,V",P,,,Y +Alternative-APN,905,17.7.8,UTF8String,"M,V",P,,,Y +MBMS-Service-Type,906,17.7.9,Enumerated,"M,V",P,,,Y +MBMS-2G-3G-Indicator,907,17.7.10,Enumerated,"M, V",P,,,Y +MBMS-Session-Identity,908,17.7.11,OctetString,"M,V",P,,,Y +RAI,909,17.7.12,UTF8String,"M, V",P,,,Y +Additional-MBMS-Trace-Info,910,17.7.13,OctetString,"M,V",P,,,Y +MBMS-Time-To-Data-Transfer,911,17.7.14,OctetString,"M,V",P,,,Y +MBMS-Session-Repetition-Number,912,17.7.15,OctetString,"M,V",P,,,Y +MBMS-Required-QoS,913,17.7.16,UTF8String,"M,V",P,,,Y +MBMS-Counting-Information,914,17.7.17,Enumerated,"M,V",P,,,Y +MBMS-User-Data-Mode-Indication,915,17.7.18,Enumerated,"M,V",P,,,Y +MBMS-GGSN-Address,916,17.7.19,OctetString,"M,V",P,,,Y +# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,, +# MBMS-GGSN-IPv6-Address (917) to MBMS-GGSN-Ipv6-Address.,,,,,,,, +# This rename was not applied.,,,,,,,, +MBMS-GGSN-IPv6-Address,917,17.7.20,OctetString,"M,V",P,,,Y +MBMS-BMSC-SSM-IP-Address,918,17.7.21,OctetString,"M,V",P,,,Y +# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,, +# MBMS-BMSC-SSM-IPv6-Address (919) to MBMS-BMSC-SSM-Ipv6-Address.,,,,,,,, +# This rename was not applied.,,,,,,,, +MBMS-BMSC-SSM-IPv6-Address,919,17.7.22,OctetString,"M,V",P,,,Y +MBMS-Flow-Identifier,920,17.7.23,OctetString,"M,V",P,,,Y +CN-IP-Multicast-Distribution,921,17.7.24,Enumerated,"M,V",P,,,Y +MBMS-HC-Indicator,922,17.7.25,Enumerated,"M,V",P,,,Y +,,,,,,,, +#=,,,,,,,, +# 3GPP TS 29.061 Table 20.5a.1: SGmb specific AVPs,,,,,,,, +#=,,,,,,,, +#,,,,,,,, +MBMS-Access-Indicator,923,20.5a.1,Enumerated,"M,V",P,,,Y +MBMS-GW-SSM-IP-Address,924,20.5a.2,OctetString,V,P,,M,Y +# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,, +# MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address.,,,,,,,, +# This rename was not applied.,,,,,,,, +MBMS-GW-SSM-IPv6-Address,925,20.5a.3,OctetString,V,P,,M,Y +MBMS-BMSC-SSM-UDP-Port,926,20.5a.4,OctetString,V,P,,M,Y +MBMS-GW-UDP-Port,927,20.5a.5,OctetString,V,P,,M,Y +MBMS-GW-UDP-Port-Indicator,928,20.5a.6,Enumerated,V,P,,M,Y +MBMS-Data-Transfer-Start,929,20.5a.7,Unsigned64,V,P,,M,Y +MBMS-Data-Transfer-Stop,930,20.5a.8,Unsigned64,V,P,,M,Y +MBMS-Flag,931,20.5a.9,Unsigned32,V,P,,M,Y +Restart-Counter,932,20.5a.10,Unsigned32,V,P,,M,Y +Diagnostic-Info,933,20.5a.11,Unsigned32,V,P,,M,Y +MBMS-Cell-List,934,20.5a.12,OctetString,V,P,,M,Y ,,,,,,,, @standard,3GPP TS 29.129,,,,,,, #=,,,,,,,,