| /* |
| * Copyright (c) 2017 Sprint |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /**************** |
| Generated By: fdtool enhancements to diafuzzer |
| License: same as freeDiameter |
| ****************/ |
| |
| |
| /* |
| * Dictionary definitions of objects specified in ts32299_avps (e30). |
| */ |
| #include <freeDiameter/extension.h> |
| |
| #define PROTO_VER "e30" |
| #define GEN_DATE 1506697143.39 |
| |
| const char *ts32299_avps_proto_ver = PROTO_VER; |
| const double ts32299_avps_gen_date = GEN_DATE; |
| |
| /* The content of this file follows the same structure as dict_base_proto.c */ |
| |
| #define CHECK_dict_new( _type, _data, _parent, _ref ) \ |
| { \ |
| int _ret = fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref) ); \ |
| if ( _ret != 0 && _ret != EEXIST ) \ |
| return _ret; \ |
| } |
| |
| #define CHECK_dict_search( _type, _criteria, _what, _result ) \ |
| CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) ); |
| |
| struct local_rules_definition { |
| struct dict_avp_request avp_vendor_plus_name; |
| enum rule_position position; |
| int min; |
| int max; |
| }; |
| |
| #define RULE_ORDER( _position ) ((((_position) == RULE_FIXED_HEAD) || ((_position) == RULE_FIXED_TAIL)) ? 1 : 0 ) |
| |
| /* Attention! This version of the macro uses AVP_BY_NAME_AND_VENDOR, in contrast to most other copies! */ |
| #define PARSE_loc_rules( _rulearray, _parent) { \ |
| int __ar; \ |
| for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) { \ |
| struct dict_rule_data __data = { NULL, \ |
| (_rulearray)[__ar].position, \ |
| 0, \ |
| (_rulearray)[__ar].min, \ |
| (_rulearray)[__ar].max}; \ |
| __data.rule_order = RULE_ORDER(__data.rule_position); \ |
| CHECK_FCT( fd_dict_search( \ |
| fd_g_config->cnf_dict, \ |
| DICT_AVP, \ |
| AVP_BY_NAME_AND_VENDOR, \ |
| &(_rulearray)[__ar].avp_vendor_plus_name, \ |
| &__data.rule_avp, 0 ) ); \ |
| if ( !__data.rule_avp ) { \ |
| TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \ |
| return ENOENT; \ |
| } \ |
| { \ |
| int _ret = fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &(__data), (_parent), NULL ); \ |
| if ( _ret != 0 && _ret != EEXIST ) { \ |
| TRACE_DEBUG(INFO, "Error on rule with AVP '%s'", \ |
| (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \ |
| return EINVAL; \ |
| } \ |
| } \ |
| } \ |
| } |
| |
| #define CHECK_vendor_new( _data ) { \ |
| struct dict_object * vendor_found; \ |
| if (fd_dict_search(fd_g_config->cnf_dict,DICT_VENDOR,VENDOR_BY_ID,&_data.vendor_id,&vendor_found,ENOENT) == ENOENT) { \ |
| CHECK_FCT(fd_dict_new(fd_g_config->cnf_dict, DICT_VENDOR, &_data, NULL, NULL)); \ |
| } \ |
| } |
| |
| #define enumval_def_u32( _val_, _str_ ) \ |
| { _str_, { .u32 = _val_ }} |
| |
| #define enumval_def_os( _len_, _val_, _str_ ) \ |
| { _str_, { .os = { .data = (unsigned char *)_val_, .len = _len_ }}} |
| |
| |
| static int dict_ts32299_avps_load_defs(char * conffile) |
| { |
| TRACE_ENTRY("%p", conffile); |
| /* Application Section */ |
| { |
| /* Create the vendors */ { |
| struct dict_vendor_data vendor_data = { 10415, "3GPP" }; |
| CHECK_dict_new(DICT_VENDOR, &vendor_data, NULL, NULL) |
| } |
| } |
| |
| |
| /* AVP section */ |
| { |
| struct dict_object * Address_type; |
| struct dict_object * UTF8String_type; |
| struct dict_object * DiameterIdentity_type; |
| struct dict_object * DiameterURI_type; |
| struct dict_object * Time_type; |
| struct dict_object * IPFilterRule_type; |
| |
| CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_type); |
| CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type); |
| CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterIdentity", &DiameterIdentity_type); |
| CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterURI", &DiameterURI_type); |
| CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type); |
| CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "IPFilterRule", &IPFilterRule_type); |
| /* 3GPP-PS-Data-Off-Status */ |
| { |
| struct dict_avp_data data = { |
| 4406, /* Code */ |
| 10415, /* Vendor */ |
| "3GPP-PS-Data-Off-Status", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(3GPP-PS-Data-Off-Status)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Active", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Inactive", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Access-Network-Information */ |
| { |
| struct dict_avp_data data = { |
| 1263, /* Code */ |
| 10415, /* Vendor */ |
| "Access-Network-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Access-Transfer-Type */ |
| { |
| struct dict_avp_data data = { |
| 2710, /* Code */ |
| 10415, /* Vendor */ |
| "Access-Transfer-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Access-Transfer-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "PS_to_CS_Transfer", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "CS_to_PS_Transfer", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "PS_to_PS_Transfer", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "CS_to_CS_Transfer", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Account-Expiration */ |
| { |
| struct dict_avp_data data = { |
| 2309, /* Code */ |
| 10415, /* Vendor */ |
| "Account-Expiration", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Adaptations */ |
| { |
| struct dict_avp_data data = { |
| 1217, /* Code */ |
| 10415, /* Vendor */ |
| "Adaptations", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Adaptations)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Yes", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "No", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Additional-Exception-Reports */ |
| { |
| struct dict_avp_data data = { |
| 3936, /* Code */ |
| 10415, /* Vendor */ |
| "Additional-Exception-Reports", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Additional-Exception-Reports)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Not_allowed", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Allowed", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Additional-Type-Information */ |
| { |
| struct dict_avp_data data = { |
| 1205, /* Code */ |
| 10415, /* Vendor */ |
| "Additional-Type-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Address-Data */ |
| { |
| struct dict_avp_data data = { |
| 897, /* Code */ |
| 10415, /* Vendor */ |
| "Address-Data", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Addressee-Type */ |
| { |
| struct dict_avp_data data = { |
| 1208, /* Code */ |
| 10415, /* Vendor */ |
| "Addressee-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Addressee-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "TO", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "CC", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "BCC", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Address-Type */ |
| { |
| struct dict_avp_data data = { |
| 899, /* Code */ |
| 10415, /* Vendor */ |
| "Address-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Address-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "e_mail_address", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "MSISDN", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "IPv4_Address", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "IPv6_Address", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "Numeric_Shortcode", { .i32=4 }}; |
| struct dict_enumval_data t_6 = { "Alphanumeric_Shortcode", { .i32=5 }}; |
| struct dict_enumval_data t_7 = { "Other", { .i32=6 }}; |
| struct dict_enumval_data t_8 = { "IMSI", { .i32=7 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Alternate-Charged-Party-Address */ |
| { |
| struct dict_avp_data data = { |
| 1280, /* Code */ |
| 10415, /* Vendor */ |
| "Alternate-Charged-Party-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Announcement-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3905, /* Code */ |
| 10415, /* Vendor */ |
| "Announcement-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Announcement-Order */ |
| { |
| struct dict_avp_data data = { |
| 3906, /* Code */ |
| 10415, /* Vendor */ |
| "Announcement-Order", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Announcing-UE-HPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3426, /* Code */ |
| 10415, /* Vendor */ |
| "Announcing-UE-HPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Announcing-UE-VPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3427, /* Code */ |
| 10415, /* Vendor */ |
| "Announcing-UE-VPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* AoC-Format */ |
| { |
| struct dict_avp_data data = { |
| 2310, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Format", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Format)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "MONETARY", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "NON_MONETARY", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "CAI", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* AoC-Request-Type */ |
| { |
| struct dict_avp_data data = { |
| 2055, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Request-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Request-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "AoC_NOT_REQUESTED", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "AoC_FULL", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "AoC_COST_ONLY", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "AoC_TARIFF_ONLY", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* AoC-Service-Obligatory-Type */ |
| { |
| struct dict_avp_data data = { |
| 2312, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Service-Obligatory-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Service-Obligatory-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "NON_BINDING", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "BINDING", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* AoC-Service-Type */ |
| { |
| struct dict_avp_data data = { |
| 2313, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Service-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(AoC-Service-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "NONE", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "AOC-S", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "AOC-D", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "AOC-E", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Applic-ID */ |
| { |
| struct dict_avp_data data = { |
| 1218, /* Code */ |
| 10415, /* Vendor */ |
| "Applic-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Application-Provided-Called-Party-Address */ |
| { |
| struct dict_avp_data data = { |
| 837, /* Code */ |
| 10415, /* Vendor */ |
| "Application-Provided-Called-Party-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Application-Server */ |
| { |
| struct dict_avp_data data = { |
| 836, /* Code */ |
| 10415, /* Vendor */ |
| "Application-Server", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Application-Specific-Data */ |
| { |
| struct dict_avp_data data = { |
| 3458, /* Code */ |
| 10415, /* Vendor */ |
| "Application-Specific-Data", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Associated-Party-Address */ |
| { |
| struct dict_avp_data data = { |
| 2035, /* Code */ |
| 10415, /* Vendor */ |
| "Associated-Party-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Associated-URI */ |
| { |
| struct dict_avp_data data = { |
| 856, /* Code */ |
| 10415, /* Vendor */ |
| "Associated-URI", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Authorised-QoS */ |
| { |
| struct dict_avp_data data = { |
| 849, /* Code */ |
| 10415, /* Vendor */ |
| "Authorised-QoS", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Aux-Applic-Info */ |
| { |
| struct dict_avp_data data = { |
| 1219, /* Code */ |
| 10415, /* Vendor */ |
| "Aux-Applic-Info", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Base-Time-Interval */ |
| { |
| struct dict_avp_data data = { |
| 1265, /* Code */ |
| 10415, /* Vendor */ |
| "Base-Time-Interval", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Bearer-Capability */ |
| { |
| struct dict_avp_data data = { |
| 3412, /* Code */ |
| 10415, /* Vendor */ |
| "Bearer-Capability", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Bearer-Service */ |
| { |
| struct dict_avp_data data = { |
| 854, /* Code */ |
| 10415, /* Vendor */ |
| "Bearer-Service", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* BSSID */ |
| { |
| struct dict_avp_data data = { |
| 2716, /* Code */ |
| 10415, /* Vendor */ |
| "BSSID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Called-Asserted-Identity */ |
| { |
| struct dict_avp_data data = { |
| 1250, /* Code */ |
| 10415, /* Vendor */ |
| "Called-Asserted-Identity", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Called-Identity */ |
| { |
| struct dict_avp_data data = { |
| 3916, /* Code */ |
| 10415, /* Vendor */ |
| "Called-Identity", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Called-Party-Address */ |
| { |
| struct dict_avp_data data = { |
| 832, /* Code */ |
| 10415, /* Vendor */ |
| "Called-Party-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Calling-Party-Address */ |
| { |
| struct dict_avp_data data = { |
| 831, /* Code */ |
| 10415, /* Vendor */ |
| "Calling-Party-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Carrier-Select-Routing-Information */ |
| { |
| struct dict_avp_data data = { |
| 2023, /* Code */ |
| 10415, /* Vendor */ |
| "Carrier-Select-Routing-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Cause-Code */ |
| { |
| struct dict_avp_data data = { |
| 861, /* Code */ |
| 10415, /* Vendor */ |
| "Cause-Code", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Cellular-Network-Information */ |
| { |
| struct dict_avp_data data = { |
| 3924, /* Code */ |
| 10415, /* Vendor */ |
| "Cellular-Network-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* CG-Address */ |
| { |
| struct dict_avp_data data = { |
| 846, /* Code */ |
| 10415, /* Vendor */ |
| "CG-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Change-Condition */ |
| { |
| struct dict_avp_data data = { |
| 2037, /* Code */ |
| 10415, /* Vendor */ |
| "Change-Condition", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Change-Time */ |
| { |
| struct dict_avp_data data = { |
| 2038, /* Code */ |
| 10415, /* Vendor */ |
| "Change-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Charge-Reason-Code */ |
| { |
| struct dict_avp_data data = { |
| 2118, /* Code */ |
| 10415, /* Vendor */ |
| "Charge-Reason-Code", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Charge-Reason-Code)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "UNKNOWN", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "USAGE", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "COMMUNICATION_ATTEMPT_CHARGE", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "SETUP_CHARGE", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "ADD_ON_CHARGE", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Charged-Party */ |
| { |
| struct dict_avp_data data = { |
| 857, /* Code */ |
| 10415, /* Vendor */ |
| "Charged-Party", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Charging-Characteristics-Selection-Mode */ |
| { |
| struct dict_avp_data data = { |
| 2066, /* Code */ |
| 10415, /* Vendor */ |
| "Charging-Characteristics-Selection-Mode", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Charging-Characteristics-Selection-Mode)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Serving_Node_Supplied", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Subscription_specific", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "APN_specific", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "Home_Default", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "Roaming_Default", { .i32=4 }}; |
| struct dict_enumval_data t_6 = { "Visiting_Default", { .i32=5 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Charging-Per-IP-CAN-Session-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 4400, /* Code */ |
| 10415, /* Vendor */ |
| "Charging-Per-IP-CAN-Session-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Charging-Per-IP-CAN-Session-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Inactive", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Active", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Class-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 1214, /* Code */ |
| 10415, /* Vendor */ |
| "Class-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Class-Identifier)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Personal", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Advertisement", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Informational", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "Auto", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Client-Address */ |
| { |
| struct dict_avp_data data = { |
| 2018, /* Code */ |
| 10415, /* Vendor */ |
| "Client-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* CN-Operator-Selection-Entity */ |
| { |
| struct dict_avp_data data = { |
| 3421, /* Code */ |
| 10415, /* Vendor */ |
| "CN-Operator-Selection-Entity", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CN-Operator-Selection-Entity)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "The_Serving_Network_has_been_selected_by_the_UE", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "The_Serving_Network_has_been_selected_by_the_network", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Content-Class */ |
| { |
| struct dict_avp_data data = { |
| 1220, /* Code */ |
| 10415, /* Vendor */ |
| "Content-Class", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Content-Class)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "text", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "image_basic", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "image_rich", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "video_basic", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "video_rich", { .i32=4 }}; |
| struct dict_enumval_data t_6 = { "megapixel", { .i32=5 }}; |
| struct dict_enumval_data t_7 = { "content_basic", { .i32=6 }}; |
| struct dict_enumval_data t_8 = { "content_rich", { .i32=7 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Content-Disposition */ |
| { |
| struct dict_avp_data data = { |
| 828, /* Code */ |
| 10415, /* Vendor */ |
| "Content-Disposition", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Content-Length */ |
| { |
| struct dict_avp_data data = { |
| 827, /* Code */ |
| 10415, /* Vendor */ |
| "Content-Length", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Content-Size */ |
| { |
| struct dict_avp_data data = { |
| 1206, /* Code */ |
| 10415, /* Vendor */ |
| "Content-Size", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Content-Type */ |
| { |
| struct dict_avp_data data = { |
| 826, /* Code */ |
| 10415, /* Vendor */ |
| "Content-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Coverage-Status */ |
| { |
| struct dict_avp_data data = { |
| 3428, /* Code */ |
| 10415, /* Vendor */ |
| "Coverage-Status", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Coverage-Status)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Out_of_coverage", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "In_coverage", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* CP-CIoT-EPS-Optimisation-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 3930, /* Code */ |
| 10415, /* Vendor */ |
| "CP-CIoT-EPS-Optimisation-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CP-CIoT-EPS-Optimisation-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Not_Apply", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Apply", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* CSG-Access-Mode */ |
| { |
| struct dict_avp_data data = { |
| 2317, /* Code */ |
| 10415, /* Vendor */ |
| "CSG-Access-Mode", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CSG-Access-Mode)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Closed_mode", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Hybrid_Mode", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* CSG-Membership-Indication */ |
| { |
| struct dict_avp_data data = { |
| 2318, /* Code */ |
| 10415, /* Vendor */ |
| "CSG-Membership-Indication", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(CSG-Membership-Indication)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Not_CSG_member", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "CSG_Member", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* CUG-Information */ |
| { |
| struct dict_avp_data data = { |
| 2304, /* Code */ |
| 10415, /* Vendor */ |
| "CUG-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Data-Coding-Scheme */ |
| { |
| struct dict_avp_data data = { |
| 2001, /* Code */ |
| 10415, /* Vendor */ |
| "Data-Coding-Scheme", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Deferred-Location-Event-Type */ |
| { |
| struct dict_avp_data data = { |
| 1230, /* Code */ |
| 10415, /* Vendor */ |
| "Deferred-Location-Event-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Delivery-Report-Requested */ |
| { |
| struct dict_avp_data data = { |
| 1216, /* Code */ |
| 10415, /* Vendor */ |
| "Delivery-Report-Requested", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Delivery-Report-Requested)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "No", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Yes", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Diagnostics */ |
| { |
| struct dict_avp_data data = { |
| 2039, /* Code */ |
| 10415, /* Vendor */ |
| "Diagnostics", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Discoveree-UE-HPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 4402, /* Code */ |
| 10415, /* Vendor */ |
| "Discoveree-UE-HPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Discoveree-UE-VPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 4403, /* Code */ |
| 10415, /* Vendor */ |
| "Discoveree-UE-VPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Discoverer-UE-HPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 4404, /* Code */ |
| 10415, /* Vendor */ |
| "Discoverer-UE-HPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Discoverer-UE-VPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 4405, /* Code */ |
| 10415, /* Vendor */ |
| "Discoverer-UE-VPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Domain-Name */ |
| { |
| struct dict_avp_data data = { |
| 1200, /* Code */ |
| 10415, /* Vendor */ |
| "Domain-Name", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* DRM-Content */ |
| { |
| struct dict_avp_data data = { |
| 1221, /* Code */ |
| 10415, /* Vendor */ |
| "DRM-Content", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(DRM-Content)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "No", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Yes", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Dynamic-Address-Flag */ |
| { |
| struct dict_avp_data data = { |
| 2051, /* Code */ |
| 10415, /* Vendor */ |
| "Dynamic-Address-Flag", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Dynamic-Address-Flag)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Static", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Dynamic", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Dynamic-Address-Flag-Extension */ |
| { |
| struct dict_avp_data data = { |
| 2068, /* Code */ |
| 10415, /* Vendor */ |
| "Dynamic-Address-Flag-Extension", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Dynamic-Address-Flag-Extension)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Static", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Dynamic", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Envelope-End-Time */ |
| { |
| struct dict_avp_data data = { |
| 1267, /* Code */ |
| 10415, /* Vendor */ |
| "Envelope-End-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Envelope-Reporting */ |
| { |
| struct dict_avp_data data = { |
| 1268, /* Code */ |
| 10415, /* Vendor */ |
| "Envelope-Reporting", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Envelope-Reporting)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "DO_NOT_REPORT_ENVELOPES", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "REPORT_ENVELOPES", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "REPORT_ENVELOPES_WITH_VOLUME", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "REPORT_ENVELOPES_WITH_EVENTS", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Envelope-Start-Time */ |
| { |
| struct dict_avp_data data = { |
| 1269, /* Code */ |
| 10415, /* Vendor */ |
| "Envelope-Start-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* EPDG-Address */ |
| { |
| struct dict_avp_data data = { |
| 3425, /* Code */ |
| 10415, /* Vendor */ |
| "EPDG-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Event */ |
| { |
| struct dict_avp_data data = { |
| 825, /* Code */ |
| 10415, /* Vendor */ |
| "Event", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Event-Charging-TimeStamp */ |
| { |
| struct dict_avp_data data = { |
| 1258, /* Code */ |
| 10415, /* Vendor */ |
| "Event-Charging-TimeStamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Expires */ |
| { |
| struct dict_avp_data data = { |
| 888, /* Code */ |
| 10415, /* Vendor */ |
| "Expires", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* File-Repair-Supported */ |
| { |
| struct dict_avp_data data = { |
| 1224, /* Code */ |
| 10415, /* Vendor */ |
| "File-Repair-Supported", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(File-Repair-Supported)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "SUPPORTED", { .i32=1 }}; |
| struct dict_enumval_data t_2 = { "NOT_SUPPORTED", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Forwarding-Pending */ |
| { |
| struct dict_avp_data data = { |
| 3415, /* Code */ |
| 10415, /* Vendor */ |
| "Forwarding-Pending", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Forwarding-Pending)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Forwarding_not_pending", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Forwarding_pending", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* From-Address */ |
| { |
| struct dict_avp_data data = { |
| 2708, /* Code */ |
| 10415, /* Vendor */ |
| "From-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* GGSN-Address */ |
| { |
| struct dict_avp_data data = { |
| 847, /* Code */ |
| 10415, /* Vendor */ |
| "GGSN-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* IMS-Application-Reference-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 2601, /* Code */ |
| 10415, /* Vendor */ |
| "IMS-Application-Reference-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* IMS-Charging-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 841, /* Code */ |
| 10415, /* Vendor */ |
| "IMS-Charging-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* IMS-Communication-Service-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 1281, /* Code */ |
| 10415, /* Vendor */ |
| "IMS-Communication-Service-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* IMS-Emergency-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 2322, /* Code */ |
| 10415, /* Vendor */ |
| "IMS-Emergency-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(IMS-Emergency-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Non_Emergency", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Emergency", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* IMS-Visited-Network-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 2713, /* Code */ |
| 10415, /* Vendor */ |
| "IMS-Visited-Network-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* IMSI-Unauthenticated-Flag */ |
| { |
| struct dict_avp_data data = { |
| 2308, /* Code */ |
| 10415, /* Vendor */ |
| "IMSI-Unauthenticated-Flag", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(IMSI-Unauthenticated-Flag)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Authenticated", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Unauthenticated", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Incoming-Trunk-Group-Id */ |
| { |
| struct dict_avp_data data = { |
| 852, /* Code */ |
| 10415, /* Vendor */ |
| "Incoming-Trunk-Group-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Initial-IMS-Charging-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 2321, /* Code */ |
| 10415, /* Vendor */ |
| "Initial-IMS-Charging-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Instance-Id */ |
| { |
| struct dict_avp_data data = { |
| 3402, /* Code */ |
| 10415, /* Vendor */ |
| "Instance-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Interface-Id */ |
| { |
| struct dict_avp_data data = { |
| 2003, /* Code */ |
| 10415, /* Vendor */ |
| "Interface-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Interface-Port */ |
| { |
| struct dict_avp_data data = { |
| 2004, /* Code */ |
| 10415, /* Vendor */ |
| "Interface-Port", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Interface-Text */ |
| { |
| struct dict_avp_data data = { |
| 2005, /* Code */ |
| 10415, /* Vendor */ |
| "Interface-Text", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Interface-Type */ |
| { |
| struct dict_avp_data data = { |
| 2006, /* Code */ |
| 10415, /* Vendor */ |
| "Interface-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Interface-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Unknown", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "MOBILE_ORIGINATING", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "MOBILE_TERMINATING", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "APPLICATION_ORIGINATING", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "APPLICATION_TERMINATION", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Inter-UE-Transfer */ |
| { |
| struct dict_avp_data data = { |
| 3902, /* Code */ |
| 10415, /* Vendor */ |
| "Inter-UE-Transfer", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Inter-UE-Transfer)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Intra_UE_transfer", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Inter_UE_transfer", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* IP-Realm-Default-Indication */ |
| { |
| struct dict_avp_data data = { |
| 2603, /* Code */ |
| 10415, /* Vendor */ |
| "IP-Realm-Default-Indication", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(IP-Realm-Default-Indication)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Default_IP_Realm_Not_used", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Default_IP_realm_used", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ISUP-Cause-Diagnostics */ |
| { |
| struct dict_avp_data data = { |
| 3422, /* Code */ |
| 10415, /* Vendor */ |
| "ISUP-Cause-Diagnostics", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* ISUP-Cause-Location */ |
| { |
| struct dict_avp_data data = { |
| 3423, /* Code */ |
| 10415, /* Vendor */ |
| "ISUP-Cause-Location", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* ISUP-Cause-Value */ |
| { |
| struct dict_avp_data data = { |
| 3424, /* Code */ |
| 10415, /* Vendor */ |
| "ISUP-Cause-Value", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* ISUP-Location-Number */ |
| { |
| struct dict_avp_data data = { |
| 3414, /* Code */ |
| 10415, /* Vendor */ |
| "ISUP-Location-Number", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Language */ |
| { |
| struct dict_avp_data data = { |
| 3914, /* Code */ |
| 10415, /* Vendor */ |
| "Language", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Layer-2-Group-ID */ |
| { |
| struct dict_avp_data data = { |
| 3429, /* Code */ |
| 10415, /* Vendor */ |
| "Layer-2-Group-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* LCS-APN */ |
| { |
| struct dict_avp_data data = { |
| 1231, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-APN", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* LCS-Client-Dialed-By-MS */ |
| { |
| struct dict_avp_data data = { |
| 1233, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Client-Dialed-By-MS", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* LCS-Client-External-ID */ |
| { |
| struct dict_avp_data data = { |
| 1234, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Client-External-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* LCS-Client-Type */ |
| { |
| struct dict_avp_data data = { |
| 1241, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Client-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(LCS-Client-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "EMERGENCY_SERVICES", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "VALUE_ADDED_SERVICES", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "PLMN_OPERATOR_SERVICES", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "LAWFUL_INTERCEPT_SERVICES", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* LCS-Data-Coding-Scheme */ |
| { |
| struct dict_avp_data data = { |
| 1236, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Data-Coding-Scheme", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* LCS-Format-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 1237, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Format-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(LCS-Format-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "LOGICAL_NAME", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "EMAIL_ADDRESS", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "MSISDN", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "URL", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "SIP_URL", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* LCS-Name-String */ |
| { |
| struct dict_avp_data data = { |
| 1238, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Name-String", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* LCS-Requestor-ID-String */ |
| { |
| struct dict_avp_data data = { |
| 1240, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Requestor-ID-String", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Local-GW-Inserted-Indication */ |
| { |
| struct dict_avp_data data = { |
| 2604, /* Code */ |
| 10415, /* Vendor */ |
| "Local-GW-Inserted-Indication", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Local-GW-Inserted-Indication)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Local_GW_Not_Inserted", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Local_GW_Inserted", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Local-Sequence-Number */ |
| { |
| struct dict_avp_data data = { |
| 2063, /* Code */ |
| 10415, /* Vendor */ |
| "Local-Sequence-Number", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Location-Estimate */ |
| { |
| struct dict_avp_data data = { |
| 1242, /* Code */ |
| 10415, /* Vendor */ |
| "Location-Estimate", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Location-Estimate-Type */ |
| { |
| struct dict_avp_data data = { |
| 1243, /* Code */ |
| 10415, /* Vendor */ |
| "Location-Estimate-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Location-Estimate-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "CURRENT_LOCATION", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "CURRENT_LAST_KNOWN_LOCATION", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "INITIAL_LOCATION", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "ACTIVATE_DEFERRED_LOCATION", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "CANCEL_DEFERRED_LOCATION", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Low-Balance-Indication */ |
| { |
| struct dict_avp_data data = { |
| 2020, /* Code */ |
| 10415, /* Vendor */ |
| "Low-Balance-Indication", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Low-Balance-Indication)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "NOT_APPLICABLE", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "YES", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Low-Priority-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 2602, /* Code */ |
| 10415, /* Vendor */ |
| "Low-Priority-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Low-Priority-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "NO", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "YES", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* MBMS-Charged-Party */ |
| { |
| struct dict_avp_data data = { |
| 2323, /* Code */ |
| 10415, /* Vendor */ |
| "MBMS-Charged-Party", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(MBMS-Charged-Party)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Content_Provider", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Subscriber", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* MBMS-GW-Address */ |
| { |
| struct dict_avp_data data = { |
| 2307, /* Code */ |
| 10415, /* Vendor */ |
| "MBMS-GW-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* MBMS-User-Service-Type */ |
| { |
| struct dict_avp_data data = { |
| 1225, /* Code */ |
| 10415, /* Vendor */ |
| "MBMS-User-Service-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(MBMS-User-Service-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "DOWNLOAD", { .i32=1 }}; |
| struct dict_enumval_data t_2 = { "STREAMING", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Media-Initiator-Flag */ |
| { |
| struct dict_avp_data data = { |
| 882, /* Code */ |
| 10415, /* Vendor */ |
| "Media-Initiator-Flag", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Media-Initiator-Flag)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "called_party", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "calling_party", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "unknown", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Media-Initiator-Party */ |
| { |
| struct dict_avp_data data = { |
| 1288, /* Code */ |
| 10415, /* Vendor */ |
| "Media-Initiator-Party", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Message-ID */ |
| { |
| struct dict_avp_data data = { |
| 1210, /* Code */ |
| 10415, /* Vendor */ |
| "Message-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Message-Size */ |
| { |
| struct dict_avp_data data = { |
| 1212, /* Code */ |
| 10415, /* Vendor */ |
| "Message-Size", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Message-Type */ |
| { |
| struct dict_avp_data data = { |
| 1211, /* Code */ |
| 10415, /* Vendor */ |
| "Message-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Message-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "m_send_req", { .i32=1 }}; |
| struct dict_enumval_data t_2 = { "m_forward_req", { .i32=10 }}; |
| struct dict_enumval_data t_3 = { "m_forward_conf", { .i32=11 }}; |
| struct dict_enumval_data t_4 = { "m_mbox_store_conf", { .i32=12 }}; |
| struct dict_enumval_data t_5 = { "m_mbox_view_conf", { .i32=13 }}; |
| struct dict_enumval_data t_6 = { "m_mbox_upload_conf", { .i32=14 }}; |
| struct dict_enumval_data t_7 = { "m_mbox_delete_conf", { .i32=15 }}; |
| struct dict_enumval_data t_8 = { "m_send_conf", { .i32=2 }}; |
| struct dict_enumval_data t_9 = { "m_notification_ind", { .i32=3 }}; |
| struct dict_enumval_data t_10 = { "m_notifyresp_ind", { .i32=4 }}; |
| struct dict_enumval_data t_11 = { "m_retrieve_conf", { .i32=5 }}; |
| struct dict_enumval_data t_12 = { "m_acknowledge_ind", { .i32=6 }}; |
| struct dict_enumval_data t_13 = { "m_delivery_ind", { .i32=7 }}; |
| struct dict_enumval_data t_14 = { "m_read_rec_ind", { .i32=8 }}; |
| struct dict_enumval_data t_15 = { "m_read_orig_ind", { .i32=9 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_11, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_12, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_13, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_14, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_15, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* MMBox-Storage-Requested */ |
| { |
| struct dict_avp_data data = { |
| 1248, /* Code */ |
| 10415, /* Vendor */ |
| "MMBox-Storage-Requested", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(MMBox-Storage-Requested)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "No", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Yes", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* MMTel-SService-Type */ |
| { |
| struct dict_avp_data data = { |
| 2031, /* Code */ |
| 10415, /* Vendor */ |
| "MMTel-SService-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Monitored-PLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3430, /* Code */ |
| 10415, /* Vendor */ |
| "Monitored-PLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Monitoring-Event-Configuration-Activity */ |
| { |
| struct dict_avp_data data = { |
| 3919, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-Event-Configuration-Activity", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Monitoring-Event-Functionality */ |
| { |
| struct dict_avp_data data = { |
| 3922, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-Event-Functionality", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Monitoring-Event-Report-Number */ |
| { |
| struct dict_avp_data data = { |
| 3923, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-Event-Report-Number", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Monitoring-UE-HPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3431, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-UE-HPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Monitoring-UE-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3432, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-UE-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Monitoring-UE-VPLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3433, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-UE-VPLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* MSC-Address */ |
| { |
| struct dict_avp_data data = { |
| 3417, /* Code */ |
| 10415, /* Vendor */ |
| "MSC-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* MTC-IWF-Address */ |
| { |
| struct dict_avp_data data = { |
| 3406, /* Code */ |
| 10415, /* Vendor */ |
| "MTC-IWF-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Neighbour-Node-Address */ |
| { |
| struct dict_avp_data data = { |
| 2705, /* Code */ |
| 10415, /* Vendor */ |
| "Neighbour-Node-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Network-Call-Reference-Number */ |
| { |
| struct dict_avp_data data = { |
| 3418, /* Code */ |
| 10415, /* Vendor */ |
| "Network-Call-Reference-Number", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* NNI-Type */ |
| { |
| struct dict_avp_data data = { |
| 2704, /* Code */ |
| 10415, /* Vendor */ |
| "NNI-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(NNI-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "non_roaming", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "roaming_without_loopback", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "roaming_with_loopback", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Node-Functionality */ |
| { |
| struct dict_avp_data data = { |
| 862, /* Code */ |
| 10415, /* Vendor */ |
| "Node-Functionality", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Node-Functionality)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "S-CSCF", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "P-CSCF", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "I-CSCF", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "MRFC", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "MGCF", { .i32=4 }}; |
| struct dict_enumval_data t_6 = { "BGCF", { .i32=5 }}; |
| struct dict_enumval_data t_7 = { "AS", { .i32=6 }}; |
| struct dict_enumval_data t_8 = { "IBCF", { .i32=7 }}; |
| struct dict_enumval_data t_9 = { "S-GW", { .i32=8 }}; |
| struct dict_enumval_data t_10 = { "P-GW", { .i32=9 }}; |
| struct dict_enumval_data t_11 = { "HSGW", { .i32=10 }}; |
| struct dict_enumval_data t_12 = { "E-CSCF", { .i32=11 }}; |
| struct dict_enumval_data t_13 = { "MME", { .i32=12 }}; |
| struct dict_enumval_data t_14 = { "TRF", { .i32=13 }}; |
| struct dict_enumval_data t_15 = { "TF", { .i32=14 }}; |
| struct dict_enumval_data t_16 = { "ATCF", { .i32=15 }}; |
| struct dict_enumval_data t_17 = { "Proxy-function", { .i32=16 }}; |
| struct dict_enumval_data t_18 = { "ePDG", { .i32=17 }}; |
| struct dict_enumval_data t_19 = { "TDF", { .i32=18 }}; |
| struct dict_enumval_data t_20 = { "TWAG", { .i32=19 }}; |
| struct dict_enumval_data t_21 = { "SCEF", { .i32=20 }}; |
| struct dict_enumval_data t_22 = { "IWK-SCEF", { .i32=21 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_11, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_12, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_13, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_14, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_15, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_16, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_17, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_18, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_19, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_20, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_21, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_22, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Node-Id */ |
| { |
| struct dict_avp_data data = { |
| 2064, /* Code */ |
| 10415, /* Vendor */ |
| "Node-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Number-Of-Diversions */ |
| { |
| struct dict_avp_data data = { |
| 2034, /* Code */ |
| 10415, /* Vendor */ |
| "Number-Of-Diversions", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Number-Of-Messages-Sent */ |
| { |
| struct dict_avp_data data = { |
| 2019, /* Code */ |
| 10415, /* Vendor */ |
| "Number-Of-Messages-Sent", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Number-Of-Participants */ |
| { |
| struct dict_avp_data data = { |
| 885, /* Code */ |
| 10415, /* Vendor */ |
| "Number-Of-Participants", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Number-Of-Received-Talk-Bursts */ |
| { |
| struct dict_avp_data data = { |
| 1282, /* Code */ |
| 10415, /* Vendor */ |
| "Number-Of-Received-Talk-Bursts", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Number-Of-Talk-Bursts */ |
| { |
| struct dict_avp_data data = { |
| 1283, /* Code */ |
| 10415, /* Vendor */ |
| "Number-Of-Talk-Bursts", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Number-Portability-Routing-Information */ |
| { |
| struct dict_avp_data data = { |
| 2024, /* Code */ |
| 10415, /* Vendor */ |
| "Number-Portability-Routing-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Online-Charging-Flag */ |
| { |
| struct dict_avp_data data = { |
| 2303, /* Code */ |
| 10415, /* Vendor */ |
| "Online-Charging-Flag", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Online-Charging-Flag)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "ECF_address_not_provided", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "ECF_address_provided", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Originating-IOI */ |
| { |
| struct dict_avp_data data = { |
| 839, /* Code */ |
| 10415, /* Vendor */ |
| "Originating-IOI", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Originator */ |
| { |
| struct dict_avp_data data = { |
| 864, /* Code */ |
| 10415, /* Vendor */ |
| "Originator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Originator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Calling_Party", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Called_Party", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Originator-SCCP-Address */ |
| { |
| struct dict_avp_data data = { |
| 2008, /* Code */ |
| 10415, /* Vendor */ |
| "Originator-SCCP-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Outgoing-Session-Id */ |
| { |
| struct dict_avp_data data = { |
| 2320, /* Code */ |
| 10415, /* Vendor */ |
| "Outgoing-Session-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Outgoing-Trunk-Group-Id */ |
| { |
| struct dict_avp_data data = { |
| 853, /* Code */ |
| 10415, /* Vendor */ |
| "Outgoing-Trunk-Group-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Participant-Access-Priority */ |
| { |
| struct dict_avp_data data = { |
| 1259, /* Code */ |
| 10415, /* Vendor */ |
| "Participant-Access-Priority", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Participant-Access-Priority)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Pre_emptive_priority", { .i32=1 }}; |
| struct dict_enumval_data t_2 = { "High_priority", { .i32=2 }}; |
| struct dict_enumval_data t_3 = { "Normal_priority", { .i32=3 }}; |
| struct dict_enumval_data t_4 = { "Low_priority", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Participant-Action-Type */ |
| { |
| struct dict_avp_data data = { |
| 2049, /* Code */ |
| 10415, /* Vendor */ |
| "Participant-Action-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Participant-Action-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "CREATE_CONF", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "JOIN_CONF", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "INVITE_INTO_CONF", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "QUIT_CONF", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Participants-Involved */ |
| { |
| struct dict_avp_data data = { |
| 887, /* Code */ |
| 10415, /* Vendor */ |
| "Participants-Involved", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* PC3-Control-Protocol-Cause */ |
| { |
| struct dict_avp_data data = { |
| 3434, /* Code */ |
| 10415, /* Vendor */ |
| "PC3-Control-Protocol-Cause", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* PC3-EPC-Control-Protocol-Cause */ |
| { |
| struct dict_avp_data data = { |
| 3435, /* Code */ |
| 10415, /* Vendor */ |
| "PC3-EPC-Control-Protocol-Cause", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* PDN-Connection-Charging-ID */ |
| { |
| struct dict_avp_data data = { |
| 2050, /* Code */ |
| 10415, /* Vendor */ |
| "PDN-Connection-Charging-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* PDP-Address */ |
| { |
| struct dict_avp_data data = { |
| 1227, /* Code */ |
| 10415, /* Vendor */ |
| "PDP-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* PDP-Address-Prefix-Length */ |
| { |
| struct dict_avp_data data = { |
| 2606, /* Code */ |
| 10415, /* Vendor */ |
| "PDP-Address-Prefix-Length", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* PDP-Context-Type */ |
| { |
| struct dict_avp_data data = { |
| 1247, /* Code */ |
| 10415, /* Vendor */ |
| "PDP-Context-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PDP-Context-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Primary", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Secondary", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Play-Alternative */ |
| { |
| struct dict_avp_data data = { |
| 3913, /* Code */ |
| 10415, /* Vendor */ |
| "Play-Alternative", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Play-Alternative)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "served_party", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "remote_party", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* PoC-Change-Condition */ |
| { |
| struct dict_avp_data data = { |
| 1261, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Change-Condition", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Change-Condition)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "ServiceChange", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "VolumeLimit", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "TimeLimit", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "NumberofTalkBurstLimit", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "NumberofActiveParticipants", { .i32=4 }}; |
| struct dict_enumval_data t_6 = { "TariffTime", { .i32=5 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* PoC-Change-Time */ |
| { |
| struct dict_avp_data data = { |
| 1262, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Change-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* PoC-Controlling-Address */ |
| { |
| struct dict_avp_data data = { |
| 858, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Controlling-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* PoC-Event-Type */ |
| { |
| struct dict_avp_data data = { |
| 2025, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Event-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Event-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Normal", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Instant_Personal_Alert", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "PoC_Group_Advertisement", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "Early_Session_Setting_Up", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "PoC_Talk_Burst", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* PoC-Group-Name */ |
| { |
| struct dict_avp_data data = { |
| 859, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Group-Name", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* PoC-Server-Role */ |
| { |
| struct dict_avp_data data = { |
| 883, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Server-Role", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Server-Role)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Participating_PoC_Server", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Controlling_PoC_Server", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* PoC-Session-Id */ |
| { |
| struct dict_avp_data data = { |
| 1229, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Session-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* PoC-Session-Initiation-Type */ |
| { |
| struct dict_avp_data data = { |
| 1277, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Session-Initiation-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Session-Initiation-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Pre_established", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "On_demand", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* PoC-Session-Type */ |
| { |
| struct dict_avp_data data = { |
| 884, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Session-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-Session-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "1_to_1_PoC", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Chat_PoC_Group", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Pre_arranged_PoC_Group", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "Ad_hoc_PoC_Gropu", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* PoC-User-Role-IDs */ |
| { |
| struct dict_avp_data data = { |
| 1253, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-User-Role-IDs", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* PoC-User-Role-Info-Units */ |
| { |
| struct dict_avp_data data = { |
| 1254, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-User-Role-Info-Units", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PoC-User-Role-Info-Units)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Moderator", { .i32=1 }}; |
| struct dict_enumval_data t_2 = { "Dispatcher", { .i32=2 }}; |
| struct dict_enumval_data t_3 = { "Session_Owner", { .i32=3 }}; |
| struct dict_enumval_data t_4 = { "Session_Participant", { .i32=4 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Positioning-Data */ |
| { |
| struct dict_avp_data data = { |
| 1245, /* Code */ |
| 10415, /* Vendor */ |
| "Positioning-Data", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Preferred-AoC-Currency */ |
| { |
| struct dict_avp_data data = { |
| 2315, /* Code */ |
| 10415, /* Vendor */ |
| "Preferred-AoC-Currency", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Priority */ |
| { |
| struct dict_avp_data data = { |
| 1209, /* Code */ |
| 10415, /* Vendor */ |
| "Priority", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Priority)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Low", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Normal", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "High", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Privacy-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 3915, /* Code */ |
| 10415, /* Vendor */ |
| "Privacy-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Privacy-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "NOT_PRIVATE", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "PRIVATE", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ProSe-3rd-Party-Application-ID */ |
| { |
| struct dict_avp_data data = { |
| 3440, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-3rd-Party-Application-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* ProSe-Direct-Discovery-Model */ |
| { |
| struct dict_avp_data data = { |
| 3442, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Direct-Discovery-Model", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Direct-Discovery-Model)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Model_A", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Model_B", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ProSe-Event-Type */ |
| { |
| struct dict_avp_data data = { |
| 3443, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Event-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Event-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Annoucing", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Monitoring", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Match_Report", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ProSe-Function-IP-Address */ |
| { |
| struct dict_avp_data data = { |
| 3444, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Function-IP-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* ProSe-Function-PLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3457, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Function-PLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* ProSe-Functionality */ |
| { |
| struct dict_avp_data data = { |
| 3445, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Functionality", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Functionality)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Direct_discovery", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "EPC_level_discovery", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Direct_communication", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ProSe-Group-IP-Multicast-Address */ |
| { |
| struct dict_avp_data data = { |
| 3446, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Group-IP-Multicast-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* ProSe-Range-Class */ |
| { |
| struct dict_avp_data data = { |
| 3448, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Range-Class", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Range-Class)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Reserved", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "50_m", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "100_m", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "Unused", { .i32=255 }}; |
| struct dict_enumval_data t_5 = { "200_m", { .i32=3 }}; |
| struct dict_enumval_data t_6 = { "500_m", { .i32=4 }}; |
| struct dict_enumval_data t_7 = { "1000_m", { .i32=5 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ProSe-Reason-For-Cancellation */ |
| { |
| struct dict_avp_data data = { |
| 3449, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Reason-For-Cancellation", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Reason-For-Cancellation)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Proximity_Alert_sent", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Time_expired_with_no_renewal", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Requestor_cancellation", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ProSe-Request-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 3450, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Request-Timestamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* ProSe-Role-Of-UE */ |
| { |
| struct dict_avp_data data = { |
| 3451, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Role-Of-UE", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(ProSe-Role-Of-UE)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Announcing_UE", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Monitoring_UE", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Requestor_UE", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "Requested_UE", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* ProSe-Source-IP-Address */ |
| { |
| struct dict_avp_data data = { |
| 3452, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Source-IP-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* ProSe-UE-ID */ |
| { |
| struct dict_avp_data data = { |
| 3453, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-UE-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Proximity-Alert-Indication */ |
| { |
| struct dict_avp_data data = { |
| 3454, /* Code */ |
| 10415, /* Vendor */ |
| "Proximity-Alert-Indication", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Proximity-Alert-Indication)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Alert", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "No_Alert", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Proximity-Alert-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 3455, /* Code */ |
| 10415, /* Vendor */ |
| "Proximity-Alert-Timestamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Proximity-Cancellation-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 3456, /* Code */ |
| 10415, /* Vendor */ |
| "Proximity-Cancellation-Timestamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* PS-Append-Free-Format-Data */ |
| { |
| struct dict_avp_data data = { |
| 867, /* Code */ |
| 10415, /* Vendor */ |
| "PS-Append-Free-Format-Data", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(PS-Append-Free-Format-Data)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Append", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Overwrite", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* PS-Free-Format-Data */ |
| { |
| struct dict_avp_data data = { |
| 866, /* Code */ |
| 10415, /* Vendor */ |
| "PS-Free-Format-Data", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Quota-Consumption-Time */ |
| { |
| struct dict_avp_data data = { |
| 881, /* Code */ |
| 10415, /* Vendor */ |
| "Quota-Consumption-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Quota-Holding-Time */ |
| { |
| struct dict_avp_data data = { |
| 871, /* Code */ |
| 10415, /* Vendor */ |
| "Quota-Holding-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Quota-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 3912, /* Code */ |
| 10415, /* Vendor */ |
| "Quota-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Quota-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "QUOTA_IS_NOT_USED_DURING_PLAYBACK", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "QUOTA_IS_USED_DURING_PLAYBACK", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Radio-Frequency */ |
| { |
| struct dict_avp_data data = { |
| 3462, /* Code */ |
| 10415, /* Vendor */ |
| "Radio-Frequency", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Radio-Parameter-Set-Values */ |
| { |
| struct dict_avp_data data = { |
| 3464, /* Code */ |
| 10415, /* Vendor */ |
| "Radio-Parameter-Set-Values", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Radio-Resources-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 3465, /* Code */ |
| 10415, /* Vendor */ |
| "Radio-Resources-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Rate-Control-Max-Message-Size */ |
| { |
| struct dict_avp_data data = { |
| 3937, /* Code */ |
| 10415, /* Vendor */ |
| "Rate-Control-Max-Message-Size", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Rate-Control-Max-Rate */ |
| { |
| struct dict_avp_data data = { |
| 3938, /* Code */ |
| 10415, /* Vendor */ |
| "Rate-Control-Max-Rate", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Rate-Control-Time-Unit */ |
| { |
| struct dict_avp_data data = { |
| 3939, /* Code */ |
| 10415, /* Vendor */ |
| "Rate-Control-Time-Unit", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Read-Reply-Report-Requested */ |
| { |
| struct dict_avp_data data = { |
| 1222, /* Code */ |
| 10415, /* Vendor */ |
| "Read-Reply-Report-Requested", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Read-Reply-Report-Requested)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "No", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Yes", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Reason-Header */ |
| { |
| struct dict_avp_data data = { |
| 3401, /* Code */ |
| 10415, /* Vendor */ |
| "Reason-Header", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Received-Talk-Burst-Time */ |
| { |
| struct dict_avp_data data = { |
| 1284, /* Code */ |
| 10415, /* Vendor */ |
| "Received-Talk-Burst-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Received-Talk-Burst-Volume */ |
| { |
| struct dict_avp_data data = { |
| 1285, /* Code */ |
| 10415, /* Vendor */ |
| "Received-Talk-Burst-Volume", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Recipient-SCCP-Address */ |
| { |
| struct dict_avp_data data = { |
| 2010, /* Code */ |
| 10415, /* Vendor */ |
| "Recipient-SCCP-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Refund-Information */ |
| { |
| struct dict_avp_data data = { |
| 2022, /* Code */ |
| 10415, /* Vendor */ |
| "Refund-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Related-IMS-Charging-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 2711, /* Code */ |
| 10415, /* Vendor */ |
| "Related-IMS-Charging-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Related-IMS-Charging-Identifier-Node */ |
| { |
| struct dict_avp_data data = { |
| 2712, /* Code */ |
| 10415, /* Vendor */ |
| "Related-IMS-Charging-Identifier-Node", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Relationship-Mode */ |
| { |
| struct dict_avp_data data = { |
| 2706, /* Code */ |
| 10415, /* Vendor */ |
| "Relationship-Mode", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Relationship-Mode)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "trusted", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "non_trusted", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Reply-Applic-ID */ |
| { |
| struct dict_avp_data data = { |
| 1223, /* Code */ |
| 10415, /* Vendor */ |
| "Reply-Applic-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Reply-Path-Requested */ |
| { |
| struct dict_avp_data data = { |
| 2011, /* Code */ |
| 10415, /* Vendor */ |
| "Reply-Path-Requested", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Reply-Path-Requested)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "No_Reply_Path_Set", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Reply_path_Set", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Reporting-Reason */ |
| { |
| struct dict_avp_data data = { |
| 872, /* Code */ |
| 10415, /* Vendor */ |
| "Reporting-Reason", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Reporting-Reason)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "THRESHOLD", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "QHT", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "FINAL", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "QUOTA_EXHAUSTED", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "VALIDITY_TIME", { .i32=4 }}; |
| struct dict_enumval_data t_6 = { "OTHER_QUOTA_TYPE", { .i32=5 }}; |
| struct dict_enumval_data t_7 = { "RATING_CONDITION_CHANGE", { .i32=6 }}; |
| struct dict_enumval_data t_8 = { "FORCED_REAUTHORISATION", { .i32=7 }}; |
| struct dict_enumval_data t_9 = { "POOL_EXHAUSTED", { .i32=8 }}; |
| struct dict_enumval_data t_10 = { "UNUSED_QUOTA_TIMER", { .i32=9 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Requested-Party-Address */ |
| { |
| struct dict_avp_data data = { |
| 1251, /* Code */ |
| 10415, /* Vendor */ |
| "Requested-Party-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Requested-PLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3436, /* Code */ |
| 10415, /* Vendor */ |
| "Requested-PLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Requestor-PLMN-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 3437, /* Code */ |
| 10415, /* Vendor */ |
| "Requestor-PLMN-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Role-Of-Node */ |
| { |
| struct dict_avp_data data = { |
| 829, /* Code */ |
| 10415, /* Vendor */ |
| "Role-Of-Node", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Role-Of-Node)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "ORIGINATING_ROLE", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "TERMINATING_ROLE", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "FORWARDING_ROLE", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Role-Of-ProSe-Function */ |
| { |
| struct dict_avp_data data = { |
| 3438, /* Code */ |
| 10415, /* Vendor */ |
| "Role-Of-ProSe-Function", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Role-Of-ProSe-Function)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "HPLMN", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "VPLMN", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Local_PLMN", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Route-Header-Received */ |
| { |
| struct dict_avp_data data = { |
| 3403, /* Code */ |
| 10415, /* Vendor */ |
| "Route-Header-Received", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Route-Header-Transmitted */ |
| { |
| struct dict_avp_data data = { |
| 3404, /* Code */ |
| 10415, /* Vendor */ |
| "Route-Header-Transmitted", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* SCS-Address */ |
| { |
| struct dict_avp_data data = { |
| 3941, /* Code */ |
| 10415, /* Vendor */ |
| "SCS-Address", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* SCS-Realm */ |
| { |
| struct dict_avp_data data = { |
| 3942, /* Code */ |
| 10415, /* Vendor */ |
| "SCS-Realm", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, DiameterIdentity_type, NULL); |
| }; |
| /* SDP-Answer-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 1275, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-Answer-Timestamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* SDP-Media-Description */ |
| { |
| struct dict_avp_data data = { |
| 845, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-Media-Description", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* SDP-Media-Name */ |
| { |
| struct dict_avp_data data = { |
| 844, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-Media-Name", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* SDP-Offer-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 1274, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-Offer-Timestamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* SDP-Session-Description */ |
| { |
| struct dict_avp_data data = { |
| 842, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-Session-Description", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* SDP-Type */ |
| { |
| struct dict_avp_data data = { |
| 2036, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SDP-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "SDP_Offer", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "SDP_Answer", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Serving-Node-Identity */ |
| { |
| struct dict_avp_data data = { |
| 3929, /* Code */ |
| 10415, /* Vendor */ |
| "Serving-Node-Identity", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, DiameterIdentity_type, NULL); |
| }; |
| /* Served-Party-IP-Address */ |
| { |
| struct dict_avp_data data = { |
| 848, /* Code */ |
| 10415, /* Vendor */ |
| "Served-Party-IP-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Service-Id */ |
| { |
| struct dict_avp_data data = { |
| 855, /* Code */ |
| 10415, /* Vendor */ |
| "Service-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Service-Mode */ |
| { |
| struct dict_avp_data data = { |
| 2032, /* Code */ |
| 10415, /* Vendor */ |
| "Service-Mode", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Service-Specific-Data */ |
| { |
| struct dict_avp_data data = { |
| 863, /* Code */ |
| 10415, /* Vendor */ |
| "Service-Specific-Data", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Service-Specific-Type */ |
| { |
| struct dict_avp_data data = { |
| 1257, /* Code */ |
| 10415, /* Vendor */ |
| "Service-Specific-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Serving-Node-Type */ |
| { |
| struct dict_avp_data data = { |
| 2047, /* Code */ |
| 10415, /* Vendor */ |
| "Serving-Node-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Serving-Node-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "SGSN", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "PMIPSGW", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "GTPSGW", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "ePDG", { .i32=3 }}; |
| struct dict_enumval_data t_5 = { "hSGW", { .i32=4 }}; |
| struct dict_enumval_data t_6 = { "MME", { .i32=5 }}; |
| struct dict_enumval_data t_7 = { "TWAN", { .i32=6 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Session-Direction */ |
| { |
| struct dict_avp_data data = { |
| 2707, /* Code */ |
| 10415, /* Vendor */ |
| "Session-Direction", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Session-Direction)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "inbound", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "outbound", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* SGi-PtP-Tunnelling-Method */ |
| { |
| struct dict_avp_data data = { |
| 3931, /* Code */ |
| 10415, /* Vendor */ |
| "SGi-PtP-Tunnelling-Method", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SGi-PtP-Tunnelling-Method)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "UDP_IP_based", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Others", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* SGSN-Address */ |
| { |
| struct dict_avp_data data = { |
| 1228, /* Code */ |
| 10415, /* Vendor */ |
| "SGSN-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* SGW-Address */ |
| { |
| struct dict_avp_data data = { |
| 2067, /* Code */ |
| 10415, /* Vendor */ |
| "SGW-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* SGW-Change */ |
| { |
| struct dict_avp_data data = { |
| 2065, /* Code */ |
| 10415, /* Vendor */ |
| "SGW-Change", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SGW-Change)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "ACR_Start_NOT_due_to_SGW_Change", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "ACR_Start_due_to_SGW_Change", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* SIP-Method */ |
| { |
| struct dict_avp_data data = { |
| 824, /* Code */ |
| 10415, /* Vendor */ |
| "SIP-Method", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* SIP-Request-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 834, /* Code */ |
| 10415, /* Vendor */ |
| "SIP-Request-Timestamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* SIP-Request-Timestamp-Fraction */ |
| { |
| struct dict_avp_data data = { |
| 2301, /* Code */ |
| 10415, /* Vendor */ |
| "SIP-Request-Timestamp-Fraction", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* SIP-Response-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 835, /* Code */ |
| 10415, /* Vendor */ |
| "SIP-Response-Timestamp", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* SIP-Response-Timestamp-Fraction */ |
| { |
| struct dict_avp_data data = { |
| 2302, /* Code */ |
| 10415, /* Vendor */ |
| "SIP-Response-Timestamp-Fraction", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* SM-Device-Trigger-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 3407, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Device-Trigger-Indicator", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SM-Device-Trigger-Indicator)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Not_DeviceTrigger", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Device_Trigger", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* SM-Discharge-Time */ |
| { |
| struct dict_avp_data data = { |
| 2012, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Discharge-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* SM-Message-Type */ |
| { |
| struct dict_avp_data data = { |
| 2007, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Message-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SM-Message-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "SUBMISSION", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "DELIVERY_REPORT", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "SM_Service_Request", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* SM-Protocol-ID */ |
| { |
| struct dict_avp_data data = { |
| 2013, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Protocol-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* SM-Sequence-Number */ |
| { |
| struct dict_avp_data data = { |
| 3408, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Sequence-Number", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* SM-Service-Type */ |
| { |
| struct dict_avp_data data = { |
| 2029, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Service-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SM-Service-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "VAS4SMS_Short_Message_content_processing", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "VAS4SMS_Short_Message_forwarding", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "VAS4SMS_Short_Message_Deferred_Delivery", { .i32=10 }}; |
| struct dict_enumval_data t_4 = { "VAS4SMS_Short_Message_Forwarding_multiple_subscriptions", { .i32=2 }}; |
| struct dict_enumval_data t_5 = { "VAS4SMS_Short_Message_filtering", { .i32=3 }}; |
| struct dict_enumval_data t_6 = { "VAS4SMS_Short_Message_receipt", { .i32=4 }}; |
| struct dict_enumval_data t_7 = { "VAS4SMS_Short_Message_Network_Storage", { .i32=5 }}; |
| struct dict_enumval_data t_8 = { "VAS4SMS_Short_Message_to_multiple_destinations", { .i32=6 }}; |
| struct dict_enumval_data t_9 = { "VAS4SMS_Short_Message_Auto_Reply", { .i32=8 }}; |
| struct dict_enumval_data t_10 = { "VAS4SMS_Short_Message_Personal_Signature", { .i32=9 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* SM-Status */ |
| { |
| struct dict_avp_data data = { |
| 2014, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Status", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* SM-User-Data-Header */ |
| { |
| struct dict_avp_data data = { |
| 2015, /* Code */ |
| 10415, /* Vendor */ |
| "SM-User-Data-Header", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* SMS-Node */ |
| { |
| struct dict_avp_data data = { |
| 2016, /* Code */ |
| 10415, /* Vendor */ |
| "SMS-Node", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(SMS-Node)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "SMS_Router", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "IP_SM_GW", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "SMS_Router_and_IP_SM_GW", { .i32=2 }}; |
| struct dict_enumval_data t_4 = { "SMS_SC", { .i32=3 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* SMS-Result */ |
| { |
| struct dict_avp_data data = { |
| 3409, /* Code */ |
| 10415, /* Vendor */ |
| "SMS-Result", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* SMSC-Address */ |
| { |
| struct dict_avp_data data = { |
| 2017, /* Code */ |
| 10415, /* Vendor */ |
| "SMSC-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Start-of-Charging */ |
| { |
| struct dict_avp_data data = { |
| 3419, /* Code */ |
| 10415, /* Vendor */ |
| "Start-of-Charging", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Start-Time */ |
| { |
| struct dict_avp_data data = { |
| 2041, /* Code */ |
| 10415, /* Vendor */ |
| "Start-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Status-AS-Code */ |
| { |
| struct dict_avp_data data = { |
| 2702, /* Code */ |
| 10415, /* Vendor */ |
| "Status-AS-Code", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Status-AS-Code)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "4xx", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "5xx", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "Timeout", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Stop-Time */ |
| { |
| struct dict_avp_data data = { |
| 2042, /* Code */ |
| 10415, /* Vendor */ |
| "Stop-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Submission-Time */ |
| { |
| struct dict_avp_data data = { |
| 1202, /* Code */ |
| 10415, /* Vendor */ |
| "Submission-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Subscriber-Role */ |
| { |
| struct dict_avp_data data = { |
| 2033, /* Code */ |
| 10415, /* Vendor */ |
| "Subscriber-Role", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Subscriber-Role)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Originating", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Terminating", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* TAD-Identifier */ |
| { |
| struct dict_avp_data data = { |
| 2717, /* Code */ |
| 10415, /* Vendor */ |
| "TAD-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(TAD-Identifier)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "CS", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "PS", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Talk-Burst-Time */ |
| { |
| struct dict_avp_data data = { |
| 1286, /* Code */ |
| 10415, /* Vendor */ |
| "Talk-Burst-Time", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Talk-Burst-Volume */ |
| { |
| struct dict_avp_data data = { |
| 1287, /* Code */ |
| 10415, /* Vendor */ |
| "Talk-Burst-Volume", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Tariff-XML */ |
| { |
| struct dict_avp_data data = { |
| 2306, /* Code */ |
| 10415, /* Vendor */ |
| "Tariff-XML", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Teleservice */ |
| { |
| struct dict_avp_data data = { |
| 3413, /* Code */ |
| 10415, /* Vendor */ |
| "Teleservice", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Terminating-IOI */ |
| { |
| struct dict_avp_data data = { |
| 840, /* Code */ |
| 10415, /* Vendor */ |
| "Terminating-IOI", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Time-First-Reception */ |
| { |
| struct dict_avp_data data = { |
| 3466, /* Code */ |
| 10415, /* Vendor */ |
| "Time-First-Reception", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Time-First-Transmission */ |
| { |
| struct dict_avp_data data = { |
| 3467, /* Code */ |
| 10415, /* Vendor */ |
| "Time-First-Transmission", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Time-First-Usage */ |
| { |
| struct dict_avp_data data = { |
| 2043, /* Code */ |
| 10415, /* Vendor */ |
| "Time-First-Usage", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Time-Indicator */ |
| { |
| struct dict_avp_data data = { |
| 3911, /* Code */ |
| 10415, /* Vendor */ |
| "Time-Indicator", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Time-Last-Usage */ |
| { |
| struct dict_avp_data data = { |
| 2044, /* Code */ |
| 10415, /* Vendor */ |
| "Time-Last-Usage", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Time-Quota-Threshold */ |
| { |
| struct dict_avp_data data = { |
| 868, /* Code */ |
| 10415, /* Vendor */ |
| "Time-Quota-Threshold", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Time-Quota-Type */ |
| { |
| struct dict_avp_data data = { |
| 1271, /* Code */ |
| 10415, /* Vendor */ |
| "Time-Quota-Type", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Time-Quota-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "DISCRETE_TIME_PERIOD", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "CONTINUOUS_TIME_PERIOD", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Time-Usage */ |
| { |
| struct dict_avp_data data = { |
| 2045, /* Code */ |
| 10415, /* Vendor */ |
| "Time-Usage", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Token-Text */ |
| { |
| struct dict_avp_data data = { |
| 1215, /* Code */ |
| 10415, /* Vendor */ |
| "Token-Text", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Transcoder-Inserted-Indication */ |
| { |
| struct dict_avp_data data = { |
| 2605, /* Code */ |
| 10415, /* Vendor */ |
| "Transcoder-Inserted-Indication", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Transcoder-Inserted-Indication)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Transcoder_Not_Inserted", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "Transcoder_Inserted", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Transit-IOI-List */ |
| { |
| struct dict_avp_data data = { |
| 2701, /* Code */ |
| 10415, /* Vendor */ |
| "Transit-IOI-List", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Trigger-Type */ |
| { |
| struct dict_avp_data data = { |
| 870, /* Code */ |
| 10415, /* Vendor */ |
| "Trigger-Type", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(Trigger-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "CHANGE_IN_SGSN_IP_ADDRESS", { .i32=1 }}; |
| struct dict_enumval_data t_2 = { "CHANGE_IN_QOS", { .i32=2 }}; |
| struct dict_enumval_data t_3 = { "CHANGE_IN_LOCATION", { .i32=3 }}; |
| struct dict_enumval_data t_4 = { "CHANGE_IN_RAT", { .i32=4 }}; |
| struct dict_enumval_data t_5 = { "CHANGE_IN_UE_TIMEZONE", { .i32=5 }}; |
| struct dict_enumval_data t_6 = { "CHANGEINQOS_TRAFFIC_CLASS", { .i32=10 }}; |
| struct dict_enumval_data t_7 = { "CHANGEINQOS_RELIABILITY_CLASS", { .i32=11 }}; |
| struct dict_enumval_data t_8 = { "CHANGEINQOS_DELAY_CLASS", { .i32=12 }}; |
| struct dict_enumval_data t_9 = { "CHANGEINQOS_PEAK_THROUGHPUT", { .i32=13 }}; |
| struct dict_enumval_data t_10 = { "CHANGEINQOS_PRECEDENCE_CLASS", { .i32=14 }}; |
| struct dict_enumval_data t_11 = { "CHANGEINQOS_MEAN_THROUGHPUT", { .i32=15 }}; |
| struct dict_enumval_data t_12 = { "CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", { .i32=16 }}; |
| struct dict_enumval_data t_13 = { "CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", { .i32=17 }}; |
| struct dict_enumval_data t_14 = { "CHANGEINQOS_RESIDUAL_BER", { .i32=18 }}; |
| struct dict_enumval_data t_15 = { "CHANGEINQOS_SDU_ERROR_RATIO", { .i32=19 }}; |
| struct dict_enumval_data t_16 = { "CHANGEINQOS_TRANSFER_DELAY", { .i32=20 }}; |
| struct dict_enumval_data t_17 = { "CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", { .i32=21 }}; |
| struct dict_enumval_data t_18 = { "CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", { .i32=22 }}; |
| struct dict_enumval_data t_19 = { "CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", { .i32=23 }}; |
| struct dict_enumval_data t_20 = { "CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", { .i32=24 }}; |
| struct dict_enumval_data t_21 = { "CHANGEINLOCATION_MCC", { .i32=30 }}; |
| struct dict_enumval_data t_22 = { "CHANGEINLOCATION_MNC", { .i32=31 }}; |
| struct dict_enumval_data t_23 = { "CHANGEINLOCATION_RAC", { .i32=32 }}; |
| struct dict_enumval_data t_24 = { "CHANGEINLOCATION_LAC", { .i32=33 }}; |
| struct dict_enumval_data t_25 = { "CHANGEINLOCATION_CellId", { .i32=34 }}; |
| struct dict_enumval_data t_26 = { "CHANGEINLOCATION_TAC", { .i32=35 }}; |
| struct dict_enumval_data t_27 = { "CHANGEINLOCATION_ECGI", { .i32=36 }}; |
| struct dict_enumval_data t_28 = { "CHANGE_IN_MEDIA_COMPOSITION", { .i32=40 }}; |
| struct dict_enumval_data t_29 = { "CHANGE_IN_PARTICIPANTS_NMB", { .i32=50 }}; |
| struct dict_enumval_data t_30 = { "CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB", { .i32=51 }}; |
| struct dict_enumval_data t_31 = { "CHANGE_IN_USER_PARTICIPATING_TYPE", { .i32=52 }}; |
| struct dict_enumval_data t_32 = { "CHANGE_IN_SERVICE_CONDITION", { .i32=60 }}; |
| struct dict_enumval_data t_33 = { "CHANGE_IN_SERVING_NODE", { .i32=61 }}; |
| struct dict_enumval_data t_34 = { "CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW", { .i32=62 }}; |
| struct dict_enumval_data t_35 = { "CHANGE_IN_USER_CSG_INFORMATION", { .i32=70 }}; |
| struct dict_enumval_data t_36 = { "CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", { .i32=71 }}; |
| struct dict_enumval_data t_37 = { "CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION", { .i32=72 }}; |
| struct dict_enumval_data t_38 = { "CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", { .i32=73 }}; |
| struct dict_enumval_data t_39 = { "CHANGE_IN_APN_RATE_CONTROL", { .i32=75 }}; |
| struct dict_enumval_data t_40 = { "CHANGE_IN_3GPP_PS_DATA_OFF", { .i32=76 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_4, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_5, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_6, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_7, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_8, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_9, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_10, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_11, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_12, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_13, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_14, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_15, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_16, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_17, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_18, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_19, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_20, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_21, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_22, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_23, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_24, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_25, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_26, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_27, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_28, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_29, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_30, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_31, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_32, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_33, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_34, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_35, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_36, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_37, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_38, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_39, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_40, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* TWAG-Address */ |
| { |
| struct dict_avp_data data = { |
| 3903, /* Code */ |
| 10415, /* Vendor */ |
| "TWAG-Address", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Address_type, NULL); |
| }; |
| /* Type-Number */ |
| { |
| struct dict_avp_data data = { |
| 1204, /* Code */ |
| 10415, /* Vendor */ |
| "Type-Number", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* UNI-PDU-CP-Only-Flag */ |
| { |
| struct dict_avp_data data = { |
| 3932, /* Code */ |
| 10415, /* Vendor */ |
| "UNI-PDU-CP-Only-Flag", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(UNI-PDU-CP-Only-Flag)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "UNI_PDU_both_UP_CP", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "UNI_PDU_CP_Only", { .i32=1 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* Unit-Quota-Threshold */ |
| { |
| struct dict_avp_data data = { |
| 1226, /* Code */ |
| 10415, /* Vendor */ |
| "Unit-Quota-Threshold", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Usage-Information-Report-Sequence-Number */ |
| { |
| struct dict_avp_data data = { |
| 3439, /* Code */ |
| 10415, /* Vendor */ |
| "Usage-Information-Report-Sequence-Number", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* User-Participating-Type */ |
| { |
| struct dict_avp_data data = { |
| 1279, /* Code */ |
| 10415, /* Vendor */ |
| "User-Participating-Type", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_INTEGER32 /* base type of data */ |
| }; |
| struct dict_object *type; |
| struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "3GPP/Enumerated(User-Participating-Type)", NULL, NULL, NULL }; |
| struct dict_enumval_data t_1 = { "Normal", { .i32=0 }}; |
| struct dict_enumval_data t_2 = { "NW_PoC_Box", { .i32=1 }}; |
| struct dict_enumval_data t_3 = { "UE_PoC_Box", { .i32=2 }}; |
| /* Create the Enumerated type, and then the AVP */ |
| CHECK_dict_new( DICT_TYPE, &tdata, NULL, &type); |
| CHECK_dict_new( DICT_ENUMVAL, &t_1, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_2, type, NULL); |
| CHECK_dict_new( DICT_ENUMVAL, &t_3, type, NULL); |
| CHECK_dict_new( DICT_AVP, &data, type, NULL); |
| }; |
| /* User-Session-Id */ |
| { |
| struct dict_avp_data data = { |
| 830, /* Code */ |
| 10415, /* Vendor */ |
| "User-Session-Id", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* Variable-Part-Order */ |
| { |
| struct dict_avp_data data = { |
| 3908, /* Code */ |
| 10415, /* Vendor */ |
| "Variable-Part-Order", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Variable-Part-Type */ |
| { |
| struct dict_avp_data data = { |
| 3909, /* Code */ |
| 10415, /* Vendor */ |
| "Variable-Part-Type", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Variable-Part-Value */ |
| { |
| struct dict_avp_data data = { |
| 3910, /* Code */ |
| 10415, /* Vendor */ |
| "Variable-Part-Value", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, UTF8String_type, NULL); |
| }; |
| /* VLR-Number */ |
| { |
| struct dict_avp_data data = { |
| 3420, /* Code */ |
| 10415, /* Vendor */ |
| "VLR-Number", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Volume-Quota-Threshold */ |
| { |
| struct dict_avp_data data = { |
| 869, /* Code */ |
| 10415, /* Vendor */ |
| "Volume-Quota-Threshold", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_UNSIGNED32 /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, NULL, NULL); |
| }; |
| /* Submission-Timestamp */ |
| { |
| struct dict_avp_data data = { |
| 9911, /* Code */ |
| 10415, /* Vendor */ |
| "Submission-Timestamp", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_OCTETSTRING /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data, Time_type, NULL); |
| }; |
| /* Scale-Factor */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2059, /* Code */ |
| 10415, /* Vendor */ |
| "Scale-Factor", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* SDP-Media-Component */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 843, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-Media-Component", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* UWAN-User-Location-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3918, /* Code */ |
| 10415, /* Vendor */ |
| "UWAN-User-Location-Info", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Address-Domain */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 898, /* Code */ |
| 10415, /* Vendor */ |
| "Address-Domain", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Location-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3460, /* Code */ |
| 10415, /* Vendor */ |
| "Location-Info", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* MBMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 880, /* Code */ |
| 10415, /* Vendor */ |
| "MBMS-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* AoC-Service */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2311, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Service", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* ProSe-Direct-Communication-Transmission-Data-Container */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3441, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Direct-Communication-Transmission-Data-Container", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* APN-Rate-Control-Downlink */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3934, /* Code */ |
| 10415, /* Vendor */ |
| "APN-Rate-Control-Downlink", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* PoC-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 879, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Supplementary-Service */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2048, /* Code */ |
| 10415, /* Vendor */ |
| "Supplementary-Service", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Transmitter-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3468, /* Code */ |
| 10415, /* Vendor */ |
| "Transmitter-Info", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Unit-Cost */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2061, /* Code */ |
| 10415, /* Vendor */ |
| "Unit-Cost", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Time-Stamps */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 833, /* Code */ |
| 10415, /* Vendor */ |
| "Time-Stamps", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* NNI-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2703, /* Code */ |
| 10415, /* Vendor */ |
| "NNI-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Trigger */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1264, /* Code */ |
| 10415, /* Vendor */ |
| "Trigger", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Related-Trigger */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3926, /* Code */ |
| 10415, /* Vendor */ |
| "Related-Trigger", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Talk-Burst-Exchange */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1255, /* Code */ |
| 10415, /* Vendor */ |
| "Talk-Burst-Exchange", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Time-Quota-Mechanism */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1270, /* Code */ |
| 10415, /* Vendor */ |
| "Time-Quota-Mechanism", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Variable-Part */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3907, /* Code */ |
| 10415, /* Vendor */ |
| "Variable-Part", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Additional-Content-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1207, /* Code */ |
| 10415, /* Vendor */ |
| "Additional-Content-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* APN-Rate-Control-Uplink */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3935, /* Code */ |
| 10415, /* Vendor */ |
| "APN-Rate-Control-Uplink", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Basic-Service-Code */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3411, /* Code */ |
| 10415, /* Vendor */ |
| "Basic-Service-Code", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Event-Type */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 823, /* Code */ |
| 10415, /* Vendor */ |
| "Event-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* ProSe-Direct-Communication-Reception-Data-Container */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3461, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Direct-Communication-Reception-Data-Container", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Originator-Interface */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2009, /* Code */ |
| 10415, /* Vendor */ |
| "Originator-Interface", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Destination-Interface */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2002, /* Code */ |
| 10415, /* Vendor */ |
| "Destination-Interface", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* ISUP-Cause */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3416, /* Code */ |
| 10415, /* Vendor */ |
| "ISUP-Cause", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* LCS-Requestor-ID */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1239, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Requestor-ID", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* PS-Furnish-Charging-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 865, /* Code */ |
| 10415, /* Vendor */ |
| "PS-Furnish-Charging-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* User-CSG-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2319, /* Code */ |
| 10415, /* Vendor */ |
| "User-CSG-Information", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Called-Identity-Change */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3917, /* Code */ |
| 10415, /* Vendor */ |
| "Called-Identity-Change", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Service-Specific-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1249, /* Code */ |
| 10415, /* Vendor */ |
| "Service-Specific-Info", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Accumulated-Cost */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2052, /* Code */ |
| 10415, /* Vendor */ |
| "Accumulated-Cost", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* SCS-AS-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3940, /* Code */ |
| 10415, /* Vendor */ |
| "SCS-AS-Address", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Message-Class */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1213, /* Code */ |
| 10415, /* Vendor */ |
| "Message-Class", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Location-Type */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1244, /* Code */ |
| 10415, /* Vendor */ |
| "Location-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Rate-Element */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2058, /* Code */ |
| 10415, /* Vendor */ |
| "Rate-Element", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Participant-Group */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1260, /* Code */ |
| 10415, /* Vendor */ |
| "Participant-Group", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Enhanced-Diagnostics */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3901, /* Code */ |
| 10415, /* Vendor */ |
| "Enhanced-Diagnostics", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Access-Network-Info-Change */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 4401, /* Code */ |
| 10415, /* Vendor */ |
| "Access-Network-Info-Change", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* PoC-User-Role */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1252, /* Code */ |
| 10415, /* Vendor */ |
| "PoC-User-Role", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* LCS-Client-Name */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1235, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Client-Name", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Message-Body */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 889, /* Code */ |
| 10415, /* Vendor */ |
| "Message-Body", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Radio-Parameter-Set-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3463, /* Code */ |
| 10415, /* Vendor */ |
| "Radio-Parameter-Set-Info", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* SM-Device-Trigger-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3405, /* Code */ |
| 10415, /* Vendor */ |
| "SM-Device-Trigger-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* TWAN-User-Location-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2714, /* Code */ |
| 10415, /* Vendor */ |
| "TWAN-User-Location-Info", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* VCS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3410, /* Code */ |
| 10415, /* Vendor */ |
| "VCS-Information", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Trunk-Group-ID */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 851, /* Code */ |
| 10415, /* Vendor */ |
| "Trunk-Group-ID", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Incremental-Cost */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2062, /* Code */ |
| 10415, /* Vendor */ |
| "Incremental-Cost", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* SDP-TimeStamps */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1273, /* Code */ |
| 10415, /* Vendor */ |
| "SDP-TimeStamps", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Inter-Operator-Identifier */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 838, /* Code */ |
| 10415, /* Vendor */ |
| "Inter-Operator-Identifier", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* NIDD-Submission */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3928, /* Code */ |
| 10415, /* Vendor */ |
| "NIDD-Submission", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Application-Server-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 850, /* Code */ |
| 10415, /* Vendor */ |
| "Application-Server-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* CPDT-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3927, /* Code */ |
| 10415, /* Vendor */ |
| "CPDT-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Envelope */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1266, /* Code */ |
| 10415, /* Vendor */ |
| "Envelope", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Related-Change-Condition-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3925, /* Code */ |
| 10415, /* Vendor */ |
| "Related-Change-Condition-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* LCS-Client-Id */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1232, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Client-Id", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Early-Media-Description */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1272, /* Code */ |
| 10415, /* Vendor */ |
| "Early-Media-Description", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* AoC-Subscription-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2314, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Subscription-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Current-Tariff */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2056, /* Code */ |
| 10415, /* Vendor */ |
| "Current-Tariff", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* APN-Rate-Control */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3933, /* Code */ |
| 10415, /* Vendor */ |
| "APN-Rate-Control", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Access-Transfer-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2709, /* Code */ |
| 10415, /* Vendor */ |
| "Access-Transfer-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Recipient-Received-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2028, /* Code */ |
| 10415, /* Vendor */ |
| "Recipient-Received-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* AoC-Cost-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2053, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Cost-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Originator-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 886, /* Code */ |
| 10415, /* Vendor */ |
| "Originator-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Originator-Received-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2027, /* Code */ |
| 10415, /* Vendor */ |
| "Originator-Received-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Remaining-Balance */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2021, /* Code */ |
| 10415, /* Vendor */ |
| "Remaining-Balance", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* AF-Correlation-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1276, /* Code */ |
| 10415, /* Vendor */ |
| "AF-Correlation-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Recipient-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1201, /* Code */ |
| 10415, /* Vendor */ |
| "Recipient-Address", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Next-Tariff */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2057, /* Code */ |
| 10415, /* Vendor */ |
| "Next-Tariff", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Coverage-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3459, /* Code */ |
| 10415, /* Vendor */ |
| "Coverage-Info", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Announcement-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3904, /* Code */ |
| 10415, /* Vendor */ |
| "Announcement-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* MM-Content-Type */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1203, /* Code */ |
| 10415, /* Vendor */ |
| "MM-Content-Type", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* MMTel-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2030, /* Code */ |
| 10415, /* Vendor */ |
| "MMTel-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Service-Data-Container */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2040, /* Code */ |
| 10415, /* Vendor */ |
| "Service-Data-Container", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* MMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 877, /* Code */ |
| 10415, /* Vendor */ |
| "MMS-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Recipient-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2026, /* Code */ |
| 10415, /* Vendor */ |
| "Recipient-Info", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Traffic-Data-Volumes */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2046, /* Code */ |
| 10415, /* Vendor */ |
| "Traffic-Data-Volumes", /* Name */ |
| 0, /* Fixed flags */ |
| 0, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* LCS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 878, /* Code */ |
| 10415, /* Vendor */ |
| "LCS-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Tariff-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2060, /* Code */ |
| 10415, /* Vendor */ |
| "Tariff-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* ProSe-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3447, /* Code */ |
| 10415, /* Vendor */ |
| "ProSe-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* SMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2000, /* Code */ |
| 10415, /* Vendor */ |
| "SMS-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Real-Time-Tariff-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2305, /* Code */ |
| 10415, /* Vendor */ |
| "Real-Time-Tariff-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* AoC-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 2054, /* Code */ |
| 10415, /* Vendor */ |
| "AoC-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Monitoring-Event-Report-Data */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3920, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-Event-Report-Data", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Offline-Charging */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 1278, /* Code */ |
| 10415, /* Vendor */ |
| "Offline-Charging", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* IMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 876, /* Code */ |
| 10415, /* Vendor */ |
| "IMS-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Monitoring-Event-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 3921, /* Code */ |
| 10415, /* Vendor */ |
| "Monitoring-Event-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* PS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 874, /* Code */ |
| 10415, /* Vendor */ |
| "PS-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| /* Service-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_data data = { |
| 873, /* Code */ |
| 10415, /* Vendor */ |
| "Service-Information", /* Name */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */ |
| AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flag values */ |
| AVP_TYPE_GROUPED /* base type of data */ |
| }; |
| CHECK_dict_new( DICT_AVP, &data , NULL, &avp); |
| } |
| |
| |
| } |
| |
| /* Commands section */ |
| { |
| |
| } |
| |
| return 0; |
| } |
| |
| static int dict_ts32299_avps_load_rules(char * conffile) |
| { |
| /* Grouped AVP section */ |
| { |
| /* Scale-Factor */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Scale-Factor"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* SDP-Media-Component */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SDP-Media-Component"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SDP-Media-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SDP-Media-Description"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Local-GW-Inserted-Indication"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IP-Realm-Default-Indication"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Transcoder-Inserted-Indication"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Flag"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Party"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Access-Network-Charging-Identifier-Value"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SDP-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* UWAN-User-Location-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "UE-Local-IP-Address"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "UDP-Source-Port"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SSID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "BSSID"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Address-Domain */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Address-Domain"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Domain-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Location-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Location-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* MBMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MBMS-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "TMGI"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-Service-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-User-Service-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "File-Repair-Supported"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Required-MBMS-Bearer-Capabilities"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-2G-3G-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "RAI"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-Service-Area"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-Session-Identity"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "CN-IP-Multicast-Distribution"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-GW-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-Charged-Party"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MSISDN"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-Data-Transfer-Start"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-Data-Transfer-Stop"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* AoC-Service */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Service"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "AoC-Service-Obligatory-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "AoC-Service-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* ProSe-Direct-Communication-Transmission-Data-Container */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Transmission-Data-Container"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Local-Sequence-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Coverage-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Visited-PLMN-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Usage-Information-Report-Sequence-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Radio-Resources-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Radio-Frequency"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* APN-Rate-Control-Downlink */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Downlink"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Rate-Control-Time-Unit"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Rate-Control-Max-Rate"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Rate-Control-Max-Message-Size"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* PoC-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PoC-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "PoC-Server-Role"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Supplementary-Service */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Supplementary-Service"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "MMTel-SService-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Service-Mode"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Transmitter-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Transmitter-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Source-IP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-UE-ID"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Unit-Cost */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Unit-Cost"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Time-Stamps */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Time-Stamps"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* NNI-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "NNI-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Session-Direction"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "NNI-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Relationship-Mode"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Neighbour-Node-Address"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Trigger */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Trigger"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Trigger-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Related-Trigger */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Related-Trigger"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Trigger-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Talk-Burst-Exchange */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Talk-Burst-Exchange"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "PoC-Change-Time"}, RULE_REQUIRED, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Time-Quota-Mechanism */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Time-Quota-Type"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Base-Time-Interval"}, RULE_REQUIRED, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Variable-Part */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Variable-Part"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Variable-Part-Order"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Variable-Part-Type"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Variable-Part-Value"}, RULE_REQUIRED, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Additional-Content-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Additional-Content-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Type-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Additional-Type-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Content-Size"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* APN-Rate-Control-Uplink */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Uplink"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Additional-Exception-Reports"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Rate-Control-Time-Unit"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Rate-Control-Max-Rate"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Basic-Service-Code */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Basic-Service-Code"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Bearer-Service"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Teleservice"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Event-Type */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Event-Type"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SIP-Method"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Event"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Expires"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* ProSe-Direct-Communication-Reception-Data-Container */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Reception-Data-Container"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Local-Sequence-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Coverage-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Visited-PLMN-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Usage-Information-Report-Sequence-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Radio-Resources-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Radio-Frequency"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Originator-Interface */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Originator-Interface"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Interface-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Interface-Text"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Interface-Port"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Interface-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Destination-Interface */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Destination-Interface"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Interface-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Interface-Text"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Interface-Port"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Interface-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* ISUP-Cause */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ISUP-Cause"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "ISUP-Cause-Location"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* LCS-Requestor-ID */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Requestor-ID"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "LCS-Data-Coding-Scheme"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Requestor-ID-String"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* PS-Furnish-Charging-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PS-Free-Format-Data"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PS-Append-Free-Format-Data"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* User-CSG-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "CSG-Id"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "CSG-Access-Mode"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "CSG-Membership-Indication"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Called-Identity-Change */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Called-Identity-Change"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Called-Identity"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Service-Specific-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Service-Specific-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Service-Specific-Data"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Accumulated-Cost */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Accumulated-Cost"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* SCS-AS-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SCS-AS-Address"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SCS-Realm"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SCS-Address"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Message-Class */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Message-Class"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Class-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Token-Text"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Location-Type */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Location-Type"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Location-Estimate-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Deferred-Location-Event-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Rate-Element */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Rate-Element"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "CC-Unit-Type"}, RULE_REQUIRED, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Participant-Group */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Participant-Group"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Called-Party-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Participant-Access-Priority"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "User-Participating-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Enhanced-Diagnostics */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Enhanced-Diagnostics"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "RAN-NAS-Release-Cause"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Access-Network-Info-Change */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Access-Network-Info-Change"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Access-Network-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Cellular-Network-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* PoC-User-Role */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PoC-User-Role"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "PoC-User-Role-IDs"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* LCS-Client-Name */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Client-Name"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "LCS-Data-Coding-Scheme"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Name-String"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Format-Indicator"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Message-Body */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Message-Body"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Content-Type"}, RULE_REQUIRED, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Radio-Parameter-Set-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Radio-Parameter-Set-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Radio-Parameter-Set-Values"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* SM-Device-Trigger-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SM-Device-Trigger-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "MTC-IWF-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Reference-Number"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* TWAN-User-Location-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "TWAN-User-Location-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SSID"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "BSSID"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* VCS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "VCS-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Bearer-Capability"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Network-Call-Reference-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MSC-Address"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Trunk-Group-ID */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Trunk-Group-ID"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Incoming-Trunk-Group-Id"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Incremental-Cost */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Incremental-Cost"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Value-Digits"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Exponent"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* SDP-TimeStamps */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SDP-TimeStamps"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SDP-Offer-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SDP-Answer-Timestamp"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Inter-Operator-Identifier */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Inter-Operator-Identifier"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Originating-IOI"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Terminating-IOI"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* NIDD-Submission */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "NIDD-Submission"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Submission-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Event-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Application-Server-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Application-Server-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Application-Server"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* CPDT-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "CPDT-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "External-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SCEF-ID"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Envelope */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Envelope"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Envelope-Start-Time"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Envelope-End-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "CC-Total-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "CC-Input-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "CC-Output-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "CC-Service-Specific-Units"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Related-Change-Condition-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Related-Change-Condition-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SGSN-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* LCS-Client-Id */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Client-Id"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "LCS-Client-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Client-External-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Client-Dialed-By-MS"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Client-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-APN"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Requestor-ID"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Early-Media-Description */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Early-Media-Description"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SDP-TimeStamps"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SDP-Media-Component"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SDP-Session-Description"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* AoC-Subscription-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Subscription-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "AoC-Service"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "AoC-Format"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Preferred-AoC-Currency"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Current-Tariff */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Current-Tariff"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Scale-Factor"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Rate-Element"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* APN-Rate-Control */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "APN-Rate-Control"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Uplink"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control-Downlink"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Access-Transfer-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Access-Transfer-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Access-Transfer-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Access-Network-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Cellular-Network-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Inter-UE-Transfer"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "User-Equipment-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Instance-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier-Node"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Recipient-Received-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Recipient-Received-Address"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* AoC-Cost-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Cost-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Accumulated-Cost"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Incremental-Cost"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Originator-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Originator-Address"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Originator-Received-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Originator-Received-Address"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Remaining-Balance */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Remaining-Balance"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Unit-Value"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_REQUIRED, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* AF-Correlation-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AF-Correlation-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "AF-Charging-Identifier"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Flows"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Recipient-Address */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Recipient-Address"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Address-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Data"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Address-Domain"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Addressee-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Next-Tariff */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Next-Tariff"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Currency-Code"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Scale-Factor"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Rate-Element"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Coverage-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Coverage-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Coverage-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Location-Info"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Announcement-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Announcement-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Announcement-Identifier"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Variable-Part"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Quota-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Announcement-Order"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Play-Alternative"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Privacy-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Language"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* MM-Content-Type */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MM-Content-Type"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Type-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Additional-Type-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Content-Size"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Additional-Content-Information"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* MMTel-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MMTel-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Supplementary-Service"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Service-Data-Container */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Service-Data-Container"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "AF-Correlation-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Charging-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Local-Sequence-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "QoS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Rating-Group"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Service-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ADC-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SGSN-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-First-Usage"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-Last-Usage"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-Usage"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Sponsor-Identity"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Application-Service-Provider-Identity"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Related-Change-Condition-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Serving-PLMN-Rate-Control"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-PS-Data-Off-Status"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* MMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "MMS-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Originator-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Recipient-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Submission-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MM-Content-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Priority"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Message-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Message-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Message-Size"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Message-Class"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Delivery-Report-Requested"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Read-Reply-Report-Requested"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MMBox-Storage-Requested"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Applic-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Reply-Applic-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Aux-Applic-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Content-Class"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "DRM-Content"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Adaptations"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Recipient-Info */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Recipient-Info"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Destination-Interface"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Recipient-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Recipient-Received-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Recipient-SCCP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Traffic-Data-Volumes */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Traffic-Data-Volumes"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "QoS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Input-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Accounting-Output-Octets"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* LCS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "LCS-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "LCS-Client-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Location-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Location-Estimate"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Positioning-Data"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MSISDN"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Tariff-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Tariff-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Current-Tariff"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Tariff-Time-Change"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Next-Tariff"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* ProSe-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "ProSe-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Announcing-UE-HPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Announcing-UE-VPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-UE-HPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-UE-VPLMN-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Role-Of-ProSe-Function"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-App-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-3rd-Party-Application-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Application-Specific-Data"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Event-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Discovery-Model"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Function-IP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Function-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Validity-Timer"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Role-Of-UE"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Request-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PC3-Control-Protocol-Cause"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-UE-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Requestor-PLMN-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Origin-App-Layer-User-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "WLAN-Link-Layer-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Requesting-EPUID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Target-App-Layer-User-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Requested-PLMN-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-Window"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Range-Class"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Proximity-Alert-Indication"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Proximity-Alert-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Proximity-Cancellation-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Reason-For-Cancellation"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PC3-EPC-Control-Protocol-Cause"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-UE-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Source-IP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Layer-2-Group-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Group-IP-Multicast-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Coverage-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Radio-Parameter-Set-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Transmitter-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-First-Transmission"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-First-Reception"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Transmission-Data-Container"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Direct-Communication-Reception-Data-Container"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* SMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "SMS-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "SMS-Node"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Client-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Originator-SCCP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SMSC-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Data-Coding-Scheme"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Discharge-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Message-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Originator-Interface"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Reply-Path-Requested"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-User-Data-Header"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Sent"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Sequence-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Recipient-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Originator-Received-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Service-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SMS-Result"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Device-Trigger-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SM-Device-Trigger-Information"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Real-Time-Tariff-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Real-Time-Tariff-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Tariff-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Tariff-XML"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* AoC-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "AoC-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "AoC-Cost-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Tariff-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "AoC-Subscription-Information"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Monitoring-Event-Report-Data */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Report-Data"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Event-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SCEF-Reference-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SCEF-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Report-Number"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Charged-Party"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Subscription-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Reachability-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "EPS-Location-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Communication-Failure-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Number-Of-UE-Per-Location-Report"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Offline-Charging */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Offline-Charging"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Quota-Consumption-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Envelope-Reporting"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Multiple-Services-Credit-Control"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* IMS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "IMS-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Event-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Role-Of-Node"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Node-Functionality"}, RULE_REQUIRED, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "User-Session-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Outgoing-Session-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Session-Priority"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Calling-Party-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Called-Party-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Called-Asserted-Identity"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Called-Identity-Change"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Number-Portability-Routing-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Carrier-Select-Routing-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Alternate-Charged-Party-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Requested-Party-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Associated-URI"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Time-Stamps"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Application-Server-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Inter-Operator-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Transit-IOI-List"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SDP-Session-Description"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SDP-Media-Component"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Served-Party-IP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Server-Capabilities"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Trunk-Group-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Bearer-Service"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Service-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Message-Body"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Cause-Code"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Reason-Header"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Access-Network-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Cellular-Network-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Early-Media-Description"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IMS-Communication-Service-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IMS-Application-Reference-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Online-Charging-Flag"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Real-Time-Tariff-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Account-Expiration"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Initial-IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "NNI-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "From-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IMS-Emergency-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IMS-Visited-Network-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Access-Network-Info-Change"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Access-Transfer-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Related-IMS-Charging-Identifier-Node"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Route-Header-Received"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Route-Header-Transmitted"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Instance-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "TAD-Identifier"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Monitoring-Event-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Functionality"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Event-Timestamp"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Configuration-Activity"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SCEF-Reference-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SCEF-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Maximum-Number-of-Reports"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-Duration"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Charged-Party"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Maximum-Detection-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "UE-Reachability-Configuration"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MONTE-Location-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Accuracy"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Number-Of-UE-Per-Location-Configuration"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Monitoring-Event-Report"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* PS-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "PS-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PDN-Connection-Charging-ID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Node-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-PDP-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PDP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PDP-Address-Prefix-Length"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag-Extension"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "QoS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SGSN-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "GGSN-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "TDF-IP-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SGW-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "EPDG-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "TWAG-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "CG-Address"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Serving-Node-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SGW-Change"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IMSI-Unauthenticated-Flag"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-GGSN-MCC-MNC"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-NSAPI"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "Called-Station-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-Selection-Mode"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Characteristics"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Charging-Characteristics-Selection-Mode"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-SGSN-MCC-MNC"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-MS-TimeZone"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Charging-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ADC-Rule-Base-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "User-Location-Info-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "User-CSG-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Presence-Reporting-Area-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "TWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "UWAN-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PDP-Context-Type"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Offline-Charging"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Traffic-Data-Volumes"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Service-Data-Container"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 0, .avp_name = "User-Equipment-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Terminal-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Start-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Stop-Time"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Change-Condition"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Diagnostics"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Low-Priority-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "NBIFOM-Mode"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "NBIFOM-Support"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MME-Number-for-MT-SMS"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MME-Name"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MME-Realm"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 13019, .avp_name = "Logical-Access-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 13019, .avp_name = "Physical-Access-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Fixed-User-Location-Info"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "CN-Operator-Selection-Entity"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Enhanced-Diagnostics"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SGi-PtP-Tunnelling-Method"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "CP-CIoT-EPS-Optimisation-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "UNI-PDU-CP-Only-Flag"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Serving-PLMN-Rate-Control"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "APN-Rate-Control"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "Charging-Per-IP-CAN-Session-Indicator"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "RRC-Cause-Counter"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "3GPP-PS-Data-Off-Status"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SCS-AS-Address"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| /* Service-Information */ |
| { |
| /* Grouped */ |
| struct dict_object * avp; |
| struct dict_avp_request avp_vendor_plus_name = { .avp_vendor = 10415, .avp_name = "Service-Information"}; |
| CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &avp_vendor_plus_name, &avp) |
| struct local_rules_definition rules[] = |
| { |
| { { .avp_vendor = 0, .avp_name = "Subscription-Id"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "AoC-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "IMS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MMS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "LCS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "PoC-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MBMS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "SMS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "VCS-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "MMTel-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "ProSe-Information"}, RULE_OPTIONAL, -1, -1 }, |
| { { .avp_vendor = 10415, .avp_name = "CPDT-Information"}, RULE_OPTIONAL, -1, -1 } |
| }; |
| PARSE_loc_rules( rules, avp ); |
| } |
| |
| } |
| |
| /* Commands section */ |
| { |
| |
| } |
| |
| LOG_D( "Extension 'Dictionary definitions for ts32299_avps (e30)' initialized"); |
| return 0; |
| } |
| |
| int dict_entry(char * conffile) |
| { |
| dict_ts32299_avps_load_defs(conffile); |
| return dict_ts32299_avps_load_rules(conffile); |
| } |
| |
| const char* dict_ts32299_avps_proto_ver(char * conffile) { |
| return ts32299_avps_proto_ver; |
| } |
| |
| const double dict_ts32299_avps_gen_ts(char * conffile) { |
| return ts32299_avps_gen_date; |
| } |
| |
| EXTENSION_ENTRY2("dict_ts32299_avps", dict_ts32299_avps_load_defs, dict_ts32299_avps_load_rules, "dict_ts29272_avps", "dict_ts29273_avps", "dict_ts29212_avps", "dict_ts29336_avps", "dict_ts29128_avps", "dict_ts29214_avps", "dict_ts29345_avps", "dict_ts29337_avps", "dict_ts29344_avps", "dict_ts29368_avps", "dict_ts29217_avps", "dict_ts29229_avps", "dict_ts29338_avps", "dict_ts29468_avps", "dict_ts29329_avps", "dict_ts29061_avps", "dict_rfc5778_avps", "dict_ts29173_avps", "dict_rfc4006bis_avps", "dict_ts29343_avps", "dict_rfc7155_avps", "dict_rfc5447_avps", "dict_rfc7683_avps", "dict_rfc4590_avps", "dict_draftload_avps", "dict_rfc4004_avps", "dict_rfc5777_avps", "dict_etsi283034_avps", "dict_3gpp2_avps", "dict_rfc7944_avps"); |
| |
| |
| |