comparison extensions/dict_dcca_3gpp/dict_dcca_3gpp.c @ 1473:8f953829c5d3

Update to 3GPP TS 29.212 V15.9.0 (2019-12) Update sections for various AVPs that were moved from section 5 to section 5a, 5b, or 5c. Add AVPs from 3GPP TS 29.212 V15.9.0 (2019-12): - Credit-Management-Status, Unsigned32, code 1082, section 5.3.102 - AN-GW-Status, Enumerated, code 2811, section 5.3.100 - User-Location-Info-Time, Time, code 2812, section 5.3.101 - CS-Service-Resource-Report, Grouped, code 2813, section E.6.3.6 - CS-Service-Resource-Failure-Cause, Enumerated, code 2814, section E.6.3.5 - CS-Service-Resource-Result-Operation, Enumerated, code 2815, section E.6.3.4 - Default-QoS-Information, Grouped, code 2816, section 5.3.103 - Default-QoS-Name, UTF8String, code 2817, section 5.3.104 - Conditional-APN-Aggregate-Max-Bitrate, Grouped, code 2818, section 5.3.105 - RAN-NAS-Release-Cause, OctetString, code 2819, section 5.3.106 - Presence-Reporting-Area-Elements-List, OctetString, code 2820, section 5.3.107 - Presence-Reporting-Area-Identifier, OctetString, code 2821, section 5.3.108 - Presence-Reporting-Area-Information, Grouped, code 2822, section 5.3.109 - Presence-Reporting-Area-Status, Unsigned32, code 2823, section 5.3.110 - NetLoc-Access-Support, Unsigned32, code 2824, section 5.3.111 - Fixed-User-Location-Info, Grouped, code 2825, section 5.3.112 - PCSCF-Restoration-Indication, Unsigned32, code 2826, section 5.3.113 - IP-CAN-Session-Charging-Scope, Enumerated, code 2827, section 5.3.114 - Monitoring-Flags, Unsigned32, code 2828, section 5.3.115 - Default-Access, Enumerated, code 2829, section 5.3.120 - NBIFOM-Mode, Enumerated, code 2830, section 5.3.117 - NBIFOM-Support, Enumerated, code 2831, section 5.3.116 - RAN-Rule-Support, Unsigned32, code 2832, section 5.3.122 - Access-Availability-Change-Reason, Unsigned32, code 2833, section 5.3.121 - Routing-Rule-Failure-Code, Unsigned32, code 2834, section 5.3.119 - Routing-Rule-Report, Grouped, code 2835, section 5.3.118 - Traffic-Steering-Policy-Identifier-DL, OctetString, code 2836, section 5.3.123 - Traffic-Steering-Policy-Identifier-UL, OctetString, code 2837, section 5.3.124 - Request-Type, Unsigned32, code 2838, section 5c.3.2 - Execution-Time, Time, code 2839, section 5.3.127 - Conditional-Policy-Information, Grouped, code 2840, section 5.3.128 - Resource-Release-Notification, Enumerated, code 2841, section 5.3.125 - Removal-Of-Access, Enumerated, code 2842, section 5.3.126 - TCP-Source-Port, Unsigned32, code 2843, section 5.3.129 - Default-Bearer-Indication, Enumerated, code 2844, section 5.3.132 - PRA-Install, Grouped, code 2845, section 5.3.130 - PRA-Remove, Grouped, code 2846, section 5.3.131 - 3GPP-PS-Data-Off-Status, Enumerated, code 2847, section 5.3.133 - Extended-APN-AMBR-DL, Unsigned32, code 2848, section 5.3.134 - Extended-APN-AMBR-UL, Unsigned32, code 2849, section 5.3.135 - Extended-GBR-DL, Unsigned32, code 2850, section 5.3.136 - Extended-GBR-UL, Unsigned32, code 2851, section 5.3.137 - Max-PLR-DL, Float32, code 2852, section 5.3.138 - Max-PLR-UL, Float32, code 2853, section 5.3.139 - UE-Status, Unsigned32, code 2854, section 5.3.140 - Presence-Reporting-Area-Node, Unsigned32, code 2855, section 5.3.141 Set Must AVP Flag M (Mandatory) per 3GPP TS 29.212 Table 5b.3.0.1 for: - ADC-Rule-Install, Grouped, code 1092, section 5b.3.1 - ADC-Rule-Remove, Grouped, code 1093, section 5b.3.2 - ADC-Rule-Definition, Grouped, code 1094, section 5b.3.3 - ADC-Rule-Base-Name, UTF8String, code 1095, section 5b.3.4 - ADC-Rule-Name, OctetString, code 1096, section 5b.3.5 - ADC-Rule-Report, Grouped, code 1097, section 5b.3.6 Retain ADC-Revalidation-Time, Time, code 2801, section 5.3.93 Removed in 3GPP TS 29.212 V12.1.0 (2013-06). Add HeNB-BBF-FQDN, UTF8String, code 2803, section 5.3.94 Removed in 3GPP TS 29.212 V11.8.0 (2013-03).
author Luke Mewburn <luke@mewburn.net>
date Wed, 18 Mar 2020 14:06:08 +1100
parents 396f789b8c29
children 55b7c14ffb1c
comparison
equal deleted inserted replaced
1472:396f789b8c29 1473:8f953829c5d3
1881 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 1881 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1882 CHECK_dict_new(DICT_AVP, &data, type, NULL); 1882 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1883 }; 1883 };
1884 1884
1885 /*==================================================================*/ 1885 /*==================================================================*/
1886 /* 3GPP 29.212-c00 (12.0.0 2013.03.15) */ 1886 /* 3GPP TS 29.212 V15.9.0 (2019-12) */
1887 /* From 3GPP 29212-f90.doc */
1887 /*==================================================================*/ 1888 /*==================================================================*/
1888 1889
1889 /* Gx-specific */ 1890 /*==================================================================*/
1890 1891 /* 3GPP TS 29.212 Table 5.3.0.1: Gx specific Diameter AVPs */
1892 /*==================================================================*/
1893
1894 /* 3GPP TS 29.212 V12.1.0 (2013-06) removed ADC-Revalidation-Time. */
1891 /* ADC-Revalidation-Time, Time, code 2801, section 5.3.93 */ 1895 /* ADC-Revalidation-Time, Time, code 2801, section 5.3.93 */
1892 { 1896 {
1893 struct dict_avp_data data = { 1897 struct dict_avp_data data = {
1894 2801, /* Code */ 1898 2801, /* Code */
1895 10415, /* Vendor */ 1899 10415, /* Vendor */
1899 AVP_TYPE_OCTETSTRING /* base type of data */ 1903 AVP_TYPE_OCTETSTRING /* base type of data */
1900 }; 1904 };
1901 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL); 1905 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
1902 }; 1906 };
1903 1907
1904 /* ADC-Rule-Install, Grouped, code 1092, section 5.3.85 */ 1908 /* 3GPP-PS-Data-Off-Status, Enumerated, code 2847, section 5.3.133 */
1905 { 1909 {
1906 struct dict_avp_data data = { 1910 struct dict_avp_data data = {
1907 1092, /* Code */ 1911 2847, /* Code */
1908 10415, /* Vendor */ 1912 10415, /* Vendor */
1909 "ADC-Rule-Install", /* Name */ 1913 "3GPP-PS-Data-Off-Status", /* Name */
1910 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 1914 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1911 AVP_FLAG_VENDOR, /* Fixed flag values */ 1915 AVP_FLAG_VENDOR, /* Fixed flag values */
1912 AVP_TYPE_GROUPED /* base type of data */ 1916 AVP_TYPE_INTEGER32 /* base type of data */
1913 }; 1917 };
1914 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1918 struct dict_object *type;
1915 }; 1919 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/3GPP-PS-Data-Off-Status)", NULL, NULL, NULL };
1916 1920 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1917 /* ADC-Rule-Remove, Grouped, code 1093, section 5.3.86 */ 1921 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1918 { 1922 };
1919 struct dict_avp_data data = { 1923
1920 1093, /* Code */ 1924 /* Access-Availability-Change-Reason, Unsigned32, code 2833, section 5.3.121 */
1921 10415, /* Vendor */ 1925 {
1922 "ADC-Rule-Remove", /* Name */ 1926 struct dict_avp_data data = {
1923 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 1927 2833, /* Code */
1924 AVP_FLAG_VENDOR, /* Fixed flag values */ 1928 10415, /* Vendor */
1925 AVP_TYPE_GROUPED /* base type of data */ 1929 "Access-Availability-Change-Reason", /* Name */
1926 }; 1930 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1927 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1931 AVP_FLAG_VENDOR, /* Fixed flag values */
1928 }; 1932 AVP_TYPE_UNSIGNED32 /* base type of data */
1929 1933 };
1930 /* ADC-Rule-Definition, Grouped, code 1094, section 5.3.87 */ 1934 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1931 { 1935 };
1932 struct dict_avp_data data = { 1936
1933 1094, /* Code */ 1937 /* Access-Network-Charging-Identifier-Gx, Grouped, code 1022, section 5.3.22 */
1934 10415, /* Vendor */ 1938 {
1935 "ADC-Rule-Definition", /* Name */ 1939 struct dict_avp_data data = {
1936 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 1940 1022, /* Code */
1937 AVP_FLAG_VENDOR, /* Fixed flag values */ 1941 10415, /* Vendor */
1938 AVP_TYPE_GROUPED /* base type of data */ 1942 "Access-Network-Charging-Identifier-Gx", /* Name */
1939 }; 1943 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1940 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 1944 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1941 }; 1945 AVP_TYPE_GROUPED /* base type of data */
1942 1946 };
1943 /* ADC-Rule-Base-Name, UTF8String, code 1095, section 5.3.88 */ 1947 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1944 { 1948 };
1945 struct dict_avp_data data = { 1949
1946 1095, /* Code */ 1950 /* Allocation-Retention-Priority, Grouped, code 1034, section 5.3.32 */
1947 10415, /* Vendor */ 1951 {
1948 "ADC-Rule-Base-Name", /* Name */ 1952 struct dict_avp_data data = {
1949 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 1953 1034, /* Code */
1950 AVP_FLAG_VENDOR, /* Fixed flag values */ 1954 10415, /* Vendor */
1955 "Allocation-Retention-Priority", /* Name */
1956 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1957 AVP_FLAG_VENDOR, /* Fixed flag values */
1958 AVP_TYPE_GROUPED /* base type of data */
1959 };
1960 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1961 };
1962
1963 /* AN-GW-Address, Address, code 1050, section 5.3.49 */
1964 {
1965 struct dict_avp_data data = {
1966 1050, /* Code */
1967 10415, /* Vendor */
1968 "AN-GW-Address", /* Name */
1969 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1970 AVP_FLAG_VENDOR, /* Fixed flag values */
1971 AVP_TYPE_OCTETSTRING /* base type of data */
1972 };
1973 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
1974 };
1975
1976 /* AN-GW-Status, Enumerated, code 2811, section 5.3.100 */
1977 {
1978 struct dict_avp_data data = {
1979 2811, /* Code */
1980 10415, /* Vendor */
1981 "AN-GW-Status", /* Name */
1982 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1983 AVP_FLAG_VENDOR, /* Fixed flag values */
1984 AVP_TYPE_INTEGER32 /* base type of data */
1985 };
1986 struct dict_object *type;
1987 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/AN-GW-Status)", NULL, NULL, NULL };
1988 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
1989 CHECK_dict_new(DICT_AVP, &data, type, NULL);
1990 };
1991
1992 /* APN-Aggregate-Max-Bitrate-DL, Unsigned32, code 1040, section 5.3.39 */
1993 {
1994 struct dict_avp_data data = {
1995 1040, /* Code */
1996 10415, /* Vendor */
1997 "APN-Aggregate-Max-Bitrate-DL", /* Name */
1998 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1999 AVP_FLAG_VENDOR, /* Fixed flag values */
2000 AVP_TYPE_UNSIGNED32 /* base type of data */
2001 };
2002 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2003 };
2004
2005 /* APN-Aggregate-Max-Bitrate-UL, Unsigned32, code 1041, section 5.3.40 */
2006 {
2007 struct dict_avp_data data = {
2008 1041, /* Code */
2009 10415, /* Vendor */
2010 "APN-Aggregate-Max-Bitrate-UL", /* Name */
2011 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2012 AVP_FLAG_VENDOR, /* Fixed flag values */
2013 AVP_TYPE_UNSIGNED32 /* base type of data */
2014 };
2015 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2016 };
2017
2018 /* Application-Detection-Information, Grouped, code 1098, section 5.3.91 */
2019 {
2020 struct dict_avp_data data = {
2021 1098, /* Code */
2022 10415, /* Vendor */
2023 "Application-Detection-Information", /* Name */
2024 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2025 AVP_FLAG_VENDOR, /* Fixed flag values */
2026 AVP_TYPE_GROUPED /* base type of data */
2027 };
2028 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2029 };
2030
2031 /* Bearer-Control-Mode, Enumerated, code 1023, section 5.3.23 */
2032 {
2033 struct dict_avp_data data = {
2034 1023, /* Code */
2035 10415, /* Vendor */
2036 "Bearer-Control-Mode", /* Name */
2037 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2038 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2039 AVP_TYPE_INTEGER32 /* base type of data */
2040 };
2041 struct dict_object *type;
2042 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Control-Mode)", NULL, NULL, NULL };
2043 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2044 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2045 };
2046
2047 /* Bearer-Identifier, OctetString, code 1020, section 5.3.20 */
2048 {
2049 struct dict_avp_data data = {
2050 1020, /* Code */
2051 10415, /* Vendor */
2052 "Bearer-Identifier", /* Name */
2053 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2054 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2055 AVP_TYPE_OCTETSTRING /* base type of data */
2056 };
2057 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2058 };
2059
2060 /* Bearer-Operation, Enumerated, code 1021, section 5.3.21 */
2061 {
2062 struct dict_avp_data data = {
2063 1021, /* Code */
2064 10415, /* Vendor */
2065 "Bearer-Operation", /* Name */
2066 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2067 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2068 AVP_TYPE_INTEGER32 /* base type of data */
2069 };
2070 struct dict_object *type;
2071 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Operation)", NULL, NULL, NULL };
2072 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2073 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2074 };
2075
2076 /* Bearer-Usage, Enumerated, code 1000, section 5.3.1 */
2077 {
2078 struct dict_avp_data data = {
2079 1000, /* Code */
2080 10415, /* Vendor */
2081 "Bearer-Usage", /* Name */
2082 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2083 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2084 AVP_TYPE_INTEGER32 /* base type of data */
2085 };
2086 struct dict_object *type;
2087 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Usage)", NULL, NULL, NULL };
2088 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2089 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2090 };
2091
2092 /* Charging-Correlation-Indicator, Enumerated, code 1073, section 5.3.67 */
2093 {
2094 struct dict_avp_data data = {
2095 1073, /* Code */
2096 10415, /* Vendor */
2097 "Charging-Correlation-Indicator", /* Name */
2098 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2099 AVP_FLAG_VENDOR, /* Fixed flag values */
2100 AVP_TYPE_INTEGER32 /* base type of data */
2101 };
2102 struct dict_object *type;
2103 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Charging-Correlation-Indicator)", NULL, NULL, NULL };
2104 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2105 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2106 };
2107
2108 /* Charging-Rule-Base-Name, UTF8String, code 1004, section 5.3.5 */
2109 {
2110 struct dict_avp_data data = {
2111 1004, /* Code */
2112 10415, /* Vendor */
2113 "Charging-Rule-Base-Name", /* Name */
2114 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2115 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1951 AVP_TYPE_OCTETSTRING /* base type of data */ 2116 AVP_TYPE_OCTETSTRING /* base type of data */
1952 }; 2117 };
1953 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 2118 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
1954 }; 2119 };
1955 2120
1956 /* ADC-Rule-Name, OctetString, code 1096, section 5.3.89 */ 2121 /* Charging-Rule-Definition, Grouped, code 1003, section 5.3.4 */
1957 { 2122 {
1958 struct dict_avp_data data = { 2123 struct dict_avp_data data = {
1959 1096, /* Code */ 2124 1003, /* Code */
1960 10415, /* Vendor */ 2125 10415, /* Vendor */
1961 "ADC-Rule-Name", /* Name */ 2126 "Charging-Rule-Definition", /* Name */
1962 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2127 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1963 AVP_FLAG_VENDOR, /* Fixed flag values */ 2128 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1964 AVP_TYPE_OCTETSTRING /* base type of data */ 2129 AVP_TYPE_GROUPED /* base type of data */
1965 }; 2130 };
1966 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2131 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1967 }; 2132 };
1968 2133
1969 /* ADC-Rule-Report, Grouped, code 1097, section 5.3.90 */ 2134 /* Charging-Rule-Install, Grouped, code 1001, section 5.3.2 */
1970 { 2135 {
1971 struct dict_avp_data data = { 2136 struct dict_avp_data data = {
1972 1097, /* Code */ 2137 1001, /* Code */
1973 10415, /* Vendor */ 2138 10415, /* Vendor */
1974 "ADC-Rule-Report", /* Name */ 2139 "Charging-Rule-Install", /* Name */
1975 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2140 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1976 AVP_FLAG_VENDOR, /* Fixed flag values */ 2141 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1977 AVP_TYPE_GROUPED /* base type of data */ 2142 AVP_TYPE_GROUPED /* base type of data */
1978 }; 2143 };
1979 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2144 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1980 }; 2145 };
1981 2146
1982 /* Application-Detection-Information, Grouped, code 1098, section 5.3.91 */ 2147 /* Charging-Rule-Name, OctetString, code 1005, section 5.3.6 */
1983 { 2148 {
1984 struct dict_avp_data data = { 2149 struct dict_avp_data data = {
1985 1098, /* Code */ 2150 1005, /* Code */
1986 10415, /* Vendor */ 2151 10415, /* Vendor */
1987 "Application-Detection-Information", /* Name */ 2152 "Charging-Rule-Name", /* Name */
1988 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2153 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
1989 AVP_FLAG_VENDOR, /* Fixed flag values */ 2154 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
1990 AVP_TYPE_GROUPED /* base type of data */ 2155 AVP_TYPE_OCTETSTRING /* base type of data */
1991 }; 2156 };
1992 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2157 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
1993 }; 2158 };
1994 2159
1995 /* Access-Network-Charging-Identifier-Gx, Grouped, code 1022, section 5.3.22 */ 2160 /* Charging-Rule-Remove, Grouped, code 1002, section 5.3.3 */
1996 { 2161 {
1997 struct dict_avp_data data = { 2162 struct dict_avp_data data = {
1998 1022, /* Code */ 2163 1002, /* Code */
1999 10415, /* Vendor */ 2164 10415, /* Vendor */
2000 "Access-Network-Charging-Identifier-Gx", /* Name */ 2165 "Charging-Rule-Remove", /* Name */
2001 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2166 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2002 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2167 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2003 AVP_TYPE_GROUPED /* base type of data */ 2168 AVP_TYPE_GROUPED /* base type of data */
2004 }; 2169 };
2005 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2170 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2006 }; 2171 };
2007 2172
2008 /* Allocation-Retention-Priority, Grouped, code 1034, section 5.3.32 */ 2173 /* Charging-Rule-Report, Grouped, code 1018, section 5.3.18 */
2009 { 2174 {
2010 struct dict_avp_data data = { 2175 struct dict_avp_data data = {
2011 1034, /* Code */ 2176 1018, /* Code */
2012 10415, /* Vendor */ 2177 10415, /* Vendor */
2013 "Allocation-Retention-Priority", /* Name */ 2178 "Charging-Rule-Report", /* Name */
2014 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2179 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2015 AVP_FLAG_VENDOR, /* Fixed flag values */ 2180 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2016 AVP_TYPE_GROUPED /* base type of data */ 2181 AVP_TYPE_GROUPED /* base type of data */
2017 }; 2182 };
2018 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2183 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2019 }; 2184 };
2020 2185
2021 /* AN-GW-Address, Address, code 1050, section 5.3.49 */ 2186 /* CoA-Information, Grouped, code 1039, section 5.3.37 */
2022 { 2187 {
2023 struct dict_avp_data data = { 2188 struct dict_avp_data data = {
2024 1050, /* Code */ 2189 1039, /* Code */
2025 10415, /* Vendor */ 2190 10415, /* Vendor */
2026 "AN-GW-Address", /* Name */ 2191 "CoA-Information", /* Name */
2192 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2193 AVP_FLAG_VENDOR, /* Fixed flag values */
2194 AVP_TYPE_GROUPED /* base type of data */
2195 };
2196 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2197 };
2198
2199 /* CoA-IP-Address, Address, code 1035, section 5.3.33 */
2200 {
2201 struct dict_avp_data data = {
2202 1035, /* Code */
2203 10415, /* Vendor */
2204 "CoA-IP-Address", /* Name */
2027 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2205 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2028 AVP_FLAG_VENDOR, /* Fixed flag values */ 2206 AVP_FLAG_VENDOR, /* Fixed flag values */
2029 AVP_TYPE_OCTETSTRING /* base type of data */ 2207 AVP_TYPE_OCTETSTRING /* base type of data */
2030 }; 2208 };
2031 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL); 2209 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
2032 }; 2210 };
2033 2211
2034 /* APN-Aggregate-Max-Bitrate-DL, Unsigned32, code 1040, section 5.3.39 */ 2212 /* Conditional-APN-Aggregate-Max-Bitrate, Grouped, code 2818, section 5.3.105 */
2035 { 2213 {
2036 struct dict_avp_data data = { 2214 struct dict_avp_data data = {
2037 1040, /* Code */ 2215 2818, /* Code */
2038 10415, /* Vendor */ 2216 10415, /* Vendor */
2039 "APN-Aggregate-Max-Bitrate-DL", /* Name */ 2217 "Conditional-APN-Aggregate-Max-Bitrate", /* Name */
2040 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2218 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2041 AVP_FLAG_VENDOR, /* Fixed flag values */ 2219 AVP_FLAG_VENDOR, /* Fixed flag values */
2042 AVP_TYPE_UNSIGNED32 /* base type of data */ 2220 AVP_TYPE_GROUPED /* base type of data */
2043 }; 2221 };
2044 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2222 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2045 }; 2223 };
2046 2224
2047 /* APN-Aggregate-Max-Bitrate-UL, Unsigned32, code 1041, section 5.3.40 */ 2225 /* Conditional-Policy-Information, Grouped, code 2840, section 5.3.128 */
2048 { 2226 {
2049 struct dict_avp_data data = { 2227 struct dict_avp_data data = {
2050 1041, /* Code */ 2228 2840, /* Code */
2051 10415, /* Vendor */ 2229 10415, /* Vendor */
2052 "APN-Aggregate-Max-Bitrate-UL", /* Name */ 2230 "Conditional-Policy-Information", /* Name */
2053 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2231 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2054 AVP_FLAG_VENDOR, /* Fixed flag values */ 2232 AVP_FLAG_VENDOR, /* Fixed flag values */
2055 AVP_TYPE_UNSIGNED32 /* base type of data */ 2233 AVP_TYPE_GROUPED /* base type of data */
2056 }; 2234 };
2057 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2235 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2058 }; 2236 };
2059 2237
2060 /* Bearer-Control-Mode, Enumerated, code 1023, section 5.3.23 */ 2238 /* Credit-Management-Status, Unsigned32, code 1082, section 5.3.102 */
2061 { 2239 {
2062 struct dict_avp_data data = { 2240 struct dict_avp_data data = {
2063 1023, /* Code */ 2241 1082, /* Code */
2064 10415, /* Vendor */ 2242 10415, /* Vendor */
2065 "Bearer-Control-Mode", /* Name */ 2243 "Credit-Management-Status", /* Name */
2066 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2244 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2067 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2245 AVP_FLAG_VENDOR, /* Fixed flag values */
2068 AVP_TYPE_INTEGER32 /* base type of data */ 2246 AVP_TYPE_UNSIGNED32 /* base type of data */
2069 }; 2247 };
2070 struct dict_object *type; 2248 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2071 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Control-Mode)", NULL, NULL, NULL }; 2249 };
2072 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2250
2073 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2251 /* CSG-Information-Reporting, Enumerated, code 1071, section 5.3.64 */
2074 }; 2252 {
2075 2253 struct dict_avp_data data = {
2076 /* Bearer-Identifier, OctetString, code 1020, section 5.3.20 */ 2254 1071, /* Code */
2077 { 2255 10415, /* Vendor */
2078 struct dict_avp_data data = { 2256 "CSG-Information-Reporting", /* Name */
2079 1020, /* Code */ 2257 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2080 10415, /* Vendor */ 2258 AVP_FLAG_VENDOR, /* Fixed flag values */
2081 "Bearer-Identifier", /* Name */ 2259 AVP_TYPE_INTEGER32 /* base type of data */
2082 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2260 };
2083 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2261 struct dict_object *type;
2084 AVP_TYPE_OCTETSTRING /* base type of data */ 2262 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Information-Reporting)", NULL, NULL, NULL };
2085 }; 2263 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2086 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2264 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2087 }; 2265 };
2088 2266
2089 /* Bearer-Operation, Enumerated, code 1021, section 5.3.21 */ 2267 /* Default-Access, Enumerated, code 2829, section 5.3.120 */
2090 { 2268 {
2091 struct dict_avp_data data = { 2269 struct dict_avp_data data = {
2092 1021, /* Code */ 2270 2829, /* Code */
2093 10415, /* Vendor */ 2271 10415, /* Vendor */
2094 "Bearer-Operation", /* Name */ 2272 "Default-Access", /* Name */
2095 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2273 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2096 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2274 AVP_FLAG_VENDOR, /* Fixed flag values */
2097 AVP_TYPE_INTEGER32 /* base type of data */ 2275 AVP_TYPE_INTEGER32 /* base type of data */
2098 }; 2276 };
2099 struct dict_object *type; 2277 struct dict_object *type;
2100 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Operation)", NULL, NULL, NULL }; 2278 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Default-Access)", NULL, NULL, NULL };
2101 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2279 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2102 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2280 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2103 }; 2281 };
2104 2282
2105 /* Bearer-Usage, Enumerated, code 1000, section 5.3.1 */ 2283 /* Default-Bearer-Indication, Enumerated, code 2844, section 5.3.132 */
2106 { 2284 {
2107 struct dict_avp_data data = { 2285 struct dict_avp_data data = {
2108 1000, /* Code */ 2286 2844, /* Code */
2109 10415, /* Vendor */ 2287 10415, /* Vendor */
2110 "Bearer-Usage", /* Name */ 2288 "Default-Bearer-Indication", /* Name */
2111 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2289 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2112 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2290 AVP_FLAG_VENDOR, /* Fixed flag values */
2113 AVP_TYPE_INTEGER32 /* base type of data */ 2291 AVP_TYPE_INTEGER32 /* base type of data */
2114 }; 2292 };
2115 struct dict_object *type; 2293 struct dict_object *type;
2116 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Usage)", NULL, NULL, NULL }; 2294 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Default-Bearer-Indication)", NULL, NULL, NULL };
2117 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2295 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2118 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2296 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2119 }; 2297 };
2120 2298
2121 /* Charging-Rule-Install, Grouped, code 1001, section 5.3.2 */ 2299 /* Default-EPS-Bearer-QoS, Grouped, code 1049, section 5.3.48 */
2122 { 2300 {
2123 struct dict_avp_data data = { 2301 struct dict_avp_data data = {
2124 1001, /* Code */ 2302 1049, /* Code */
2125 10415, /* Vendor */ 2303 10415, /* Vendor */
2126 "Charging-Rule-Install", /* Name */ 2304 "Default-EPS-Bearer-QoS", /* Name */
2127 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2305 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2128 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2306 AVP_FLAG_VENDOR, /* Fixed flag values */
2129 AVP_TYPE_GROUPED /* base type of data */ 2307 AVP_TYPE_GROUPED /* base type of data */
2130 }; 2308 };
2131 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2309 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2132 }; 2310 };
2133 2311
2134 /* Charging-Rule-Remove, Grouped, code 1002, section 5.3.3 */ 2312 /* Default-QoS-Information, Grouped, code 2816, section 5.3.103 */
2135 { 2313 {
2136 struct dict_avp_data data = { 2314 struct dict_avp_data data = {
2137 1002, /* Code */ 2315 2816, /* Code */
2138 10415, /* Vendor */ 2316 10415, /* Vendor */
2139 "Charging-Rule-Remove", /* Name */ 2317 "Default-QoS-Information", /* Name */
2140 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2318 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2141 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2319 AVP_FLAG_VENDOR, /* Fixed flag values */
2142 AVP_TYPE_GROUPED /* base type of data */ 2320 AVP_TYPE_GROUPED /* base type of data */
2143 }; 2321 };
2144 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2322 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2145 }; 2323 };
2146 2324
2147 /* Charging-Rule-Definition, Grouped, code 1003, section 5.3.4 */ 2325 /* Default-QoS-Name, UTF8String, code 2817, section 5.3.104 */
2148 { 2326 {
2149 struct dict_avp_data data = { 2327 struct dict_avp_data data = {
2150 1003, /* Code */ 2328 2817, /* Code */
2151 10415, /* Vendor */ 2329 10415, /* Vendor */
2152 "Charging-Rule-Definition", /* Name */ 2330 "Default-QoS-Name", /* Name */
2153 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2331 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2154 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2332 AVP_FLAG_VENDOR, /* Fixed flag values */
2155 AVP_TYPE_GROUPED /* base type of data */
2156 };
2157 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2158 };
2159
2160 /* Charging-Rule-Base-Name, UTF8String, code 1004, section 5.3.5 */
2161 {
2162 struct dict_avp_data data = {
2163 1004, /* Code */
2164 10415, /* Vendor */
2165 "Charging-Rule-Base-Name", /* Name */
2166 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2167 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2168 AVP_TYPE_OCTETSTRING /* base type of data */ 2333 AVP_TYPE_OCTETSTRING /* base type of data */
2169 }; 2334 };
2170 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL); 2335 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
2171 }; 2336 };
2172 2337
2173 /* Charging-Rule-Name, OctetString, code 1005, section 5.3.6 */ 2338 /* Event-Report-Indication, Grouped, code 1033, section 5.3.30 */
2174 { 2339 {
2175 struct dict_avp_data data = { 2340 struct dict_avp_data data = {
2176 1005, /* Code */ 2341 1033, /* Code */
2177 10415, /* Vendor */ 2342 10415, /* Vendor */
2178 "Charging-Rule-Name", /* Name */ 2343 "Event-Report-Indication", /* Name */
2179 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2344 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2180 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2345 AVP_FLAG_VENDOR, /* Fixed flag values */
2181 AVP_TYPE_OCTETSTRING /* base type of data */ 2346 AVP_TYPE_GROUPED /* base type of data */
2182 }; 2347 };
2183 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2348 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2184 }; 2349 };
2185 2350
2186 /* Charging-Rule-Report, Grouped, code 1018, section 5.3.18 */ 2351 /* Event-Trigger, Enumerated, code 1006, section 5.3.7 */
2187 { 2352 {
2188 struct dict_avp_data data = { 2353 struct dict_avp_data data = {
2189 1018, /* Code */ 2354 1006, /* Code */
2190 10415, /* Vendor */ 2355 10415, /* Vendor */
2191 "Charging-Rule-Report", /* Name */ 2356 "Event-Trigger", /* Name */
2192 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2357 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2193 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2358 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2194 AVP_TYPE_GROUPED /* base type of data */ 2359 AVP_TYPE_INTEGER32 /* base type of data */
2195 }; 2360 };
2196 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2361 struct dict_object *type;
2197 }; 2362 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Event-Trigger)", NULL, NULL, NULL };
2198 2363 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2199 /* Charging-Correlation-Indicator, Enumerated, code 1073, section 5.3.67 */ 2364 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2200 { 2365 };
2201 struct dict_avp_data data = { 2366
2202 1073, /* Code */ 2367 /* Execution-Time, Time, code 2839, section 5.3.127 */
2203 10415, /* Vendor */ 2368 {
2204 "Charging-Correlation-Indicator", /* Name */ 2369 struct dict_avp_data data = {
2205 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2370 2839, /* Code */
2206 AVP_FLAG_VENDOR, /* Fixed flag values */ 2371 10415, /* Vendor */
2207 AVP_TYPE_INTEGER32 /* base type of data */ 2372 "Execution-Time", /* Name */
2208 }; 2373 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2209 struct dict_object *type; 2374 AVP_FLAG_VENDOR, /* Fixed flag values */
2210 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Charging-Correlation-Indicator)", NULL, NULL, NULL }; 2375 AVP_TYPE_OCTETSTRING /* base type of data */
2211 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2376 };
2212 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2377 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
2213 }; 2378 };
2214 2379
2215 /* CoA-IP-Address, Address, code 1035, section 5.3.33 */ 2380 /* Extended-APN-AMBR-DL, Unsigned32, code 2848, section 5.3.134 */
2216 { 2381 {
2217 struct dict_avp_data data = { 2382 struct dict_avp_data data = {
2218 1035, /* Code */ 2383 2848, /* Code */
2219 10415, /* Vendor */ 2384 10415, /* Vendor */
2220 "CoA-IP-Address", /* Name */ 2385 "Extended-APN-AMBR-DL", /* Name */
2386 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2387 AVP_FLAG_VENDOR, /* Fixed flag values */
2388 AVP_TYPE_UNSIGNED32 /* base type of data */
2389 };
2390 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2391 };
2392
2393 /* Extended-APN-AMBR-UL, Unsigned32, code 2849, section 5.3.135 */
2394 {
2395 struct dict_avp_data data = {
2396 2849, /* Code */
2397 10415, /* Vendor */
2398 "Extended-APN-AMBR-UL", /* Name */
2399 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2400 AVP_FLAG_VENDOR, /* Fixed flag values */
2401 AVP_TYPE_UNSIGNED32 /* base type of data */
2402 };
2403 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2404 };
2405
2406 /* Extended-GBR-DL, Unsigned32, code 2850, section 5.3.136 */
2407 {
2408 struct dict_avp_data data = {
2409 2850, /* Code */
2410 10415, /* Vendor */
2411 "Extended-GBR-DL", /* Name */
2412 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2413 AVP_FLAG_VENDOR, /* Fixed flag values */
2414 AVP_TYPE_UNSIGNED32 /* base type of data */
2415 };
2416 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2417 };
2418
2419 /* Extended-GBR-UL, Unsigned32, code 2851, section 5.3.137 */
2420 {
2421 struct dict_avp_data data = {
2422 2851, /* Code */
2423 10415, /* Vendor */
2424 "Extended-GBR-UL", /* Name */
2425 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2426 AVP_FLAG_VENDOR, /* Fixed flag values */
2427 AVP_TYPE_UNSIGNED32 /* base type of data */
2428 };
2429 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2430 };
2431
2432 /* Flow-Direction, Enumerated, code 1080, section 5.3.65 */
2433 {
2434 struct dict_avp_data data = {
2435 1080, /* Code */
2436 10415, /* Vendor */
2437 "Flow-Direction", /* Name */
2438 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2439 AVP_FLAG_VENDOR, /* Fixed flag values */
2440 AVP_TYPE_INTEGER32 /* base type of data */
2441 };
2442 struct dict_object *type;
2443 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Flow-Direction)", NULL, NULL, NULL };
2444 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2445 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2446 };
2447
2448 /* Flow-Information, Grouped, code 1058, section 5.3.53 */
2449 {
2450 struct dict_avp_data data = {
2451 1058, /* Code */
2452 10415, /* Vendor */
2453 "Flow-Information", /* Name */
2454 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2455 AVP_FLAG_VENDOR, /* Fixed flag values */
2456 AVP_TYPE_GROUPED /* base type of data */
2457 };
2458 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2459 };
2460
2461 /* Flow-Label, OctetString, code 1057, section 5.3.52 */
2462 {
2463 struct dict_avp_data data = {
2464 1057, /* Code */
2465 10415, /* Vendor */
2466 "Flow-Label", /* Name */
2467 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2468 AVP_FLAG_VENDOR, /* Fixed flag values */
2469 AVP_TYPE_OCTETSTRING /* base type of data */
2470 };
2471 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2472 };
2473
2474 /* Fixed-User-Location-Info, Grouped, code 2825, section 5.3.112 */
2475 {
2476 struct dict_avp_data data = {
2477 2825, /* Code */
2478 10415, /* Vendor */
2479 "Fixed-User-Location-Info", /* Name */
2480 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2481 AVP_FLAG_VENDOR, /* Fixed flag values */
2482 AVP_TYPE_GROUPED /* base type of data */
2483 };
2484 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2485 };
2486
2487 /* Guaranteed-Bitrate-DL, Unsigned32, code 1025, section 5.3.25 */
2488 {
2489 struct dict_avp_data data = {
2490 1025, /* Code */
2491 10415, /* Vendor */
2492 "Guaranteed-Bitrate-DL", /* Name */
2493 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2494 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2495 AVP_TYPE_UNSIGNED32 /* base type of data */
2496 };
2497 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2498 };
2499
2500 /* Guaranteed-Bitrate-UL, Unsigned32, code 1026, section 5.3.26 */
2501 {
2502 struct dict_avp_data data = {
2503 1026, /* Code */
2504 10415, /* Vendor */
2505 "Guaranteed-Bitrate-UL", /* Name */
2506 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2507 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2508 AVP_TYPE_UNSIGNED32 /* base type of data */
2509 };
2510 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2511 };
2512
2513 /* 3GPP TS 29.212 V11.8.0 (2013-03) removed HeNB-BBF-FQDN. */
2514 /* HeNB-BBF-FQDN, UTF8String, code 2803, section 5.3.94 */
2515 {
2516 struct dict_avp_data data = {
2517 2803, /* Code */
2518 10415, /* Vendor */
2519 "HeNB-BBF-FQDN", /* Name */
2520 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2521 AVP_FLAG_VENDOR, /* Fixed flag values */
2522 AVP_TYPE_OCTETSTRING /* base type of data */
2523 };
2524 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
2525 };
2526
2527 /* HeNB-Local-IP-Address, Address, code 2804, section 5.3.95 */
2528 {
2529 struct dict_avp_data data = {
2530 2804, /* Code */
2531 10415, /* Vendor */
2532 "HeNB-Local-IP-Address", /* Name */
2221 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2533 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2222 AVP_FLAG_VENDOR, /* Fixed flag values */ 2534 AVP_FLAG_VENDOR, /* Fixed flag values */
2223 AVP_TYPE_OCTETSTRING /* base type of data */ 2535 AVP_TYPE_OCTETSTRING /* base type of data */
2224 }; 2536 };
2225 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL); 2537 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
2226 }; 2538 };
2227 2539
2228 /* CoA-Information, Grouped, code 1039, section 5.3.37 */ 2540 /* IP-CAN-Session-Charging-Scope, Enumerated, code 2827, section 5.3.114 */
2229 { 2541 {
2230 struct dict_avp_data data = { 2542 struct dict_avp_data data = {
2231 1039, /* Code */ 2543 2827, /* Code */
2232 10415, /* Vendor */ 2544 10415, /* Vendor */
2233 "CoA-Information", /* Name */ 2545 "IP-CAN-Session-Charging-Scope", /* Name */
2234 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2546 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2235 AVP_FLAG_VENDOR, /* Fixed flag values */ 2547 AVP_FLAG_VENDOR, /* Fixed flag values */
2236 AVP_TYPE_GROUPED /* base type of data */ 2548 AVP_TYPE_INTEGER32 /* base type of data */
2237 }; 2549 };
2238 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2550 struct dict_object *type;
2239 }; 2551 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-CAN-Session-Charging-Scope)", NULL, NULL, NULL };
2240 2552 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2241 /* CSG-Information-Reporting, Enumerated, code 1071, section 5.3.64 */ 2553 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2242 {
2243 struct dict_avp_data data = {
2244 1071, /* Code */
2245 10415, /* Vendor */
2246 "CSG-Information-Reporting", /* Name */
2247 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2248 AVP_FLAG_VENDOR, /* Fixed flag values */
2249 AVP_TYPE_INTEGER32 /* base type of data */
2250 };
2251 struct dict_object *type;
2252 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Information-Reporting)", NULL, NULL, NULL };
2253 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2254 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2255 };
2256
2257 /* Default-EPS-Bearer-QoS, Grouped, code 1049, section 5.3.48 */
2258 {
2259 struct dict_avp_data data = {
2260 1049, /* Code */
2261 10415, /* Vendor */
2262 "Default-EPS-Bearer-QoS", /* Name */
2263 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2264 AVP_FLAG_VENDOR, /* Fixed flag values */
2265 AVP_TYPE_GROUPED /* base type of data */
2266 };
2267 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2268 };
2269
2270 /* Event-Report-Indication, Grouped, code 1033, section 5.3.30 */
2271 {
2272 struct dict_avp_data data = {
2273 1033, /* Code */
2274 10415, /* Vendor */
2275 "Event-Report-Indication", /* Name */
2276 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2277 AVP_FLAG_VENDOR, /* Fixed flag values */
2278 AVP_TYPE_GROUPED /* base type of data */
2279 };
2280 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2281 };
2282
2283 /* Event-Trigger, Enumerated, code 1006, section 5.3.7 */
2284 {
2285 struct dict_avp_data data = {
2286 1006, /* Code */
2287 10415, /* Vendor */
2288 "Event-Trigger", /* Name */
2289 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2290 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2291 AVP_TYPE_INTEGER32 /* base type of data */
2292 };
2293 struct dict_object *type;
2294 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Event-Trigger)", NULL, NULL, NULL };
2295 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2296 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2297 };
2298
2299 /* Flow-Direction, Enumerated, code 1080, section 5.3.65 */
2300 {
2301 struct dict_avp_data data = {
2302 1080, /* Code */
2303 10415, /* Vendor */
2304 "Flow-Direction", /* Name */
2305 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2306 AVP_FLAG_VENDOR, /* Fixed flag values */
2307 AVP_TYPE_INTEGER32 /* base type of data */
2308 };
2309 struct dict_object *type;
2310 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Flow-Direction)", NULL, NULL, NULL };
2311 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2312 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2313 };
2314
2315 /* Flow-Information, Grouped, code 1058, section 5.3.53 */
2316 {
2317 struct dict_avp_data data = {
2318 1058, /* Code */
2319 10415, /* Vendor */
2320 "Flow-Information", /* Name */
2321 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2322 AVP_FLAG_VENDOR, /* Fixed flag values */
2323 AVP_TYPE_GROUPED /* base type of data */
2324 };
2325 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2326 };
2327
2328 /* Flow-Label, OctetString, code 1057, section 5.3.52 */
2329 {
2330 struct dict_avp_data data = {
2331 1057, /* Code */
2332 10415, /* Vendor */
2333 "Flow-Label", /* Name */
2334 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2335 AVP_FLAG_VENDOR, /* Fixed flag values */
2336 AVP_TYPE_OCTETSTRING /* base type of data */
2337 };
2338 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2339 }; 2554 };
2340 2555
2341 /* IP-CAN-Type, Enumerated, code 1027, section 5.3.27 */ 2556 /* IP-CAN-Type, Enumerated, code 1027, section 5.3.27 */
2342 { 2557 {
2343 struct dict_avp_data data = { 2558 struct dict_avp_data data = {
2352 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-CAN-Type)", NULL, NULL, NULL }; 2567 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-CAN-Type)", NULL, NULL, NULL };
2353 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2568 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2354 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2569 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2355 }; 2570 };
2356 2571
2357 /* Guaranteed-Bitrate-DL, Unsigned32, code 1025, section 5.3.25 */ 2572 /* Max-PLR-DL, Float32, code 2852, section 5.3.138 */
2358 { 2573 {
2359 struct dict_avp_data data = { 2574 struct dict_avp_data data = {
2360 1025, /* Code */ 2575 2852, /* Code */
2361 10415, /* Vendor */ 2576 10415, /* Vendor */
2362 "Guaranteed-Bitrate-DL", /* Name */ 2577 "Max-PLR-DL", /* Name */
2363 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2578 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2364 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2579 AVP_FLAG_VENDOR, /* Fixed flag values */
2365 AVP_TYPE_UNSIGNED32 /* base type of data */ 2580 AVP_TYPE_FLOAT32 /* base type of data */
2366 }; 2581 };
2367 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2582 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2368 }; 2583 };
2369 2584
2370 /* Guaranteed-Bitrate-UL, Unsigned32, code 1026, section 5.3.26 */ 2585 /* Max-PLR-UL, Float32, code 2853, section 5.3.139 */
2371 { 2586 {
2372 struct dict_avp_data data = { 2587 struct dict_avp_data data = {
2373 1026, /* Code */ 2588 2853, /* Code */
2374 10415, /* Vendor */ 2589 10415, /* Vendor */
2375 "Guaranteed-Bitrate-UL", /* Name */ 2590 "Max-PLR-UL", /* Name */
2376 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 2591 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2377 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 2592 AVP_FLAG_VENDOR, /* Fixed flag values */
2378 AVP_TYPE_UNSIGNED32 /* base type of data */ 2593 AVP_TYPE_FLOAT32 /* base type of data */
2379 }; 2594 };
2380 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2595 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2381 };
2382
2383 /* HeNB-Local-IP-Address, Address, code 2804, section 5.3.95 */
2384 {
2385 struct dict_avp_data data = {
2386 2804, /* Code */
2387 10415, /* Vendor */
2388 "HeNB-Local-IP-Address", /* Name */
2389 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2390 AVP_FLAG_VENDOR, /* Fixed flag values */
2391 AVP_TYPE_OCTETSTRING /* base type of data */
2392 };
2393 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
2394 }; 2596 };
2395 2597
2396 /* Metering-Method, Enumerated, code 1007, section 5.3.8 */ 2598 /* Metering-Method, Enumerated, code 1007, section 5.3.8 */
2397 { 2599 {
2398 struct dict_avp_data data = { 2600 struct dict_avp_data data = {
2407 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Metering-Method)", NULL, NULL, NULL }; 2609 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Metering-Method)", NULL, NULL, NULL };
2408 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2610 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2409 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2611 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2410 }; 2612 };
2411 2613
2614 /* Monitoring-Flags, Unsigned32, code 2828, section 5.3.115 */
2615 {
2616 struct dict_avp_data data = {
2617 2828, /* Code */
2618 10415, /* Vendor */
2619 "Monitoring-Flags", /* Name */
2620 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2621 AVP_FLAG_VENDOR, /* Fixed flag values */
2622 AVP_TYPE_UNSIGNED32 /* base type of data */
2623 };
2624 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2625 };
2626
2412 /* Monitoring-Key, OctetString, code 1066, section 5.3.59 */ 2627 /* Monitoring-Key, OctetString, code 1066, section 5.3.59 */
2413 { 2628 {
2414 struct dict_avp_data data = { 2629 struct dict_avp_data data = {
2415 1066, /* Code */ 2630 1066, /* Code */
2416 10415, /* Vendor */ 2631 10415, /* Vendor */
2449 AVP_TYPE_OCTETSTRING /* base type of data */ 2664 AVP_TYPE_OCTETSTRING /* base type of data */
2450 }; 2665 };
2451 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL); 2666 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
2452 }; 2667 };
2453 2668
2669 /* NBIFOM-Mode, Enumerated, code 2830, section 5.3.117 */
2670 {
2671 struct dict_avp_data data = {
2672 2830, /* Code */
2673 10415, /* Vendor */
2674 "NBIFOM-Mode", /* Name */
2675 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2676 AVP_FLAG_VENDOR, /* Fixed flag values */
2677 AVP_TYPE_INTEGER32 /* base type of data */
2678 };
2679 struct dict_object *type;
2680 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/NBIFOM-Mode)", NULL, NULL, NULL };
2681 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2682 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2683 };
2684
2685 /* NBIFOM-Support, Enumerated, code 2831, section 5.3.116 */
2686 {
2687 struct dict_avp_data data = {
2688 2831, /* Code */
2689 10415, /* Vendor */
2690 "NBIFOM-Support", /* Name */
2691 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2692 AVP_FLAG_VENDOR, /* Fixed flag values */
2693 AVP_TYPE_INTEGER32 /* base type of data */
2694 };
2695 struct dict_object *type;
2696 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/NBIFOM-Support)", NULL, NULL, NULL };
2697 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2698 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2699 };
2700
2701 /* NetLoc-Access-Support, Unsigned32, code 2824, section 5.3.111 */
2702 {
2703 struct dict_avp_data data = {
2704 2824, /* Code */
2705 10415, /* Vendor */
2706 "NetLoc-Access-Support", /* Name */
2707 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2708 AVP_FLAG_VENDOR, /* Fixed flag values */
2709 AVP_TYPE_UNSIGNED32 /* base type of data */
2710 };
2711 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2712 };
2713
2454 /* Network-Request-Support, Enumerated, code 1024, section 5.3.24 */ 2714 /* Network-Request-Support, Enumerated, code 1024, section 5.3.24 */
2455 { 2715 {
2456 struct dict_avp_data data = { 2716 struct dict_avp_data data = {
2457 1024, /* Code */ 2717 1024, /* Code */
2458 10415, /* Vendor */ 2718 10415, /* Vendor */
2564 AVP_FLAG_VENDOR, /* Fixed flag values */ 2824 AVP_FLAG_VENDOR, /* Fixed flag values */
2565 AVP_TYPE_INTEGER32 /* base type of data */ 2825 AVP_TYPE_INTEGER32 /* base type of data */
2566 }; 2826 };
2567 struct dict_object *type; 2827 struct dict_object *type;
2568 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Packet-Filter-Usage)", NULL, NULL, NULL }; 2828 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Packet-Filter-Usage)", NULL, NULL, NULL };
2829 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2830 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2831 };
2832
2833 /* PCC-Rule-Status, Enumerated, code 1019, section 5.3.19 */
2834 {
2835 struct dict_avp_data data = {
2836 1019, /* Code */
2837 10415, /* Vendor */
2838 "PCC-Rule-Status", /* Name */
2839 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2840 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2841 AVP_TYPE_INTEGER32 /* base type of data */
2842 };
2843 struct dict_object *type;
2844 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PCC-Rule-Status)", NULL, NULL, NULL };
2569 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2845 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2570 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2846 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2571 }; 2847 };
2572 2848
2573 /* PDN-Connection-ID, OctetString, code 1065, section 5.3.58 */ 2849 /* PDN-Connection-ID, OctetString, code 1065, section 5.3.58 */
2581 AVP_TYPE_OCTETSTRING /* base type of data */ 2857 AVP_TYPE_OCTETSTRING /* base type of data */
2582 }; 2858 };
2583 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 2859 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2584 }; 2860 };
2585 2861
2862 /* PRA-Install, Grouped, code 2845, section 5.3.130 */
2863 {
2864 struct dict_avp_data data = {
2865 2845, /* Code */
2866 10415, /* Vendor */
2867 "PRA-Install", /* Name */
2868 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2869 AVP_FLAG_VENDOR, /* Fixed flag values */
2870 AVP_TYPE_GROUPED /* base type of data */
2871 };
2872 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2873 };
2874
2875 /* PRA-Remove, Grouped, code 2846, section 5.3.131 */
2876 {
2877 struct dict_avp_data data = {
2878 2846, /* Code */
2879 10415, /* Vendor */
2880 "PRA-Remove", /* Name */
2881 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2882 AVP_FLAG_VENDOR, /* Fixed flag values */
2883 AVP_TYPE_GROUPED /* base type of data */
2884 };
2885 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2886 };
2887
2586 /* Precedence, Unsigned32, code 1010, section 5.3.11 */ 2888 /* Precedence, Unsigned32, code 1010, section 5.3.11 */
2587 { 2889 {
2588 struct dict_avp_data data = { 2890 struct dict_avp_data data = {
2589 1010, /* Code */ 2891 1010, /* Code */
2590 10415, /* Vendor */ 2892 10415, /* Vendor */
2626 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pre-emption-Vulnerability)", NULL, NULL, NULL }; 2928 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pre-emption-Vulnerability)", NULL, NULL, NULL };
2627 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 2929 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2628 CHECK_dict_new(DICT_AVP, &data, type, NULL); 2930 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2629 }; 2931 };
2630 2932
2933 /* Presence-Reporting-Area-Elements-List, OctetString, code 2820, section 5.3.107 */
2934 {
2935 struct dict_avp_data data = {
2936 2820, /* Code */
2937 10415, /* Vendor */
2938 "Presence-Reporting-Area-Elements-List", /* Name */
2939 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2940 AVP_FLAG_VENDOR, /* Fixed flag values */
2941 AVP_TYPE_OCTETSTRING /* base type of data */
2942 };
2943 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2944 };
2945
2946 /* Presence-Reporting-Area-Identifier, OctetString, code 2821, section 5.3.108 */
2947 {
2948 struct dict_avp_data data = {
2949 2821, /* Code */
2950 10415, /* Vendor */
2951 "Presence-Reporting-Area-Identifier", /* Name */
2952 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2953 AVP_FLAG_VENDOR, /* Fixed flag values */
2954 AVP_TYPE_OCTETSTRING /* base type of data */
2955 };
2956 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2957 };
2958
2959 /* Presence-Reporting-Area-Information, Grouped, code 2822, section 5.3.109 */
2960 {
2961 struct dict_avp_data data = {
2962 2822, /* Code */
2963 10415, /* Vendor */
2964 "Presence-Reporting-Area-Information", /* Name */
2965 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2966 AVP_FLAG_VENDOR, /* Fixed flag values */
2967 AVP_TYPE_GROUPED /* base type of data */
2968 };
2969 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2970 };
2971
2972 /* Presence-Reporting-Area-Node, Unsigned32, code 2855, section 5.3.141 */
2973 {
2974 struct dict_avp_data data = {
2975 2855, /* Code */
2976 10415, /* Vendor */
2977 "Presence-Reporting-Area-Node", /* Name */
2978 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2979 AVP_FLAG_VENDOR, /* Fixed flag values */
2980 AVP_TYPE_UNSIGNED32 /* base type of data */
2981 };
2982 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2983 };
2984
2985 /* Presence-Reporting-Area-Status, Unsigned32, code 2823, section 5.3.110 */
2986 {
2987 struct dict_avp_data data = {
2988 2823, /* Code */
2989 10415, /* Vendor */
2990 "Presence-Reporting-Area-Status", /* Name */
2991 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2992 AVP_FLAG_VENDOR, /* Fixed flag values */
2993 AVP_TYPE_UNSIGNED32 /* base type of data */
2994 };
2995 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2996 };
2997
2631 /* Priority-Level, Unsigned32, code 1046, section 5.3.45 */ 2998 /* Priority-Level, Unsigned32, code 1046, section 5.3.45 */
2632 { 2999 {
2633 struct dict_avp_data data = { 3000 struct dict_avp_data data = {
2634 1046, /* Code */ 3001 1046, /* Code */
2635 10415, /* Vendor */ 3002 10415, /* Vendor */
2637 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 3004 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2638 AVP_FLAG_VENDOR, /* Fixed flag values */ 3005 AVP_FLAG_VENDOR, /* Fixed flag values */
2639 AVP_TYPE_UNSIGNED32 /* base type of data */ 3006 AVP_TYPE_UNSIGNED32 /* base type of data */
2640 }; 3007 };
2641 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 3008 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2642 };
2643
2644 /* Redirect-Information, Grouped, code 1085, section 5.3.82 */
2645 {
2646 struct dict_avp_data data = {
2647 1085, /* Code */
2648 10415, /* Vendor */
2649 "Redirect-Information", /* Name */
2650 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2651 AVP_FLAG_VENDOR, /* Fixed flag values */
2652 AVP_TYPE_GROUPED /* base type of data */
2653 };
2654 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2655 };
2656
2657 /* Redirect-Support, Enumerated, code 1086, section 5.3.83 */
2658 {
2659 struct dict_avp_data data = {
2660 1086, /* Code */
2661 10415, /* Vendor */
2662 "Redirect-Support", /* Name */
2663 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2664 AVP_FLAG_VENDOR, /* Fixed flag values */
2665 AVP_TYPE_INTEGER32 /* base type of data */
2666 };
2667 struct dict_object *type;
2668 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Redirect-Support)", NULL, NULL, NULL };
2669 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2670 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2671 };
2672
2673 /* Reporting-Level, Enumerated, code 1011, section 5.3.12 */
2674 {
2675 struct dict_avp_data data = {
2676 1011, /* Code */
2677 10415, /* Vendor */
2678 "Reporting-Level", /* Name */
2679 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2680 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2681 AVP_TYPE_INTEGER32 /* base type of data */
2682 };
2683 struct dict_object *type;
2684 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Reporting-Level)", NULL, NULL, NULL };
2685 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2686 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2687 };
2688
2689 /* Routing-Filter, Grouped, code 1078, section 5.3.72 */
2690 {
2691 struct dict_avp_data data = {
2692 1078, /* Code */
2693 10415, /* Vendor */
2694 "Routing-Filter", /* Name */
2695 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2696 AVP_FLAG_VENDOR, /* Fixed flag values */
2697 AVP_TYPE_GROUPED /* base type of data */
2698 };
2699 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2700 };
2701
2702 /* Routing-IP-Address, Address, code 1079, section 5.3.73 */
2703 {
2704 struct dict_avp_data data = {
2705 1079, /* Code */
2706 10415, /* Vendor */
2707 "Routing-IP-Address", /* Name */
2708 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2709 AVP_FLAG_VENDOR, /* Fixed flag values */
2710 AVP_TYPE_OCTETSTRING /* base type of data */
2711 };
2712 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
2713 };
2714
2715 /* Routing-Rule-Definition, Grouped, code 1076, section 5.3.70 */
2716 {
2717 struct dict_avp_data data = {
2718 1076, /* Code */
2719 10415, /* Vendor */
2720 "Routing-Rule-Definition", /* Name */
2721 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2722 AVP_FLAG_VENDOR, /* Fixed flag values */
2723 AVP_TYPE_GROUPED /* base type of data */
2724 };
2725 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2726 };
2727
2728 /* Routing-Rule-Identifier, OctetString, code 1077, section 5.3.71 */
2729 {
2730 struct dict_avp_data data = {
2731 1077, /* Code */
2732 10415, /* Vendor */
2733 "Routing-Rule-Identifier", /* Name */
2734 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2735 AVP_FLAG_VENDOR, /* Fixed flag values */
2736 AVP_TYPE_OCTETSTRING /* base type of data */
2737 };
2738 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2739 };
2740
2741 /* Routing-Rule-Install, Grouped, code 1081, section 5.3.68 */
2742 {
2743 struct dict_avp_data data = {
2744 1081, /* Code */
2745 10415, /* Vendor */
2746 "Routing-Rule-Install", /* Name */
2747 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2748 AVP_FLAG_VENDOR, /* Fixed flag values */
2749 AVP_TYPE_GROUPED /* base type of data */
2750 };
2751 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2752 };
2753
2754 /* Routing-Rule-Remove, Grouped, code 1075, section 5.3.69 */
2755 {
2756 struct dict_avp_data data = {
2757 1075, /* Code */
2758 10415, /* Vendor */
2759 "Routing-Rule-Remove", /* Name */
2760 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2761 AVP_FLAG_VENDOR, /* Fixed flag values */
2762 AVP_TYPE_GROUPED /* base type of data */
2763 };
2764 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2765 };
2766
2767 /* PCC-Rule-Status, Enumerated, code 1019, section 5.3.19 */
2768 {
2769 struct dict_avp_data data = {
2770 1019, /* Code */
2771 10415, /* Vendor */
2772 "PCC-Rule-Status", /* Name */
2773 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2774 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2775 AVP_TYPE_INTEGER32 /* base type of data */
2776 };
2777 struct dict_object *type;
2778 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PCC-Rule-Status)", NULL, NULL, NULL };
2779 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2780 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2781 };
2782
2783 /* Session-Release-Cause, Enumerated, code 1045, section 5.3.44 */
2784 {
2785 struct dict_avp_data data = {
2786 1045, /* Code */
2787 10415, /* Vendor */
2788 "Session-Release-Cause", /* Name */
2789 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2790 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2791 AVP_TYPE_INTEGER32 /* base type of data */
2792 };
2793 struct dict_object *type;
2794 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Release-Cause)", NULL, NULL, NULL };
2795 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2796 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2797 };
2798
2799 /* TDF-Information, Grouped, code 1087, section 5.3.78 */
2800 {
2801 struct dict_avp_data data = {
2802 1087, /* Code */
2803 10415, /* Vendor */
2804 "TDF-Information", /* Name */
2805 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2806 AVP_FLAG_VENDOR, /* Fixed flag values */
2807 AVP_TYPE_GROUPED /* base type of data */
2808 };
2809 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2810 };
2811
2812 /* TDF-Application-Identifier, OctetString, code 1088, section 5.3.77 */
2813 {
2814 struct dict_avp_data data = {
2815 1088, /* Code */
2816 10415, /* Vendor */
2817 "TDF-Application-Identifier", /* Name */
2818 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2819 AVP_FLAG_VENDOR, /* Fixed flag values */
2820 AVP_TYPE_OCTETSTRING /* base type of data */
2821 };
2822 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2823 };
2824
2825 /* TDF-Application-Instance-Identifier, OctetString, code 2802, section 5.3.92 */
2826 {
2827 struct dict_avp_data data = {
2828 2802, /* Code */
2829 10415, /* Vendor */
2830 "TDF-Application-Instance-Identifier", /* Name */
2831 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2832 AVP_FLAG_VENDOR, /* Fixed flag values */
2833 AVP_TYPE_OCTETSTRING /* base type of data */
2834 };
2835 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2836 };
2837
2838 /* TDF-Destination-Host, DiameterIdentity, code 1089, section 5.3.80 */
2839 {
2840 struct dict_avp_data data = {
2841 1089, /* Code */
2842 10415, /* Vendor */
2843 "TDF-Destination-Host", /* Name */
2844 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2845 AVP_FLAG_VENDOR, /* Fixed flag values */
2846 AVP_TYPE_OCTETSTRING /* base type of data */
2847 };
2848 CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
2849 };
2850
2851 /* TDF-Destination-Realm, DiameterIdentity, code 1090, section 5.3.79 */
2852 {
2853 struct dict_avp_data data = {
2854 1090, /* Code */
2855 10415, /* Vendor */
2856 "TDF-Destination-Realm", /* Name */
2857 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2858 AVP_FLAG_VENDOR, /* Fixed flag values */
2859 AVP_TYPE_OCTETSTRING /* base type of data */
2860 };
2861 CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
2862 };
2863
2864 /* TDF-IP-Address, Address, code 1091, section 5.3.81 */
2865 {
2866 struct dict_avp_data data = {
2867 1091, /* Code */
2868 10415, /* Vendor */
2869 "TDF-IP-Address", /* Name */
2870 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2871 AVP_FLAG_VENDOR, /* Fixed flag values */
2872 AVP_TYPE_OCTETSTRING /* base type of data */
2873 };
2874 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
2875 };
2876
2877 /* QoS-Class-Identifier, Enumerated, code 1028, section 5.3.17 */
2878 {
2879 struct dict_avp_data data = {
2880 1028, /* Code */
2881 10415, /* Vendor */
2882 "QoS-Class-Identifier", /* Name */
2883 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2884 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2885 AVP_TYPE_INTEGER32 /* base type of data */
2886 };
2887 struct dict_object *type;
2888 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Class-Identifier)", NULL, NULL, NULL };
2889 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2890 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2891 };
2892
2893 /* QoS-Information, Grouped, code 1016, section 5.3.16 */
2894 {
2895 struct dict_avp_data data = {
2896 1016, /* Code */
2897 10415, /* Vendor */
2898 "QoS-Information", /* Name */
2899 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2900 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2901 AVP_TYPE_GROUPED /* base type of data */
2902 };
2903 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2904 };
2905
2906 /* QoS-Negotiation, Enumerated, code 1029, section 5.3.28 */
2907 {
2908 struct dict_avp_data data = {
2909 1029, /* Code */
2910 10415, /* Vendor */
2911 "QoS-Negotiation", /* Name */
2912 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2913 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2914 AVP_TYPE_INTEGER32 /* base type of data */
2915 };
2916 struct dict_object *type;
2917 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Negotiation)", NULL, NULL, NULL };
2918 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2919 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2920 };
2921
2922 /* QoS-Upgrade, Enumerated, code 1030, section 5.3.29 */
2923 {
2924 struct dict_avp_data data = {
2925 1030, /* Code */
2926 10415, /* Vendor */
2927 "QoS-Upgrade", /* Name */
2928 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
2929 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
2930 AVP_TYPE_INTEGER32 /* base type of data */
2931 };
2932 struct dict_object *type;
2933 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Upgrade)", NULL, NULL, NULL };
2934 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2935 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2936 }; 3009 };
2937 3010
2938 /* PS-to-CS-Session-Continuity, Enumerated, code 1099, section 5.3.84 */ 3011 /* PS-to-CS-Session-Continuity, Enumerated, code 1099, section 5.3.84 */
2939 { 3012 {
2940 struct dict_avp_data data = { 3013 struct dict_avp_data data = {
2949 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-to-CS-Session-Continuity)", NULL, NULL, NULL }; 3022 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-to-CS-Session-Continuity)", NULL, NULL, NULL };
2950 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 3023 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2951 CHECK_dict_new(DICT_AVP, &data, type, NULL); 3024 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2952 }; 3025 };
2953 3026
3027 /* QoS-Class-Identifier, Enumerated, code 1028, section 5.3.17 */
3028 {
3029 struct dict_avp_data data = {
3030 1028, /* Code */
3031 10415, /* Vendor */
3032 "QoS-Class-Identifier", /* Name */
3033 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3034 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3035 AVP_TYPE_INTEGER32 /* base type of data */
3036 };
3037 struct dict_object *type;
3038 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Class-Identifier)", NULL, NULL, NULL };
3039 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3040 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3041 };
3042
3043 /* QoS-Information, Grouped, code 1016, section 5.3.16 */
3044 {
3045 struct dict_avp_data data = {
3046 1016, /* Code */
3047 10415, /* Vendor */
3048 "QoS-Information", /* Name */
3049 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3050 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3051 AVP_TYPE_GROUPED /* base type of data */
3052 };
3053 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3054 };
3055
3056 /* QoS-Negotiation, Enumerated, code 1029, section 5.3.28 */
3057 {
3058 struct dict_avp_data data = {
3059 1029, /* Code */
3060 10415, /* Vendor */
3061 "QoS-Negotiation", /* Name */
3062 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3063 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3064 AVP_TYPE_INTEGER32 /* base type of data */
3065 };
3066 struct dict_object *type;
3067 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Negotiation)", NULL, NULL, NULL };
3068 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3069 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3070 };
3071
3072 /* QoS-Upgrade, Enumerated, code 1030, section 5.3.29 */
3073 {
3074 struct dict_avp_data data = {
3075 1030, /* Code */
3076 10415, /* Vendor */
3077 "QoS-Upgrade", /* Name */
3078 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3079 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3080 AVP_TYPE_INTEGER32 /* base type of data */
3081 };
3082 struct dict_object *type;
3083 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Upgrade)", NULL, NULL, NULL };
3084 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3085 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3086 };
3087
3088 /* RAN-NAS-Release-Cause, OctetString, code 2819, section 5.3.106 */
3089 {
3090 struct dict_avp_data data = {
3091 2819, /* Code */
3092 10415, /* Vendor */
3093 "RAN-NAS-Release-Cause", /* Name */
3094 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3095 AVP_FLAG_VENDOR, /* Fixed flag values */
3096 AVP_TYPE_OCTETSTRING /* base type of data */
3097 };
3098 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3099 };
3100
3101 /* RAN-Rule-Support, Unsigned32, code 2832, section 5.3.122 */
3102 {
3103 struct dict_avp_data data = {
3104 2832, /* Code */
3105 10415, /* Vendor */
3106 "RAN-Rule-Support", /* Name */
3107 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3108 AVP_FLAG_VENDOR, /* Fixed flag values */
3109 AVP_TYPE_UNSIGNED32 /* base type of data */
3110 };
3111 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3112 };
3113
3114 /* RAT-Type, Enumerated, code 1032, section 5.3.31 */
3115 {
3116 struct dict_avp_data data = {
3117 1032, /* Code */
3118 10415, /* Vendor */
3119 "RAT-Type", /* Name */
3120 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3121 AVP_FLAG_VENDOR, /* Fixed flag values */
3122 AVP_TYPE_INTEGER32 /* base type of data */
3123 };
3124 struct dict_object *type;
3125 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/RAT-Type)", NULL, NULL, NULL };
3126 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3127 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3128 };
3129
3130 /* Redirect-Information, Grouped, code 1085, section 5.3.82 */
3131 {
3132 struct dict_avp_data data = {
3133 1085, /* Code */
3134 10415, /* Vendor */
3135 "Redirect-Information", /* Name */
3136 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3137 AVP_FLAG_VENDOR, /* Fixed flag values */
3138 AVP_TYPE_GROUPED /* base type of data */
3139 };
3140 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3141 };
3142
3143 /* Redirect-Support, Enumerated, code 1086, section 5.3.83 */
3144 {
3145 struct dict_avp_data data = {
3146 1086, /* Code */
3147 10415, /* Vendor */
3148 "Redirect-Support", /* Name */
3149 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3150 AVP_FLAG_VENDOR, /* Fixed flag values */
3151 AVP_TYPE_INTEGER32 /* base type of data */
3152 };
3153 struct dict_object *type;
3154 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Redirect-Support)", NULL, NULL, NULL };
3155 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3156 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3157 };
3158
3159 /* Removal-Of-Access, Enumerated, code 2842, section 5.3.126 */
3160 {
3161 struct dict_avp_data data = {
3162 2842, /* Code */
3163 10415, /* Vendor */
3164 "Removal-Of-Access", /* Name */
3165 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3166 AVP_FLAG_VENDOR, /* Fixed flag values */
3167 AVP_TYPE_INTEGER32 /* base type of data */
3168 };
3169 struct dict_object *type;
3170 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Removal-Of-Access)", NULL, NULL, NULL };
3171 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3172 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3173 };
3174
3175 /* Reporting-Level, Enumerated, code 1011, section 5.3.12 */
3176 {
3177 struct dict_avp_data data = {
3178 1011, /* Code */
3179 10415, /* Vendor */
3180 "Reporting-Level", /* Name */
3181 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3182 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3183 AVP_TYPE_INTEGER32 /* base type of data */
3184 };
3185 struct dict_object *type;
3186 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Reporting-Level)", NULL, NULL, NULL };
3187 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3188 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3189 };
3190
2954 /* Resource-Allocation-Notification, Enumerated, code 1063, section 5.3.50 */ 3191 /* Resource-Allocation-Notification, Enumerated, code 1063, section 5.3.50 */
2955 { 3192 {
2956 struct dict_avp_data data = { 3193 struct dict_avp_data data = {
2957 1063, /* Code */ 3194 1063, /* Code */
2958 10415, /* Vendor */ 3195 10415, /* Vendor */
2965 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Resource-Allocation-Notification)", NULL, NULL, NULL }; 3202 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Resource-Allocation-Notification)", NULL, NULL, NULL };
2966 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 3203 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
2967 CHECK_dict_new(DICT_AVP, &data, type, NULL); 3204 CHECK_dict_new(DICT_AVP, &data, type, NULL);
2968 }; 3205 };
2969 3206
3207 /* Resource-Release-Notification, Enumerated, code 2841, section 5.3.125 */
3208 {
3209 struct dict_avp_data data = {
3210 2841, /* Code */
3211 10415, /* Vendor */
3212 "Resource-Release-Notification", /* Name */
3213 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3214 AVP_FLAG_VENDOR, /* Fixed flag values */
3215 AVP_TYPE_INTEGER32 /* base type of data */
3216 };
3217 struct dict_object *type;
3218 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Resource-Release-Notification)", NULL, NULL, NULL };
3219 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3220 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3221 };
3222
3223 /* Revalidation-Time, Time, code 1042, section 5.3.41 */
3224 {
3225 struct dict_avp_data data = {
3226 1042, /* Code */
3227 10415, /* Vendor */
3228 "Revalidation-Time", /* Name */
3229 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3230 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3231 AVP_TYPE_OCTETSTRING /* base type of data */
3232 };
3233 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
3234 };
3235
3236 /* Routing-Filter, Grouped, code 1078, section 5.3.72 */
3237 {
3238 struct dict_avp_data data = {
3239 1078, /* Code */
3240 10415, /* Vendor */
3241 "Routing-Filter", /* Name */
3242 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3243 AVP_FLAG_VENDOR, /* Fixed flag values */
3244 AVP_TYPE_GROUPED /* base type of data */
3245 };
3246 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3247 };
3248
3249 /* Routing-IP-Address, Address, code 1079, section 5.3.73 */
3250 {
3251 struct dict_avp_data data = {
3252 1079, /* Code */
3253 10415, /* Vendor */
3254 "Routing-IP-Address", /* Name */
3255 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3256 AVP_FLAG_VENDOR, /* Fixed flag values */
3257 AVP_TYPE_OCTETSTRING /* base type of data */
3258 };
3259 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
3260 };
3261
3262 /* Routing-Rule-Definition, Grouped, code 1076, section 5.3.70 */
3263 {
3264 struct dict_avp_data data = {
3265 1076, /* Code */
3266 10415, /* Vendor */
3267 "Routing-Rule-Definition", /* Name */
3268 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3269 AVP_FLAG_VENDOR, /* Fixed flag values */
3270 AVP_TYPE_GROUPED /* base type of data */
3271 };
3272 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3273 };
3274
3275 /* Routing-Rule-Identifier, OctetString, code 1077, section 5.3.71 */
3276 {
3277 struct dict_avp_data data = {
3278 1077, /* Code */
3279 10415, /* Vendor */
3280 "Routing-Rule-Identifier", /* Name */
3281 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3282 AVP_FLAG_VENDOR, /* Fixed flag values */
3283 AVP_TYPE_OCTETSTRING /* base type of data */
3284 };
3285 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3286 };
3287
3288 /* Routing-Rule-Install, Grouped, code 1081, section 5.3.68 */
3289 {
3290 struct dict_avp_data data = {
3291 1081, /* Code */
3292 10415, /* Vendor */
3293 "Routing-Rule-Install", /* Name */
3294 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3295 AVP_FLAG_VENDOR, /* Fixed flag values */
3296 AVP_TYPE_GROUPED /* base type of data */
3297 };
3298 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3299 };
3300
3301 /* Routing-Rule-Remove, Grouped, code 1075, section 5.3.69 */
3302 {
3303 struct dict_avp_data data = {
3304 1075, /* Code */
3305 10415, /* Vendor */
3306 "Routing-Rule-Remove", /* Name */
3307 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3308 AVP_FLAG_VENDOR, /* Fixed flag values */
3309 AVP_TYPE_GROUPED /* base type of data */
3310 };
3311 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3312 };
3313
3314 /* Routing-Rule-Failure-Code, Unsigned32, code 2834, section 5.3.119 */
3315 {
3316 struct dict_avp_data data = {
3317 2834, /* Code */
3318 10415, /* Vendor */
3319 "Routing-Rule-Failure-Code", /* Name */
3320 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3321 AVP_FLAG_VENDOR, /* Fixed flag values */
3322 AVP_TYPE_UNSIGNED32 /* base type of data */
3323 };
3324 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3325 };
3326
3327 /* Routing-Rule-Report, Grouped, code 2835, section 5.3.118 */
3328 {
3329 struct dict_avp_data data = {
3330 2835, /* Code */
3331 10415, /* Vendor */
3332 "Routing-Rule-Report", /* Name */
3333 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3334 AVP_FLAG_VENDOR, /* Fixed flag values */
3335 AVP_TYPE_GROUPED /* base type of data */
3336 };
3337 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3338 };
3339
3340 /* Rule-Activation-Time, Time, code 1043, section 5.3.42 */
3341 {
3342 struct dict_avp_data data = {
3343 1043, /* Code */
3344 10415, /* Vendor */
3345 "Rule-Activation-Time", /* Name */
3346 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3347 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3348 AVP_TYPE_OCTETSTRING /* base type of data */
3349 };
3350 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
3351 };
3352
3353 /* Rule-Deactivation-Time, Time, code 1044, section 5.3.43 */
3354 {
3355 struct dict_avp_data data = {
3356 1044, /* Code */
3357 10415, /* Vendor */
3358 "Rule-Deactivation-Time", /* Name */
3359 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3360 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3361 AVP_TYPE_OCTETSTRING /* base type of data */
3362 };
3363 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
3364 };
3365
2970 /* Rule-Failure-Code, Enumerated, code 1031, section 5.3.38 */ 3366 /* Rule-Failure-Code, Enumerated, code 1031, section 5.3.38 */
2971 { 3367 {
2972 struct dict_avp_data data = { 3368 struct dict_avp_data data = {
2973 1031, /* Code */ 3369 1031, /* Code */
2974 10415, /* Vendor */ 3370 10415, /* Vendor */
2994 AVP_TYPE_OCTETSTRING /* base type of data */ 3390 AVP_TYPE_OCTETSTRING /* base type of data */
2995 }; 3391 };
2996 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 3392 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
2997 }; 3393 };
2998 3394
3395 /* Session-Release-Cause, Enumerated, code 1045, section 5.3.44 */
3396 {
3397 struct dict_avp_data data = {
3398 1045, /* Code */
3399 10415, /* Vendor */
3400 "Session-Release-Cause", /* Name */
3401 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3402 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3403 AVP_TYPE_INTEGER32 /* base type of data */
3404 };
3405 struct dict_object *type;
3406 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Release-Cause)", NULL, NULL, NULL };
3407 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3408 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3409 };
3410
3411 /* TCP-Source-Port, Unsigned32, code 2843, section 5.3.129 */
3412 {
3413 struct dict_avp_data data = {
3414 2843, /* Code */
3415 10415, /* Vendor */
3416 "TCP-Source-Port", /* Name */
3417 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3418 AVP_FLAG_VENDOR, /* Fixed flag values */
3419 AVP_TYPE_UNSIGNED32 /* base type of data */
3420 };
3421 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3422 };
3423
3424 /* TDF-Information, Grouped, code 1087, section 5.3.78 */
3425 {
3426 struct dict_avp_data data = {
3427 1087, /* Code */
3428 10415, /* Vendor */
3429 "TDF-Information", /* Name */
3430 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3431 AVP_FLAG_VENDOR, /* Fixed flag values */
3432 AVP_TYPE_GROUPED /* base type of data */
3433 };
3434 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3435 };
3436
3437 /* TDF-Application-Identifier, OctetString, code 1088, section 5.3.77 */
3438 {
3439 struct dict_avp_data data = {
3440 1088, /* Code */
3441 10415, /* Vendor */
3442 "TDF-Application-Identifier", /* Name */
3443 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3444 AVP_FLAG_VENDOR, /* Fixed flag values */
3445 AVP_TYPE_OCTETSTRING /* base type of data */
3446 };
3447 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3448 };
3449
3450 /* TDF-Application-Instance-Identifier, OctetString, code 2802, section 5.3.92 */
3451 {
3452 struct dict_avp_data data = {
3453 2802, /* Code */
3454 10415, /* Vendor */
3455 "TDF-Application-Instance-Identifier", /* Name */
3456 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3457 AVP_FLAG_VENDOR, /* Fixed flag values */
3458 AVP_TYPE_OCTETSTRING /* base type of data */
3459 };
3460 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3461 };
3462
3463 /* TDF-Destination-Host, DiameterIdentity, code 1089, section 5.3.80 */
3464 {
3465 struct dict_avp_data data = {
3466 1089, /* Code */
3467 10415, /* Vendor */
3468 "TDF-Destination-Host", /* Name */
3469 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3470 AVP_FLAG_VENDOR, /* Fixed flag values */
3471 AVP_TYPE_OCTETSTRING /* base type of data */
3472 };
3473 CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
3474 };
3475
3476 /* TDF-Destination-Realm, DiameterIdentity, code 1090, section 5.3.79 */
3477 {
3478 struct dict_avp_data data = {
3479 1090, /* Code */
3480 10415, /* Vendor */
3481 "TDF-Destination-Realm", /* Name */
3482 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3483 AVP_FLAG_VENDOR, /* Fixed flag values */
3484 AVP_TYPE_OCTETSTRING /* base type of data */
3485 };
3486 CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
3487 };
3488
3489 /* TDF-IP-Address, Address, code 1091, section 5.3.81 */
3490 {
3491 struct dict_avp_data data = {
3492 1091, /* Code */
3493 10415, /* Vendor */
3494 "TDF-IP-Address", /* Name */
3495 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3496 AVP_FLAG_VENDOR, /* Fixed flag values */
3497 AVP_TYPE_OCTETSTRING /* base type of data */
3498 };
3499 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
3500 };
3501
2999 /* TFT-Filter, IPFilterRule, code 1012, section 5.3.13 */ 3502 /* TFT-Filter, IPFilterRule, code 1012, section 5.3.13 */
3000 { 3503 {
3001 struct dict_avp_data data = { 3504 struct dict_avp_data data = {
3002 1012, /* Code */ 3505 1012, /* Code */
3003 10415, /* Vendor */ 3506 10415, /* Vendor */
3020 AVP_TYPE_GROUPED /* base type of data */ 3523 AVP_TYPE_GROUPED /* base type of data */
3021 }; 3524 };
3022 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 3525 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3023 }; 3526 };
3024 3527
3528 /* Traffic-Steering-Policy-Identifier-DL, OctetString, code 2836, section 5.3.123 */
3529 {
3530 struct dict_avp_data data = {
3531 2836, /* Code */
3532 10415, /* Vendor */
3533 "Traffic-Steering-Policy-Identifier-DL", /* Name */
3534 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3535 AVP_FLAG_VENDOR, /* Fixed flag values */
3536 AVP_TYPE_OCTETSTRING /* base type of data */
3537 };
3538 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3539 };
3540
3541 /* Traffic-Steering-Policy-Identifier-UL, OctetString, code 2837, section 5.3.124 */
3542 {
3543 struct dict_avp_data data = {
3544 2837, /* Code */
3545 10415, /* Vendor */
3546 "Traffic-Steering-Policy-Identifier-UL", /* Name */
3547 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3548 AVP_FLAG_VENDOR, /* Fixed flag values */
3549 AVP_TYPE_OCTETSTRING /* base type of data */
3550 };
3551 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3552 };
3553
3025 /* ToS-Traffic-Class, OctetString, code 1014, section 5.3.15 */ 3554 /* ToS-Traffic-Class, OctetString, code 1014, section 5.3.15 */
3026 { 3555 {
3027 struct dict_avp_data data = { 3556 struct dict_avp_data data = {
3028 1014, /* Code */ 3557 1014, /* Code */
3029 10415, /* Vendor */ 3558 10415, /* Vendor */
3072 AVP_TYPE_GROUPED /* base type of data */ 3601 AVP_TYPE_GROUPED /* base type of data */
3073 }; 3602 };
3074 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); 3603 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3075 }; 3604 };
3076 3605
3077 /* RAT-Type, Enumerated, code 1032, section 5.3.31 */ 3606 /* UDP-Source-Port, Unsigned32, code 2806, section 5.3.97 */
3078 { 3607 {
3079 struct dict_avp_data data = { 3608 struct dict_avp_data data = {
3080 1032, /* Code */ 3609 2806, /* Code */
3081 10415, /* Vendor */ 3610 10415, /* Vendor */
3082 "RAT-Type", /* Name */ 3611 "UDP-Source-Port", /* Name */
3083 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 3612 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3084 AVP_FLAG_VENDOR, /* Fixed flag values */ 3613 AVP_FLAG_VENDOR, /* Fixed flag values */
3085 AVP_TYPE_INTEGER32 /* base type of data */ 3614 AVP_TYPE_UNSIGNED32 /* base type of data */
3086 }; 3615 };
3087 struct dict_object *type; 3616 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3088 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/RAT-Type)", NULL, NULL, NULL }; 3617 };
3089 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 3618
3090 CHECK_dict_new(DICT_AVP, &data, type, NULL); 3619 /* UE-Local-IP-Address, Address, code 2805, section 5.3.96 */
3091 }; 3620 {
3092 3621 struct dict_avp_data data = {
3093 /* Revalidation-Time, Time, code 1042, section 5.3.41 */ 3622 2805, /* Code */
3094 { 3623 10415, /* Vendor */
3095 struct dict_avp_data data = { 3624 "UE-Local-IP-Address", /* Name */
3096 1042, /* Code */ 3625 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3097 10415, /* Vendor */ 3626 AVP_FLAG_VENDOR, /* Fixed flag values */
3098 "Revalidation-Time", /* Name */ 3627 AVP_TYPE_OCTETSTRING /* base type of data */
3099 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 3628 };
3100 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 3629 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
3630 };
3631
3632 /* UE-Status, Unsigned32, code 2854, section 5.3.140 */
3633 {
3634 struct dict_avp_data data = {
3635 2854, /* Code */
3636 10415, /* Vendor */
3637 "UE-Status", /* Name */
3638 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3639 AVP_FLAG_VENDOR, /* Fixed flag values */
3640 AVP_TYPE_UNSIGNED32 /* base type of data */
3641 };
3642 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3643 };
3644
3645 /* Usage-Monitoring-Information, Grouped, code 1067, section 5.3.60 */
3646 {
3647 struct dict_avp_data data = {
3648 1067, /* Code */
3649 10415, /* Vendor */
3650 "Usage-Monitoring-Information", /* Name */
3651 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3652 AVP_FLAG_VENDOR, /* Fixed flag values */
3653 AVP_TYPE_GROUPED /* base type of data */
3654 };
3655 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3656 };
3657
3658 /* Usage-Monitoring-Level, Enumerated, code 1068, section 5.3.61 */
3659 {
3660 struct dict_avp_data data = {
3661 1068, /* Code */
3662 10415, /* Vendor */
3663 "Usage-Monitoring-Level", /* Name */
3664 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3665 AVP_FLAG_VENDOR, /* Fixed flag values */
3666 AVP_TYPE_INTEGER32 /* base type of data */
3667 };
3668 struct dict_object *type;
3669 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Level)", NULL, NULL, NULL };
3670 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3671 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3672 };
3673
3674 /* Usage-Monitoring-Report, Enumerated, code 1069, section 5.3.62 */
3675 {
3676 struct dict_avp_data data = {
3677 1069, /* Code */
3678 10415, /* Vendor */
3679 "Usage-Monitoring-Report", /* Name */
3680 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3681 AVP_FLAG_VENDOR, /* Fixed flag values */
3682 AVP_TYPE_INTEGER32 /* base type of data */
3683 };
3684 struct dict_object *type;
3685 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Report)", NULL, NULL, NULL };
3686 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3687 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3688 };
3689
3690 /* Usage-Monitoring-Support, Enumerated, code 1070, section 5.3.63 */
3691 {
3692 struct dict_avp_data data = {
3693 1070, /* Code */
3694 10415, /* Vendor */
3695 "Usage-Monitoring-Support", /* Name */
3696 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3697 AVP_FLAG_VENDOR, /* Fixed flag values */
3698 AVP_TYPE_INTEGER32 /* base type of data */
3699 };
3700 struct dict_object *type;
3701 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Support)", NULL, NULL, NULL };
3702 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3703 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3704 };
3705
3706 /* User-Location-Info-Time, Time, code 2812, section 5.3.101 */
3707 {
3708 struct dict_avp_data data = {
3709 2812, /* Code */
3710 10415, /* Vendor */
3711 "User-Location-Info-Time", /* Name */
3712 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3713 AVP_FLAG_VENDOR, /* Fixed flag values */
3101 AVP_TYPE_OCTETSTRING /* base type of data */ 3714 AVP_TYPE_OCTETSTRING /* base type of data */
3102 }; 3715 };
3103 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL); 3716 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
3104 }; 3717 };
3105 3718
3106 /* Rule-Activation-Time, Time, code 1043, section 5.3.42 */ 3719 /* PCSCF-Restoration-Indication, Unsigned32, code 2826, section 5.3.113 */
3107 { 3720 {
3108 struct dict_avp_data data = { 3721 struct dict_avp_data data = {
3109 1043, /* Code */ 3722 2826, /* Code */
3110 10415, /* Vendor */ 3723 10415, /* Vendor */
3111 "Rule-Activation-Time", /* Name */ 3724 "PCSCF-Restoration-Indication", /* Name */
3112 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ 3725 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3113 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 3726 AVP_FLAG_VENDOR, /* Fixed flag values */
3114 AVP_TYPE_OCTETSTRING /* base type of data */ 3727 AVP_TYPE_UNSIGNED32 /* base type of data */
3115 }; 3728 };
3116 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL); 3729 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3117 }; 3730 };
3118 3731
3119 /* UDP-Source-Port, Unsigned32, code 2806, section 5.3.97 */ 3732 /*==================================================================*/
3120 { 3733 /* 3GPP TS 29.212 Table 5a.3.0.1: Gxx specific Diameter AVPs */
3121 struct dict_avp_data data = { 3734 /*==================================================================*/
3122 2806, /* Code */ 3735
3123 10415, /* Vendor */
3124 "UDP-Source-Port", /* Name */
3125 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3126 AVP_FLAG_VENDOR, /* Fixed flag values */
3127 AVP_TYPE_UNSIGNED32 /* base type of data */
3128 };
3129 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3130 };
3131
3132 /* UE-Local-IP-Address, Address, code 2805, section 5.3.96 */
3133 {
3134 struct dict_avp_data data = {
3135 2805, /* Code */
3136 10415, /* Vendor */
3137 "UE-Local-IP-Address", /* Name */
3138 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3139 AVP_FLAG_VENDOR, /* Fixed flag values */
3140 AVP_TYPE_OCTETSTRING /* base type of data */
3141 };
3142 CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
3143 };
3144
3145 /* Usage-Monitoring-Information, Grouped, code 1067, section 5.3.60 */
3146 {
3147 struct dict_avp_data data = {
3148 1067, /* Code */
3149 10415, /* Vendor */
3150 "Usage-Monitoring-Information", /* Name */
3151 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3152 AVP_FLAG_VENDOR, /* Fixed flag values */
3153 AVP_TYPE_GROUPED /* base type of data */
3154 };
3155 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3156 };
3157
3158 /* Rule-Deactivation-Time, Time, code 1044, section 5.3.43 */
3159 {
3160 struct dict_avp_data data = {
3161 1044, /* Code */
3162 10415, /* Vendor */
3163 "Rule-Deactivation-Time", /* Name */
3164 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3165 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3166 AVP_TYPE_OCTETSTRING /* base type of data */
3167 };
3168 CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
3169 };
3170
3171 /* Usage-Monitoring-Level, Enumerated, code 1068, section 5.3.61 */
3172 {
3173 struct dict_avp_data data = {
3174 1068, /* Code */
3175 10415, /* Vendor */
3176 "Usage-Monitoring-Level", /* Name */
3177 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3178 AVP_FLAG_VENDOR, /* Fixed flag values */
3179 AVP_TYPE_INTEGER32 /* base type of data */
3180 };
3181 struct dict_object *type;
3182 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Level)", NULL, NULL, NULL };
3183 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3184 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3185 };
3186
3187 /* Usage-Monitoring-Report, Enumerated, code 1069, section 5.3.62 */
3188 {
3189 struct dict_avp_data data = {
3190 1069, /* Code */
3191 10415, /* Vendor */
3192 "Usage-Monitoring-Report", /* Name */
3193 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3194 AVP_FLAG_VENDOR, /* Fixed flag values */
3195 AVP_TYPE_INTEGER32 /* base type of data */
3196 };
3197 struct dict_object *type;
3198 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Report)", NULL, NULL, NULL };
3199 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3200 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3201 };
3202
3203 /* Usage-Monitoring-Support, Enumerated, code 1070, section 5.3.63 */
3204 {
3205 struct dict_avp_data data = {
3206 1070, /* Code */
3207 10415, /* Vendor */
3208 "Usage-Monitoring-Support", /* Name */
3209 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3210 AVP_FLAG_VENDOR, /* Fixed flag values */
3211 AVP_TYPE_INTEGER32 /* base type of data */
3212 };
3213 struct dict_object *type;
3214 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Support)", NULL, NULL, NULL };
3215 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3216 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3217 };
3218
3219 /* Gxx-specific */
3220 /* QoS-Rule-Install, Grouped, code 1051, section 5a.3.1 */ 3736 /* QoS-Rule-Install, Grouped, code 1051, section 5a.3.1 */
3221 { 3737 {
3222 struct dict_avp_data data = { 3738 struct dict_avp_data data = {
3223 1051, /* Code */ 3739 1051, /* Code */
3224 10415, /* Vendor */ 3740 10415, /* Vendor */
3309 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Linking-Indicator)", NULL, NULL, NULL }; 3825 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Linking-Indicator)", NULL, NULL, NULL };
3310 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 3826 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3311 CHECK_dict_new(DICT_AVP, &data, type, NULL); 3827 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3312 }; 3828 };
3313 3829
3314 /* S15-specific */ 3830 /*==================================================================*/
3831 /* 3GPP TS 29.212 Table 5b.3.0.1: Sd specific Diameter AVPs */
3832 /*==================================================================*/
3833
3834 /* ADC-Rule-Base-Name, UTF8String, code 1095, section 5b.3.4 */
3835 {
3836 struct dict_avp_data data = {
3837 1095, /* Code */
3838 10415, /* Vendor */
3839 "ADC-Rule-Base-Name", /* Name */
3840 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3841 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3842 AVP_TYPE_OCTETSTRING /* base type of data */
3843 };
3844 CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
3845 };
3846
3847 /* ADC-Rule-Definition, Grouped, code 1094, section 5b.3.3 */
3848 {
3849 struct dict_avp_data data = {
3850 1094, /* Code */
3851 10415, /* Vendor */
3852 "ADC-Rule-Definition", /* Name */
3853 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3854 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3855 AVP_TYPE_GROUPED /* base type of data */
3856 };
3857 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3858 };
3859
3860 /* ADC-Rule-Install, Grouped, code 1092, section 5b.3.1 */
3861 {
3862 struct dict_avp_data data = {
3863 1092, /* Code */
3864 10415, /* Vendor */
3865 "ADC-Rule-Install", /* Name */
3866 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3867 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3868 AVP_TYPE_GROUPED /* base type of data */
3869 };
3870 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3871 };
3872
3873 /* ADC-Rule-Name, OctetString, code 1096, section 5b.3.5 */
3874 {
3875 struct dict_avp_data data = {
3876 1096, /* Code */
3877 10415, /* Vendor */
3878 "ADC-Rule-Name", /* Name */
3879 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3880 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3881 AVP_TYPE_OCTETSTRING /* base type of data */
3882 };
3883 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3884 };
3885
3886 /* ADC-Rule-Remove, Grouped, code 1093, section 5b.3.2 */
3887 {
3888 struct dict_avp_data data = {
3889 1093, /* Code */
3890 10415, /* Vendor */
3891 "ADC-Rule-Remove", /* Name */
3892 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3893 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3894 AVP_TYPE_GROUPED /* base type of data */
3895 };
3896 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3897 };
3898
3899 /* ADC-Rule-Report, Grouped, code 1097, section 5b.3.6 */
3900 {
3901 struct dict_avp_data data = {
3902 1097, /* Code */
3903 10415, /* Vendor */
3904 "ADC-Rule-Report", /* Name */
3905 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3906 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3907 AVP_TYPE_GROUPED /* base type of data */
3908 };
3909 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3910 };
3911
3912 /*==================================================================*/
3913 /* 3GPP TS 29.212 Table 5c.3.1.1: St specific Diameter AVPs */
3914 /*==================================================================*/
3915
3916 /* Request-Type, Unsigned32, code 2838, section 5c.3.2 */
3917 {
3918 struct dict_avp_data data = {
3919 2838, /* Code */
3920 10415, /* Vendor */
3921 "Request-Type", /* Name */
3922 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3923 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3924 AVP_TYPE_UNSIGNED32 /* base type of data */
3925 };
3926 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3927 };
3928
3929 /*==================================================================*/
3930 /* 3GPP TS 29.212 Table E.6.3.1.1: S15 specific Diameter AVPs */
3931 /*==================================================================*/
3932
3315 /* CS-Service-Qos-Request-Identifier, OctetString, code 2807, section E.6.3.2 */ 3933 /* CS-Service-Qos-Request-Identifier, OctetString, code 2807, section E.6.3.2 */
3316 { 3934 {
3317 struct dict_avp_data data = { 3935 struct dict_avp_data data = {
3318 2807, /* Code */ 3936 2807, /* Code */
3319 10415, /* Vendor */ 3937 10415, /* Vendor */
3335 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ 3953 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3336 AVP_TYPE_INTEGER32 /* base type of data */ 3954 AVP_TYPE_INTEGER32 /* base type of data */
3337 }; 3955 };
3338 struct dict_object *type; 3956 struct dict_object *type;
3339 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-QoS-Request-Operation)", NULL, NULL, NULL }; 3957 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-QoS-Request-Operation)", NULL, NULL, NULL };
3958 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3959 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3960 };
3961
3962 /* CS-Service-Resource-Report, Grouped, code 2813, section E.6.3.6 */
3963 {
3964 struct dict_avp_data data = {
3965 2813, /* Code */
3966 10415, /* Vendor */
3967 "CS-Service-Resource-Report", /* Name */
3968 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3969 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3970 AVP_TYPE_GROUPED /* base type of data */
3971 };
3972 CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
3973 };
3974
3975 /* CS-Service-Resource-Failure-Cause, Enumerated, code 2814, section E.6.3.5 */
3976 {
3977 struct dict_avp_data data = {
3978 2814, /* Code */
3979 10415, /* Vendor */
3980 "CS-Service-Resource-Failure-Cause", /* Name */
3981 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3982 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3983 AVP_TYPE_INTEGER32 /* base type of data */
3984 };
3985 struct dict_object *type;
3986 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-Resource-Failure-Cause)", NULL, NULL, NULL };
3987 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3988 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3989 };
3990
3991 /* CS-Service-Resource-Result-Operation, Enumerated, code 2815, section E.6.3.4 */
3992 {
3993 struct dict_avp_data data = {
3994 2815, /* Code */
3995 10415, /* Vendor */
3996 "CS-Service-Resource-Result-Operation", /* Name */
3997 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
3998 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
3999 AVP_TYPE_INTEGER32 /* base type of data */
4000 };
4001 struct dict_object *type;
4002 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-Resource-Result-Operation)", NULL, NULL, NULL };
3340 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); 4003 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
3341 CHECK_dict_new(DICT_AVP, &data, type, NULL); 4004 CHECK_dict_new(DICT_AVP, &data, type, NULL);
3342 }; 4005 };
3343 4006
3344 /*==================================================================*/ 4007 /*==================================================================*/
"Welcome to our mercurial repository"