summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorSukchan Lee <acetcom@gmail.com>2021-03-21 13:14:26 +0900
committerSukchan Lee <acetcom@gmail.com>2021-03-21 13:14:26 +0900
commit32d46d3f43485e171b1e28117d0db049dfc829b0 (patch)
treeb3506d614932f50730e023391600287676ac0c08 /extensions
parente07f3955e6d0f59f272fd21d3b21a5e2eac17426 (diff)
Release freeDiameter v1.5.0main
Diffstat (limited to 'extensions')
-rw-r--r--extensions/CMakeLists.txt7
-rw-r--r--extensions/acl_wl/acl_wl.c2
-rw-r--r--extensions/acl_wl/acl_wl.h2
-rw-r--r--extensions/acl_wl/aw_conf.l2
-rw-r--r--extensions/acl_wl/aw_conf.y2
-rw-r--r--extensions/acl_wl/aw_tree.c4
-rw-r--r--extensions/app_diameap/CMakeLists.txt15
-rw-r--r--extensions/app_diameap/diameap_eap.c4
-rw-r--r--extensions/app_diameap/diameap_init.c5
-rw-r--r--extensions/app_diameap/diameap_server.c21
-rw-r--r--extensions/app_radgw/md5.c3
-rw-r--r--extensions/app_radgw/rgw_clients.c8
-rw-r--r--extensions/app_sip/TODO4
-rw-r--r--extensions/app_sip/app_sip.h2
-rw-r--r--extensions/app_sip/libapp_sip.c48
-rw-r--r--extensions/app_sip/md5.c3
-rw-r--r--extensions/app_sip/multimediaauth.c26
-rw-r--r--extensions/app_sip/registrationtermination.c2
-rw-r--r--extensions/dbg_dict_dump/CMakeLists.txt12
-rw-r--r--extensions/dbg_dict_dump/dbg_dict_dump.c87
-rw-r--r--extensions/dbg_dict_dump_json/CMakeLists.txt21
-rw-r--r--extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc441
-rw-r--r--extensions/dbg_loglevel/dbg_loglevel_conf.l2
-rw-r--r--extensions/dbg_monitor/dbg_monitor.c4
-rw-r--r--extensions/dbg_msg_dumps/dbg_msg_dumps.c2
-rw-r--r--extensions/dbg_rt/dbg_rt.c23
-rw-r--r--extensions/dict_dcca_3gpp/CMakeLists.txt2
-rw-r--r--extensions/dict_dcca_3gpp/add_avps.c21454
-rw-r--r--extensions/dict_dcca_3gpp/dict_dcca_3gpp.c10875
-rw-r--r--extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv2421
-rw-r--r--extensions/dict_dcca_starent/CMakeLists.txt2
-rw-r--r--extensions/dict_dcca_starent/add_avps.c355
-rw-r--r--extensions/dict_dcca_starent/dict_dcca_starent.c355
-rw-r--r--extensions/dict_dcca_starent/dict_dcca_starent.csv35
-rw-r--r--extensions/dict_json/CMakeLists.txt3
-rw-r--r--extensions/dict_legacy_xml/dict_lxml_xml.c2
-rw-r--r--extensions/dict_nasreq/dict_nasreq.c2
-rw-r--r--extensions/rt_default/rt_default.c2
-rw-r--r--extensions/rt_default/rt_default.h2
-rw-r--r--extensions/rt_default/rtd_conf.y2
-rw-r--r--extensions/rt_default/rtd_rules.c2
-rw-r--r--extensions/rt_deny_by_size/rt_deny_by_size_conf.l2
-rw-r--r--extensions/rt_deny_by_size/rt_deny_by_size_conf.y2
-rw-r--r--extensions/rt_ereg/rtereg.c67
-rw-r--r--extensions/rt_ereg/rtereg.h2
-rw-r--r--extensions/rt_ereg/rtereg_conf.l4
-rw-r--r--extensions/rt_ereg/rtereg_conf.y30
-rw-r--r--extensions/rt_load_balance/rt_load_balance.c110
-rw-r--r--extensions/rt_randomize/rt_randomize.c6
-rw-r--r--extensions/rt_rewrite/rt_rewrite.c27
-rw-r--r--extensions/rt_rewrite/rt_rewrite_conf.y6
-rw-r--r--extensions/test_app/ta_cli.c2
-rw-r--r--extensions/test_cc/test_cc.c125
-rw-r--r--extensions/test_ccload/CMakeLists.txt13
-rw-r--r--extensions/test_ccload/test_ccload.c444
-rw-r--r--extensions/test_sip/multimediaauth.c22
56 files changed, 26196 insertions, 10932 deletions
diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt
index 46f5c30..4331bf4 100644
--- a/extensions/CMakeLists.txt
+++ b/extensions/CMakeLists.txt
@@ -10,6 +10,8 @@ MACRO(FD_ADD_EXTENSION EXTNAME)
ADD_LIBRARY(${EXTNAME} MODULE ${ARGN})
SET_TARGET_PROPERTIES(${EXTNAME} PROPERTIES PREFIX "" )
SET_TARGET_PROPERTIES(${EXTNAME} PROPERTIES SUFFIX ".fdx" )
+ SET_TARGET_PROPERTIES(${EXTNAME} PROPERTIES C_VISIBILITY_PRESET hidden )
+ SET_TARGET_PROPERTIES(${EXTNAME} PROPERTIES CXX_VISIBILITY_PRESET hidden )
ENDMACRO(FD_ADD_EXTENSION)
# Use the macro FD_EXTENSION_SUBDIR(extmacroname subdir descr default) to
@@ -88,6 +90,8 @@ FD_EXTENSION_SUBDIR(acl_wl "White-list based authorization of incoming connectio
####
# Debug & test extensions
+FD_EXTENSION_SUBDIR(dbg_dict_dump "Log dictionary dump" ON)
+FD_EXTENSION_SUBDIR(dbg_dict_dump_json "Dump dictionary as JSON" OFF)
FD_EXTENSION_SUBDIR(dbg_loglevel "Read loglevel from file -- allows runtime change" ON)
FD_EXTENSION_SUBDIR(dbg_monitor "Outputs periodical status information" ON)
FD_EXTENSION_SUBDIR(dbg_msg_timings "Show some timing information for messages" ON)
@@ -95,7 +99,8 @@ FD_EXTENSION_SUBDIR(dbg_msg_dumps "Show human-readable content of the received
FD_EXTENSION_SUBDIR(dbg_rt "Routing extension for debugging the routing module" ON)
FD_EXTENSION_SUBDIR(test_app "Testing application to send dummy message to another peer, like a Diameter 'ping'" OFF)
FD_EXTENSION_SUBDIR(test_as "Receive Abort-Session-Requests and display the data" OFF)
-FD_EXTENSION_SUBDIR(test_cc "Receive Credit-Control-Requests and display the data" OFF)
+FD_EXTENSION_SUBDIR(test_cc "Receive Credit-Control-Requests and display the data" ON)
+FD_EXTENSION_SUBDIR(test_ccload "Generate Credit-Control-Requests and count replies" ON)
FD_EXTENSION_SUBDIR(test_sip "Testing application to simulate Diameter-SIP client (RFC4740)" OFF)
FD_EXTENSION_SUBDIR(dbg_interactive "Python-interpreter based module" OFF)
FD_EXTENSION_SUBDIR(test_netemul "Simple Diameter network emulator proxy extension (latency, PDV, duplicates)" OFF)
diff --git a/extensions/acl_wl/acl_wl.c b/extensions/acl_wl/acl_wl.c
index 97d970b..39c7339 100644
--- a/extensions/acl_wl/acl_wl.c
+++ b/extensions/acl_wl/acl_wl.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2011, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/acl_wl/acl_wl.h b/extensions/acl_wl/acl_wl.h
index 6ac2cce..56ae203 100644
--- a/extensions/acl_wl/acl_wl.h
+++ b/extensions/acl_wl/acl_wl.h
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2011, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/acl_wl/aw_conf.l b/extensions/acl_wl/aw_conf.l
index cfcd324..b74cc20 100644
--- a/extensions/acl_wl/aw_conf.l
+++ b/extensions/acl_wl/aw_conf.l
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/acl_wl/aw_conf.y b/extensions/acl_wl/aw_conf.y
index 5594aa4..3825aa2 100644
--- a/extensions/acl_wl/aw_conf.y
+++ b/extensions/acl_wl/aw_conf.y
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/acl_wl/aw_tree.c b/extensions/acl_wl/aw_tree.c
index 3ae170a..82e79f4 100644
--- a/extensions/acl_wl/aw_tree.c
+++ b/extensions/acl_wl/aw_tree.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2020, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
@@ -339,7 +339,7 @@ int aw_tree_lookup(char * name, int * result)
{
struct split_name sn;
int lbl, found;
- struct tree_item * ti;
+ struct tree_item * ti = NULL;
struct fd_list * senti, *li;
TRACE_ENTRY("%p %p", name, result);
diff --git a/extensions/app_diameap/CMakeLists.txt b/extensions/app_diameap/CMakeLists.txt
index f463022..8844286 100644
--- a/extensions/app_diameap/CMakeLists.txt
+++ b/extensions/app_diameap/CMakeLists.txt
@@ -1,11 +1,26 @@
# The Diameter EAP Application extension
PROJECT("Diameter EAP Application extension" C)
+INCLUDE (CheckCSourceCompiles)
+
# Find MySQL
FIND_PACKAGE(MySQL REQUIRED)
FIND_PACKAGE(Gcrypt REQUIRED)
INCLUDE_DIRECTORIES(${MySQL_INCLUDE_DIR})
+# Check for my_bool, deprecated in MySQL 8.0
+SET(CHECK_MYSQL_MY_BOOL "
+#include <mysql.h>
+int main() {
+my_bool f;
+}")
+SET(CMAKE_REQUIRED_INCLUDES ${MySQL_INCLUDE_DIR})
+SET(CMAKE_REQUIRED_LIBRARIES ${MySQL_LIBRARY})
+CHECK_C_SOURCE_COMPILES("${CHECK_MYSQL_MY_BOOL}" HAVE_MYSQL_MY_BOOL)
+IF (HAVE_MYSQL_MY_BOOL)
+ ADD_DEFINITIONS(-DHAVE_MYSQL_MY_BOOL)
+ENDIF()
+
# Parse plugins
ADD_SUBDIRECTORY(plugins)
diff --git a/extensions/app_diameap/diameap_eap.c b/extensions/app_diameap/diameap_eap.c
index 72885ea..d7b235c 100644
--- a/extensions/app_diameap/diameap_eap.c
+++ b/extensions/app_diameap/diameap_eap.c
@@ -59,7 +59,7 @@ static void diameap_ba_policyupdate(struct eap_state_machine * eap_sm,
struct eap_packet *eapPacket)
{
TRACE_ENTRY("%p %p",eap_sm, eapPacket);
- if ((eap_sm->respMethod == TYPE_NAK))
+ if (eap_sm->respMethod == TYPE_NAK)
{
int id;
eap_sm->user.pmethods = 0;
@@ -100,7 +100,7 @@ static int diameap_ba_policygetnextmethod(struct eap_state_machine * eap_sm,
if (eap_sm->user.userid == NULL)
{
- if ((eap_sm->currentMethod == TYPE_NONE))
+ if (eap_sm->currentMethod == TYPE_NONE)
{
*vendor = VENDOR_IETF;
*eaptype = TYPE_IDENTITY;
diff --git a/extensions/app_diameap/diameap_init.c b/extensions/app_diameap/diameap_init.c
index e3b8cc9..59a0bbb 100644
--- a/extensions/app_diameap/diameap_init.c
+++ b/extensions/app_diameap/diameap_init.c
@@ -38,6 +38,11 @@
#include "diameap_common.h"
+#ifndef HAVE_MYSQL_MY_BOOL
+#include <stdbool.h>
+typedef bool my_bool;
+#endif /* HAVE_MYSQL_MY_BOOL */
+
/* Dictionary Object templates */
struct dict_object * dataobj_diameap_cmd = NULL; /* Diameter-EAP-Request Command Code */
struct dict_object * dataobj_diameap_app = NULL; /* Diameter EAP Application object */
diff --git a/extensions/app_diameap/diameap_server.c b/extensions/app_diameap/diameap_server.c
index b93f6bb..329d6a2 100644
--- a/extensions/app_diameap/diameap_server.c
+++ b/extensions/app_diameap/diameap_server.c
@@ -1674,6 +1674,7 @@ union avp_value diameap_get_num(char * num, enum dict_avp_basetype datatype)
break;
default:
TRACE_DEBUG(INFO, "%sUnknown AVP Base Type.",DIAMEAP_EXTENSION)
+ memset(&val, 0, sizeof(val));
;
}
return val;
@@ -1959,22 +1960,16 @@ char * diameap_attribute_operator(char * op, int * toadd, boolean *isrule)
switch (*toadd)
{
case 1:
- attribute_op = malloc(strlen(op));
- memset(attribute_op, 0, strlen(op));
- strncpy(attribute_op, op + 1, strlen(op) - 1);
- attribute_op[strlen(op)] = '\0';
+ attribute_op = calloc(strlen(op), sizeof(char *));
+ memcpy(attribute_op, op + 1, strlen(op) - 1);
break;
case 2:
- attribute_op = malloc(strlen(op));
- memset(attribute_op, 0, strlen(op));
- strncpy(attribute_op, op, strlen(op) - 1);
- attribute_op[strlen(op)] = '\0';
+ attribute_op = calloc(strlen(op), sizeof(char *));
+ memcpy(attribute_op, op, strlen(op) - 1);
break;
default:
- attribute_op = malloc(strlen(op) + 1);
- memset(attribute_op, 0, strlen(op) + 1);
- strcpy(attribute_op, op);
- attribute_op[strlen(op) + 1] = '\0';
+ attribute_op = calloc(strlen(op) + 1, sizeof(char *));
+ memcpy(attribute_op, op, strlen(op));
}
if (strcmp(attribute_op, "=") == 0)
{
@@ -3064,7 +3059,7 @@ static int diameap_server_callback(struct msg ** rmsg, struct avp * ravp,
struct sess_state * diameap_sess_data = NULL;
struct diameap_state_machine * diameap_sm = NULL;
struct diameap_eap_interface eap_i;
- struct msg *req, *ans;
+ struct msg *req, *ans = NULL;
boolean non_fatal_error = FALSE;
if (rmsg == NULL)
diff --git a/extensions/app_radgw/md5.c b/extensions/app_radgw/md5.c
index 055fcf0..88995f6 100644
--- a/extensions/app_radgw/md5.c
+++ b/extensions/app_radgw/md5.c
@@ -286,8 +286,7 @@ void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
byteReverse(ctx->in, 14);
/* Append length in bits and transform */
- ((u32 *) ctx->in)[14] = ctx->bits[0];
- ((u32 *) ctx->in)[15] = ctx->bits[1];
+ os_memcpy(&ctx->in[56], &ctx->bits[0], 8);
MD5Transform(ctx->buf, (u32 *) ctx->in);
byteReverse((unsigned char *) ctx->buf, 4);
diff --git a/extensions/app_radgw/rgw_clients.c b/extensions/app_radgw/rgw_clients.c
index 10922ce..1954f7f 100644
--- a/extensions/app_radgw/rgw_clients.c
+++ b/extensions/app_radgw/rgw_clients.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2020, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
@@ -548,7 +548,7 @@ int rgw_clients_create_origin(struct rgw_radius_msg_meta *msg, struct rgw_client
int idx;
int valid_nas_info = 0;
struct radius_attr_hdr *nas_ip = NULL, *nas_ip6 = NULL, *nas_id = NULL;
- size_t nas_id_len;
+ size_t nas_id_len = 0;
char * oh_str = NULL; size_t oh_strlen = 0; int oh_free = 0;
char * or_str = NULL; size_t or_strlen = 0;
char * rr_str = NULL; size_t rr_strlen = 0;
@@ -710,7 +710,7 @@ int rgw_clients_create_origin(struct rgw_radius_msg_meta *msg, struct rgw_client
ASSERT(nas_id);
{
- int found, ret;
+ int found = 0, ret;
struct addrinfo hint, *res, *ptr;
/*
@@ -763,7 +763,7 @@ int rgw_clients_create_origin(struct rgw_radius_msg_meta *msg, struct rgw_client
hint.ai_flags = AI_CANONNAME;
ret = getaddrinfo(buf, NULL, &hint, &res);
if (ret == 0) {
- strncpy(buf, res->ai_canonname, sizeof(buf));
+ snprintf(buf, sizeof(buf), "%s", res->ai_canonname);
/* The name was resolved correctly, does it match the IP of the client? */
for (ptr = res; ptr != NULL; ptr = ptr->ai_next) {
if (cli->sa->sa_family != ptr->ai_family)
diff --git a/extensions/app_sip/TODO b/extensions/app_sip/TODO
index 661face..bef88f7 100644
--- a/extensions/app_sip/TODO
+++ b/extensions/app_sip/TODO
@@ -49,6 +49,10 @@ TODO List
* add mutex on mysql writing
* check multithreading of mysql!
* get destination host in database for RTR and PPR
+* libapp_sip.c: fix username_pure memory leaks
+* app_sip_MAR_cb:
+ - too much mysql_real_escape_string() use, both within the function and functions it calls
+ - on error, leaks allocated: sipuri, username, query.
diff --git a/extensions/app_sip/app_sip.h b/extensions/app_sip/app_sip.h
index a6532b7..09960c6 100644
--- a/extensions/app_sip/app_sip.h
+++ b/extensions/app_sip/app_sip.h
@@ -110,8 +110,6 @@ void DigestCalcHA1(char * pszAlg,char * pszUserName,char * pszRealm,char * pszPa
void DigestCalcResponse(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response);
void DigestCalcResponseAuth(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response);
-int fd_avp_search_avp ( struct avp * groupedavp, struct dict_object * what, struct avp ** avp );
-
//thread procedure
void *rtr_socket(void *);
void *ppr_socket(void *);
diff --git a/extensions/app_sip/libapp_sip.c b/extensions/app_sip/libapp_sip.c
index 6442ff4..ffe1c80 100644
--- a/extensions/app_sip/libapp_sip.c
+++ b/extensions/app_sip/libapp_sip.c
@@ -66,54 +66,6 @@ void calc_md5(char *clearDigest, char * data)
return;
}
-
-/* Search a given AVP model in an AVP (extracted from libfreediameter/message.c ) */
-int fd_avp_search_avp ( struct avp * groupedavp, struct dict_object * what, struct avp ** avp )
-{
- struct avp * nextavp;
- struct avp_hdr * nextavphdr;
- struct dict_avp_data dictdata;
-
-
- TRACE_ENTRY("%p %p %p", groupedavp, what, avp);
-
- CHECK_FCT( fd_dict_getval(what, &dictdata) );
-
- // Loop only in the group AVP
- CHECK_FCT( fd_msg_browse(groupedavp, MSG_BRW_FIRST_CHILD, (void *)&nextavp, NULL) );
- CHECK_FCT( fd_msg_avp_hdr( nextavp, &nextavphdr ) );
-
- while (nextavphdr) {
-
- if ( (nextavphdr->avp_code == dictdata.avp_code) && (nextavphdr->avp_vendor == dictdata.avp_vendor) ) // always 0 if no Vendor flag
- {
- break;
- }
-
- // Otherwise move to next AVP in the grouped AVP
- CHECK_FCT( fd_msg_browse(nextavp, MSG_BRW_NEXT, (void *)&nextavp, NULL) );
-
- if(nextavp!=NULL)
- {
- CHECK_FCT( fd_msg_avp_hdr( nextavp, &nextavphdr ) );
- }
- else
- nextavphdr=NULL;
- }
- if (avp)
- *avp = nextavp;
-
- if (avp && nextavp) {
- struct dictionary * dict;
- CHECK_FCT( fd_dict_getdict( what, &dict) );
- CHECK_FCT_DO( fd_msg_parse_dict( nextavp, dict, NULL ), );
- }
-
- if (avp || nextavp)
- return 0;
- else
- return ENOENT;
-}
struct avp_hdr *walk_digest(struct avp *avp, int avp_code)
{
struct avp_hdr *temphdr=NULL;
diff --git a/extensions/app_sip/md5.c b/extensions/app_sip/md5.c
index 4079bda..11b18f5 100644
--- a/extensions/app_sip/md5.c
+++ b/extensions/app_sip/md5.c
@@ -309,8 +309,7 @@ void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
byteReverse(ctx->in, 14);
/* Append length in bits and transform */
- ((u32 *) ctx->in)[14] = ctx->bits[0];
- ((u32 *) ctx->in)[15] = ctx->bits[1];
+ os_memcpy(&ctx->in[56], &ctx->bits[0], 8);
MD5Transform(ctx->buf, (u32 *) ctx->in);
byteReverse((unsigned char *) ctx->buf, 4);
diff --git a/extensions/app_sip/multimediaauth.c b/extensions/app_sip/multimediaauth.c
index 12c1bcb..cb368da 100644
--- a/extensions/app_sip/multimediaauth.c
+++ b/extensions/app_sip/multimediaauth.c
@@ -50,7 +50,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
union avp_value val;
int found_cnonce=0;
struct avp * tempavp=NULL,*sipAuthentication=NULL,*sipAuthenticate=NULL;
- char * result;
+ char * result = NULL;
char password[51];
int idx=0, number_of_auth_items=0,i=0, ret=0;
//Flags and variables for Database
@@ -148,7 +148,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
if(not_found)
{
- TRACE_DEBUG(FULL,"The user %s doesn't exist!",username);
+ TRACE_DEBUG(FULL,"The user %s doesn't exist!", avphdr->avp_value->os.data);
result="DIAMETER_ERROR_USER_UNKNOWN";
free(username);
goto out;
@@ -320,7 +320,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
//CHECK_FCT(fd_msg_browse ( avp, MSG_BRW_WALK, &avp, NULL) );
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
if(a2!=NULL)
found_cnonce=1;
@@ -457,7 +457,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
char * digest_username=NULL, *digest_uri=NULL, *digest_response=NULL, *digest_realm=NULL, *digest_nonce=NULL, *digest_method=NULL, *digest_qop=NULL, *digest_algorithm=NULL, *digest_cnonce=NULL, *digest_noncecount=NULL;
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Nonce, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Nonce, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -486,7 +486,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Response, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Response, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -500,7 +500,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Realm, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Realm, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -514,7 +514,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Method, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Method, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -530,7 +530,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
else
digest_method="";
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_URI, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_URI, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -544,7 +544,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_QOP, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_QOP, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -559,7 +559,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
else
digest_qop=NULL;
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Algorithm, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Algorithm, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -574,7 +574,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
else
digest_algorithm=NULL;
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -589,7 +589,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
else
digest_cnonce="";
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Nonce_Count, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Nonce_Count, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -604,7 +604,7 @@ int app_sip_MAR_cb( struct msg ** msg, struct avp * paramavp, struct session * s
}
else
digest_noncecount="";
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Username, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Username, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
diff --git a/extensions/app_sip/registrationtermination.c b/extensions/app_sip/registrationtermination.c
index 9300467..7f43c28 100644
--- a/extensions/app_sip/registrationtermination.c
+++ b/extensions/app_sip/registrationtermination.c
@@ -114,7 +114,7 @@ int app_sip_RTR_cb(struct rtrsipaor *structure)
}
}
- if(structure->strreason!='\0')
+ if(structure->strreason[0]!='\0')
got_streason=1;
diff --git a/extensions/dbg_dict_dump/CMakeLists.txt b/extensions/dbg_dict_dump/CMakeLists.txt
new file mode 100644
index 0000000..c193666
--- /dev/null
+++ b/extensions/dbg_dict_dump/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Dictionary dump extension
+PROJECT("Dictionary dump extension" C)
+FD_ADD_EXTENSION(dbg_dict_dump dbg_dict_dump.c)
+
+
+####
+## INSTALL section ##
+
+INSTALL(TARGETS dbg_dict_dump
+ LIBRARY DESTINATION ${INSTALL_EXTENSIONS_SUFFIX}
+ COMPONENT freeDiameter-debug-tools)
+
diff --git a/extensions/dbg_dict_dump/dbg_dict_dump.c b/extensions/dbg_dict_dump/dbg_dict_dump.c
new file mode 100644
index 0000000..2fa0b5e
--- /dev/null
+++ b/extensions/dbg_dict_dump/dbg_dict_dump.c
@@ -0,0 +1,87 @@
+/*********************************************************************************************************
+* Software License Agreement (BSD License) *
+* Author: Luke Mewburn <luke@mewburn.net> *
+* *
+* Copyright (c) 2020, WIDE Project and NICT *
+* All rights reserved. *
+* *
+* Redistribution and use of this software in source and binary forms, with or without modification, are *
+* permitted provided that the following conditions are met: *
+* *
+* * Redistributions of source code must retain the above *
+* copyright notice, this list of conditions and the *
+* following disclaimer. *
+* *
+* * Redistributions in binary form must reproduce the above *
+* copyright notice, this list of conditions and the *
+* following disclaimer in the documentation and/or other *
+* materials provided with the distribution. *
+* *
+* * Neither the name of the WIDE Project or NICT nor the *
+* names of its contributors may be used to endorse or *
+* promote products derived from this software without *
+* specific prior written permission of WIDE Project and *
+* NICT. *
+* *
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
+* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
+* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
+* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
+* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
+* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+*********************************************************************************************************/
+
+/*
+ * Dump Diameter dictionary (using fd_dict_dump()) to a file or the log.
+ *
+ * If conffile is provided, write the dump to that file,
+ * otherwise write to log.
+ */
+
+#include <freeDiameter/extension.h>
+
+static int dbg_dict_dump_entry(char * conffile)
+{
+ TRACE_ENTRY("%p", conffile);
+
+ FILE * out = NULL;
+ if (conffile) {
+ LOG_N("Dictionary dump to file '%s'", conffile);
+ out = fopen(conffile, "w");
+ if (NULL == out) {
+ LOG_E("Cannot open output file '%s' for writing", conffile);
+ return EINVAL;
+ }
+ } else {
+ LOG_N("Dictionary dump to log");
+ }
+
+ char * tbuf = NULL; size_t tbuflen = 0;
+ if (NULL == fd_dict_dump(&tbuf, &tbuflen, NULL, fd_g_config->cnf_dict)) {
+ LOG_E("Cannot dump dictionary");
+ } else if (out) {
+ fprintf(out, "%s\n", tbuf);
+ } else {
+ LOG_N("%s", fd_dict_dump(&tbuf, &tbuflen, NULL, fd_g_config->cnf_dict));
+ }
+ free(tbuf);
+ if (out) {
+ fclose(out);
+ out = NULL;
+ }
+
+ LOG_N("Dictionary dump completed");
+ return 0;
+}
+
+void fd_ext_fini(void)
+{
+ TRACE_ENTRY();
+
+ /* Nothing to do */
+ return;
+}
+
+EXTENSION_ENTRY("dbg_dict_dump", dbg_dict_dump_entry);
diff --git a/extensions/dbg_dict_dump_json/CMakeLists.txt b/extensions/dbg_dict_dump_json/CMakeLists.txt
new file mode 100644
index 0000000..e02306b
--- /dev/null
+++ b/extensions/dbg_dict_dump_json/CMakeLists.txt
@@ -0,0 +1,21 @@
+PROJECT("Dictionary dump to JSON extension" C)
+FD_ADD_EXTENSION(dbg_dict_dump_json dbg_dict_dump_json.cc)
+
+# sneakily uses dictionary-internal.h
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../libfdproto)
+
+INCLUDE(FindPkgConfig)
+
+# Uses JSONCPP to write JSON files
+PKG_CHECK_MODULES(JSONCPP REQUIRED jsoncpp)
+INCLUDE_DIRECTORIES(${JSONCPP_INCLUDE_DIRS})
+LINK_DIRECTORIES(${JSONCPP_LIBDIR})
+TARGET_LINK_LIBRARIES(dbg_dict_dump_json ${JSONCPP_LIBRARIES})
+
+####
+## INSTALL section ##
+
+INSTALL(TARGETS dbg_dict_dump_json
+ LIBRARY DESTINATION ${INSTALL_EXTENSIONS_SUFFIX}
+ COMPONENT freeDiameter-debug-tools)
+
diff --git a/extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc b/extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc
new file mode 100644
index 0000000..6fd2539
--- /dev/null
+++ b/extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc
@@ -0,0 +1,441 @@
+/**********************************************************************************************************
+ * Software License Agreement (BSD License) *
+ * Author: Thomas Klausner <tk@giga.or.at> *
+ * *
+ * Copyright (c) 2020 Thomas Klausner *
+ * All rights reserved. *
+ * *
+ * Written under contract by nfotex IT GmbH, http://nfotex.com/ *
+ * *
+ * Redistribution and use of this software in source and binary forms, with or without modification, are *
+ * permitted provided that the following conditions are met: *
+ * *
+ * * Redistributions of source code must retain the above *
+ * copyright notice, this list of conditions and the *
+ * following disclaimer. *
+ * *
+ * * Redistributions in binary form must reproduce the above *
+ * copyright notice, this list of conditions and the *
+ * following disclaimer in the documentation and/or other *
+ * materials provided with the distribution. *
+ * *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ **********************************************************************************************************/
+
+
+/*
+ * Dump Diameter dictionary to JSON file.
+ */
+
+#include <freeDiameter/extension.h>
+#include "dictionary-internal.h"
+#include <json/json.h>
+#include <sys/stat.h>
+
+#include <iomanip>
+#include <sstream>
+
+
+void
+dump_vendor(dict_object *self, struct dict_vendor_data *data, struct dict_object *parent, int depth, Json::Value &main)
+{
+ Json::Value vendor;
+
+ vendor["Code"] = Json::Value(data->vendor_id);
+ vendor["Name"] = Json::Value(data->vendor_name);
+ main["Vendors"].append(vendor);
+}
+
+void
+dump_application(dict_object *self, struct dict_application_data *data, struct dict_object *parent, int depth, Json::Value &main)
+{
+ Json::Value application;
+
+ application["Code"] = Json::Value(data->application_id);
+ application["Name"] = Json::Value(data->application_name);
+ main["Applications"].append(application);
+}
+
+void
+dump_enumval(dict_object *self, struct dict_enumval_data *data, struct dict_object *parent, int depth, Json::Value &main)
+{
+ enum dict_avp_basetype type;
+ struct dict_type_data type_data;
+ Json::Value enumval;
+ bool is_printable;
+
+ type = parent->data.type.type_base;
+
+ /* Standard only allows Integer32 Enumerated values, but freeDiameter is more permissive */
+ switch (type) {
+ case AVP_TYPE_OCTETSTRING:
+ is_printable = true;
+ for (size_t i = 0; i < data->enum_value.os.len; i++) {
+ if (isprint(data->enum_value.os.data[i]) == 0) {
+ is_printable = false;
+ break;
+ }
+ }
+ if (is_printable) {
+ std::string output((const char*)data->enum_value.os.data, (size_t)data->enum_value.os.len);
+ enumval["Code"] = Json::Value(output);
+ } else {
+ std::stringstream quoted_string;
+ quoted_string << "<";
+ for (size_t i = 0; i < data->enum_value.os.len; i++) {
+ quoted_string << std::hex << std::setfill('0') << std::setw(2) << (int)data->enum_value.os.data[i];
+ }
+ quoted_string << ">";
+ enumval["Code"] = Json::Value(quoted_string.str());
+ }
+ break;
+
+ case AVP_TYPE_INTEGER32:
+ enumval["Code"] = Json::Value(data->enum_value.i32);
+ break;
+
+ case AVP_TYPE_INTEGER64:
+ enumval["Code"] = Json::Value(static_cast<Json::Int64>(data->enum_value.i64));
+ break;
+
+ case AVP_TYPE_UNSIGNED32:
+ enumval["Code"] = Json::Value(data->enum_value.u32);
+ break;
+
+ case AVP_TYPE_UNSIGNED64:
+ enumval["Code"] = Json::Value(static_cast<Json::UInt64>(data->enum_value.u64));
+ break;
+
+ case AVP_TYPE_FLOAT32:
+ enumval["Code"] = Json::Value(data->enum_value.f32);
+ break;
+
+ case AVP_TYPE_FLOAT64:
+ enumval["Code"] = Json::Value(data->enum_value.f64);
+ break;
+
+ default:
+ printf("??? (ERROR unknown type %d)", type);
+ break;
+ }
+ if (fd_dict_getval(parent, &type_data) != 0) {
+ /* TODO: fd_dict_getval error */
+ return;
+ }
+ if (!main.isMember("Types") || !main["Types"].isMember(type_data.type_name)) {
+ /* TODO: missing type error */
+ return;
+ }
+
+ enumval["Name"] = Json::Value(data->enum_name);
+ main["Types"][type_data.type_name]["EnumValues"].append(enumval);
+}
+
+void
+dump_type(dict_object *self, struct dict_type_data *data, struct dict_object *parent, int depth, Json::Value &main)
+{
+ Json::Value type;
+
+ type["Name"] = Json::Value(data->type_name);
+ type["Base"] = Json::Value(type_base_name[data->type_base]);
+ main["Types"][data->type_name] = type;
+}
+
+#define AVPFL_str "%s%s"
+#define AVPFL_val(_val) (_val & AVP_FLAG_VENDOR)?"V":"" , (_val & AVP_FLAG_MANDATORY)?"M":""
+
+void
+dump_avp(dict_object *self, struct dict_avp_data *data, struct dict_object *parent, int depth, Json::Value &main)
+{
+ struct dict_object *type = NULL;
+ struct dict_type_data type_data;
+ Json::Value avp;
+ char flags[10];
+
+ if (fd_dict_search(fd_g_config->cnf_dict, DICT_TYPE, TYPE_OF_AVP, self, &type, 0) != 0) {
+ /* TODO: fd_dict_search error */
+ return;
+ }
+
+ if ((type == NULL) || (fd_dict_getval(type, &type_data) != 0)) {
+ avp["Type"] = Json::Value(type_base_name[data->avp_basetype]);
+ } else {
+ if (strstr(type_data.type_name, "Enumerated") != 0) {
+ if (data->avp_basetype == AVP_TYPE_INTEGER32) {
+ avp["Type"] = "Enumerated";
+ } else {
+ /* freeDiameter allows enumerated types not based on integer32;
+ * write those out with their basic type for dict_json */
+ avp["Type"] = Json::Value(type_base_name[data->avp_basetype]);
+ }
+ } else {
+ avp["Type"] = Json::Value(type_data.type_name);
+ }
+ if (main["Types"].isMember(type_data.type_name) && main["Types"][type_data.type_name].isMember("EnumValues")) {
+ avp["EnumValues"] = main["Types"][type_data.type_name]["EnumValues"];
+ }
+ }
+
+ avp["Code"] = Json::Value(data->avp_code);
+ if (data->avp_vendor != 0) {
+ avp["Vendor"] = Json::Value(data->avp_vendor);
+ }
+ avp["Name"] = Json::Value(data->avp_name);
+ snprintf(flags, sizeof(flags), AVPFL_str, AVPFL_val(data->avp_flag_val));
+ avp["Flags"]["Must"] = Json::Value(flags);
+ snprintf(flags, sizeof(flags), AVPFL_str, AVPFL_val(data->avp_flag_mask & ~data->avp_flag_val));
+ avp["Flags"]["MustNot"] = Json::Value(flags);
+
+ main["AVPs"].append(avp);
+}
+
+#define CMDFL_str "%s%s%s%s"
+#define CMDFL_val(_val) (_val & CMD_FLAG_REQUEST)?"R":"" , (_val & CMD_FLAG_PROXIABLE)?"P":"" , (_val & CMD_FLAG_ERROR)?"E":"" , (_val & CMD_FLAG_RETRANSMIT)?"T":""
+
+void
+dump_command(dict_object *self, struct dict_cmd_data *data, struct dict_object *parent, int depth, Json::Value &main)
+{
+ Json::Value command;
+ char flags[10];
+
+ command["Code"] = Json::Value(data->cmd_code);
+ command["Name"] = Json::Value(data->cmd_name);
+ snprintf(flags, sizeof(flags), CMDFL_str, CMDFL_val(data->cmd_flag_val));
+ command["Flags"]["Must"] = Json::Value(flags);
+ snprintf(flags, sizeof(flags), CMDFL_str, CMDFL_val(data->cmd_flag_mask & ~data->cmd_flag_val));
+ command["Flags"]["MustNot"] = Json::Value(flags);
+ main["Commands"].append(command);
+}
+
+bool dump_object(dict_object *self, int depth, Json::Value &main);
+
+void
+dump_rule(dict_object *self, struct dict_rule_data *data, struct dict_object *parent, int depth, Json::Value &main)
+{
+ Json::Value avp_rule;
+ struct dict_avp_data avp_data;
+ const char *slot, *entry, *parent_avp_name;
+ vendor_id_t parent_avp_vendor;
+ unsigned int i;
+ bool found = false;
+ enum dict_object_type parent_type;
+
+ if (fd_dict_getval(data->rule_avp, &avp_data) != 0) {
+ /* TODO: fd_dict_getval error */
+ return;
+ }
+
+ if (avp_data.avp_vendor != 0) {
+ avp_rule["Vendor"] = Json::Value(avp_data.avp_vendor);
+ }
+ avp_rule["AVP"] = Json::Value(avp_data.avp_name);
+ /* TODO is this correct? what does rule_order specify? */
+ if (data->rule_position == RULE_FIXED_HEAD) {
+ avp_rule["First"] = Json::Value(true);
+ }
+ /* TODO: insert "unbounded" for -1? */
+ if (data->rule_min != -1) {
+ avp_rule["Min"] = Json::Value(data->rule_min);
+ }
+ if (data->rule_max != -1) {
+ avp_rule["Max"] = Json::Value(data->rule_max);
+ }
+
+ int ret = fd_dict_gettype(parent, &parent_type);
+ if (ret != 0) {
+ /* TODO: fd_dict_gettype error */
+ return;
+ }
+
+ if (parent_type == DICT_AVP) {
+ struct dict_avp_data parent_data;
+
+ slot = "AVPRules";
+ entry = "AVP";
+ if (fd_dict_getval(parent, &parent_data) != 0) {
+ /* TODO: fd_dict_getval error */
+ return;
+ }
+ parent_avp_name = parent_data.avp_name;
+ parent_avp_vendor = parent_data.avp_vendor;
+ } else if (parent_type == DICT_COMMAND) {
+ struct dict_cmd_data parent_data;
+
+ slot = "CommandRules";
+ entry = "Command";
+ if (fd_dict_getval(parent, &parent_data) != 0) {
+ /* TODO: fd_dict_getval error */
+ return;
+ }
+ parent_avp_name = parent_data.cmd_name;
+ parent_avp_vendor = 0;
+ } else {
+ /* TODO: error, unknown case */
+ return;
+ }
+
+ for (i=0; i<main[slot].size(); i++) {
+ if (main[slot][i][entry] == parent_avp_name
+ && (parent_avp_vendor == 0 || !main[slot][i].isMember("Vendor") || parent_avp_vendor == main[slot][i]["Vendor"].asUInt())) {
+ found = true;
+ main[slot][i]["Content"].append(avp_rule);
+ break;
+ }
+ }
+ if (!found) {
+ Json::Value parent_avp;
+ parent_avp[entry] = parent_avp_name;
+ if (parent_avp_vendor != 0) {
+ parent_avp["Vendor"] = Json::Value(parent_avp_vendor);
+ }
+ parent_avp["Content"].append(avp_rule);
+ main[slot].append(parent_avp);
+ }
+
+}
+
+bool
+dump_list(struct fd_list *list, const char *type, int depth, Json::Value &main) {
+ fd_list *li;
+ for (li = list->next; li != list; li = li->next) {
+ if (!dump_object((dict_object *)li->o, depth, main)) {
+ LOG_E("error dumping %s", type);
+ return false;
+ }
+ }
+ return true;
+}
+
+bool
+dump_object(dict_object *self, int depth, Json::Value &main)
+{
+ enum dict_object_type t;
+ int ret = fd_dict_gettype (self, &t);
+ if (ret != 0) {
+ return false;
+ }
+
+ switch (t) {
+#define DUMP_OBJECT_CASE(TYPE, STRUCT, DUMP_FUNCTION) \
+ case TYPE: { \
+ struct STRUCT * data = NULL; \
+ int i; \
+ data = (struct STRUCT *)malloc(sizeof(struct STRUCT)); \
+ if (!data) { \
+ /* TODO: malloc error */ \
+ return false; \
+ } \
+ ret = fd_dict_getval(self, data); \
+ if (ret != 0) { \
+ /* TODO: fd_dict_getval error */ \
+ free(data); \
+ return false; \
+ } \
+ DUMP_FUNCTION(self, data, self->parent, depth, main); \
+ if (depth > 0) { \
+ for (i=0; i<NB_LISTS_PER_OBJ; i++) { \
+ if ((self->list[i].o == NULL) && (self->list[i].next != &self->list[i])) { \
+ dump_list(&self->list[i], 0, depth-1, main); \
+ break; \
+ } \
+ } \
+ } \
+ } \
+ break;
+
+ DUMP_OBJECT_CASE(DICT_VENDOR, dict_vendor_data, dump_vendor);
+ DUMP_OBJECT_CASE(DICT_APPLICATION, dict_application_data, dump_application);
+ DUMP_OBJECT_CASE(DICT_TYPE, dict_type_data, dump_type);
+ DUMP_OBJECT_CASE(DICT_ENUMVAL, dict_enumval_data, dump_enumval);
+ DUMP_OBJECT_CASE(DICT_AVP, dict_avp_data, dump_avp);
+ DUMP_OBJECT_CASE(DICT_COMMAND, dict_cmd_data, dump_command);
+ DUMP_OBJECT_CASE(DICT_RULE, dict_rule_data, dump_rule);
+ default:
+ /* TODO: unhandled type error */
+ return false;
+ }
+ return true;
+}
+
+bool
+dump_dictionary_to_json(dictionary *dict, Json::Value &main)
+{
+ if (dict == NULL) {
+ return false;
+ }
+
+ if (pthread_rwlock_rdlock(&dict->dict_lock) != 0) {
+ return false;
+ }
+
+ dump_list(&(dict->dict_types), "types", 2, main);
+ dump_object(&(dict->dict_vendors), 3, main);
+ dump_list(&(dict->dict_vendors.list[0]), "vendors", 3, main);
+ dump_object(&(dict->dict_applications), 1, main);
+ dump_list(&(dict->dict_applications.list[0]), "applications", 1, main);
+ dump_list(&(dict->dict_cmd_code), "commands", 1, main);
+
+ if (pthread_rwlock_unlock( &dict->dict_lock) != 0) {
+ return false;
+ }
+
+ return true;
+}
+
+
+static int
+dbg_dict_dump_json_entry(char * conffile)
+{
+ TRACE_ENTRY("%p", conffile);
+ Json::Value main;
+ Json::Value types = Json::Value::null;
+ Json::StyledWriter writer;
+ FILE *out = stdout;
+
+ if (conffile) {
+ if ((out=fopen(conffile, "w")) == NULL) {
+ LOG_E("cannot open output file '%s' for writing", conffile);
+ return EINVAL;
+ }
+ }
+
+ /* get main dictionary */
+ struct dictionary * dict = fd_g_config->cnf_dict;
+ if (!dump_dictionary_to_json(dict, main)) {
+ LOG_E("error dumping dictionary to JSON");
+ return EINVAL;
+ }
+ /* remove enumerated types before dumping, they are in AVPs */
+ /* convert remaining ones to array */
+ Json::Value::Members members = main["Types"].getMemberNames();
+ for (Json::Value::Members::const_iterator it = members.begin() ; it != members.end(); ++it) {
+ if (strncmp("Enumerated", main["Types"][*it]["Name"].asCString(), strlen("Enumerated")) == 0) {
+ main["Types"].removeMember(*it);
+ } else {
+ types.append(main["Types"][*it]);
+ }
+ }
+ main.removeMember("Types");
+ main["Types"] = types;
+
+ std::string value_str = writer.write(main);
+ fprintf(out, "%s\n", value_str.c_str());
+
+ if (conffile) {
+ fclose(out);
+ }
+
+ LOG_N("Extension 'Dump dictionaries to JSON' initialized");
+ return 0;
+}
+
+extern "C" {
+ EXTENSION_ENTRY("dbg_dict_dump_json", dbg_dict_dump_json_entry);
+}
diff --git a/extensions/dbg_loglevel/dbg_loglevel_conf.l b/extensions/dbg_loglevel/dbg_loglevel_conf.l
index 0a8d206..038e50a 100644
--- a/extensions/dbg_loglevel/dbg_loglevel_conf.l
+++ b/extensions/dbg_loglevel/dbg_loglevel_conf.l
@@ -3,7 +3,7 @@
* Authors: Thomas Klausner <tk@giga.or.at> based on code by Sebastien Decugis <sdecugis@freediameter.net>*
* *
* Copyright (c) 2019, Thomas Klausner *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Written under contract by Effortel Technologies SA, http://effortel.com/ *
diff --git a/extensions/dbg_monitor/dbg_monitor.c b/extensions/dbg_monitor/dbg_monitor.c
index de7c13a..f5d8f09 100644
--- a/extensions/dbg_monitor/dbg_monitor.c
+++ b/extensions/dbg_monitor/dbg_monitor.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2020, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
@@ -75,7 +75,9 @@ static void display_info(char * queue_desc, char * peer, int current_count, int
static pthread_t thr;
static void * mn_thr(void * arg)
{
+#ifdef DEBUG
int i = 0;
+#endif
fd_log_threadname("Monitor thread");
char * buf = NULL;
size_t len;
diff --git a/extensions/dbg_msg_dumps/dbg_msg_dumps.c b/extensions/dbg_msg_dumps/dbg_msg_dumps.c
index a26b14c..238f2b0 100644
--- a/extensions/dbg_msg_dumps/dbg_msg_dumps.c
+++ b/extensions/dbg_msg_dumps/dbg_msg_dumps.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2015, WIDE Project and NICT *
+* Copyright (c) 2016, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/dbg_rt/dbg_rt.c b/extensions/dbg_rt/dbg_rt.c
index 906e18e..0aefcbe 100644
--- a/extensions/dbg_rt/dbg_rt.c
+++ b/extensions/dbg_rt/dbg_rt.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2020, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
@@ -33,8 +33,8 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
*********************************************************************************************************/
-/*
- * Debug-only extension for routing module;
+/*
+ * Debug-only extension for routing module;
* displays state information at the end of routing information process.
*/
#include <freeDiameter/extension.h>
@@ -47,7 +47,7 @@ static int dbgrt_fwd_cb(void * cbdata, struct msg ** msg)
{
char * buf = NULL; size_t buflen;
TRACE_ENTRY("%p %p", cbdata, msg);
-
+
LOG_D("[dbg_rt] FWD routing message: %p", msg ? *msg : NULL);
if (msg) {
CHECK_MALLOC( fd_msg_dump_treeview(&buf, &buflen, NULL, *msg, NULL, 0, 1) );
@@ -63,19 +63,20 @@ static int dbgrt_out_cb(void * cbdata, struct msg ** pmsg, struct fd_list * cand
struct fd_list * li;
struct msg * msg = *pmsg;
char * buf = NULL; size_t buflen;
-
+
TRACE_ENTRY("%p %p %p", cbdata, msg, candidates);
-
+
LOG_D("[dbg_rt] OUT routing message: %p", msg);
CHECK_MALLOC( fd_msg_dump_treeview(&buf, &buflen, NULL, msg, NULL, 0, 1) );
LOG_D("%s", buf);
+ free(buf);
LOG_D("[dbg_rt] Current list of candidates (%p): (score - id)", msg);
-
+
for (li = candidates->next; li != candidates; li = li->next) {
struct rtd_candidate *c = (struct rtd_candidate *) li;
LOG_D("[dbg_rt] %d -\t%s", c->score, c->diamid);
}
-
+
return 0;
}
@@ -83,7 +84,7 @@ static int dbgrt_out_cb(void * cbdata, struct msg ** pmsg, struct fd_list * cand
static int dbgrt_main(char * conffile)
{
TRACE_ENTRY("%p", conffile);
-
+
CHECK_FCT( fd_rt_fwd_register ( dbgrt_fwd_cb, NULL, RT_FWD_ALL, &fwd_hdl ) );
CHECK_FCT( fd_rt_out_register ( dbgrt_out_cb, NULL, -1 /* so that it is called late */, &out_hdl ) );
@@ -94,11 +95,11 @@ static int dbgrt_main(char * conffile)
void fd_ext_fini(void)
{
TRACE_ENTRY();
-
+
/* Unregister the modules */
CHECK_FCT_DO( fd_rt_fwd_unregister ( fwd_hdl, NULL ), /* continue */ );
CHECK_FCT_DO( fd_rt_out_unregister ( out_hdl, NULL ), /* continue */ );
-
+
return ;
}
diff --git a/extensions/dict_dcca_3gpp/CMakeLists.txt b/extensions/dict_dcca_3gpp/CMakeLists.txt
index 7105c15..b4cc5ba 100644
--- a/extensions/dict_dcca_3gpp/CMakeLists.txt
+++ b/extensions/dict_dcca_3gpp/CMakeLists.txt
@@ -2,7 +2,7 @@
PROJECT("Diameter DCCA (Diameter Credit Control Application) 3GPP dictionary definitions" C)
# Compile as a module
-FD_ADD_EXTENSION(dict_dcca_3gpp dict_dcca_3gpp.c)
+FD_ADD_EXTENSION(dict_dcca_3gpp dict_dcca_3gpp.c add_avps.c)
####
diff --git a/extensions/dict_dcca_3gpp/add_avps.c b/extensions/dict_dcca_3gpp/add_avps.c
new file mode 100644
index 0000000..60d3c64
--- /dev/null
+++ b/extensions/dict_dcca_3gpp/add_avps.c
@@ -0,0 +1,21454 @@
+/*
+Generated by:
+ csv_to_fd -p fdc dict_dcca_3gpp.csv
+
+Do not modify; modify the source .csv files instead.
+*/
+
+#include <freeDiameter/extension.h>
+
+#define CHECK_dict_new( _type, _data, _parent, _ref ) \
+ CHECK_FCT( fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref)) );
+
+#define CHECK_dict_search( _type, _criteria, _what, _result ) \
+ CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
+
+int add_avps()
+{
+ struct dict_object * DiameterIdentity_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "DiameterIdentity", &DiameterIdentity_type);
+
+ struct dict_object * DiameterURI_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "DiameterURI", &DiameterURI_type);
+
+ struct dict_object * Time_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
+
+ struct dict_object * UTF8String_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
+
+ struct dict_object * IPFilterRule_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "IPFilterRule", &IPFilterRule_type);
+
+ struct dict_object * Address_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "Address", &Address_type);
+
+ /*==================================================================*/
+ /* 3GPP TS 29.061 V15.5.0 (2018-12) */
+ /* Interworking between the Public Land Mobile Network (PLMN) */
+ /* supporting packet based services and */
+ /* Packet Data Networks (PDN) */
+ /* */
+ /* From 3GPP 29061-f50.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.061 Table 9a: Gi/Sgi specific AVPs */
+
+ /* Note: 3GPP TS 29.061 is unclear and inconsistent about M. */
+ /* For this reason, other sources are assumed more trustworthy. */
+ /*==================================================================*/
+
+ /* Fix: 3GPP-IMSI (1) changed to Must M. */
+ /* 3GPP-IMSI, UTF8String, code 1, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 1, /* Code */
+ 10415, /* Vendor */
+ "3GPP-IMSI", /* 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);
+ };
+
+ /* Fix: 3GPP-Charging-Id (2) type changed from OctetString to Unsigned32, */
+ /* per 3GPP TS 29.061 clause 16.4.7.2/2 and packet dumps. */
+ /* 3GPP-Charging-Id, Unsigned32, code 2, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 2, /* Code */
+ 10415, /* Vendor */
+ "3GPP-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);
+ };
+
+ /* Fix: 3GPP-PDP-Type (3) changed to Must M. */
+ /* 3GPP-PDP-Type, Enumerated, code 3, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 3, /* Code */
+ 10415, /* Vendor */
+ "3GPP-PDP-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, "Enumerated(3GPP/3GPP-PDP-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* 3GPP-CG-Address, OctetString, code 4, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 4, /* Code */
+ 10415, /* Vendor */
+ "3GPP-CG-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Fix: 3GPP-GPRS-Negotiated-QoS-Profile (5) changed to Must M per contrib/3gpp. */
+ /* 3GPP-GPRS-Negotiated-QoS-Profile, UTF8String, code 5, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 5, /* Code */
+ 10415, /* Vendor */
+ "3GPP-GPRS-Negotiated-QoS-Profile", /* 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);
+ };
+
+ /* 3GPP-SGSN-Address, OctetString, code 6, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 6, /* Code */
+ 10415, /* Vendor */
+ "3GPP-SGSN-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-GGSN-Address, OctetString, code 7, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 7, /* Code */
+ 10415, /* Vendor */
+ "3GPP-GGSN-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Fix: 3GPP-IMSI-MCC-MNC (8) changed to Must M per packet dumps. */
+ /* 3GPP-IMSI-MCC-MNC, UTF8String, code 8, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 8, /* Code */
+ 10415, /* Vendor */
+ "3GPP-IMSI-MCC-MNC", /* 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);
+ };
+
+ /* Fix: 3GPP-GGSN-MCC-MNC (9) changed to Must M per contrib/3gpp. */
+ /* 3GPP-GGSN-MCC-MNC, UTF8String, code 9, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 9, /* Code */
+ 10415, /* Vendor */
+ "3GPP-GGSN-MCC-MNC", /* 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);
+ };
+
+ /* Fix: 3GPP-NSAPI (10) changed to Must M per contrib/3gpp. */
+ /* 3GPP-NSAPI, OctetString, code 10, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 10, /* Code */
+ 10415, /* Vendor */
+ "3GPP-NSAPI", /* 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);
+ };
+
+ /* Note: 3GPP TS 29.061 Table 9a does not define */
+ /* 3GPP-Session-Stop-Indicator (11) even when it is referenced */
+ /* by other 3GPP Diameter AVPs including PS-Information (874). */
+ /* */
+ /* Fix: Add 3GPP-Session-Stop-Indicator (11) OctetString. */
+ /* 3GPP-Session-Stop-Indicator, OctetString, code 11, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 11, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Session-Stop-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Fix: 3GPP-Selection-Mode (12) changed to Must M per contrib/3gpp. */
+ /* 3GPP-Selection-Mode, UTF8String, code 12, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 12, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Selection-Mode", /* 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);
+ };
+
+ /* Fix: 3GPP-Charging-Characteristics (13) changed to Must M per contrib/3gpp. */
+ /* 3GPP-Charging-Characteristics, UTF8String, code 13, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 13, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Charging-Characteristics", /* 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);
+ };
+
+ /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address. */
+ /* */
+ /* Fix: 3GPP-CG-Ipv6-Address (14) changed to Must M per contrib/3gpp. */
+ /* Change-1.4.0: 3GPP-CG-IPv6-Address (14) renamed to 3GPP-CG-Ipv6-Address (14). */
+ /* 3GPP-CG-Ipv6-Address, OctetString, code 14, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 14, /* Code */
+ 10415, /* Vendor */
+ "3GPP-CG-Ipv6-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);
+ };
+
+ /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address. */
+ /* */
+ /* Fix: 3GPP-SGSN-Ipv6-Address (15) changed to Must M per contrib/3gpp. */
+ /* Change-1.4.0: 3GPP-SGSN-IPv6-Address (15) renamed to 3GPP-SGSN-Ipv6-Address (15). */
+ /* 3GPP-SGSN-Ipv6-Address, OctetString, code 15, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 15, /* Code */
+ 10415, /* Vendor */
+ "3GPP-SGSN-Ipv6-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);
+ };
+
+ /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address. */
+ /* */
+ /* Fix: 3GPP-GGSN-Ipv6-Address (16) changed to Must M per contrib/3gpp. */
+ /* Change-1.4.0: 3GPP-GGSN-IPv6-Address (16) renamed to 3GPP-GGSN-Ipv6-Address (16). */
+ /* 3GPP-GGSN-Ipv6-Address, OctetString, code 16, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 16, /* Code */
+ 10415, /* Vendor */
+ "3GPP-GGSN-Ipv6-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);
+ };
+
+ /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers. */
+ /* */
+ /* Fix: 3GPP-Ipv6-DNS-Servers (17) changed to Must M per contrib/3gpp. */
+ /* Change-1.4.0: 3GPP-IPv6-DNS-Servers (17) renamed to 3GPP-Ipv6-DNS-Servers (17). */
+ /* 3GPP-Ipv6-DNS-Servers, OctetString, code 17, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 17, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Ipv6-DNS-Servers", /* 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);
+ };
+
+ /* Fix: 3GPP-SGSN-MCC-MNC (18) changed to Must M per contrib/3gpp. */
+ /* 3GPP-SGSN-MCC-MNC, UTF8String, code 18, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 18, /* Code */
+ 10415, /* Vendor */
+ "3GPP-SGSN-MCC-MNC", /* 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);
+ };
+
+ /* Fix: 3GPP-IMEISV (20) changed to Must M. */
+ /* 3GPP-IMEISV, OctetString, code 20, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 20, /* Code */
+ 10415, /* Vendor */
+ "3GPP-IMEISV", /* 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);
+ };
+
+ /* Fix: 3GPP-RAT-Type (21) changed to Must M. */
+ /* 3GPP-RAT-Type, OctetString, code 21, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 21, /* Code */
+ 10415, /* Vendor */
+ "3GPP-RAT-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, NULL, NULL);
+ };
+
+ /* Fix: 3GPP-User-Location-Info (22) changed to Must M. */
+ /* 3GPP-User-Location-Info, OctetString, code 22, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 22, /* Code */
+ 10415, /* Vendor */
+ "3GPP-User-Location-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, NULL, NULL);
+ };
+
+ /* Fix: 3GPP-MS-TimeZone (23) changed to Must M. */
+ /* 3GPP-MS-TimeZone, OctetString, code 23, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 23, /* Code */
+ 10415, /* Vendor */
+ "3GPP-MS-TimeZone", /* 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);
+ };
+
+ /* 3GPP-CAMEL-Charging-Info, OctetString, code 24, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 24, /* Code */
+ 10415, /* Vendor */
+ "3GPP-CAMEL-Charging-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Packet-Filter, OctetString, code 25, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 25, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Packet-Filter", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Negotiated-DSCP, OctetString, code 26, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 26, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Negotiated-DSCP", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Allocate-IP-Type, OctetString, code 27, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 27, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Allocate-IP-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.061 Table 9a does not define */
+ /* External-Identifier (28) for Diameter; it is RADIUS only. */
+ /* 3GPP TS 29.061 Table 9b refers to 3GPP TS 29.336 */
+ /* for External-Identifier (3111). */
+ /* */
+ /* Change-1.4.0: External-Identifier (28) OctetString replaced by External-Identifier (3111) UTF8String. */
+
+ /* TWAN-Identifier, OctetString, code 29, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 29, /* Code */
+ 10415, /* Vendor */
+ "TWAN-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-User-Location-Info-Time, OctetString, code 30, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 30, /* Code */
+ 10415, /* Vendor */
+ "3GPP-User-Location-Info-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Secondary-RAT-Usage, OctetString, code 31, section 16.4.7 */
+ {
+ struct dict_avp_data data = {
+ 31, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Secondary-RAT-Usage", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.061 Table 10: Gmb specific AVPs */
+ /*==================================================================*/
+
+ /* TMGI, OctetString, code 900, section 17.7.2 */
+ {
+ struct dict_avp_data data = {
+ 900, /* Code */
+ 10415, /* Vendor */
+ "TMGI", /* 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);
+ };
+
+ /* Required-MBMS-Bearer-Capabilities, UTF8String, code 901, section 17.7.3 */
+ {
+ struct dict_avp_data data = {
+ 901, /* Code */
+ 10415, /* Vendor */
+ "Required-MBMS-Bearer-Capabilities", /* 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);
+ };
+
+ /* MBMS-StartStop-Indication, Enumerated, code 902, section 17.7.5 */
+ {
+ struct dict_avp_data data = {
+ 902, /* Code */
+ 10415, /* Vendor */
+ "MBMS-StartStop-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, "Enumerated(3GPP/MBMS-StartStop-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-Service-Area, OctetString, code 903, section 17.7.6 */
+ {
+ struct dict_avp_data data = {
+ 903, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Service-Area", /* 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);
+ };
+
+ /* MBMS-Session-Duration, OctetString, code 904, section 17.7.7 */
+ {
+ struct dict_avp_data data = {
+ 904, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Session-Duration", /* 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);
+ };
+
+ /* Alternative-APN, UTF8String, code 905, section 17.7.8 */
+ {
+ struct dict_avp_data data = {
+ 905, /* Code */
+ 10415, /* Vendor */
+ "Alternative-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);
+ };
+
+ /* MBMS-Service-Type, Enumerated, code 906, section 17.7.9 */
+ {
+ struct dict_avp_data data = {
+ 906, /* Code */
+ 10415, /* Vendor */
+ "MBMS-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, "Enumerated(3GPP/MBMS-Service-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-2G-3G-Indicator, Enumerated, code 907, section 17.7.10 */
+ {
+ struct dict_avp_data data = {
+ 907, /* Code */
+ 10415, /* Vendor */
+ "MBMS-2G-3G-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-2G-3G-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-Session-Identity, OctetString, code 908, section 17.7.11 */
+ {
+ struct dict_avp_data data = {
+ 908, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Session-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, NULL, NULL);
+ };
+
+ /* RAI, UTF8String, code 909, section 17.7.12 */
+ {
+ struct dict_avp_data data = {
+ 909, /* Code */
+ 10415, /* Vendor */
+ "RAI", /* 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);
+ };
+
+ /* Additional-MBMS-Trace-Info, OctetString, code 910, section 17.7.13 */
+ {
+ struct dict_avp_data data = {
+ 910, /* Code */
+ 10415, /* Vendor */
+ "Additional-MBMS-Trace-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, NULL, NULL);
+ };
+
+ /* MBMS-Time-To-Data-Transfer, OctetString, code 911, section 17.7.14 */
+ {
+ struct dict_avp_data data = {
+ 911, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Time-To-Data-Transfer", /* 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);
+ };
+
+ /* MBMS-Session-Repetition-Number, OctetString, code 912, section 17.7.15 */
+ {
+ struct dict_avp_data data = {
+ 912, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Session-Repetition-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);
+ };
+
+ /* MBMS-Required-QoS, UTF8String, code 913, section 17.7.16 */
+ {
+ struct dict_avp_data data = {
+ 913, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Required-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);
+ };
+
+ /* MBMS-Counting-Information, Enumerated, code 914, section 17.7.17 */
+ {
+ struct dict_avp_data data = {
+ 914, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Counting-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-Counting-Information)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-User-Data-Mode-Indication, Enumerated, code 915, section 17.7.18 */
+ {
+ struct dict_avp_data data = {
+ 915, /* Code */
+ 10415, /* Vendor */
+ "MBMS-User-Data-Mode-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, "Enumerated(3GPP/MBMS-User-Data-Mode-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-GGSN-Address, OctetString, code 916, section 17.7.19 */
+ {
+ struct dict_avp_data data = {
+ 916, /* Code */
+ 10415, /* Vendor */
+ "MBMS-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, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* MBMS-GGSN-IPv6-Address (917) to MBMS-GGSN-Ipv6-Address. */
+ /* */
+ /* Change-1.4.0: MBMS-GGSN-IPv6-Address (917) renamed to MBMS-GGSN-Ipv6-Address (917). */
+ /* MBMS-GGSN-Ipv6-Address, OctetString, code 917, section 17.7.20 */
+ {
+ struct dict_avp_data data = {
+ 917, /* Code */
+ 10415, /* Vendor */
+ "MBMS-GGSN-Ipv6-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);
+ };
+
+ /* MBMS-BMSC-SSM-IP-Address, OctetString, code 918, section 17.7.21 */
+ {
+ struct dict_avp_data data = {
+ 918, /* Code */
+ 10415, /* Vendor */
+ "MBMS-BMSC-SSM-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, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* MBMS-BMSC-SSM-IPv6-Address (919) to MBMS-BMSC-SSM-Ipv6-Address. */
+ /* */
+ /* Change-1.4.0: MBMS-BMSC-SSM-IPv6-Address (919) renamed to MBMS-BMSC-SSM-Ipv6-Address (919). */
+ /* MBMS-BMSC-SSM-Ipv6-Address, OctetString, code 919, section 17.7.22 */
+ {
+ struct dict_avp_data data = {
+ 919, /* Code */
+ 10415, /* Vendor */
+ "MBMS-BMSC-SSM-Ipv6-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);
+ };
+
+ /* MBMS-Flow-Identifier, OctetString, code 920, section 17.7.23 */
+ {
+ struct dict_avp_data data = {
+ 920, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Flow-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, NULL, NULL);
+ };
+
+ /* CN-IP-Multicast-Distribution, Enumerated, code 921, section 17.7.24 */
+ {
+ struct dict_avp_data data = {
+ 921, /* Code */
+ 10415, /* Vendor */
+ "CN-IP-Multicast-Distribution", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CN-IP-Multicast-Distribution)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-HC-Indicator, Enumerated, code 922, section 17.7.25 */
+ {
+ struct dict_avp_data data = {
+ 922, /* Code */
+ 10415, /* Vendor */
+ "MBMS-HC-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-HC-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.061 Table 20.5a.1: SGmb specific AVPs */
+ /*==================================================================*/
+
+ /* MBMS-Access-Indicator, Enumerated, code 923, section 20.5a.1 */
+ {
+ struct dict_avp_data data = {
+ 923, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Access-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-Access-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IP-Address (3522). */
+ /* 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IP-Address (924). */
+ /* 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IP-Address (3522). */
+ /* MBMS-GW-SSM-IP-Address, OctetString, code 924, section 20.5a.2 */
+ {
+ struct dict_avp_data data = {
+ 924, /* Code */
+ 10415, /* Vendor */
+ "MBMS-GW-SSM-IP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address. */
+ /* Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IPv6-Address (3523). */
+ /* 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IPv6-Address (925). */
+ /* 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address. */
+ /* 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IPv6-Address (3523). */
+ /* MBMS-GW-SSM-IPv6-Address, OctetString, code 925, section 20.5a.3 */
+ {
+ struct dict_avp_data data = {
+ 925, /* Code */
+ 10415, /* Vendor */
+ "MBMS-GW-SSM-IPv6-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-BMSC-SSM-UDP-Port, OctetString, code 926, section 20.5a.4 */
+ {
+ struct dict_avp_data data = {
+ 926, /* Code */
+ 10415, /* Vendor */
+ "MBMS-BMSC-SSM-UDP-Port", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-GW-UDP-Port, OctetString, code 927, section 20.5a.5 */
+ {
+ struct dict_avp_data data = {
+ 927, /* Code */
+ 10415, /* Vendor */
+ "MBMS-GW-UDP-Port", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-GW-UDP-Port-Indicator, Enumerated, code 928, section 20.5a.6 */
+ {
+ struct dict_avp_data data = {
+ 928, /* Code */
+ 10415, /* Vendor */
+ "MBMS-GW-UDP-Port-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-GW-UDP-Port-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-Data-Transfer-Start, Unsigned64, code 929, section 20.5a.7 */
+ {
+ struct dict_avp_data data = {
+ 929, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Data-Transfer-Start", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-Data-Transfer-Stop, Unsigned64, code 930, section 20.5a.8 */
+ {
+ struct dict_avp_data data = {
+ 930, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Data-Transfer-Stop", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.061 Table 20.5a.1 row MBMS-Flag (931) has */
+ /* incorrect name and should be "MBMS-Flags" per clause 20.5a.9. */
+ /* */
+ /* Fix: MBMS-Flag (931) renamed to MBMS-Flags (931). */
+ /* MBMS-Flags, Unsigned32, code 931, section 20.5a.9 */
+ {
+ struct dict_avp_data data = {
+ 931, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Restart-Counter, Unsigned32, code 932, section 20.5a.10 */
+ {
+ struct dict_avp_data data = {
+ 932, /* Code */
+ 10415, /* Vendor */
+ "Restart-Counter", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Diagnostic-Info, Unsigned32, code 933, section 20.5a.11 */
+ {
+ struct dict_avp_data data = {
+ 933, /* Code */
+ 10415, /* Vendor */
+ "Diagnostic-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-Cell-List, OctetString, code 934, section 20.5a.12 */
+ {
+ struct dict_avp_data data = {
+ 934, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Cell-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.109 V15.0.0 (2017-06) */
+ /* Generic Authentication Architecture (GAA); */
+ /* Zh and Zn Interfaces based on the Diameter protocol; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29109-f00.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.109 Table 6.1: New Diameter Multimedia Application AVPs */
+ /*==================================================================*/
+
+ /* GBA-UserSecSettings, OctetString, code 400, section 6.3.1.1 */
+ {
+ struct dict_avp_data data = {
+ 400, /* Code */
+ 10415, /* Vendor */
+ "GBA-UserSecSettings", /* 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);
+ };
+
+ /* Transaction-Identifier, OctetString, code 401, section 6.3.1.2 */
+ {
+ struct dict_avp_data data = {
+ 401, /* Code */
+ 10415, /* Vendor */
+ "Transaction-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, NULL, NULL);
+ };
+
+ /* NAF-Id, OctetString, code 402, section 6.3.1.3 */
+ {
+ struct dict_avp_data data = {
+ 402, /* Code */
+ 10415, /* Vendor */
+ "NAF-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);
+ };
+
+ /* GAA-Service-Identifier, OctetString, code 403, section 6.3.1.4 */
+ {
+ struct dict_avp_data data = {
+ 403, /* Code */
+ 10415, /* Vendor */
+ "GAA-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, NULL, NULL);
+ };
+
+ /* Key-ExpiryTime, Time, code 404, section 6.3.1.5 */
+ {
+ struct dict_avp_data data = {
+ 404, /* Code */
+ 10415, /* Vendor */
+ "Key-ExpiryTime", /* 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);
+ };
+
+ /* ME-Key-Material, OctetString, code 405, section 6.3.1.6 */
+ {
+ struct dict_avp_data data = {
+ 405, /* Code */
+ 10415, /* Vendor */
+ "ME-Key-Material", /* 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);
+ };
+
+ /* UICC-Key-Material, OctetString, code 406, section 6.3.1.7 */
+ {
+ struct dict_avp_data data = {
+ 406, /* Code */
+ 10415, /* Vendor */
+ "UICC-Key-Material", /* 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);
+ };
+
+ /* Note: 3GPP TS 29.109 Table 6.1 row GBA_U-Awareness-Indicator (407) */
+ /* has an underscore in the name (contrary to RFC 6733 section 4.1). */
+ /* */
+ /* Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407). */
+ /* GBA-U-Awareness-Indicator, Enumerated, code 407, section 6.3.1.8 */
+ {
+ struct dict_avp_data data = {
+ 407, /* Code */
+ 10415, /* Vendor */
+ "GBA-U-Awareness-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/GBA-U-Awareness-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* BootstrapInfoCreationTime, Time, code 408, section 6.3.1.9 */
+ {
+ struct dict_avp_data data = {
+ 408, /* Code */
+ 10415, /* Vendor */
+ "BootstrapInfoCreationTime", /* 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);
+ };
+
+ /* GUSS-Timestamp, Time, code 409, section 6.3.1.10 */
+ {
+ struct dict_avp_data data = {
+ 409, /* Code */
+ 10415, /* Vendor */
+ "GUSS-Timestamp", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* GBA-Type, Enumerated, code 410, section 6.3.1.11 */
+ {
+ struct dict_avp_data data = {
+ 410, /* Code */
+ 10415, /* Vendor */
+ "GBA-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, "Enumerated(3GPP/GBA-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* UE-Id, OctetString, code 411, section 6.3.1.12 */
+ {
+ struct dict_avp_data data = {
+ 411, /* Code */
+ 10415, /* Vendor */
+ "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);
+ };
+
+ /* UE-Id-Type, Enumerated, code 412, section 6.3.1.13 */
+ {
+ struct dict_avp_data data = {
+ 412, /* Code */
+ 10415, /* Vendor */
+ "UE-Id-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, "Enumerated(3GPP/UE-Id-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* UICC-App-Label, OctetString, code 413, section 6.3.1.14 */
+ {
+ struct dict_avp_data data = {
+ 413, /* Code */
+ 10415, /* Vendor */
+ "UICC-App-Label", /* 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);
+ };
+
+ /* UICC-ME, Enumerated, code 414, section 6.3.1.15 */
+ {
+ struct dict_avp_data data = {
+ 414, /* Code */
+ 10415, /* Vendor */
+ "UICC-ME", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/UICC-ME)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Requested-Key-Lifetime, Time, code 415, section 6.3.1.16 */
+ {
+ struct dict_avp_data data = {
+ 415, /* Code */
+ 10415, /* Vendor */
+ "Requested-Key-Lifetime", /* 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);
+ };
+
+ /* Private-Identity-Request, Enumerated, code 416, section 6.3.1.17 */
+ {
+ struct dict_avp_data data = {
+ 416, /* Code */
+ 10415, /* Vendor */
+ "Private-Identity-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Private-Identity-Request)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* GBA-Push-Info, OctetString, code 417, section 6.3.1.18 */
+ {
+ struct dict_avp_data data = {
+ 417, /* Code */
+ 10415, /* Vendor */
+ "GBA-Push-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, NULL, NULL);
+ };
+
+ /* NAF-SA-Identifier, OctetString, code 418, section 6.3.1.19 */
+ {
+ struct dict_avp_data data = {
+ 418, /* Code */
+ 10415, /* Vendor */
+ "NAF-SA-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, NULL, NULL);
+ };
+
+ /* Security-Feature-Request, OctetString, code 419, section 6.3.1.20 */
+ {
+ struct dict_avp_data data = {
+ 419, /* Code */
+ 10415, /* Vendor */
+ "Security-Feature-Request", /* 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);
+ };
+
+ /* Security-Feature-Response, OctetString, code 420, section 6.3.1.21 */
+ {
+ struct dict_avp_data data = {
+ 420, /* Code */
+ 10415, /* Vendor */
+ "Security-Feature-Response", /* 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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.128 V15.6.0 (2019-09) */
+ /* Mobility Management Entity (MME) and Serving GPRS Support */
+ /* Node (SGSN) interfaces for interworking with packet data */
+ /* networks and applications */
+ /* */
+ /* From 3GPP 29128-f60.docx */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.128 Table 6.4.1-1: T6a/T6b specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Communication-Failure-Information, Grouped, code 4300, section 6.4.4 */
+ {
+ struct dict_avp_data data = {
+ 4300, /* Code */
+ 10415, /* Vendor */
+ "Communication-Failure-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, NULL);
+ };
+
+ /* Cause-Type, Unsigned32, code 4301, section 6.4.5 */
+ {
+ struct dict_avp_data data = {
+ 4301, /* Code */
+ 10415, /* Vendor */
+ "Cause-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);
+ };
+
+ /* S1AP-Cause, Unsigned32, code 4302, section 6.4.6 */
+ {
+ struct dict_avp_data data = {
+ 4302, /* Code */
+ 10415, /* Vendor */
+ "S1AP-Cause", /* 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);
+ };
+
+ /* RANAP-Cause, Unsigned32, code 4303, section 6.4.7 */
+ {
+ struct dict_avp_data data = {
+ 4303, /* Code */
+ 10415, /* Vendor */
+ "RANAP-Cause", /* 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);
+ };
+
+ /* BSSGP-Cause, Unsigned32, code 4309, section 6.4.8 */
+ {
+ struct dict_avp_data data = {
+ 4309, /* Code */
+ 10415, /* Vendor */
+ "BSSGP-Cause", /* 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);
+ };
+
+ /* GMM-Cause, Unsigned32, code 4304, section 6.4.9 */
+ {
+ struct dict_avp_data data = {
+ 4304, /* Code */
+ 10415, /* Vendor */
+ "GMM-Cause", /* 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-Cause, Unsigned32, code 4305, section 6.4.10 */
+ {
+ struct dict_avp_data data = {
+ 4305, /* Code */
+ 10415, /* Vendor */
+ "SM-Cause", /* 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-UE-Per-Location-Configuration, Grouped, code 4306, section 6.4.11 */
+ {
+ struct dict_avp_data data = {
+ 4306, /* Code */
+ 10415, /* Vendor */
+ "Number-Of-UE-Per-Location-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Number-Of-UE-Per-Location-Report, Grouped, code 4307, section 6.4.12 */
+ {
+ struct dict_avp_data data = {
+ 4307, /* Code */
+ 10415, /* Vendor */
+ "Number-Of-UE-Per-Location-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UE-Count, Unsigned32, code 4308, section 6.4.13 */
+ {
+ struct dict_avp_data data = {
+ 4308, /* Code */
+ 10415, /* Vendor */
+ "UE-Count", /* 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);
+ };
+
+ /* Connection-Action, Unsigned32, code 4314, section 6.4.18 */
+ {
+ struct dict_avp_data data = {
+ 4314, /* Code */
+ 10415, /* Vendor */
+ "Connection-Action", /* 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);
+ };
+
+ /* Non-IP-Data, OctetString, code 4315, section 6.4.19 */
+ {
+ struct dict_avp_data data = {
+ 4315, /* Code */
+ 10415, /* Vendor */
+ "Non-IP-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);
+ };
+
+ /* Serving-PLMN-Rate-Control, Grouped, code 4310, section 6.4.21 */
+ {
+ struct dict_avp_data data = {
+ 4310, /* Code */
+ 10415, /* Vendor */
+ "Serving-PLMN-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, NULL);
+ };
+
+ /* Uplink-Rate-Limit, Unsigned32, code 4311, section 6.4.23 */
+ {
+ struct dict_avp_data data = {
+ 4311, /* Code */
+ 10415, /* Vendor */
+ "Uplink-Rate-Limit", /* 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);
+ };
+
+ /* Downlink-Rate-Limit, Unsigned32, code 4312, section 6.4.22 */
+ {
+ struct dict_avp_data data = {
+ 4312, /* Code */
+ 10415, /* Vendor */
+ "Downlink-Rate-Limit", /* 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);
+ };
+
+ /* Extended-PCO, OctetString, code 4313, section 6.4.26 */
+ {
+ struct dict_avp_data data = {
+ 4313, /* Code */
+ 10415, /* Vendor */
+ "Extended-PCO", /* 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);
+ };
+
+ /* SCEF-Wait-Time, Time, code 4316, section 6.4.24 */
+ {
+ struct dict_avp_data data = {
+ 4316, /* Code */
+ 10415, /* Vendor */
+ "SCEF-Wait-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);
+ };
+
+ /* CMR-Flags, Unsigned32, code 4317, section 6.4.25 */
+ {
+ struct dict_avp_data data = {
+ 4317, /* Code */
+ 10415, /* Vendor */
+ "CMR-Flags", /* 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);
+ };
+
+ /* RRC-Cause-Counter, Grouped, code 4318, section 6.4.27 */
+ {
+ struct dict_avp_data data = {
+ 4318, /* Code */
+ 10415, /* Vendor */
+ "RRC-Cause-Counter", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Counter-Value, Unsigned32, code 4319, section 6.4.28 */
+ {
+ struct dict_avp_data data = {
+ 4319, /* Code */
+ 10415, /* Vendor */
+ "Counter-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);
+ };
+
+ /* RRC-Counter-Timestamp, Time, code 4320, section 6.4.29 */
+ {
+ struct dict_avp_data data = {
+ 4320, /* Code */
+ 10415, /* Vendor */
+ "RRC-Counter-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);
+ };
+
+ /* TDA-Flags, Unsigned32, code 4321, section 6.4.31 */
+ {
+ struct dict_avp_data data = {
+ 4321, /* Code */
+ 10415, /* Vendor */
+ "TDA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Idle-Status-Indication, Grouped, code 4322, section 6.4.32 */
+ {
+ struct dict_avp_data data = {
+ 4322, /* Code */
+ 10415, /* Vendor */
+ "Idle-Status-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Idle-Status-Timestamp, Time, code 4323, section 6.4.33 */
+ {
+ struct dict_avp_data data = {
+ 4323, /* Code */
+ 10415, /* Vendor */
+ "Idle-Status-Timestamp", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* Active-Time, Unsigned32, code 4324, section 6.4.34 */
+ {
+ struct dict_avp_data data = {
+ 4324, /* Code */
+ 10415, /* Vendor */
+ "Active-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.140 V7.0.0 (2007-06) */
+ /* MM10 interface based on Diameter protocol; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29140-700.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.140 Table 6.3.1: Diameter MM10 Application AVPs */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* Served-User-Identity, Grouped, code 1100, section 6.3.1 */
+ {
+ struct dict_avp_data data = {
+ 1100, /* Code */
+ 10415, /* Vendor */
+ "Served-User-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* VASP-ID, UTF8String, code 1101, section 6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 1101, /* Code */
+ 10415, /* Vendor */
+ "VASP-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);
+ };
+
+ /* VAS-ID, UTF8String, code 1102, section 6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 1102, /* Code */
+ 10415, /* Vendor */
+ "VAS-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);
+ };
+
+ /* Trigger-Event, Enumerated, code 1103, section 6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 1103, /* Code */
+ 10415, /* Vendor */
+ "Trigger-Event", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Trigger-Event)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Sender-Address, UTF8String, code 1104, section 6.3.7 */
+ {
+ struct dict_avp_data data = {
+ 1104, /* Code */
+ 10415, /* Vendor */
+ "Sender-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);
+ };
+
+ /* Initial-Recipient-Address, Grouped, code 1105, section 6.3.8 */
+ {
+ struct dict_avp_data data = {
+ 1105, /* Code */
+ 10415, /* Vendor */
+ "Initial-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, NULL);
+ };
+
+ /* Result-Recipient-Address, Grouped, code 1106, section 6.3.9 */
+ {
+ struct dict_avp_data data = {
+ 1106, /* Code */
+ 10415, /* Vendor */
+ "Result-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, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.329 Sequence-Number (716) */
+ /* and 3GPP TS 29.283 Sequence-Number (4512). */
+ /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107). */
+ /* 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716). */
+ /* 3GPP TS 29.283 V13.1.0 (2016-06) allocated Sequence-Number (4512). */
+ /* */
+ /* Fix: Sequence-Number (1107) renamed to Sequence-Number-29.140 (1107). */
+ /* Sequence-Number-29.140, Unsigned32, code 1107, section 6.3.10 */
+ {
+ struct dict_avp_data data = {
+ 1107, /* Code */
+ 10415, /* Vendor */
+ "Sequence-Number-29.140", /* 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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 32.299 Recipient-Address (1201); */
+ /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Recipient-Address (1108). */
+ /* 3GPP TS 32.299 V6.4.0 (2005-09) CR 0028 added Recipient-Address (1201). */
+ /* */
+ /* Fix: Recipient-Address (1108) renamed to Recipient-Address-29.140 (1108). */
+ /* Recipient-Address-29.140, UTF8String, code 1108, section 6.3.11 */
+ {
+ struct dict_avp_data data = {
+ 1108, /* Code */
+ 10415, /* Vendor */
+ "Recipient-Address-29.140", /* 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);
+ };
+
+ /* Routeing-Address, UTF8String, code 1109, section 6.3.12 */
+ {
+ struct dict_avp_data data = {
+ 1109, /* Code */
+ 10415, /* Vendor */
+ "Routeing-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);
+ };
+
+ /* Originating-Interface, Enumerated, code 1110, section 6.3.13 */
+ {
+ struct dict_avp_data data = {
+ 1110, /* Code */
+ 10415, /* Vendor */
+ "Originating-Interface", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Originating-Interface)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Delivery-Report, Enumerated, code 1111, section 6.3.14 */
+ {
+ struct dict_avp_data data = {
+ 1111, /* Code */
+ 10415, /* Vendor */
+ "Delivery-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Delivery-Report)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Read-Reply, Enumerated, code 1112, section 6.3.15 */
+ {
+ struct dict_avp_data data = {
+ 1112, /* Code */
+ 10415, /* Vendor */
+ "Read-Reply", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Read-Reply)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Sender-Visibility, Enumerated, code 1113, section 6.3.16 */
+ {
+ struct dict_avp_data data = {
+ 1113, /* Code */
+ 10415, /* Vendor */
+ "Sender-Visibility", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Sender-Visibility)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Service-Key, UTF8String, code 1114, section 6.3.17 */
+ {
+ struct dict_avp_data data = {
+ 1114, /* Code */
+ 10415, /* Vendor */
+ "Service-Key", /* 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);
+ };
+
+ /* Billing-Information, UTF8String, code 1115, section 6.3.18 */
+ {
+ struct dict_avp_data data = {
+ 1115, /* Code */
+ 10415, /* Vendor */
+ "Billing-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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 32.299 V11.6.0 Status (2702). */
+ /* 3GPP TS 32.299 V11.10.0 (2013-12) CR 0566 renamed */
+ /* Status (2702) to Status-Code (2702). */
+ /* 3GPP TS 32.299 V11.14.0 (2014-12) CR 0617 renamed */
+ /* Status-Code (2702) to Status-AS-Code (2702). */
+ /* */
+ /* TODO: rename back to Status ? */
+ /* Fix: Status (1116) renamed to Status-29.140 (1116). */
+ /* Status-29.140, Grouped, code 1116, section 6.3.19 */
+ {
+ struct dict_avp_data data = {
+ 1116, /* Code */
+ 10415, /* Vendor */
+ "Status-29.140", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Status-Code, UTF8String, code 1117, section 6.3.20 */
+ {
+ struct dict_avp_data data = {
+ 1117, /* Code */
+ 10415, /* Vendor */
+ "Status-Code", /* 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);
+ };
+
+ /* Status-Text, UTF8String, code 1118, section 6.3.21 */
+ {
+ struct dict_avp_data data = {
+ 1118, /* Code */
+ 10415, /* Vendor */
+ "Status-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);
+ };
+
+ /* Routeing-Address-Resolution, Enumerated, code 1119, section 6.3.22 */
+ {
+ struct dict_avp_data data = {
+ 1119, /* Code */
+ 10415, /* Vendor */
+ "Routeing-Address-Resolution", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Routeing-Address-Resolution)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.153 V15.1.0 (2019-09) */
+ /* Service capability exposure functionality over Ns */
+ /* reference point */
+ /* */
+ /* From 3GPP 29153-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.153 Table 5.3.1.1: Ns specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Network-Congestion-Area-Report, Grouped, code 4101, section 5.3.2 */
+ {
+ struct dict_avp_data data = {
+ 4101, /* Code */
+ 10415, /* Vendor */
+ "Network-Congestion-Area-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Ns-Request-Type, Unsigned32, code 4102, section 5.3.3 */
+ {
+ struct dict_avp_data data = {
+ 4102, /* Code */
+ 10415, /* Vendor */
+ "Ns-Request-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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.154 V15.3.0 (2019-09) */
+ /* Service capability exposure functionality over */
+ /* Nt reference point */
+ /* */
+ /* From 3GPP 29154-f30.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.154 Table 5.3.1.1: Nt specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Network-Area-Info-List, OctetString, code 4201, section 5.3.2 */
+ {
+ struct dict_avp_data data = {
+ 4201, /* Code */
+ 10415, /* Vendor */
+ "Network-Area-Info-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Number-Of-UEs, Unsigned32, code 4209, section 5.3.10 */
+ {
+ struct dict_avp_data data = {
+ 4209, /* Code */
+ 10415, /* Vendor */
+ "Number-Of-UEs", /* 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);
+ };
+
+ /* Reference-Id, OctetString, code 4202, section 5.3.3 */
+ {
+ struct dict_avp_data data = {
+ 4202, /* Code */
+ 10415, /* Vendor */
+ "Reference-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);
+ };
+
+ /* Transfer-Request-Type, Unsigned32, code 4203, section 5.3.4 */
+ {
+ struct dict_avp_data data = {
+ 4203, /* Code */
+ 10415, /* Vendor */
+ "Transfer-Request-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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.345 Time-Window (3818). */
+ /* Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates */
+ /* Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03). */
+ /* */
+ /* Fix: Time-Window (4204) renamed to Time-Window-29.154 (4204). */
+ /* Time-Window-29.154, Grouped, code 4204, section 5.3.5 */
+ {
+ struct dict_avp_data data = {
+ 4204, /* Code */
+ 10415, /* Vendor */
+ "Time-Window-29.154", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Transfer-End-Time, Time, code 4205, section 5.3.6 */
+ {
+ struct dict_avp_data data = {
+ 4205, /* Code */
+ 10415, /* Vendor */
+ "Transfer-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);
+ };
+
+ /* Transfer-Policy, Grouped, code 4207, section 5.3.8 */
+ {
+ struct dict_avp_data data = {
+ 4207, /* Code */
+ 10415, /* Vendor */
+ "Transfer-Policy", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Transfer-Policy-Id, Unsigned32, code 4208, section 5.3.9 */
+ {
+ struct dict_avp_data data = {
+ 4208, /* Code */
+ 10415, /* Vendor */
+ "Transfer-Policy-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);
+ };
+
+ /* Transfer-Start-Time, Time, code 4206, section 5.3.7 */
+ {
+ struct dict_avp_data data = {
+ 4206, /* Code */
+ 10415, /* Vendor */
+ "Transfer-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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.154 Table A.6.3.1-1: Nta specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Access-Network-Reports, Grouped, code 4210, section A.6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 4210, /* Code */
+ 10415, /* Vendor */
+ "Access-Network-Reports", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Event-Configuration, Grouped, code 4211, section A.6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 4211, /* Code */
+ 10415, /* Vendor */
+ "Event-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Event-Configuration-State, Unsigned32, code 4212, section A.6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 4212, /* Code */
+ 10415, /* Vendor */
+ "Event-Configuration-State", /* 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);
+ };
+
+ /* Event-Configuration-Status, Grouped, code 4213, section A.6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 4213, /* Code */
+ 10415, /* Vendor */
+ "Event-Configuration-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Event-Reporting-Results, Unsigned32, code 4214, section A.6.3.6 */
+ {
+ struct dict_avp_data data = {
+ 4214, /* Code */
+ 10415, /* Vendor */
+ "Event-Reporting-Results", /* 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);
+ };
+
+ /* Event-Reports, Grouped, code 4215, section A.6.3.7 */
+ {
+ struct dict_avp_data data = {
+ 4215, /* Code */
+ 10415, /* Vendor */
+ "Event-Reports", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-SCEF-Reference-ID, Unsigned64, code 4216, section A.6.3.8 */
+ {
+ struct dict_avp_data data = {
+ 4216, /* Code */
+ 10415, /* Vendor */
+ "Extended-SCEF-Reference-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.172 V15.2.0 (2019-12) */
+ /* Location Services (LCS); */
+ /* Evolved Packet Core (EPC) LCS Protocol (ELP) between the */
+ /* Gateway Mobile Location Centre (GMLC) and the */
+ /* Mobile Management Entity (MME); */
+ /* SLg interface */
+ /* */
+ /* From 3GPP 29172-f20.docx */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.172 Table 7.4.1-1: Diameter ELP Application AVPs */
+ /*==================================================================*/
+
+ /* SLg-Location-Type, Enumerated, code 2500, section 7.4.2 */
+ {
+ struct dict_avp_data data = {
+ 2500, /* Code */
+ 10415, /* Vendor */
+ "SLg-Location-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, "Enumerated(3GPP/SLg-Location-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* LCS-EPS-Client-Name, Grouped, code 2501, section 7.4.3 */
+ {
+ struct dict_avp_data data = {
+ 2501, /* Code */
+ 10415, /* Vendor */
+ "LCS-EPS-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, NULL);
+ };
+
+ /* LCS-Requestor-Name, Grouped, code 2502, section 7.4.4 */
+ {
+ struct dict_avp_data data = {
+ 2502, /* Code */
+ 10415, /* Vendor */
+ "LCS-Requestor-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, NULL);
+ };
+
+ /* LCS-Priority, Unsigned32, code 2503, section 7.4.5 */
+ {
+ struct dict_avp_data data = {
+ 2503, /* Code */
+ 10415, /* Vendor */
+ "LCS-Priority", /* 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);
+ };
+
+ /* LCS-QoS, Grouped, code 2504, section 7.4.6 */
+ {
+ struct dict_avp_data data = {
+ 2504, /* Code */
+ 10415, /* Vendor */
+ "LCS-QoS", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Horizontal-Accuracy, Unsigned32, code 2505, section 7.4.7 */
+ {
+ struct dict_avp_data data = {
+ 2505, /* Code */
+ 10415, /* Vendor */
+ "Horizontal-Accuracy", /* 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);
+ };
+
+ /* Vertical-Accuracy, Unsigned32, code 2506, section 7.4.8 */
+ {
+ struct dict_avp_data data = {
+ 2506, /* Code */
+ 10415, /* Vendor */
+ "Vertical-Accuracy", /* 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);
+ };
+
+ /* Vertical-Requested, Enumerated, code 2507, section 7.4.9 */
+ {
+ struct dict_avp_data data = {
+ 2507, /* Code */
+ 10415, /* Vendor */
+ "Vertical-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, "Enumerated(3GPP/Vertical-Requested)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Velocity-Requested, Enumerated, code 2508, section 7.4.10 */
+ {
+ struct dict_avp_data data = {
+ 2508, /* Code */
+ 10415, /* Vendor */
+ "Velocity-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, "Enumerated(3GPP/Velocity-Requested)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Response-Time, Enumerated, code 2509, section 7.4.11 */
+ {
+ struct dict_avp_data data = {
+ 2509, /* Code */
+ 10415, /* Vendor */
+ "Response-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Response-Time)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Supported-GAD-Shapes, Unsigned32, code 2510, section 7.4.12 */
+ {
+ struct dict_avp_data data = {
+ 2510, /* Code */
+ 10415, /* Vendor */
+ "Supported-GAD-Shapes", /* 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);
+ };
+
+ /* LCS-Codeword, UTF8String, code 2511, section 7.4.13 */
+ {
+ struct dict_avp_data data = {
+ 2511, /* Code */
+ 10415, /* Vendor */
+ "LCS-Codeword", /* 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-Privacy-Check, Enumerated, code 2512, section 7.4.14 */
+ {
+ struct dict_avp_data data = {
+ 2512, /* Code */
+ 10415, /* Vendor */
+ "LCS-Privacy-Check", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/LCS-Privacy-Check)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Accuracy-Fulfilment-Indicator, Enumerated, code 2513, section 7.4.15 */
+ {
+ struct dict_avp_data data = {
+ 2513, /* Code */
+ 10415, /* Vendor */
+ "Accuracy-Fulfilment-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Accuracy-Fulfilment-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Age-Of-Location-Estimate, Unsigned32, code 2514, section 7.4.16 */
+ {
+ struct dict_avp_data data = {
+ 2514, /* Code */
+ 10415, /* Vendor */
+ "Age-Of-Location-Estimate", /* 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);
+ };
+
+ /* Velocity-Estimate, OctetString, code 2515, section 7.4.17 */
+ {
+ struct dict_avp_data data = {
+ 2515, /* Code */
+ 10415, /* Vendor */
+ "Velocity-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);
+ };
+
+ /* EUTRAN-Positioning-Data, OctetString, code 2516, section 7.4.18 */
+ {
+ struct dict_avp_data data = {
+ 2516, /* Code */
+ 10415, /* Vendor */
+ "EUTRAN-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, NULL, NULL);
+ };
+
+ /* ECGI, OctetString, code 2517, section 7.4.19 */
+ {
+ struct dict_avp_data data = {
+ 2517, /* Code */
+ 10415, /* Vendor */
+ "ECGI", /* 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-Event, Enumerated, code 2518, section 7.4.20 */
+ {
+ struct dict_avp_data data = {
+ 2518, /* Code */
+ 10415, /* Vendor */
+ "Location-Event", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Location-Event)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Pseudonym-Indicator, Enumerated, code 2519, section 7.4.21 */
+ {
+ struct dict_avp_data data = {
+ 2519, /* Code */
+ 10415, /* Vendor */
+ "Pseudonym-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pseudonym-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* LCS-Service-Type-ID, Unsigned32, code 2520, section 7.4.22 */
+ {
+ struct dict_avp_data data = {
+ 2520, /* Code */
+ 10415, /* Vendor */
+ "LCS-Service-Type-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);
+ };
+
+ /* LCS-Privacy-Check-Non-Session, Grouped, code 2521, section 7.4.23 */
+ {
+ struct dict_avp_data data = {
+ 2521, /* Code */
+ 10415, /* Vendor */
+ "LCS-Privacy-Check-Non-Session", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* LCS-Privacy-Check-Session, Grouped, code 2522, section 7.4.24 */
+ {
+ struct dict_avp_data data = {
+ 2522, /* Code */
+ 10415, /* Vendor */
+ "LCS-Privacy-Check-Session", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* LCS-QoS-Class, Enumerated, code 2523, section 7.4.27 */
+ {
+ struct dict_avp_data data = {
+ 2523, /* Code */
+ 10415, /* Vendor */
+ "LCS-QoS-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, "Enumerated(3GPP/LCS-QoS-Class)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* GERAN-Positioning-Info, Grouped, code 2524, section 7.4.29 */
+ {
+ struct dict_avp_data data = {
+ 2524, /* Code */
+ 10415, /* Vendor */
+ "GERAN-Positioning-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* GERAN-Positioning-Data, OctetString, code 2525, section 7.4.30 */
+ {
+ struct dict_avp_data data = {
+ 2525, /* Code */
+ 10415, /* Vendor */
+ "GERAN-Positioning-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* GERAN-GANSS-Positioning-Data, OctetString, code 2526, section 7.4.31 */
+ {
+ struct dict_avp_data data = {
+ 2526, /* Code */
+ 10415, /* Vendor */
+ "GERAN-GANSS-Positioning-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UTRAN-Positioning-Info, Grouped, code 2527, section 7.4.32 */
+ {
+ struct dict_avp_data data = {
+ 2527, /* Code */
+ 10415, /* Vendor */
+ "UTRAN-Positioning-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UTRAN-Positioning-Data, OctetString, code 2528, section 7.4.33 */
+ {
+ struct dict_avp_data data = {
+ 2528, /* Code */
+ 10415, /* Vendor */
+ "UTRAN-Positioning-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UTRAN-GANSS-Positioning-Data, OctetString, code 2529, section 7.4.34 */
+ {
+ struct dict_avp_data data = {
+ 2529, /* Code */
+ 10415, /* Vendor */
+ "UTRAN-GANSS-Positioning-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* LRR-Flags, Unsigned32, code 2530, section 7.4.35 */
+ {
+ struct dict_avp_data data = {
+ 2530, /* Code */
+ 10415, /* Vendor */
+ "LRR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* LCS-Reference-Number, OctetString, code 2531, section 7.4.37 */
+ {
+ struct dict_avp_data data = {
+ 2531, /* Code */
+ 10415, /* Vendor */
+ "LCS-Reference-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Deferred-Location-Type, Unsigned32, code 2532, section 7.4.36 */
+ {
+ struct dict_avp_data data = {
+ 2532, /* Code */
+ 10415, /* Vendor */
+ "Deferred-Location-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Area-Event-Info, Grouped, code 2533, section 7.4.38 */
+ {
+ struct dict_avp_data data = {
+ 2533, /* Code */
+ 10415, /* Vendor */
+ "Area-Event-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Area-Definition, Grouped, code 2534, section 7.4.39 */
+ {
+ struct dict_avp_data data = {
+ 2534, /* Code */
+ 10415, /* Vendor */
+ "Area-Definition", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Area, Grouped, code 2535, section 7.4.40 */
+ {
+ struct dict_avp_data data = {
+ 2535, /* Code */
+ 10415, /* Vendor */
+ "Area", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Area-Type, Unsigned32, code 2536, section 7.4.41 */
+ {
+ struct dict_avp_data data = {
+ 2536, /* Code */
+ 10415, /* Vendor */
+ "Area-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Area-Identification, Grouped, code 2537, section 7.4.42 */
+ {
+ struct dict_avp_data data = {
+ 2537, /* Code */
+ 10415, /* Vendor */
+ "Area-Identification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Occurrence-Info, Enumerated, code 2538, section 7.4.43 */
+ {
+ struct dict_avp_data data = {
+ 2538, /* Code */
+ 10415, /* Vendor */
+ "Occurrence-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Occurrence-Info)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Interval-Time, Unsigned32, code 2539, section 7.4.44 */
+ {
+ struct dict_avp_data data = {
+ 2539, /* Code */
+ 10415, /* Vendor */
+ "Interval-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Periodic-LDR-Information, Grouped, code 2540, section 7.4.45 */
+ {
+ struct dict_avp_data data = {
+ 2540, /* Code */
+ 10415, /* Vendor */
+ "Periodic-LDR-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reporting-Amount, Unsigned32, code 2541, section 7.4.46 */
+ {
+ struct dict_avp_data data = {
+ 2541, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Amount", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reporting-Interval, Unsigned32, code 2542, section 7.4.47 */
+ {
+ struct dict_avp_data data = {
+ 2542, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Interval", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reporting-PLMN-List, Grouped, code 2543, section 7.4.48 */
+ {
+ struct dict_avp_data data = {
+ 2543, /* Code */
+ 10415, /* Vendor */
+ "Reporting-PLMN-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PLMN-ID-List, Grouped, code 2544, section 7.4.49 */
+ {
+ struct dict_avp_data data = {
+ 2544, /* Code */
+ 10415, /* Vendor */
+ "PLMN-ID-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PLR-Flags, Unsigned32, code 2545, section 7.4.52 */
+ {
+ struct dict_avp_data data = {
+ 2545, /* Code */
+ 10415, /* Vendor */
+ "PLR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PLA-Flags, Unsigned32, code 2546, section 7.4.53 */
+ {
+ struct dict_avp_data data = {
+ 2546, /* Code */
+ 10415, /* Vendor */
+ "PLA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Deferred-MT-LR-Data, Grouped, code 2547, section 7.4.54 */
+ {
+ struct dict_avp_data data = {
+ 2547, /* Code */
+ 10415, /* Vendor */
+ "Deferred-MT-LR-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Termination-Cause, Unsigned32, code 2548, section 7.4.55 */
+ {
+ struct dict_avp_data data = {
+ 2548, /* Code */
+ 10415, /* Vendor */
+ "Termination-Cause", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* LRA-Flags, Unsigned32, code 2549, section 7.4.56 */
+ {
+ struct dict_avp_data data = {
+ 2549, /* Code */
+ 10415, /* Vendor */
+ "LRA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Periodic-Location-Support-Indicator, Enumerated, code 2550, section 7.4.50 */
+ {
+ struct dict_avp_data data = {
+ 2550, /* Code */
+ 10415, /* Vendor */
+ "Periodic-Location-Support-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Periodic-Location-Support-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Prioritized-List-Indicator, Enumerated, code 2551, section 7.4.51 */
+ {
+ struct dict_avp_data data = {
+ 2551, /* Code */
+ 10415, /* Vendor */
+ "Prioritized-List-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Prioritized-List-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ESMLC-Cell-Info, Grouped, code 2552, section 7.4.57 */
+ {
+ struct dict_avp_data data = {
+ 2552, /* Code */
+ 10415, /* Vendor */
+ "ESMLC-Cell-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Cell-Portion-ID, Unsigned32, code 2553, section 7.4.58 */
+ {
+ struct dict_avp_data data = {
+ 2553, /* Code */
+ 10415, /* Vendor */
+ "Cell-Portion-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 1xRTT-RCID, OctetString, code 2554, section 7.4.59 */
+ {
+ struct dict_avp_data data = {
+ 2554, /* Code */
+ 10415, /* Vendor */
+ "1xRTT-RCID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Delayed-Location-Reporting-Data, Grouped, code 2555, section 7.4.60 */
+ {
+ struct dict_avp_data data = {
+ 2555, /* Code */
+ 10415, /* Vendor */
+ "Delayed-Location-Reporting-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Civic-Address, UTF8String, code 2556, section 7.4.61 */
+ {
+ struct dict_avp_data data = {
+ 2556, /* Code */
+ 10415, /* Vendor */
+ "Civic-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Barometric-Pressure, Unsigned32, code 2557, section 7.4.62 */
+ {
+ struct dict_avp_data data = {
+ 2557, /* Code */
+ 10415, /* Vendor */
+ "Barometric-Pressure", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UTRAN-Additional-Positioning-Data, OctetString, code 2558, section 7.4.63 */
+ {
+ struct dict_avp_data data = {
+ 2558, /* Code */
+ 10415, /* Vendor */
+ "UTRAN-Additional-Positioning-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Motion-Event-Info, Grouped, code 2559, section 7.4.64 */
+ {
+ struct dict_avp_data data = {
+ 2559, /* Code */
+ 10415, /* Vendor */
+ "Motion-Event-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Linear-Distance, Unsigned32, code 2560, section 7.4.65 */
+ {
+ struct dict_avp_data data = {
+ 2560, /* Code */
+ 10415, /* Vendor */
+ "Linear-Distance", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Maximum-Interval, Unsigned32, code 2561, section 7.4.66 */
+ {
+ struct dict_avp_data data = {
+ 2561, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Interval", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Sampling-Interval, Unsigned32, code 2562, section 7.4.67 */
+ {
+ struct dict_avp_data data = {
+ 2562, /* Code */
+ 10415, /* Vendor */
+ "Sampling-Interval", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reporting-Duration, Unsigned32, code 2563, section 7.4.68 */
+ {
+ struct dict_avp_data data = {
+ 2563, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Duration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reporting-Location-Requirements, Unsigned32, code 2564, section 7.4.69 */
+ {
+ struct dict_avp_data data = {
+ 2564, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Location-Requirements", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Additional-Area, Grouped, code 2565, section 7.4.70 */
+ {
+ struct dict_avp_data data = {
+ 2565, /* Code */
+ 10415, /* Vendor */
+ "Additional-Area", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.173 V15.0.0 (2018-06) */
+ /* Location Services (LCS); */
+ /* Diameter-based SLh interface for Control Plane LCS */
+ /* */
+ /* From 3GPP 29173-f00.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.173 Table 6.4.1/1: SLh specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* LMSI, OctetString, code 2400, section 6.4.2 */
+ {
+ struct dict_avp_data data = {
+ 2400, /* Code */
+ 10415, /* Vendor */
+ "LMSI", /* 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);
+ };
+
+ /* Serving-Node, Grouped, code 2401, section 6.4.3 */
+ {
+ struct dict_avp_data data = {
+ 2401, /* Code */
+ 10415, /* Vendor */
+ "Serving-Node", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MME-Name, DiameterIdentity, code 2402, section 6.4.4 */
+ {
+ struct dict_avp_data data = {
+ 2402, /* Code */
+ 10415, /* Vendor */
+ "MME-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, DiameterIdentity_type, NULL);
+ };
+
+ /* MSC-Number, OctetString, code 2403, section 6.4.5 */
+ {
+ struct dict_avp_data data = {
+ 2403, /* Code */
+ 10415, /* Vendor */
+ "MSC-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);
+ };
+
+ /* LCS-Capabilities-Sets, Unsigned32, code 2404, section 6.4.6 */
+ {
+ struct dict_avp_data data = {
+ 2404, /* Code */
+ 10415, /* Vendor */
+ "LCS-Capabilities-Sets", /* 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);
+ };
+
+ /* GMLC-Address, Address, code 2405, section 6.4.7 */
+ {
+ struct dict_avp_data data = {
+ 2405, /* Code */
+ 10415, /* Vendor */
+ "GMLC-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);
+ };
+
+ /* Additional-Serving-Node, Grouped, code 2406, section 6.4.8 */
+ {
+ struct dict_avp_data data = {
+ 2406, /* Code */
+ 10415, /* Vendor */
+ "Additional-Serving-Node", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PPR-Address, Address, code 2407, section 6.4.9 */
+ {
+ struct dict_avp_data data = {
+ 2407, /* Code */
+ 10415, /* Vendor */
+ "PPR-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);
+ };
+
+ /* MME-Realm, DiameterIdentity, code 2408, section 6.4.12 */
+ {
+ struct dict_avp_data data = {
+ 2408, /* Code */
+ 10415, /* Vendor */
+ "MME-Realm", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* SGSN-Name, DiameterIdentity, code 2409, section 6.4.13 */
+ {
+ struct dict_avp_data data = {
+ 2409, /* Code */
+ 10415, /* Vendor */
+ "SGSN-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* SGSN-Realm, DiameterIdentity, code 2410, section 6.4.14 */
+ {
+ struct dict_avp_data data = {
+ 2410, /* Code */
+ 10415, /* Vendor */
+ "SGSN-Realm", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* RIA-Flags, Unsigned32, code 2411, section 6.4.15 */
+ {
+ struct dict_avp_data data = {
+ 2411, /* Code */
+ 10415, /* Vendor */
+ "RIA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.209 V6.8.0 (2011-09) */
+ /* Policy control over Gq interface */
+ /* */
+ /* From 3GPP 29209-680.doc */
+ /* */
+ /* Replaced by 3GPP TS 29.214. */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.209 Table 6.5.1: Gq specific Diameter AVPs */
+ /* Note: Only AVPs not provided by 3GPP TS 29.214. */
+ /*==================================================================*/
+
+ /* Authorization-Token, OctetString, code 506, section 6.5.7 */
+ {
+ struct dict_avp_data data = {
+ 506, /* Code */
+ 10415, /* Vendor */
+ "Authorization-Token", /* 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);
+ };
+
+ /* Flow-Grouping, Grouped, code 508, section 6.5.9 */
+ {
+ struct dict_avp_data data = {
+ 508, /* Code */
+ 10415, /* Vendor */
+ "Flow-Grouping", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.210 V6.7.0 (2006-12) */
+ /* Charging rule provisioning over Gx interface */
+ /* */
+ /* From 3GPP 29210-670.doc */
+ /* */
+ /* Replaced by 3GPP TS 29.212. */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.210 Table 5.2: Gx specific Diameter AVPs */
+ /* Note: Only AVPs not provided by 3GPP TS 29.212. */
+ /*==================================================================*/
+
+ /* PDP-Session-Operation, Enumerated, code 1015, section 5.2.21 */
+ {
+ struct dict_avp_data data = {
+ 1015, /* Code */
+ 10415, /* Vendor */
+ "PDP-Session-Operation", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PDP-Session-Operation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.212 V15.9.0 (2019-12) */
+ /* Policy and Charging Control (PCC); Reference points */
+ /* */
+ /* From 3GPP 29212-f90.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.212 Table 5.3.0.1: Gx specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Change-1.4.0: ADC-Revalidation-Time (2801) Time removed in 3GPP TS 29.212 V12.1.0 (2013-06). */
+
+ /* Note: Name conflict with 3GPP TS 32.299 3GPP-PS-Data-Off-Status (4406). */
+ /* 3GPP TS 29.212 V14.3.0 (2017-03) CR 1559 added 3GPP-PS-Data-Off-Status (2847). */
+ /* 3GPP TS 32.299 V14.3.0 (2017-03) CR 0760 added 3GPP-PS-Data-Off-Status (4406). */
+ /* 3GPP-PS-Data-Off-Status, Enumerated, code 2847, section 5.3.133 */
+ {
+ struct dict_avp_data data = {
+ 2847, /* Code */
+ 10415, /* Vendor */
+ "3GPP-PS-Data-Off-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/3GPP-PS-Data-Off-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Access-Availability-Change-Reason, Unsigned32, code 2833, section 5.3.121 */
+ {
+ struct dict_avp_data data = {
+ 2833, /* Code */
+ 10415, /* Vendor */
+ "Access-Availability-Change-Reason", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Access-Network-Charging-Identifier-Gx, Grouped, code 1022, section 5.3.22 */
+ {
+ struct dict_avp_data data = {
+ 1022, /* Code */
+ 10415, /* Vendor */
+ "Access-Network-Charging-Identifier-Gx", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Allocation-Retention-Priority, Grouped, code 1034, section 5.3.32 */
+ {
+ struct dict_avp_data data = {
+ 1034, /* Code */
+ 10415, /* Vendor */
+ "Allocation-Retention-Priority", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AN-GW-Address, Address, code 1050, section 5.3.49 */
+ {
+ struct dict_avp_data data = {
+ 1050, /* Code */
+ 10415, /* Vendor */
+ "AN-GW-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* AN-GW-Status, Enumerated, code 2811, section 5.3.100 */
+ {
+ struct dict_avp_data data = {
+ 2811, /* Code */
+ 10415, /* Vendor */
+ "AN-GW-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/AN-GW-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* APN-Aggregate-Max-Bitrate-DL, Unsigned32, code 1040, section 5.3.39 */
+ {
+ struct dict_avp_data data = {
+ 1040, /* Code */
+ 10415, /* Vendor */
+ "APN-Aggregate-Max-Bitrate-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* APN-Aggregate-Max-Bitrate-UL, Unsigned32, code 1041, section 5.3.40 */
+ {
+ struct dict_avp_data data = {
+ 1041, /* Code */
+ 10415, /* Vendor */
+ "APN-Aggregate-Max-Bitrate-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Application-Detection-Information, Grouped, code 1098, section 5.3.91 */
+ {
+ struct dict_avp_data data = {
+ 1098, /* Code */
+ 10415, /* Vendor */
+ "Application-Detection-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Bearer-Control-Mode, Enumerated, code 1023, section 5.3.23 */
+ {
+ struct dict_avp_data data = {
+ 1023, /* Code */
+ 10415, /* Vendor */
+ "Bearer-Control-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, "Enumerated(3GPP/Bearer-Control-Mode)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Bearer-Identifier, OctetString, code 1020, section 5.3.20 */
+ {
+ struct dict_avp_data data = {
+ 1020, /* Code */
+ 10415, /* Vendor */
+ "Bearer-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, NULL, NULL);
+ };
+
+ /* Bearer-Operation, Enumerated, code 1021, section 5.3.21 */
+ {
+ struct dict_avp_data data = {
+ 1021, /* Code */
+ 10415, /* Vendor */
+ "Bearer-Operation", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Operation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Bearer-Usage, Enumerated, code 1000, section 5.3.1 */
+ {
+ struct dict_avp_data data = {
+ 1000, /* Code */
+ 10415, /* Vendor */
+ "Bearer-Usage", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Usage)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Charging-Correlation-Indicator, Enumerated, code 1073, section 5.3.67 */
+ {
+ struct dict_avp_data data = {
+ 1073, /* Code */
+ 10415, /* Vendor */
+ "Charging-Correlation-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Charging-Correlation-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Charging-Rule-Base-Name, UTF8String, code 1004, section 5.3.5 */
+ {
+ struct dict_avp_data data = {
+ 1004, /* Code */
+ 10415, /* Vendor */
+ "Charging-Rule-Base-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);
+ };
+
+ /* Charging-Rule-Definition, Grouped, code 1003, section 5.3.4 */
+ {
+ struct dict_avp_data data = {
+ 1003, /* Code */
+ 10415, /* Vendor */
+ "Charging-Rule-Definition", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Charging-Rule-Install, Grouped, code 1001, section 5.3.2 */
+ {
+ struct dict_avp_data data = {
+ 1001, /* Code */
+ 10415, /* Vendor */
+ "Charging-Rule-Install", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Charging-Rule-Name, OctetString, code 1005, section 5.3.6 */
+ {
+ struct dict_avp_data data = {
+ 1005, /* Code */
+ 10415, /* Vendor */
+ "Charging-Rule-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, NULL, NULL);
+ };
+
+ /* Charging-Rule-Remove, Grouped, code 1002, section 5.3.3 */
+ {
+ struct dict_avp_data data = {
+ 1002, /* Code */
+ 10415, /* Vendor */
+ "Charging-Rule-Remove", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Charging-Rule-Report, Grouped, code 1018, section 5.3.18 */
+ {
+ struct dict_avp_data data = {
+ 1018, /* Code */
+ 10415, /* Vendor */
+ "Charging-Rule-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CoA-Information, Grouped, code 1039, section 5.3.37 */
+ {
+ struct dict_avp_data data = {
+ 1039, /* Code */
+ 10415, /* Vendor */
+ "CoA-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CoA-IP-Address, Address, code 1035, section 5.3.33 */
+ {
+ struct dict_avp_data data = {
+ 1035, /* Code */
+ 10415, /* Vendor */
+ "CoA-IP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* Conditional-APN-Aggregate-Max-Bitrate, Grouped, code 2818, section 5.3.105 */
+ {
+ struct dict_avp_data data = {
+ 2818, /* Code */
+ 10415, /* Vendor */
+ "Conditional-APN-Aggregate-Max-Bitrate", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Conditional-Policy-Information, Grouped, code 2840, section 5.3.128 */
+ {
+ struct dict_avp_data data = {
+ 2840, /* Code */
+ 10415, /* Vendor */
+ "Conditional-Policy-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Credit-Management-Status, Unsigned32, code 1082, section 5.3.102 */
+ {
+ struct dict_avp_data data = {
+ 1082, /* Code */
+ 10415, /* Vendor */
+ "Credit-Management-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CSG-Information-Reporting, Enumerated, code 1071, section 5.3.64 */
+ {
+ struct dict_avp_data data = {
+ 1071, /* Code */
+ 10415, /* Vendor */
+ "CSG-Information-Reporting", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Information-Reporting)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Default-Access, Enumerated, code 2829, section 5.3.120 */
+ {
+ struct dict_avp_data data = {
+ 2829, /* Code */
+ 10415, /* Vendor */
+ "Default-Access", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Default-Access)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Default-Bearer-Indication, Enumerated, code 2844, section 5.3.132 */
+ {
+ struct dict_avp_data data = {
+ 2844, /* Code */
+ 10415, /* Vendor */
+ "Default-Bearer-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Default-Bearer-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Default-EPS-Bearer-QoS, Grouped, code 1049, section 5.3.48 */
+ {
+ struct dict_avp_data data = {
+ 1049, /* Code */
+ 10415, /* Vendor */
+ "Default-EPS-Bearer-QoS", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Default-QoS-Information, Grouped, code 2816, section 5.3.103 */
+ {
+ struct dict_avp_data data = {
+ 2816, /* Code */
+ 10415, /* Vendor */
+ "Default-QoS-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Default-QoS-Name, UTF8String, code 2817, section 5.3.104 */
+ {
+ struct dict_avp_data data = {
+ 2817, /* Code */
+ 10415, /* Vendor */
+ "Default-QoS-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Event-Report-Indication, Grouped, code 1033, section 5.3.30 */
+ {
+ struct dict_avp_data data = {
+ 1033, /* Code */
+ 10415, /* Vendor */
+ "Event-Report-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Event-Trigger, Enumerated, code 1006, section 5.3.7 */
+ {
+ struct dict_avp_data data = {
+ 1006, /* Code */
+ 10415, /* Vendor */
+ "Event-Trigger", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Event-Trigger)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Execution-Time, Time, code 2839, section 5.3.127 */
+ {
+ struct dict_avp_data data = {
+ 2839, /* Code */
+ 10415, /* Vendor */
+ "Execution-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* Extended-APN-AMBR-DL, Unsigned32, code 2848, section 5.3.134 */
+ {
+ struct dict_avp_data data = {
+ 2848, /* Code */
+ 10415, /* Vendor */
+ "Extended-APN-AMBR-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-APN-AMBR-UL, Unsigned32, code 2849, section 5.3.135 */
+ {
+ struct dict_avp_data data = {
+ 2849, /* Code */
+ 10415, /* Vendor */
+ "Extended-APN-AMBR-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-GBR-DL, Unsigned32, code 2850, section 5.3.136 */
+ {
+ struct dict_avp_data data = {
+ 2850, /* Code */
+ 10415, /* Vendor */
+ "Extended-GBR-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-GBR-UL, Unsigned32, code 2851, section 5.3.137 */
+ {
+ struct dict_avp_data data = {
+ 2851, /* Code */
+ 10415, /* Vendor */
+ "Extended-GBR-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Flow-Direction, Enumerated, code 1080, section 5.3.65 */
+ {
+ struct dict_avp_data data = {
+ 1080, /* Code */
+ 10415, /* Vendor */
+ "Flow-Direction", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Flow-Direction)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Flow-Information, Grouped, code 1058, section 5.3.53 */
+ {
+ struct dict_avp_data data = {
+ 1058, /* Code */
+ 10415, /* Vendor */
+ "Flow-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Flow-Label, OctetString, code 1057, section 5.3.52 */
+ {
+ struct dict_avp_data data = {
+ 1057, /* Code */
+ 10415, /* Vendor */
+ "Flow-Label", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Fixed-User-Location-Info, Grouped, code 2825, section 5.3.112 */
+ {
+ struct dict_avp_data data = {
+ 2825, /* Code */
+ 10415, /* Vendor */
+ "Fixed-User-Location-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Guaranteed-Bitrate-DL, Unsigned32, code 1025, section 5.3.25 */
+ {
+ struct dict_avp_data data = {
+ 1025, /* Code */
+ 10415, /* Vendor */
+ "Guaranteed-Bitrate-DL", /* 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);
+ };
+
+ /* Guaranteed-Bitrate-UL, Unsigned32, code 1026, section 5.3.26 */
+ {
+ struct dict_avp_data data = {
+ 1026, /* Code */
+ 10415, /* Vendor */
+ "Guaranteed-Bitrate-UL", /* 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);
+ };
+
+ /* Note: HeNB-BBF-FQDN (2803) UTF8String removed in 3GPP TS 29.212 V11.8.0 (2013-03). */
+
+ /* HeNB-Local-IP-Address, Address, code 2804, section 5.3.95 */
+ {
+ struct dict_avp_data data = {
+ 2804, /* Code */
+ 10415, /* Vendor */
+ "HeNB-Local-IP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* IP-CAN-Session-Charging-Scope, Enumerated, code 2827, section 5.3.114 */
+ {
+ struct dict_avp_data data = {
+ 2827, /* Code */
+ 10415, /* Vendor */
+ "IP-CAN-Session-Charging-Scope", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IP-CAN-Session-Charging-Scope)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* IP-CAN-Type, Enumerated, code 1027, section 5.3.27 */
+ {
+ struct dict_avp_data data = {
+ 1027, /* Code */
+ 10415, /* Vendor */
+ "IP-CAN-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, "Enumerated(3GPP/IP-CAN-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: 3GPP TS 29.212 Table 5.3.0.1 row Max-PLR-DL (2852) */
+ /* incorrectly lists type as Unsigned32 instead of Float32. */
+ /* 3GPP TS 29.212 clause 5.3.138 uses Float32. */
+ /* */
+ /* Fix: Max-PLR-DL (2852) type changed from Float32 to Unsigned32. */
+ /* Max-PLR-DL, Unsigned32, code 2852, section 5.3.138 */
+ {
+ struct dict_avp_data data = {
+ 2852, /* Code */
+ 10415, /* Vendor */
+ "Max-PLR-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.212 Table 5.3.0.1 row Max-PLR-UL (2853) */
+ /* incorrectly lists type as Unsigned32 instead of Float32. */
+ /* 3GPP TS 29.212 clause 5.3.139 uses Float32. */
+ /* */
+ /* Fix: Max-PLR-UL (2853) type changed from Float32 to Unsigned32. */
+ /* Max-PLR-UL, Unsigned32, code 2853, section 5.3.139 */
+ {
+ struct dict_avp_data data = {
+ 2853, /* Code */
+ 10415, /* Vendor */
+ "Max-PLR-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Metering-Method, Enumerated, code 1007, section 5.3.8 */
+ {
+ struct dict_avp_data data = {
+ 1007, /* Code */
+ 10415, /* Vendor */
+ "Metering-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, "Enumerated(3GPP/Metering-Method)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Monitoring-Flags, Unsigned32, code 2828, section 5.3.115 */
+ {
+ struct dict_avp_data data = {
+ 2828, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Monitoring-Key, OctetString, code 1066, section 5.3.59 */
+ {
+ struct dict_avp_data data = {
+ 1066, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Key", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Mute-Notification, Enumerated, code 2809, section 5.3.98 */
+ {
+ struct dict_avp_data data = {
+ 2809, /* Code */
+ 10415, /* Vendor */
+ "Mute-Notification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Mute-Notification)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Monitoring-Time, Time, code 2810, section 5.3.99 */
+ {
+ struct dict_avp_data data = {
+ 2810, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* NBIFOM-Mode, Enumerated, code 2830, section 5.3.117 */
+ {
+ struct dict_avp_data data = {
+ 2830, /* Code */
+ 10415, /* Vendor */
+ "NBIFOM-Mode", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/NBIFOM-Mode)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* NBIFOM-Support, Enumerated, code 2831, section 5.3.116 */
+ {
+ struct dict_avp_data data = {
+ 2831, /* Code */
+ 10415, /* Vendor */
+ "NBIFOM-Support", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/NBIFOM-Support)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* NetLoc-Access-Support, Unsigned32, code 2824, section 5.3.111 */
+ {
+ struct dict_avp_data data = {
+ 2824, /* Code */
+ 10415, /* Vendor */
+ "NetLoc-Access-Support", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Network-Request-Support, Enumerated, code 1024, section 5.3.24 */
+ {
+ struct dict_avp_data data = {
+ 1024, /* Code */
+ 10415, /* Vendor */
+ "Network-Request-Support", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Network-Request-Support)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Offline, Enumerated, code 1008, section 5.3.9 */
+ {
+ struct dict_avp_data data = {
+ 1008, /* Code */
+ 10415, /* Vendor */
+ "Offline", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Offline)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Online, Enumerated, code 1009, section 5.3.10 */
+ {
+ struct dict_avp_data data = {
+ 1009, /* Code */
+ 10415, /* Vendor */
+ "Online", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Online)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Packet-Filter-Content, IPFilterRule, code 1059, section 5.3.54 */
+ {
+ struct dict_avp_data data = {
+ 1059, /* Code */
+ 10415, /* Vendor */
+ "Packet-Filter-Content", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, IPFilterRule_type, NULL);
+ };
+
+ /* Packet-Filter-Identifier, OctetString, code 1060, section 5.3.55 */
+ {
+ struct dict_avp_data data = {
+ 1060, /* Code */
+ 10415, /* Vendor */
+ "Packet-Filter-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Packet-Filter-Information, Grouped, code 1061, section 5.3.56 */
+ {
+ struct dict_avp_data data = {
+ 1061, /* Code */
+ 10415, /* Vendor */
+ "Packet-Filter-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Packet-Filter-Operation, Enumerated, code 1062, section 5.3.57 */
+ {
+ struct dict_avp_data data = {
+ 1062, /* Code */
+ 10415, /* Vendor */
+ "Packet-Filter-Operation", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Packet-Filter-Operation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Packet-Filter-Usage, Enumerated, code 1072, section 5.3.66 */
+ {
+ struct dict_avp_data data = {
+ 1072, /* Code */
+ 10415, /* Vendor */
+ "Packet-Filter-Usage", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Packet-Filter-Usage)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PCC-Rule-Status, Enumerated, code 1019, section 5.3.19 */
+ {
+ struct dict_avp_data data = {
+ 1019, /* Code */
+ 10415, /* Vendor */
+ "PCC-Rule-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, "Enumerated(3GPP/PCC-Rule-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: 3GPP TS 29.212 Table 5.3.0.1 row PDN-Connection-ID (1065) */
+ /* missing M, assume MUST NOT. */
+ /* */
+ /* Change-1.4.0: PDN-Connection-ID (1065) flag M MUST NOT. */
+ /* PDN-Connection-ID, OctetString, code 1065, section 5.3.58 */
+ {
+ struct dict_avp_data data = {
+ 1065, /* Code */
+ 10415, /* Vendor */
+ "PDN-Connection-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PRA-Install, Grouped, code 2845, section 5.3.130 */
+ {
+ struct dict_avp_data data = {
+ 2845, /* Code */
+ 10415, /* Vendor */
+ "PRA-Install", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PRA-Remove, Grouped, code 2846, section 5.3.131 */
+ {
+ struct dict_avp_data data = {
+ 2846, /* Code */
+ 10415, /* Vendor */
+ "PRA-Remove", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Precedence, Unsigned32, code 1010, section 5.3.11 */
+ {
+ struct dict_avp_data data = {
+ 1010, /* Code */
+ 10415, /* Vendor */
+ "Precedence", /* 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);
+ };
+
+ /* Pre-emption-Capability, Enumerated, code 1047, section 5.3.46 */
+ {
+ struct dict_avp_data data = {
+ 1047, /* Code */
+ 10415, /* Vendor */
+ "Pre-emption-Capability", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pre-emption-Capability)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Pre-emption-Vulnerability, Enumerated, code 1048, section 5.3.47 */
+ {
+ struct dict_avp_data data = {
+ 1048, /* Code */
+ 10415, /* Vendor */
+ "Pre-emption-Vulnerability", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pre-emption-Vulnerability)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Presence-Reporting-Area-Elements-List, OctetString, code 2820, section 5.3.107 */
+ {
+ struct dict_avp_data data = {
+ 2820, /* Code */
+ 10415, /* Vendor */
+ "Presence-Reporting-Area-Elements-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Presence-Reporting-Area-Identifier, OctetString, code 2821, section 5.3.108 */
+ {
+ struct dict_avp_data data = {
+ 2821, /* Code */
+ 10415, /* Vendor */
+ "Presence-Reporting-Area-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Presence-Reporting-Area-Information, Grouped, code 2822, section 5.3.109 */
+ {
+ struct dict_avp_data data = {
+ 2822, /* Code */
+ 10415, /* Vendor */
+ "Presence-Reporting-Area-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Presence-Reporting-Area-Node, Unsigned32, code 2855, section 5.3.141 */
+ {
+ struct dict_avp_data data = {
+ 2855, /* Code */
+ 10415, /* Vendor */
+ "Presence-Reporting-Area-Node", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Presence-Reporting-Area-Status, Unsigned32, code 2823, section 5.3.110 */
+ {
+ struct dict_avp_data data = {
+ 2823, /* Code */
+ 10415, /* Vendor */
+ "Presence-Reporting-Area-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Priority-Level, Unsigned32, code 1046, section 5.3.45 */
+ {
+ struct dict_avp_data data = {
+ 1046, /* Code */
+ 10415, /* Vendor */
+ "Priority-Level", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.212 Table 5.3.0.1 row PS-to-CS-Session-Continuity (1099) */
+ /* missing M, assume MUST NOT. */
+ /* */
+ /* Change-1.4.0: PS-to-CS-Session-Continuity (1099) flag M MUST NOT. */
+ /* PS-to-CS-Session-Continuity, Enumerated, code 1099, section 5.3.84 */
+ {
+ struct dict_avp_data data = {
+ 1099, /* Code */
+ 10415, /* Vendor */
+ "PS-to-CS-Session-Continuity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-to-CS-Session-Continuity)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* QoS-Class-Identifier, Enumerated, code 1028, section 5.3.17 */
+ {
+ struct dict_avp_data data = {
+ 1028, /* Code */
+ 10415, /* Vendor */
+ "QoS-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, "Enumerated(3GPP/QoS-Class-Identifier)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* QoS-Information, Grouped, code 1016, section 5.3.16 */
+ {
+ struct dict_avp_data data = {
+ 1016, /* Code */
+ 10415, /* Vendor */
+ "QoS-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, NULL);
+ };
+
+ /* QoS-Negotiation, Enumerated, code 1029, section 5.3.28 */
+ {
+ struct dict_avp_data data = {
+ 1029, /* Code */
+ 10415, /* Vendor */
+ "QoS-Negotiation", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Negotiation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* QoS-Upgrade, Enumerated, code 1030, section 5.3.29 */
+ {
+ struct dict_avp_data data = {
+ 1030, /* Code */
+ 10415, /* Vendor */
+ "QoS-Upgrade", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Upgrade)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* RAN-NAS-Release-Cause, OctetString, code 2819, section 5.3.106 */
+ {
+ struct dict_avp_data data = {
+ 2819, /* Code */
+ 10415, /* Vendor */
+ "RAN-NAS-Release-Cause", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* RAN-Rule-Support, Unsigned32, code 2832, section 5.3.122 */
+ {
+ struct dict_avp_data data = {
+ 2832, /* Code */
+ 10415, /* Vendor */
+ "RAN-Rule-Support", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* RAT-Type, Enumerated, code 1032, section 5.3.31 */
+ {
+ struct dict_avp_data data = {
+ 1032, /* Code */
+ 10415, /* Vendor */
+ "RAT-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/RAT-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Redirect-Information, Grouped, code 1085, section 5.3.82 */
+ {
+ struct dict_avp_data data = {
+ 1085, /* Code */
+ 10415, /* Vendor */
+ "Redirect-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Redirect-Support, Enumerated, code 1086, section 5.3.83 */
+ {
+ struct dict_avp_data data = {
+ 1086, /* Code */
+ 10415, /* Vendor */
+ "Redirect-Support", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Redirect-Support)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Removal-Of-Access, Enumerated, code 2842, section 5.3.126 */
+ {
+ struct dict_avp_data data = {
+ 2842, /* Code */
+ 10415, /* Vendor */
+ "Removal-Of-Access", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Removal-Of-Access)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Reporting-Level, Enumerated, code 1011, section 5.3.12 */
+ {
+ struct dict_avp_data data = {
+ 1011, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Level", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Reporting-Level)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Resource-Allocation-Notification, Enumerated, code 1063, section 5.3.50 */
+ {
+ struct dict_avp_data data = {
+ 1063, /* Code */
+ 10415, /* Vendor */
+ "Resource-Allocation-Notification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Resource-Allocation-Notification)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Resource-Release-Notification, Enumerated, code 2841, section 5.3.125 */
+ {
+ struct dict_avp_data data = {
+ 2841, /* Code */
+ 10415, /* Vendor */
+ "Resource-Release-Notification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Resource-Release-Notification)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Revalidation-Time, Time, code 1042, section 5.3.41 */
+ {
+ struct dict_avp_data data = {
+ 1042, /* Code */
+ 10415, /* Vendor */
+ "Revalidation-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);
+ };
+
+ /* Routing-Filter, Grouped, code 1078, section 5.3.72 */
+ {
+ struct dict_avp_data data = {
+ 1078, /* Code */
+ 10415, /* Vendor */
+ "Routing-Filter", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Routing-IP-Address, Address, code 1079, section 5.3.73 */
+ {
+ struct dict_avp_data data = {
+ 1079, /* Code */
+ 10415, /* Vendor */
+ "Routing-IP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* Routing-Rule-Definition, Grouped, code 1076, section 5.3.70 */
+ {
+ struct dict_avp_data data = {
+ 1076, /* Code */
+ 10415, /* Vendor */
+ "Routing-Rule-Definition", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Routing-Rule-Identifier, OctetString, code 1077, section 5.3.71 */
+ {
+ struct dict_avp_data data = {
+ 1077, /* Code */
+ 10415, /* Vendor */
+ "Routing-Rule-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Routing-Rule-Install, Grouped, code 1081, section 5.3.68 */
+ {
+ struct dict_avp_data data = {
+ 1081, /* Code */
+ 10415, /* Vendor */
+ "Routing-Rule-Install", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Routing-Rule-Remove, Grouped, code 1075, section 5.3.69 */
+ {
+ struct dict_avp_data data = {
+ 1075, /* Code */
+ 10415, /* Vendor */
+ "Routing-Rule-Remove", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Routing-Rule-Failure-Code, Unsigned32, code 2834, section 5.3.119 */
+ {
+ struct dict_avp_data data = {
+ 2834, /* Code */
+ 10415, /* Vendor */
+ "Routing-Rule-Failure-Code", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Routing-Rule-Report, Grouped, code 2835, section 5.3.118 */
+ {
+ struct dict_avp_data data = {
+ 2835, /* Code */
+ 10415, /* Vendor */
+ "Routing-Rule-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Rule-Activation-Time, Time, code 1043, section 5.3.42 */
+ {
+ struct dict_avp_data data = {
+ 1043, /* Code */
+ 10415, /* Vendor */
+ "Rule-Activation-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);
+ };
+
+ /* Rule-Deactivation-Time, Time, code 1044, section 5.3.43 */
+ {
+ struct dict_avp_data data = {
+ 1044, /* Code */
+ 10415, /* Vendor */
+ "Rule-Deactivation-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);
+ };
+
+ /* Rule-Failure-Code, Enumerated, code 1031, section 5.3.38 */
+ {
+ struct dict_avp_data data = {
+ 1031, /* Code */
+ 10415, /* Vendor */
+ "Rule-Failure-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, "Enumerated(3GPP/Rule-Failure-Code)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Security-Parameter-Index, OctetString, code 1056, section 5.3.51 */
+ {
+ struct dict_avp_data data = {
+ 1056, /* Code */
+ 10415, /* Vendor */
+ "Security-Parameter-Index", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Session-Release-Cause, Enumerated, code 1045, section 5.3.44 */
+ {
+ struct dict_avp_data data = {
+ 1045, /* Code */
+ 10415, /* Vendor */
+ "Session-Release-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 */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Release-Cause)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* TCP-Source-Port, Unsigned32, code 2843, section 5.3.129 */
+ {
+ struct dict_avp_data data = {
+ 2843, /* Code */
+ 10415, /* Vendor */
+ "TCP-Source-Port", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TDF-Information, Grouped, code 1087, section 5.3.78 */
+ {
+ struct dict_avp_data data = {
+ 1087, /* Code */
+ 10415, /* Vendor */
+ "TDF-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TDF-Application-Identifier, OctetString, code 1088, section 5.3.77 */
+ {
+ struct dict_avp_data data = {
+ 1088, /* Code */
+ 10415, /* Vendor */
+ "TDF-Application-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TDF-Application-Instance-Identifier, OctetString, code 2802, section 5.3.92 */
+ {
+ struct dict_avp_data data = {
+ 2802, /* Code */
+ 10415, /* Vendor */
+ "TDF-Application-Instance-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TDF-Destination-Host, DiameterIdentity, code 1089, section 5.3.80 */
+ {
+ struct dict_avp_data data = {
+ 1089, /* Code */
+ 10415, /* Vendor */
+ "TDF-Destination-Host", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* TDF-Destination-Realm, DiameterIdentity, code 1090, section 5.3.79 */
+ {
+ struct dict_avp_data data = {
+ 1090, /* Code */
+ 10415, /* Vendor */
+ "TDF-Destination-Realm", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* TDF-IP-Address, Address, code 1091, section 5.3.81 */
+ {
+ struct dict_avp_data data = {
+ 1091, /* Code */
+ 10415, /* Vendor */
+ "TDF-IP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* TFT-Filter, IPFilterRule, code 1012, section 5.3.13 */
+ {
+ struct dict_avp_data data = {
+ 1012, /* Code */
+ 10415, /* Vendor */
+ "TFT-Filter", /* 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, IPFilterRule_type, NULL);
+ };
+
+ /* TFT-Packet-Filter-Information, Grouped, code 1013, section 5.3.14 */
+ {
+ struct dict_avp_data data = {
+ 1013, /* Code */
+ 10415, /* Vendor */
+ "TFT-Packet-Filter-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, NULL);
+ };
+
+ /* Traffic-Steering-Policy-Identifier-DL, OctetString, code 2836, section 5.3.123 */
+ {
+ struct dict_avp_data data = {
+ 2836, /* Code */
+ 10415, /* Vendor */
+ "Traffic-Steering-Policy-Identifier-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Traffic-Steering-Policy-Identifier-UL, OctetString, code 2837, section 5.3.124 */
+ {
+ struct dict_avp_data data = {
+ 2837, /* Code */
+ 10415, /* Vendor */
+ "Traffic-Steering-Policy-Identifier-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ToS-Traffic-Class, OctetString, code 1014, section 5.3.15 */
+ {
+ struct dict_avp_data data = {
+ 1014, /* Code */
+ 10415, /* Vendor */
+ "ToS-Traffic-Class", /* 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);
+ };
+
+ /* Tunnel-Header-Filter, IPFilterRule, code 1036, section 5.3.34 */
+ {
+ struct dict_avp_data data = {
+ 1036, /* Code */
+ 10415, /* Vendor */
+ "Tunnel-Header-Filter", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, IPFilterRule_type, NULL);
+ };
+
+ /* Tunnel-Header-Length, Unsigned32, code 1037, section 5.3.35 */
+ {
+ struct dict_avp_data data = {
+ 1037, /* Code */
+ 10415, /* Vendor */
+ "Tunnel-Header-Length", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Tunnel-Information, Grouped, code 1038, section 5.3.36 */
+ {
+ struct dict_avp_data data = {
+ 1038, /* Code */
+ 10415, /* Vendor */
+ "Tunnel-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UDP-Source-Port, Unsigned32, code 2806, section 5.3.97 */
+ {
+ struct dict_avp_data data = {
+ 2806, /* Code */
+ 10415, /* Vendor */
+ "UDP-Source-Port", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UE-Local-IP-Address, Address, code 2805, section 5.3.96 */
+ {
+ struct dict_avp_data data = {
+ 2805, /* Code */
+ 10415, /* Vendor */
+ "UE-Local-IP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* UE-Status, Unsigned32, code 2854, section 5.3.140 */
+ {
+ struct dict_avp_data data = {
+ 2854, /* Code */
+ 10415, /* Vendor */
+ "UE-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Usage-Monitoring-Information, Grouped, code 1067, section 5.3.60 */
+ {
+ struct dict_avp_data data = {
+ 1067, /* Code */
+ 10415, /* Vendor */
+ "Usage-Monitoring-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Usage-Monitoring-Level, Enumerated, code 1068, section 5.3.61 */
+ {
+ struct dict_avp_data data = {
+ 1068, /* Code */
+ 10415, /* Vendor */
+ "Usage-Monitoring-Level", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Level)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Usage-Monitoring-Report, Enumerated, code 1069, section 5.3.62 */
+ {
+ struct dict_avp_data data = {
+ 1069, /* Code */
+ 10415, /* Vendor */
+ "Usage-Monitoring-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Report)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Usage-Monitoring-Support, Enumerated, code 1070, section 5.3.63 */
+ {
+ struct dict_avp_data data = {
+ 1070, /* Code */
+ 10415, /* Vendor */
+ "Usage-Monitoring-Support", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Support)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* User-Location-Info-Time, Time, code 2812, section 5.3.101 */
+ {
+ struct dict_avp_data data = {
+ 2812, /* Code */
+ 10415, /* Vendor */
+ "User-Location-Info-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* PCSCF-Restoration-Indication, Unsigned32, code 2826, section 5.3.113 */
+ {
+ struct dict_avp_data data = {
+ 2826, /* Code */
+ 10415, /* Vendor */
+ "PCSCF-Restoration-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.212 Table 5a.3.0.1: Gxx specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* QoS-Rule-Install, Grouped, code 1051, section 5a.3.1 */
+ {
+ struct dict_avp_data data = {
+ 1051, /* Code */
+ 10415, /* Vendor */
+ "QoS-Rule-Install", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* QoS-Rule-Remove, Grouped, code 1052, section 5a.3.2 */
+ {
+ struct dict_avp_data data = {
+ 1052, /* Code */
+ 10415, /* Vendor */
+ "QoS-Rule-Remove", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* QoS-Rule-Definition, Grouped, code 1053, section 5a.3.3 */
+ {
+ struct dict_avp_data data = {
+ 1053, /* Code */
+ 10415, /* Vendor */
+ "QoS-Rule-Definition", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* QoS-Rule-Name, OctetString, code 1054, section 5a.3.4 */
+ {
+ struct dict_avp_data data = {
+ 1054, /* Code */
+ 10415, /* Vendor */
+ "QoS-Rule-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, NULL, NULL);
+ };
+
+ /* QoS-Rule-Base-Name, UTF8String, code 1074, section 5a.3.7 */
+ {
+ struct dict_avp_data data = {
+ 1074, /* Code */
+ 10415, /* Vendor */
+ "QoS-Rule-Base-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* QoS-Rule-Report, Grouped, code 1055, section 5a.3.5 */
+ {
+ struct dict_avp_data data = {
+ 1055, /* Code */
+ 10415, /* Vendor */
+ "QoS-Rule-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Session-Linking-Indicator, Enumerated, code 1064, section 5a.3.6 */
+ {
+ struct dict_avp_data data = {
+ 1064, /* Code */
+ 10415, /* Vendor */
+ "Session-Linking-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Linking-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.212 Table 5b.3.0.1: Sd specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Change-1.4.0: ADC-Rule-Base-Name (1095) flag M MUST. */
+ /* ADC-Rule-Base-Name, UTF8String, code 1095, section 5b.3.4 */
+ {
+ struct dict_avp_data data = {
+ 1095, /* Code */
+ 10415, /* Vendor */
+ "ADC-Rule-Base-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);
+ };
+
+ /* Change-1.4.0: ADC-Rule-Definition (1094) flag M MUST. */
+ /* ADC-Rule-Definition, Grouped, code 1094, section 5b.3.3 */
+ {
+ struct dict_avp_data data = {
+ 1094, /* Code */
+ 10415, /* Vendor */
+ "ADC-Rule-Definition", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Change-1.4.0: ADC-Rule-Install (1092) flag M MUST. */
+ /* ADC-Rule-Install, Grouped, code 1092, section 5b.3.1 */
+ {
+ struct dict_avp_data data = {
+ 1092, /* Code */
+ 10415, /* Vendor */
+ "ADC-Rule-Install", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Change-1.4.0: ADC-Rule-Name (1096) flag M MUST. */
+ /* ADC-Rule-Name, OctetString, code 1096, section 5b.3.5 */
+ {
+ struct dict_avp_data data = {
+ 1096, /* Code */
+ 10415, /* Vendor */
+ "ADC-Rule-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, NULL, NULL);
+ };
+
+ /* Change-1.4.0: ADC-Rule-Remove (1093) flag M MUST. */
+ /* ADC-Rule-Remove, Grouped, code 1093, section 5b.3.2 */
+ {
+ struct dict_avp_data data = {
+ 1093, /* Code */
+ 10415, /* Vendor */
+ "ADC-Rule-Remove", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Change-1.4.0: ADC-Rule-Report (1097) flag M MUST. */
+ /* ADC-Rule-Report, Grouped, code 1097, section 5b.3.6 */
+ {
+ struct dict_avp_data data = {
+ 1097, /* Code */
+ 10415, /* Vendor */
+ "ADC-Rule-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.212 Table 5c.3.1.1: St specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Request-Type, Unsigned32, code 2838, section 5c.3.2 */
+ {
+ struct dict_avp_data data = {
+ 2838, /* Code */
+ 10415, /* Vendor */
+ "Request-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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.212 Table E.6.3.1.1: S15 specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* CS-Service-Qos-Request-Identifier, OctetString, code 2807, section E.6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 2807, /* Code */
+ 10415, /* Vendor */
+ "CS-Service-Qos-Request-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, NULL, NULL);
+ };
+
+ /* CS-Service-QoS-Request-Operation, Enumerated, code 2808, section E.6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 2808, /* Code */
+ 10415, /* Vendor */
+ "CS-Service-QoS-Request-Operation", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-QoS-Request-Operation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* CS-Service-Resource-Report, Grouped, code 2813, section E.6.3.6 */
+ {
+ struct dict_avp_data data = {
+ 2813, /* Code */
+ 10415, /* Vendor */
+ "CS-Service-Resource-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CS-Service-Resource-Failure-Cause, Enumerated, code 2814, section E.6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 2814, /* Code */
+ 10415, /* Vendor */
+ "CS-Service-Resource-Failure-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 */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-Resource-Failure-Cause)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* CS-Service-Resource-Result-Operation, Enumerated, code 2815, section E.6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 2815, /* Code */
+ 10415, /* Vendor */
+ "CS-Service-Resource-Result-Operation", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-Resource-Result-Operation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.214 V15.7.0 (2019-09) */
+ /* Policy and Charging Control over Rx reference point */
+ /* */
+ /* From 3GPP 29214-f70.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.214 Table 5.3.0.1: Rx specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Abort-Cause, Enumerated, code 500, section 5.3.1 */
+ {
+ struct dict_avp_data data = {
+ 500, /* Code */
+ 10415, /* Vendor */
+ "Abort-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 */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Abort-Cause)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Access-Network-Charging-Address, Address, code 501, section 5.3.2 */
+ {
+ struct dict_avp_data data = {
+ 501, /* Code */
+ 10415, /* Vendor */
+ "Access-Network-Charging-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);
+ };
+
+ /* Access-Network-Charging-Identifier, Grouped, code 502, section 5.3.3 */
+ {
+ struct dict_avp_data data = {
+ 502, /* Code */
+ 10415, /* Vendor */
+ "Access-Network-Charging-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, NULL);
+ };
+
+ /* Access-Network-Charging-Identifier-Value, OctetString, code 503, section 5.3.4 */
+ {
+ struct dict_avp_data data = {
+ 503, /* Code */
+ 10415, /* Vendor */
+ "Access-Network-Charging-Identifier-Value", /* 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);
+ };
+
+ /* Acceptable-Service-Info, Grouped, code 526, section 5.3.24 */
+ {
+ struct dict_avp_data data = {
+ 526, /* Code */
+ 10415, /* Vendor */
+ "Acceptable-Service-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AF-Application-Identifier, OctetString, code 504, section 5.3.5 */
+ {
+ struct dict_avp_data data = {
+ 504, /* Code */
+ 10415, /* Vendor */
+ "AF-Application-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, NULL, NULL);
+ };
+
+ /* AF-Charging-Identifier, OctetString, code 505, section 5.3.6 */
+ {
+ struct dict_avp_data data = {
+ 505, /* Code */
+ 10415, /* Vendor */
+ "AF-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, NULL, NULL);
+ };
+
+ /* AF-Requested-Data, Unsigned32, code 551, section 5.3.50 */
+ {
+ struct dict_avp_data data = {
+ 551, /* Code */
+ 10415, /* Vendor */
+ "AF-Requested-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AF-Signalling-Protocol, Enumerated, code 529, section 5.3.26 */
+ {
+ struct dict_avp_data data = {
+ 529, /* Code */
+ 10415, /* Vendor */
+ "AF-Signalling-Protocol", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/AF-Signalling-Protocol)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Application-Service-Provider-Identity, UTF8String, code 532, section 5.3.29 */
+ {
+ struct dict_avp_data data = {
+ 532, /* Code */
+ 10415, /* Vendor */
+ "Application-Service-Provider-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Codec-Data, OctetString, code 524, section 5.3.7 */
+ {
+ struct dict_avp_data data = {
+ 524, /* Code */
+ 10415, /* Vendor */
+ "Codec-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);
+ };
+
+ /* Content-Version, Unsigned64, code 552, section 5.3.49 */
+ {
+ struct dict_avp_data data = {
+ 552, /* Code */
+ 10415, /* Vendor */
+ "Content-Version", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Max-Requested-BW-DL, Unsigned32, code 554, section 5.3.52 */
+ {
+ struct dict_avp_data data = {
+ 554, /* Code */
+ 10415, /* Vendor */
+ "Extended-Max-Requested-BW-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Max-Requested-BW-UL, Unsigned32, code 555, section 5.3.53 */
+ {
+ struct dict_avp_data data = {
+ 555, /* Code */
+ 10415, /* Vendor */
+ "Extended-Max-Requested-BW-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Max-Supported-BW-DL, Unsigned32, code 556, section 5.3.54 */
+ {
+ struct dict_avp_data data = {
+ 556, /* Code */
+ 10415, /* Vendor */
+ "Extended-Max-Supported-BW-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Max-Supported-BW-UL, Unsigned32, code 557, section 5.3.55 */
+ {
+ struct dict_avp_data data = {
+ 557, /* Code */
+ 10415, /* Vendor */
+ "Extended-Max-Supported-BW-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Min-Desired-BW-DL, Unsigned32, code 558, section 5.3.56 */
+ {
+ struct dict_avp_data data = {
+ 558, /* Code */
+ 10415, /* Vendor */
+ "Extended-Min-Desired-BW-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Min-Desired-BW-UL, Unsigned32, code 559, section 5.3.57 */
+ {
+ struct dict_avp_data data = {
+ 559, /* Code */
+ 10415, /* Vendor */
+ "Extended-Min-Desired-BW-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Min-Requested-BW-DL, Unsigned32, code 560, section 5.3.58 */
+ {
+ struct dict_avp_data data = {
+ 560, /* Code */
+ 10415, /* Vendor */
+ "Extended-Min-Requested-BW-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-Min-Requested-BW-UL, Unsigned32, code 561, section 5.3.59 */
+ {
+ struct dict_avp_data data = {
+ 561, /* Code */
+ 10415, /* Vendor */
+ "Extended-Min-Requested-BW-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Flow-Description, IPFilterRule, code 507, section 5.3.8 */
+ {
+ struct dict_avp_data data = {
+ 507, /* Code */
+ 10415, /* Vendor */
+ "Flow-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, IPFilterRule_type, NULL);
+ };
+
+ /* Flow-Number, Unsigned32, code 509, section 5.3.9 */
+ {
+ struct dict_avp_data data = {
+ 509, /* Code */
+ 10415, /* Vendor */
+ "Flow-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);
+ };
+
+ /* Flows, Grouped, code 510, section 5.3.10 */
+ {
+ struct dict_avp_data data = {
+ 510, /* Code */
+ 10415, /* Vendor */
+ "Flows", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Flow-Status, Enumerated, code 511, section 5.3.11 */
+ {
+ struct dict_avp_data data = {
+ 511, /* Code */
+ 10415, /* Vendor */
+ "Flow-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, "Enumerated(3GPP/Flow-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Flow-Usage, Enumerated, code 512, section 5.3.12 */
+ {
+ struct dict_avp_data data = {
+ 512, /* Code */
+ 10415, /* Vendor */
+ "Flow-Usage", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Flow-Usage)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* GCS-Identifier, OctetString, code 538, section 5.3.36 */
+ {
+ struct dict_avp_data data = {
+ 538, /* Code */
+ 10415, /* Vendor */
+ "GCS-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.214 Table 5.3.0.1 row IMS-Content-Identifier (563) */
+ /* missing M, assume MUST NOT. */
+ /* */
+ /* Fix: IMS-Content-Identifier (563) flag M MUST NOT. */
+ /* IMS-Content-Identifier, OctetString, code 563, section 5.3.60 */
+ {
+ struct dict_avp_data data = {
+ 563, /* Code */
+ 10415, /* Vendor */
+ "IMS-Content-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.214 Table 5.3.0.1 row IMS-Content (564) */
+ /* missing M, assume MUST NOT. */
+ /* */
+ /* Fix: IMS-Content (564) flag M MUST NOT. */
+ /* IMS-Content-Type, Enumerated, code 564, section 5.3.61 */
+ {
+ struct dict_avp_data data = {
+ 564, /* Code */
+ 10415, /* Vendor */
+ "IMS-Content-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IMS-Content-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* IP-Domain-Id, OctetString, code 537, section 5.3.35 */
+ {
+ struct dict_avp_data data = {
+ 537, /* Code */
+ 10415, /* Vendor */
+ "IP-Domain-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Max-Requested-Bandwidth-DL, Unsigned32, code 515, section 5.3.14 */
+ {
+ struct dict_avp_data data = {
+ 515, /* Code */
+ 10415, /* Vendor */
+ "Max-Requested-Bandwidth-DL", /* 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);
+ };
+
+ /* Max-Requested-Bandwidth-UL, Unsigned32, code 516, section 5.3.15 */
+ {
+ struct dict_avp_data data = {
+ 516, /* Code */
+ 10415, /* Vendor */
+ "Max-Requested-Bandwidth-UL", /* 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);
+ };
+
+ /* Max-Supported-Bandwidth-DL, Unsigned32, code 543, section 5.3.41 */
+ {
+ struct dict_avp_data data = {
+ 543, /* Code */
+ 10415, /* Vendor */
+ "Max-Supported-Bandwidth-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Max-Supported-Bandwidth-UL, Unsigned32, code 544, section 5.3.42 */
+ {
+ struct dict_avp_data data = {
+ 544, /* Code */
+ 10415, /* Vendor */
+ "Max-Supported-Bandwidth-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MCPTT-Identifier, OctetString, code 547, section 5.3.45 */
+ {
+ struct dict_avp_data data = {
+ 547, /* Code */
+ 10415, /* Vendor */
+ "MCPTT-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MCVideo-Identifier, OctetString, code 562, section 5.3.45a */
+ {
+ struct dict_avp_data data = {
+ 562, /* Code */
+ 10415, /* Vendor */
+ "MCVideo-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Media-Component-Description, Grouped, code 517, section 5.3.16 */
+ {
+ struct dict_avp_data data = {
+ 517, /* Code */
+ 10415, /* Vendor */
+ "Media-Component-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, NULL);
+ };
+
+ /* Media-Component-Number, Unsigned32, code 518, section 5.3.17 */
+ {
+ struct dict_avp_data data = {
+ 518, /* Code */
+ 10415, /* Vendor */
+ "Media-Component-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);
+ };
+
+ /* Media-Component-Status, Unsigned32, code 549, section 5.3.48 */
+ {
+ struct dict_avp_data data = {
+ 549, /* Code */
+ 10415, /* Vendor */
+ "Media-Component-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Media-Sub-Component, Grouped, code 519, section 5.3.18 */
+ {
+ struct dict_avp_data data = {
+ 519, /* Code */
+ 10415, /* Vendor */
+ "Media-Sub-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, NULL);
+ };
+
+ /* Media-Type, Enumerated, code 520, section 5.3.19 */
+ {
+ struct dict_avp_data data = {
+ 520, /* Code */
+ 10415, /* Vendor */
+ "Media-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, "Enumerated(3GPP/Media-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MPS-Identifier, OctetString, code 528, section 5.3.30 */
+ {
+ struct dict_avp_data data = {
+ 528, /* Code */
+ 10415, /* Vendor */
+ "MPS-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Min-Desired-Bandwidth-DL, Unsigned32, code 545, section 5.3.43 */
+ {
+ struct dict_avp_data data = {
+ 545, /* Code */
+ 10415, /* Vendor */
+ "Min-Desired-Bandwidth-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Min-Desired-Bandwidth-UL, Unsigned32, code 546, section 5.3.44 */
+ {
+ struct dict_avp_data data = {
+ 546, /* Code */
+ 10415, /* Vendor */
+ "Min-Desired-Bandwidth-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Min-Requested-Bandwidth-DL, Unsigned32, code 534, section 5.3.32 */
+ {
+ struct dict_avp_data data = {
+ 534, /* Code */
+ 10415, /* Vendor */
+ "Min-Requested-Bandwidth-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Min-Requested-Bandwidth-UL, Unsigned32, code 535, section 5.3.33 */
+ {
+ struct dict_avp_data data = {
+ 535, /* Code */
+ 10415, /* Vendor */
+ "Min-Requested-Bandwidth-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Priority-Sharing-Indicator, Enumerated, code 550, section 5.3.47 */
+ {
+ struct dict_avp_data data = {
+ 550, /* Code */
+ 10415, /* Vendor */
+ "Priority-Sharing-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Priority-Sharing-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Pre-emption-Control-Info, Unsigned32, code 553, section 5.3.51 */
+ {
+ struct dict_avp_data data = {
+ 553, /* Code */
+ 10415, /* Vendor */
+ "Pre-emption-Control-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Required-Access-Info, Enumerated, code 536, section 5.3.34 */
+ {
+ struct dict_avp_data data = {
+ 536, /* Code */
+ 10415, /* Vendor */
+ "Required-Access-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Required-Access-Info)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Retry-Interval, Unsigned32, code 541, section 5.3.39 */
+ {
+ struct dict_avp_data data = {
+ 541, /* Code */
+ 10415, /* Vendor */
+ "Retry-Interval", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Rx-Request-Type, Enumerated, code 533, section 5.3.31 */
+ {
+ struct dict_avp_data data = {
+ 533, /* Code */
+ 10415, /* Vendor */
+ "Rx-Request-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Rx-Request-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* RR-Bandwidth, Unsigned32, code 521, section 5.3.20 */
+ {
+ struct dict_avp_data data = {
+ 521, /* Code */
+ 10415, /* Vendor */
+ "RR-Bandwidth", /* 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);
+ };
+
+ /* RS-Bandwidth, Unsigned32, code 522, section 5.3.21 */
+ {
+ struct dict_avp_data data = {
+ 522, /* Code */
+ 10415, /* Vendor */
+ "RS-Bandwidth", /* 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-Authorization-Info, Unsigned32, code 548, section 5.3.46 */
+ {
+ struct dict_avp_data data = {
+ 548, /* Code */
+ 10415, /* Vendor */
+ "Service-Authorization-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Service-URN, OctetString, code 525, section 5.3.23 */
+ {
+ struct dict_avp_data data = {
+ 525, /* Code */
+ 10415, /* Vendor */
+ "Service-URN", /* 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);
+ };
+
+ /* Service-Info-Status, Enumerated, code 527, section 5.3.25 */
+ {
+ struct dict_avp_data data = {
+ 527, /* Code */
+ 10415, /* Vendor */
+ "Service-Info-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, "Enumerated(3GPP/Service-Info-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Sharing-Key-DL, Unsigned32, code 539, section 5.3.37 */
+ {
+ struct dict_avp_data data = {
+ 539, /* Code */
+ 10415, /* Vendor */
+ "Sharing-Key-DL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Sharing-Key-UL, Unsigned32, code 540, section 5.3.38 */
+ {
+ struct dict_avp_data data = {
+ 540, /* Code */
+ 10415, /* Vendor */
+ "Sharing-Key-UL", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Specific-Action, Enumerated, code 513, section 5.3.13 */
+ {
+ struct dict_avp_data data = {
+ 513, /* Code */
+ 10415, /* Vendor */
+ "Specific-Action", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Specific-Action)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SIP-Forking-Indication, Enumerated, code 523, section 5.3.22 */
+ {
+ struct dict_avp_data data = {
+ 523, /* Code */
+ 10415, /* Vendor */
+ "SIP-Forking-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, "Enumerated(3GPP/SIP-Forking-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Sponsor-Identity, UTF8String, code 531, section 5.3.28 */
+ {
+ struct dict_avp_data data = {
+ 531, /* Code */
+ 10415, /* Vendor */
+ "Sponsor-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Sponsored-Connectivity-Data, Grouped, code 530, section 5.3.27 */
+ {
+ struct dict_avp_data data = {
+ 530, /* Code */
+ 10415, /* Vendor */
+ "Sponsored-Connectivity-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Sponsoring-Action, Enumerated, code 542, section 5.3.40 */
+ {
+ struct dict_avp_data data = {
+ 542, /* Code */
+ 10415, /* Vendor */
+ "Sponsoring-Action", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Sponsoring-Action)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.215 V15.2.0 (2019-09) */
+ /* Policy and Charging Control (PCC) over S9 reference point; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29215-f20.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.215 Table 5.3.0.1: S9 specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* DRA-Deployment, Enumerated, code 2206, section 5.3.7 */
+ {
+ struct dict_avp_data data = {
+ 2206, /* Code */
+ 10415, /* Vendor */
+ "DRA-Deployment", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRA-Deployment)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Multiple-BBERF-Action, Enumerated, code 2204, section 5.3.6 */
+ {
+ struct dict_avp_data data = {
+ 2204, /* Code */
+ 10415, /* Vendor */
+ "Multiple-BBERF-Action", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Multiple-BBERF-Action)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Subsession-Decision-Info, Grouped, code 2200, section 5.3.1 */
+ {
+ struct dict_avp_data data = {
+ 2200, /* Code */
+ 10415, /* Vendor */
+ "Subsession-Decision-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Subsession-Enforcement-Info, Grouped, code 2201, section 5.3.2 */
+ {
+ struct dict_avp_data data = {
+ 2201, /* Code */
+ 10415, /* Vendor */
+ "Subsession-Enforcement-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Subsession-Id, Unsigned32, code 2202, section 5.3.3 */
+ {
+ struct dict_avp_data data = {
+ 2202, /* Code */
+ 10415, /* Vendor */
+ "Subsession-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);
+ };
+
+ /* Subsession-Operation, Enumerated, code 2203, section 5.3.4 */
+ {
+ struct dict_avp_data data = {
+ 2203, /* Code */
+ 10415, /* Vendor */
+ "Subsession-Operation", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Subsession-Operation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* DRA-Binding, Enumerated, code 2208, section 5.3.x */
+ {
+ struct dict_avp_data data = {
+ 2208, /* Code */
+ 10415, /* Vendor */
+ "DRA-Binding", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRA-Binding)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.215 Table A.7.3.1.1: S9a specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* PCRF-Address, DiameterIdentity, code 2207, section A.7.3.1.1 */
+ {
+ struct dict_avp_data data = {
+ 2207, /* Code */
+ 10415, /* Vendor */
+ "PCRF-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, DiameterIdentity_type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.215 Table A.8.3.1.1: S9a* specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* UE-Local-IPv6-Prefix, OctetString, code 2205, section A.8.3.1 */
+ {
+ struct dict_avp_data data = {
+ 2205, /* Code */
+ 10415, /* Vendor */
+ "UE-Local-IPv6-Prefix", /* 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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.217 V15.1.0 (2019-09) */
+ /* Policy and Charging Control (PCC); */
+ /* Congestion reporting over Np reference point */
+ /* */
+ /* From 3GPP 29217-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.217 Table 5.3.1.1: Np specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Aggregated-Congestion-Info, Grouped, code 4000, section 5.3.2 */
+ {
+ struct dict_avp_data data = {
+ 4000, /* Code */
+ 10415, /* Vendor */
+ "Aggregated-Congestion-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Aggregated-RUCI-Report, Grouped, code 4001, section 5.3.3 */
+ {
+ struct dict_avp_data data = {
+ 4001, /* Code */
+ 10415, /* Vendor */
+ "Aggregated-RUCI-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Congestion-Level-Definition, Grouped, code 4002, section 5.3.4 */
+ {
+ struct dict_avp_data data = {
+ 4002, /* Code */
+ 10415, /* Vendor */
+ "Congestion-Level-Definition", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Congestion-Level-Range, Unsigned32, code 4003, section 5.3.5 */
+ {
+ struct dict_avp_data data = {
+ 4003, /* Code */
+ 10415, /* Vendor */
+ "Congestion-Level-Range", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Congestion-Level-Set-Id, Unsigned32, code 4004, section 5.3.6 */
+ {
+ struct dict_avp_data data = {
+ 4004, /* Code */
+ 10415, /* Vendor */
+ "Congestion-Level-Set-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Congestion-Level-Value, Unsigned32, code 4005, section 5.3.7 */
+ {
+ struct dict_avp_data data = {
+ 4005, /* Code */
+ 10415, /* Vendor */
+ "Congestion-Level-Value", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Congestion-Location-Id, Grouped, code 4006, section 5.3.8 */
+ {
+ struct dict_avp_data data = {
+ 4006, /* Code */
+ 10415, /* Vendor */
+ "Congestion-Location-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Conditional-Restriction, Unsigned32, code 4007, section 5.3.9 */
+ {
+ struct dict_avp_data data = {
+ 4007, /* Code */
+ 10415, /* Vendor */
+ "Conditional-Restriction", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* eNodeB-Id, OctetString, code 4008, section 5.3.10 */
+ {
+ struct dict_avp_data data = {
+ 4008, /* Code */
+ 10415, /* Vendor */
+ "eNodeB-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* IMSI-List, OctetString, code 4009, section 5.3.11 */
+ {
+ struct dict_avp_data data = {
+ 4009, /* Code */
+ 10415, /* Vendor */
+ "IMSI-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* RCAF-Id, DiameterIdentity, code 4010, section 5.3.12 */
+ {
+ struct dict_avp_data data = {
+ 4010, /* Code */
+ 10415, /* Vendor */
+ "RCAF-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* Reporting-Restriction, Unsigned32, code 4011, section 5.3.13 */
+ {
+ struct dict_avp_data data = {
+ 4011, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Restriction", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* RUCI-Action, Unsigned32, code 4012, section 5.3.14 */
+ {
+ struct dict_avp_data data = {
+ 4012, /* Code */
+ 10415, /* Vendor */
+ "RUCI-Action", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Extended-eNodeB-Id, OctetString, code 4013, section 5.3.15 */
+ {
+ struct dict_avp_data data = {
+ 4013, /* Code */
+ 10415, /* Vendor */
+ "Extended-eNodeB-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.219 V15.3.0 (2019-09) */
+ /* Policy and Charging Control: Spending Limit Reporting over */
+ /* Sy reference point */
+ /* */
+ /* From 3GPP 29219-f30.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.219 Table 5.3.0.1: Sy specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Pending-Policy-Counter-Information, Grouped, code 2905, section 5.3.5 */
+ {
+ struct dict_avp_data data = {
+ 2905, /* Code */
+ 10415, /* Vendor */
+ "Pending-Policy-Counter-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, NULL);
+ };
+
+ /* Pending-Policy-Counter-Change-Time, Time, code 2906, section 5.3.6 */
+ {
+ struct dict_avp_data data = {
+ 2906, /* Code */
+ 10415, /* Vendor */
+ "Pending-Policy-Counter-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);
+ };
+
+ /* Policy-Counter-Identifier, UTF8String, code 2901, section 5.3.1 */
+ {
+ struct dict_avp_data data = {
+ 2901, /* Code */
+ 10415, /* Vendor */
+ "Policy-Counter-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);
+ };
+
+ /* Policy-Counter-Status, UTF8String, code 2902, section 5.3.2 */
+ {
+ struct dict_avp_data data = {
+ 2902, /* Code */
+ 10415, /* Vendor */
+ "Policy-Counter-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, UTF8String_type, NULL);
+ };
+
+ /* Policy-Counter-Status-Report, Grouped, code 2903, section 5.3.3 */
+ {
+ struct dict_avp_data data = {
+ 2903, /* Code */
+ 10415, /* Vendor */
+ "Policy-Counter-Status-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SL-Request-Type, Enumerated, code 2904, section 5.3.4 */
+ {
+ struct dict_avp_data data = {
+ 2904, /* Code */
+ 10415, /* Vendor */
+ "SL-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, "Enumerated(3GPP/SL-Request-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SN-Request-Type, Unsigned32, code 2907, section 5.3.7 */
+ {
+ struct dict_avp_data data = {
+ 2907, /* Code */
+ 10415, /* Vendor */
+ "SN-Request-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.229 V15.2.0 (2019-09) */
+ /* Cx and Dx interfaces based on the Diameter protocol; */
+ /* Protocol details */
+ /* */
+ /* From 3GPP 29229-f20.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.229 Table 6.3.1: Diameter Multimedia Application AVPs */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* Visited-Network-Identifier, OctetString, code 600, section 6.3.1 */
+ {
+ struct dict_avp_data data = {
+ 600, /* Code */
+ 10415, /* Vendor */
+ "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, NULL, NULL);
+ };
+
+ /* Public-Identity, UTF8String, code 601, section 6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 601, /* Code */
+ 10415, /* Vendor */
+ "Public-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);
+ };
+
+ /* Server-Name, UTF8String, code 602, section 6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 602, /* Code */
+ 10415, /* Vendor */
+ "Server-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);
+ };
+
+ /* Server-Capabilities, Grouped, code 603, section 6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 603, /* Code */
+ 10415, /* Vendor */
+ "Server-Capabilities", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Mandatory-Capability, Unsigned32, code 604, section 6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 604, /* Code */
+ 10415, /* Vendor */
+ "Mandatory-Capability", /* 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);
+ };
+
+ /* Optional-Capability, Unsigned32, code 605, section 6.3.6 */
+ {
+ struct dict_avp_data data = {
+ 605, /* Code */
+ 10415, /* Vendor */
+ "Optional-Capability", /* 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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.329 User-Data (702). */
+ /* 3GPP TS 29.229 V6.2.0 (2004-09) allocated User-Data (606). */
+ /* 3GPP TS 29.329 V6.2.0 (2004-09) allocated User-Data (702). */
+ /* User-Data, OctetString, code 606, section 6.3.7 */
+ {
+ struct dict_avp_data data = {
+ 606, /* Code */
+ 10415, /* Vendor */
+ "User-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);
+ };
+
+ /* SIP-Number-Auth-Items, Unsigned32, code 607, section 6.3.8 */
+ {
+ struct dict_avp_data data = {
+ 607, /* Code */
+ 10415, /* Vendor */
+ "SIP-Number-Auth-Items", /* 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-Authentication-Scheme, UTF8String, code 608, section 6.3.9 */
+ {
+ struct dict_avp_data data = {
+ 608, /* Code */
+ 10415, /* Vendor */
+ "SIP-Authentication-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);
+ };
+
+ /* SIP-Authenticate, OctetString, code 609, section 6.3.10 */
+ {
+ struct dict_avp_data data = {
+ 609, /* Code */
+ 10415, /* Vendor */
+ "SIP-Authenticate", /* 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);
+ };
+
+ /* SIP-Authorization, OctetString, code 610, section 6.3.11 */
+ {
+ struct dict_avp_data data = {
+ 610, /* Code */
+ 10415, /* Vendor */
+ "SIP-Authorization", /* 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);
+ };
+
+ /* SIP-Authentication-Context, OctetString, code 611, section 6.3.12 */
+ {
+ struct dict_avp_data data = {
+ 611, /* Code */
+ 10415, /* Vendor */
+ "SIP-Authentication-Context", /* 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);
+ };
+
+ /* SIP-Auth-Data-Item, Grouped, code 612, section 6.3.13 */
+ {
+ struct dict_avp_data data = {
+ 612, /* Code */
+ 10415, /* Vendor */
+ "SIP-Auth-Data-Item", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SIP-Item-Number, Unsigned32, code 613, section 6.3.14 */
+ {
+ struct dict_avp_data data = {
+ 613, /* Code */
+ 10415, /* Vendor */
+ "SIP-Item-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);
+ };
+
+ /* Server-Assignment-Type, Enumerated, code 614, section 6.3.15 */
+ {
+ struct dict_avp_data data = {
+ 614, /* Code */
+ 10415, /* Vendor */
+ "Server-Assignment-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, "Enumerated(3GPP/Server-Assignment-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Deregistration-Reason, Grouped, code 615, section 6.3.16 */
+ {
+ struct dict_avp_data data = {
+ 615, /* Code */
+ 10415, /* Vendor */
+ "Deregistration-Reason", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reason-Code, Enumerated, code 616, section 6.3.17 */
+ {
+ struct dict_avp_data data = {
+ 616, /* Code */
+ 10415, /* Vendor */
+ "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, "Enumerated(3GPP/Reason-Code)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Reason-Info, UTF8String, code 617, section 6.3.18 */
+ {
+ struct dict_avp_data data = {
+ 617, /* Code */
+ 10415, /* Vendor */
+ "Reason-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);
+ };
+
+ /* Charging-Information, Grouped, code 618, section 6.3.19 */
+ {
+ struct dict_avp_data data = {
+ 618, /* Code */
+ 10415, /* Vendor */
+ "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, NULL);
+ };
+
+ /* Primary-Event-Charging-Function-Name, DiameterURI, code 619, section 6.3.20 */
+ {
+ struct dict_avp_data data = {
+ 619, /* Code */
+ 10415, /* Vendor */
+ "Primary-Event-Charging-Function-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, DiameterURI_type, NULL);
+ };
+
+ /* Secondary-Event-Charging-Function-Name, DiameterURI, code 620, section 6.3.21 */
+ {
+ struct dict_avp_data data = {
+ 620, /* Code */
+ 10415, /* Vendor */
+ "Secondary-Event-Charging-Function-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, DiameterURI_type, NULL);
+ };
+
+ /* Primary-Charging-Collection-Function-Name, DiameterURI, code 621, section 6.3.22 */
+ {
+ struct dict_avp_data data = {
+ 621, /* Code */
+ 10415, /* Vendor */
+ "Primary-Charging-Collection-Function-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, DiameterURI_type, NULL);
+ };
+
+ /* Secondary-Charging-Collection-Function-Name, DiameterURI, code 622, section 6.3.23 */
+ {
+ struct dict_avp_data data = {
+ 622, /* Code */
+ 10415, /* Vendor */
+ "Secondary-Charging-Collection-Function-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, DiameterURI_type, NULL);
+ };
+
+ /* User-Authorization-Type, Enumerated, code 623, section 6.3.24 */
+ {
+ struct dict_avp_data data = {
+ 623, /* Code */
+ 10415, /* Vendor */
+ "User-Authorization-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, "Enumerated(3GPP/User-Authorization-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* User-Data-Already-Available, Enumerated, code 624, section 6.3.26 */
+ {
+ struct dict_avp_data data = {
+ 624, /* Code */
+ 10415, /* Vendor */
+ "User-Data-Already-Available", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/User-Data-Already-Available)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Confidentiality-Key, OctetString, code 625, section 6.3.27 */
+ {
+ struct dict_avp_data data = {
+ 625, /* Code */
+ 10415, /* Vendor */
+ "Confidentiality-Key", /* 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);
+ };
+
+ /* Integrity-Key, OctetString, code 626, section 6.3.28 */
+ {
+ struct dict_avp_data data = {
+ 626, /* Code */
+ 10415, /* Vendor */
+ "Integrity-Key", /* 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);
+ };
+
+ /* Note: User-Data-Request-Type (627) removed in 3GPP TS 29.229 V6.5.0 (2005-06). */
+
+ /* Supported-Features, Grouped, code 628, section 6.3.29 */
+ {
+ struct dict_avp_data data = {
+ 628, /* Code */
+ 10415, /* Vendor */
+ "Supported-Features", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Feature-List-ID, Unsigned32, code 629, section 6.3.30 */
+ {
+ struct dict_avp_data data = {
+ 629, /* Code */
+ 10415, /* Vendor */
+ "Feature-List-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Feature-List, Unsigned32, code 630, section 6.3.31 */
+ {
+ struct dict_avp_data data = {
+ 630, /* Code */
+ 10415, /* Vendor */
+ "Feature-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Supported-Applications, Grouped, code 631, section 6.3.32 */
+ {
+ struct dict_avp_data data = {
+ 631, /* Code */
+ 10415, /* Vendor */
+ "Supported-Applications", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Associated-Identities, Grouped, code 632, section 6.3.33 */
+ {
+ struct dict_avp_data data = {
+ 632, /* Code */
+ 10415, /* Vendor */
+ "Associated-Identities", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Originating-Request, Enumerated, code 633, section 6.3.34 */
+ {
+ struct dict_avp_data data = {
+ 633, /* Code */
+ 10415, /* Vendor */
+ "Originating-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Originating-Request)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Wildcarded-Public-Identity, UTF8String, code 634, section 6.3.35 */
+ {
+ struct dict_avp_data data = {
+ 634, /* Code */
+ 10415, /* Vendor */
+ "Wildcarded-Public-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* SIP-Digest-Authenticate, Grouped, code 635, section 6.3.36 */
+ {
+ struct dict_avp_data data = {
+ 635, /* Code */
+ 10415, /* Vendor */
+ "SIP-Digest-Authenticate", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Wildcarded-IMPU, UTF8String, code 636, section 6.3.43 */
+ {
+ struct dict_avp_data data = {
+ 636, /* Code */
+ 10415, /* Vendor */
+ "Wildcarded-IMPU", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* UAR-Flags, Unsigned32, code 637, section 6.3.44 */
+ {
+ struct dict_avp_data data = {
+ 637, /* Code */
+ 10415, /* Vendor */
+ "UAR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Loose-Route-Indication, Enumerated, code 638, section 6.3.45 */
+ {
+ struct dict_avp_data data = {
+ 638, /* Code */
+ 10415, /* Vendor */
+ "Loose-Route-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Loose-Route-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SCSCF-Restoration-Info, Grouped, code 639, section 6.3.46 */
+ {
+ struct dict_avp_data data = {
+ 639, /* Code */
+ 10415, /* Vendor */
+ "SCSCF-Restoration-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Path, OctetString, code 640, section 6.3.47 */
+ {
+ struct dict_avp_data data = {
+ 640, /* Code */
+ 10415, /* Vendor */
+ "Path", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Contact, OctetString, code 641, section 6.3.48 */
+ {
+ struct dict_avp_data data = {
+ 641, /* Code */
+ 10415, /* Vendor */
+ "Contact", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Subscription-Info, Grouped, code 642, section 6.3.49 */
+ {
+ struct dict_avp_data data = {
+ 642, /* Code */
+ 10415, /* Vendor */
+ "Subscription-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Call-ID-SIP-Header, OctetString, code 643, section 6.3.49.1 */
+ {
+ struct dict_avp_data data = {
+ 643, /* Code */
+ 10415, /* Vendor */
+ "Call-ID-SIP-Header", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* From-SIP-Header, OctetString, code 644, section 6.3.49.2 */
+ {
+ struct dict_avp_data data = {
+ 644, /* Code */
+ 10415, /* Vendor */
+ "From-SIP-Header", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* To-SIP-Header, OctetString, code 645, section 6.3.49.3 */
+ {
+ struct dict_avp_data data = {
+ 645, /* Code */
+ 10415, /* Vendor */
+ "To-SIP-Header", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Record-Route, OctetString, code 646, section 6.3.49.4 */
+ {
+ struct dict_avp_data data = {
+ 646, /* Code */
+ 10415, /* Vendor */
+ "Record-Route", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Associated-Registered-Identities, Grouped, code 647, section 6.3.50 */
+ {
+ struct dict_avp_data data = {
+ 647, /* Code */
+ 10415, /* Vendor */
+ "Associated-Registered-Identities", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Multiple-Registration-Indication, Enumerated, code 648, section 6.3.51 */
+ {
+ struct dict_avp_data data = {
+ 648, /* Code */
+ 10415, /* Vendor */
+ "Multiple-Registration-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Multiple-Registration-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Restoration-Info, Grouped, code 649, section 6.3.52 */
+ {
+ struct dict_avp_data data = {
+ 649, /* Code */
+ 10415, /* Vendor */
+ "Restoration-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Session-Priority, Enumerated, code 650, section 6.3.56 */
+ {
+ struct dict_avp_data data = {
+ 650, /* Code */
+ 10415, /* Vendor */
+ "Session-Priority", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Priority)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Identity-with-Emergency-Registration, Grouped, code 651, section 6.3.57 */
+ {
+ struct dict_avp_data data = {
+ 651, /* Code */
+ 10415, /* Vendor */
+ "Identity-with-Emergency-Registration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Priviledged-Sender-Indication, Enumerated, code 652, section 6.3.58 */
+ {
+ struct dict_avp_data data = {
+ 652, /* Code */
+ 10415, /* Vendor */
+ "Priviledged-Sender-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Priviledged-Sender-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* LIA-Flags, Unsigned32, code 653, section 6.3.59 */
+ {
+ struct dict_avp_data data = {
+ 653, /* Code */
+ 10415, /* Vendor */
+ "LIA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Initial-CSeq-Sequence-Number, Unsigned32, code 654, section 6.3.62 */
+ {
+ struct dict_avp_data data = {
+ 654, /* Code */
+ 10415, /* Vendor */
+ "Initial-CSeq-Sequence-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SAR-Flags, Unsigned32, code 655, section 6.3.63 */
+ {
+ struct dict_avp_data data = {
+ 655, /* Code */
+ 10415, /* Vendor */
+ "SAR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Allowed-WAF-WWSF-Identities, Grouped, code 656, section 6.3.64 */
+ {
+ struct dict_avp_data data = {
+ 656, /* Code */
+ 10415, /* Vendor */
+ "Allowed-WAF-WWSF-Identities", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WebRTC-Authentication-Function-Name, UTF8String, code 657, section 6.3.65 */
+ {
+ struct dict_avp_data data = {
+ 657, /* Code */
+ 10415, /* Vendor */
+ "WebRTC-Authentication-Function-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* WebRTC-Web-Server-Function-Name, UTF8String, code 658, section 6.3.66 */
+ {
+ struct dict_avp_data data = {
+ 658, /* Code */
+ 10415, /* Vendor */
+ "WebRTC-Web-Server-Function-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* RTR-Flags, Unsigned32, code 659, section 6.3.69 */
+ {
+ struct dict_avp_data data = {
+ 659, /* Code */
+ 10415, /* Vendor */
+ "RTR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.234 V11.2.0 (2013-06) */
+ /* 3GPP system to Wireless Local Area Network (WLAN) */
+ /* interworking; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29234-b20.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.234 Table 10.1.1: Diameter Multimedia Application AVPs */
+ /*==================================================================*/
+
+ /* 3GPP-WLAN-APN-Id, OctetString, code 100, section 10.1.15 */
+ {
+ struct dict_avp_data data = {
+ 100, /* Code */
+ 10415, /* Vendor */
+ "3GPP-WLAN-APN-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);
+ };
+
+ /* Authentication-Method, Enumerated, code 300, section 10.1.5 */
+ {
+ struct dict_avp_data data = {
+ 300, /* Code */
+ 10415, /* Vendor */
+ "Authentication-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, "Enumerated(3GPP/Authentication-Method)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Authentication-Information-SIM, OctetString, code 301, section 10.1.6 */
+ {
+ struct dict_avp_data data = {
+ 301, /* Code */
+ 10415, /* Vendor */
+ "Authentication-Information-SIM", /* 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);
+ };
+
+ /* Authorization-Information-SIM, OctetString, code 302, section 10.1.7 */
+ {
+ struct dict_avp_data data = {
+ 302, /* Code */
+ 10415, /* Vendor */
+ "Authorization-Information-SIM", /* 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);
+ };
+
+ /* WLAN-User-Data, Grouped, code 303, section 10.1.8 */
+ {
+ struct dict_avp_data data = {
+ 303, /* Code */
+ 10415, /* Vendor */
+ "WLAN-User-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, NULL);
+ };
+
+ /* Charging-Data, Grouped, code 304, section 10.1.10 */
+ {
+ struct dict_avp_data data = {
+ 304, /* Code */
+ 10415, /* Vendor */
+ "Charging-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, NULL);
+ };
+
+ /* WLAN-Access, Enumerated, code 305, section 10.1.11 */
+ {
+ struct dict_avp_data data = {
+ 305, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Access", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/WLAN-Access)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* WLAN-3GPP-IP-Access, Enumerated, code 306, section 10.1.12 */
+ {
+ struct dict_avp_data data = {
+ 306, /* Code */
+ 10415, /* Vendor */
+ "WLAN-3GPP-IP-Access", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/WLAN-3GPP-IP-Access)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* APN-Authorized, Grouped, code 307, section 10.1.14 */
+ {
+ struct dict_avp_data data = {
+ 307, /* Code */
+ 10415, /* Vendor */
+ "APN-Authorized", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: APN-Id (308) OctetString removed in 3GPP TS 29.234 V6.5.0 (2005-12). */
+
+ /* APN-Barring-Type, Enumerated, code 309, section 10.1.16 */
+ {
+ struct dict_avp_data data = {
+ 309, /* Code */
+ 10415, /* Vendor */
+ "APN-Barring-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, "Enumerated(3GPP/APN-Barring-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* WLAN-Direct-IP-Access, Enumerated, code 310, section 10.1.17 */
+ {
+ struct dict_avp_data data = {
+ 310, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Direct-IP-Access", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/WLAN-Direct-IP-Access)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Session-Request-Type, Enumerated, code 311, section 10.1.23 */
+ {
+ struct dict_avp_data data = {
+ 311, /* Code */
+ 10415, /* Vendor */
+ "Session-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, "Enumerated(3GPP/Session-Request-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Routing-Policy, IPFilterRule, code 312, section 10.1.24 */
+ {
+ struct dict_avp_data data = {
+ 312, /* Code */
+ 10415, /* Vendor */
+ "Routing-Policy", /* 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, IPFilterRule_type, NULL);
+ };
+
+ /* Max-Requested-Bandwidth, OctetString, code 313, section 10.1.26 */
+ {
+ struct dict_avp_data data = {
+ 313, /* Code */
+ 10415, /* Vendor */
+ "Max-Requested-Bandwidth", /* 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);
+ };
+
+ /* Charging-Characteristics, Integer32, code 314, section 10.1.27 */
+ {
+ struct dict_avp_data data = {
+ 314, /* Code */
+ 10415, /* Vendor */
+ "Charging-Characteristics", /* 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);
+ };
+
+ /* Charging-Nodes, Grouped, code 315, section 10.1.28 */
+ {
+ struct dict_avp_data data = {
+ 315, /* Code */
+ 10415, /* Vendor */
+ "Charging-Nodes", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Primary-OCS-Charging-Function-Name, DiameterIdentity, code 316, section 10.1.29 */
+ {
+ struct dict_avp_data data = {
+ 316, /* Code */
+ 10415, /* Vendor */
+ "Primary-OCS-Charging-Function-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, DiameterIdentity_type, NULL);
+ };
+
+ /* Secondary-OCS-Charging-Function-Name, DiameterIdentity, code 317, section 10.1.30 */
+ {
+ struct dict_avp_data data = {
+ 317, /* Code */
+ 10415, /* Vendor */
+ "Secondary-OCS-Charging-Function-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, DiameterIdentity_type, NULL);
+ };
+
+ /* Note: 3GPP TS 29.273 from Release 12 now defines 3GPP-AAA-Server-Name (318). */
+ /* */
+ /* Maximum-Number-Accesses, Unsigned32, code 319, section 10.1.38 */
+ {
+ struct dict_avp_data data = {
+ 319, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Number-Accesses", /* 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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.272 V15.10.0 (2019-12) */
+ /* Mobility Management Entity (MME) */
+ /* and Serving GPRS Support Node (SGSN) related interfaces */
+ /* based on Diameter protocol */
+ /* */
+ /* From 3GPP 29272-fa0.docx */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.272 Table 7.3.1/1: S6a/S6d, S7a/S7d and S13/S13' specific DiameterAVPs */
+ /*==================================================================*/
+
+ /* Subscription-Data, Grouped, code 1400, section 7.3.2 */
+ {
+ struct dict_avp_data data = {
+ 1400, /* Code */
+ 10415, /* Vendor */
+ "Subscription-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, NULL);
+ };
+
+ /* Terminal-Information, Grouped, code 1401, section 7.3.3 */
+ {
+ struct dict_avp_data data = {
+ 1401, /* Code */
+ 10415, /* Vendor */
+ "Terminal-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, NULL);
+ };
+
+ /* IMEI, UTF8String, code 1402, section 7.3.4 */
+ {
+ struct dict_avp_data data = {
+ 1402, /* Code */
+ 10415, /* Vendor */
+ "IMEI", /* 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);
+ };
+
+ /* Software-Version, UTF8String, code 1403, section 7.3.5 */
+ {
+ struct dict_avp_data data = {
+ 1403, /* Code */
+ 10415, /* Vendor */
+ "Software-Version", /* 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);
+ };
+
+ /* QoS-Subscribed, OctetString, code 1404, section 7.3.77 */
+ {
+ struct dict_avp_data data = {
+ 1404, /* Code */
+ 10415, /* Vendor */
+ "QoS-Subscribed", /* 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);
+ };
+
+ /* ULR-Flags, Unsigned32, code 1405, section 7.3.7 */
+ {
+ struct dict_avp_data data = {
+ 1405, /* Code */
+ 10415, /* Vendor */
+ "ULR-Flags", /* 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);
+ };
+
+ /* ULA-Flags, Unsigned32, code 1406, section 7.3.8 */
+ {
+ struct dict_avp_data data = {
+ 1406, /* Code */
+ 10415, /* Vendor */
+ "ULA-Flags", /* 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);
+ };
+
+ /* Visited-PLMN-Id, OctetString, code 1407, section 7.3.9 */
+ {
+ struct dict_avp_data data = {
+ 1407, /* Code */
+ 10415, /* Vendor */
+ "Visited-PLMN-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);
+ };
+
+ /* Requested-EUTRAN-Authentication-Info, Grouped, code 1408, section 7.3.11 */
+ {
+ struct dict_avp_data data = {
+ 1408, /* Code */
+ 10415, /* Vendor */
+ "Requested-EUTRAN-Authentication-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Requested-UTRAN-GERAN-Authentication-Info, Grouped, code 1409, section 7.3.12 */
+ {
+ struct dict_avp_data data = {
+ 1409, /* Code */
+ 10415, /* Vendor */
+ "Requested-UTRAN-GERAN-Authentication-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Number-Of-Requested-Vectors, Unsigned32, code 1410, section 7.3.14 */
+ {
+ struct dict_avp_data data = {
+ 1410, /* Code */
+ 10415, /* Vendor */
+ "Number-Of-Requested-Vectors", /* 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);
+ };
+
+ /* Re-Synchronization-Info, OctetString, code 1411, section 7.3.15 */
+ {
+ struct dict_avp_data data = {
+ 1411, /* Code */
+ 10415, /* Vendor */
+ "Re-Synchronization-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, NULL, NULL);
+ };
+
+ /* Immediate-Response-Preferred, Unsigned32, code 1412, section 7.3.16 */
+ {
+ struct dict_avp_data data = {
+ 1412, /* Code */
+ 10415, /* Vendor */
+ "Immediate-Response-Preferred", /* 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);
+ };
+
+ /* Authentication-Info, Grouped, code 1413, section 7.3.17 */
+ {
+ struct dict_avp_data data = {
+ 1413, /* Code */
+ 10415, /* Vendor */
+ "Authentication-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* E-UTRAN-Vector, Grouped, code 1414, section 7.3.18 */
+ {
+ struct dict_avp_data data = {
+ 1414, /* Code */
+ 10415, /* Vendor */
+ "E-UTRAN-Vector", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UTRAN-Vector, Grouped, code 1415, section 7.3.19 */
+ {
+ struct dict_avp_data data = {
+ 1415, /* Code */
+ 10415, /* Vendor */
+ "UTRAN-Vector", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* GERAN-Vector, Grouped, code 1416, section 7.3.20 */
+ {
+ struct dict_avp_data data = {
+ 1416, /* Code */
+ 10415, /* Vendor */
+ "GERAN-Vector", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Network-Access-Mode, Enumerated, code 1417, section 7.3.21 */
+ {
+ struct dict_avp_data data = {
+ 1417, /* Code */
+ 10415, /* Vendor */
+ "Network-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, "Enumerated(3GPP/Network-Access-Mode)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* HPLMN-ODB, Unsigned32, code 1418, section 7.3.22 */
+ {
+ struct dict_avp_data data = {
+ 1418, /* Code */
+ 10415, /* Vendor */
+ "HPLMN-ODB", /* 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);
+ };
+
+ /* Item-Number, Unsigned32, code 1419, section 7.3.23 */
+ {
+ struct dict_avp_data data = {
+ 1419, /* Code */
+ 10415, /* Vendor */
+ "Item-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);
+ };
+
+ /* Cancellation-Type, Enumerated, code 1420, section 7.3.24 */
+ {
+ struct dict_avp_data data = {
+ 1420, /* Code */
+ 10415, /* Vendor */
+ "Cancellation-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, "Enumerated(3GPP/Cancellation-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* DSR-Flags, Unsigned32, code 1421, section 7.3.25 */
+ {
+ struct dict_avp_data data = {
+ 1421, /* Code */
+ 10415, /* Vendor */
+ "DSR-Flags", /* 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);
+ };
+
+ /* DSA-Flags, Unsigned32, code 1422, section 7.3.26 */
+ {
+ struct dict_avp_data data = {
+ 1422, /* Code */
+ 10415, /* Vendor */
+ "DSA-Flags", /* 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);
+ };
+
+ /* Context-Identifier, Unsigned32, code 1423, section 7.3.27 */
+ {
+ struct dict_avp_data data = {
+ 1423, /* Code */
+ 10415, /* Vendor */
+ "Context-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);
+ };
+
+ /* Subscriber-Status, Enumerated, code 1424, section 7.3.29 */
+ {
+ struct dict_avp_data data = {
+ 1424, /* Code */
+ 10415, /* Vendor */
+ "Subscriber-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, "Enumerated(3GPP/Subscriber-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Operator-Determined-Barring, Unsigned32, code 1425, section 7.3.30 */
+ {
+ struct dict_avp_data data = {
+ 1425, /* Code */
+ 10415, /* Vendor */
+ "Operator-Determined-Barring", /* 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);
+ };
+
+ /* Access-Restriction-Data, Unsigned32, code 1426, section 7.3.31 */
+ {
+ struct dict_avp_data data = {
+ 1426, /* Code */
+ 10415, /* Vendor */
+ "Access-Restriction-Data", /* 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);
+ };
+
+ /* APN-OI-Replacement, UTF8String, code 1427, section 7.3.32 */
+ {
+ struct dict_avp_data data = {
+ 1427, /* Code */
+ 10415, /* Vendor */
+ "APN-OI-Replacement", /* 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);
+ };
+
+ /* All-APN-Configurations-Included-Indicator, Enumerated, code 1428, section 7.3.33 */
+ {
+ struct dict_avp_data data = {
+ 1428, /* Code */
+ 10415, /* Vendor */
+ "All-APN-Configurations-Included-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/All-APN-Configurations-Included-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* APN-Configuration-Profile, Grouped, code 1429, section 7.3.34 */
+ {
+ struct dict_avp_data data = {
+ 1429, /* Code */
+ 10415, /* Vendor */
+ "APN-Configuration-Profile", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* APN-Configuration, Grouped, code 1430, section 7.3.35 */
+ {
+ struct dict_avp_data data = {
+ 1430, /* Code */
+ 10415, /* Vendor */
+ "APN-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* EPS-Subscribed-QoS-Profile, Grouped, code 1431, section 7.3.37 */
+ {
+ struct dict_avp_data data = {
+ 1431, /* Code */
+ 10415, /* Vendor */
+ "EPS-Subscribed-QoS-Profile", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* VPLMN-Dynamic-Address-Allowed, Enumerated, code 1432, section 7.3.38 */
+ {
+ struct dict_avp_data data = {
+ 1432, /* Code */
+ 10415, /* Vendor */
+ "VPLMN-Dynamic-Address-Allowed", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/VPLMN-Dynamic-Address-Allowed)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* STN-SR, OctetString, code 1433, section 7.3.39 */
+ {
+ struct dict_avp_data data = {
+ 1433, /* Code */
+ 10415, /* Vendor */
+ "STN-SR", /* 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);
+ };
+
+ /* Alert-Reason, Enumerated, code 1434, section 7.3.83 */
+ {
+ struct dict_avp_data data = {
+ 1434, /* Code */
+ 10415, /* Vendor */
+ "Alert-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, "Enumerated(3GPP/Alert-Reason)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* AMBR, Grouped, code 1435, section 7.3.41 */
+ {
+ struct dict_avp_data data = {
+ 1435, /* Code */
+ 10415, /* Vendor */
+ "AMBR", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CSG-Subscription-Data, Grouped, code 1436, section 7.3.78 */
+ {
+ struct dict_avp_data data = {
+ 1436, /* Code */
+ 10415, /* Vendor */
+ "CSG-Subscription-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, NULL);
+ };
+
+ /* CSG-Id, Unsigned32, code 1437, section 7.3.79 */
+ {
+ struct dict_avp_data data = {
+ 1437, /* Code */
+ 10415, /* Vendor */
+ "CSG-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);
+ };
+
+ /* PDN-GW-Allocation-Type, Enumerated, code 1438, section 7.3.44 */
+ {
+ struct dict_avp_data data = {
+ 1438, /* Code */
+ 10415, /* Vendor */
+ "PDN-GW-Allocation-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, "Enumerated(3GPP/PDN-GW-Allocation-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Expiration-Date, Time, code 1439, section 7.3.80 */
+ {
+ struct dict_avp_data data = {
+ 1439, /* Code */
+ 10415, /* Vendor */
+ "Expiration-Date", /* 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);
+ };
+
+ /* RAT-Frequency-Selection-Priority-ID, Unsigned32, code 1440, section 7.3.46 */
+ {
+ struct dict_avp_data data = {
+ 1440, /* Code */
+ 10415, /* Vendor */
+ "RAT-Frequency-Selection-Priority-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);
+ };
+
+ /* IDA-Flags, Unsigned32, code 1441, section 7.3.47 */
+ {
+ struct dict_avp_data data = {
+ 1441, /* Code */
+ 10415, /* Vendor */
+ "IDA-Flags", /* 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);
+ };
+
+ /* PUA-Flags, Unsigned32, code 1442, section 7.3.48 */
+ {
+ struct dict_avp_data data = {
+ 1442, /* Code */
+ 10415, /* Vendor */
+ "PUA-Flags", /* 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);
+ };
+
+ /* NOR-Flags, Unsigned32, code 1443, section 7.3.49 */
+ {
+ struct dict_avp_data data = {
+ 1443, /* Code */
+ 10415, /* Vendor */
+ "NOR-Flags", /* 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);
+ };
+
+ /* User-Id, UTF8String, code 1444, section 7.3.50 */
+ {
+ struct dict_avp_data data = {
+ 1444, /* Code */
+ 10415, /* Vendor */
+ "User-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Equipment-Status, Enumerated, code 1445, section 7.3.51 */
+ {
+ struct dict_avp_data data = {
+ 1445, /* Code */
+ 10415, /* Vendor */
+ "Equipment-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, "Enumerated(3GPP/Equipment-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Regional-Subscription-Zone-Code, OctetString, code 1446, section 7.3.52 */
+ {
+ struct dict_avp_data data = {
+ 1446, /* Code */
+ 10415, /* Vendor */
+ "Regional-Subscription-Zone-Code", /* 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);
+ };
+
+ /* RAND, OctetString, code 1447, section 7.3.53 */
+ {
+ struct dict_avp_data data = {
+ 1447, /* Code */
+ 10415, /* Vendor */
+ "RAND", /* 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);
+ };
+
+ /* XRES, OctetString, code 1448, section 7.3.54 */
+ {
+ struct dict_avp_data data = {
+ 1448, /* Code */
+ 10415, /* Vendor */
+ "XRES", /* 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);
+ };
+
+ /* AUTN, OctetString, code 1449, section 7.3.55 */
+ {
+ struct dict_avp_data data = {
+ 1449, /* Code */
+ 10415, /* Vendor */
+ "AUTN", /* 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);
+ };
+
+ /* KASME, OctetString, code 1450, section 7.3.56 */
+ {
+ struct dict_avp_data data = {
+ 1450, /* Code */
+ 10415, /* Vendor */
+ "KASME", /* 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);
+ };
+
+ /* Trace-Collection-Entity, Address, code 1452, section 7.3.98 */
+ {
+ struct dict_avp_data data = {
+ 1452, /* Code */
+ 10415, /* Vendor */
+ "Trace-Collection-Entity", /* 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);
+ };
+
+ /* Kc, OctetString, code 1453, section 7.3.59 */
+ {
+ struct dict_avp_data data = {
+ 1453, /* Code */
+ 10415, /* Vendor */
+ "Kc", /* 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);
+ };
+
+ /* SRES, OctetString, code 1454, section 7.3.60 */
+ {
+ struct dict_avp_data data = {
+ 1454, /* Code */
+ 10415, /* Vendor */
+ "SRES", /* 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);
+ };
+
+ /* PDN-Type, Enumerated, code 1456, section 7.3.62 */
+ {
+ struct dict_avp_data data = {
+ 1456, /* Code */
+ 10415, /* Vendor */
+ "PDN-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, "Enumerated(3GPP/PDN-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Roaming-Restricted-Due-To-Unsupported-Feature, Enumerated, code 1457, section 7.3.81 */
+ {
+ struct dict_avp_data data = {
+ 1457, /* Code */
+ 10415, /* Vendor */
+ "Roaming-Restricted-Due-To-Unsupported-Feature", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Roaming-Restricted-Due-To-Unsupported-Feature)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Trace-Data, Grouped, code 1458, section 7.3.63 */
+ {
+ struct dict_avp_data data = {
+ 1458, /* Code */
+ 10415, /* Vendor */
+ "Trace-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, NULL);
+ };
+
+ /* Trace-Reference, OctetString, code 1459, section 7.3.64 */
+ {
+ struct dict_avp_data data = {
+ 1459, /* Code */
+ 10415, /* Vendor */
+ "Trace-Reference", /* 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);
+ };
+
+ /* Trace-Depth, Enumerated, code 1462, section 7.3.67 */
+ {
+ struct dict_avp_data data = {
+ 1462, /* Code */
+ 10415, /* Vendor */
+ "Trace-Depth", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Trace-Depth)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Trace-NE-Type-List, OctetString, code 1463, section 7.3.68 */
+ {
+ struct dict_avp_data data = {
+ 1463, /* Code */
+ 10415, /* Vendor */
+ "Trace-NE-Type-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Trace-Interface-List, OctetString, code 1464, section 7.3.69 */
+ {
+ struct dict_avp_data data = {
+ 1464, /* Code */
+ 10415, /* Vendor */
+ "Trace-Interface-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Trace-Event-List, OctetString, code 1465, section 7.3.70 */
+ {
+ struct dict_avp_data data = {
+ 1465, /* Code */
+ 10415, /* Vendor */
+ "Trace-Event-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* OMC-Id, OctetString, code 1466, section 7.3.71 */
+ {
+ struct dict_avp_data data = {
+ 1466, /* Code */
+ 10415, /* Vendor */
+ "OMC-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);
+ };
+
+ /* GPRS-Subscription-Data, Grouped, code 1467, section 7.3.72 */
+ {
+ struct dict_avp_data data = {
+ 1467, /* Code */
+ 10415, /* Vendor */
+ "GPRS-Subscription-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, NULL);
+ };
+
+ /* Complete-Data-List-Included-Indicator, Enumerated, code 1468, section 7.3.73 */
+ {
+ struct dict_avp_data data = {
+ 1468, /* Code */
+ 10415, /* Vendor */
+ "Complete-Data-List-Included-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Complete-Data-List-Included-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PDP-Context, Grouped, code 1469, section 7.3.74 */
+ {
+ struct dict_avp_data data = {
+ 1469, /* Code */
+ 10415, /* Vendor */
+ "PDP-Context", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PDP-Type, OctetString, code 1470, section 7.3.75 */
+ {
+ struct dict_avp_data data = {
+ 1470, /* Code */
+ 10415, /* Vendor */
+ "PDP-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, NULL, NULL);
+ };
+
+ /* 3GPP2-MEID, OctetString, code 1471, section 7.3.6 */
+ {
+ struct dict_avp_data data = {
+ 1471, /* Code */
+ 10415, /* Vendor */
+ "3GPP2-MEID", /* 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);
+ };
+
+ /* Specific-APN-Info, Grouped, code 1472, section 7.3.82 */
+ {
+ struct dict_avp_data data = {
+ 1472, /* Code */
+ 10415, /* Vendor */
+ "Specific-APN-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* LCS-Info, Grouped, code 1473, section 7.3.84 */
+ {
+ struct dict_avp_data data = {
+ 1473, /* Code */
+ 10415, /* Vendor */
+ "LCS-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* GMLC-Number, OctetString, code 1474, section 7.3.85 */
+ {
+ struct dict_avp_data data = {
+ 1474, /* Code */
+ 10415, /* Vendor */
+ "GMLC-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);
+ };
+
+ /* LCS-PrivacyException, Grouped, code 1475, section 7.3.86 */
+ {
+ struct dict_avp_data data = {
+ 1475, /* Code */
+ 10415, /* Vendor */
+ "LCS-PrivacyException", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SS-Code, OctetString, code 1476, section 7.3.87 */
+ {
+ struct dict_avp_data data = {
+ 1476, /* Code */
+ 10415, /* Vendor */
+ "SS-Code", /* 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);
+ };
+
+ /* Note: 3GPP TS 29.272 V12.5.0 (2014-06) Table 7.3.1/1 */
+ /* changed row SS-Status (1477) to be OctetString instead of Grouped. */
+ /* Clause 7.3.88 already described SS-Status (1147) as OctetString. */
+ /* */
+ /* Change-1.4.0: SS-Status (1477) type changed from Grouped to OctetString. */
+ /* SS-Status, OctetString, code 1477, section 7.3.88 */
+ {
+ struct dict_avp_data data = {
+ 1477, /* Code */
+ 10415, /* Vendor */
+ "SS-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);
+ };
+
+ /* Notification-To-UE-User, Enumerated, code 1478, section 7.3.89 */
+ {
+ struct dict_avp_data data = {
+ 1478, /* Code */
+ 10415, /* Vendor */
+ "Notification-To-UE-User", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Notification-To-UE-User)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* External-Client, Grouped, code 1479, section 7.3.90 */
+ {
+ struct dict_avp_data data = {
+ 1479, /* Code */
+ 10415, /* Vendor */
+ "External-Client", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Client-Identity, OctetString, code 1480, section 7.3.91 */
+ {
+ struct dict_avp_data data = {
+ 1480, /* Code */
+ 10415, /* Vendor */
+ "Client-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, NULL, NULL);
+ };
+
+ /* GMLC-Restriction, Enumerated, code 1481, section 7.3.92 */
+ {
+ struct dict_avp_data data = {
+ 1481, /* Code */
+ 10415, /* Vendor */
+ "GMLC-Restriction", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/GMLC-Restriction)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PLMN-Client, Enumerated, code 1482, section 7.3.93 */
+ {
+ struct dict_avp_data data = {
+ 1482, /* Code */
+ 10415, /* Vendor */
+ "PLMN-Client", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PLMN-Client)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Service-Type, Grouped, code 1483, section 7.3.94 */
+ {
+ struct dict_avp_data data = {
+ 1483, /* Code */
+ 10415, /* Vendor */
+ "Service-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, NULL);
+ };
+
+ /* ServiceTypeIdentity, Unsigned32, code 1484, section 7.3.95 */
+ {
+ struct dict_avp_data data = {
+ 1484, /* Code */
+ 10415, /* Vendor */
+ "ServiceTypeIdentity", /* 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);
+ };
+
+ /* MO-LR, Grouped, code 1485, section 7.3.96 */
+ {
+ struct dict_avp_data data = {
+ 1485, /* Code */
+ 10415, /* Vendor */
+ "MO-LR", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Teleservice-List, Grouped, code 1486, section 7.3.99 */
+ {
+ struct dict_avp_data data = {
+ 1486, /* Code */
+ 10415, /* Vendor */
+ "Teleservice-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TS-Code, OctetString, code 1487, section 7.3.100 */
+ {
+ struct dict_avp_data data = {
+ 1487, /* Code */
+ 10415, /* Vendor */
+ "TS-Code", /* 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);
+ };
+
+ /* Note: 3GPP TS 29.272 V12.4.0 (2014-03) renamed */
+ /* Call-Barring-Infor-List (1488) to Call-Barring-Info (1488). */
+ /* */
+ /* Change-1.4.0: Call-Barring-Infor-List (1488) renamed to Call-Barring-Info (1488). */
+ /* Call-Barring-Info, Grouped, code 1488, section 7.3.101 */
+ {
+ struct dict_avp_data data = {
+ 1488, /* Code */
+ 10415, /* Vendor */
+ "Call-Barring-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SGSN-Number, OctetString, code 1489, section 7.3.102 */
+ {
+ struct dict_avp_data data = {
+ 1489, /* Code */
+ 10415, /* Vendor */
+ "SGSN-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);
+ };
+
+ /* IDR-Flags, Unsigned32, code 1490, section 7.3.103 */
+ {
+ struct dict_avp_data data = {
+ 1490, /* Code */
+ 10415, /* Vendor */
+ "IDR-Flags", /* 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);
+ };
+
+ /* ICS-Indicator, Enumerated, code 1491, section 7.3.104 */
+ {
+ struct dict_avp_data data = {
+ 1491, /* Code */
+ 10415, /* Vendor */
+ "ICS-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ICS-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* IMS-Voice-Over-PS-Sessions-Supported, Enumerated, code 1492, section 7.3.106 */
+ {
+ struct dict_avp_data data = {
+ 1492, /* Code */
+ 10415, /* Vendor */
+ "IMS-Voice-Over-PS-Sessions-Supported", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IMS-Voice-Over-PS-Sessions-Supported)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions, Enumerated, code 1493, section 7.3.107 */
+ {
+ struct dict_avp_data data = {
+ 1493, /* Code */
+ 10415, /* Vendor */
+ "Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Last-UE-Activity-Time, Time, code 1494, section 7.3.108 */
+ {
+ struct dict_avp_data data = {
+ 1494, /* Code */
+ 10415, /* Vendor */
+ "Last-UE-Activity-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* EPS-User-State, Grouped, code 1495, section 7.3.110 */
+ {
+ struct dict_avp_data data = {
+ 1495, /* Code */
+ 10415, /* Vendor */
+ "EPS-User-State", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* EPS-Location-Information, Grouped, code 1496, section 7.3.111 */
+ {
+ struct dict_avp_data data = {
+ 1496, /* Code */
+ 10415, /* Vendor */
+ "EPS-Location-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MME-User-State, Grouped, code 1497, section 7.3.112 */
+ {
+ struct dict_avp_data data = {
+ 1497, /* Code */
+ 10415, /* Vendor */
+ "MME-User-State", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SGSN-User-State, Grouped, code 1498, section 7.3.113 */
+ {
+ struct dict_avp_data data = {
+ 1498, /* Code */
+ 10415, /* Vendor */
+ "SGSN-User-State", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* User-State, Enumerated, code 1499, section 7.3.114 */
+ {
+ struct dict_avp_data data = {
+ 1499, /* Code */
+ 10415, /* Vendor */
+ "User-State", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/User-State)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: 3GPP TS 29.272 Table 7.3.1/1 row MME-Location-Information (1600) */
+ /* incorrectly has a space instead of hyphen in the name. */
+ /* */
+ /* Change-1.4.0: MME-LocationInformation (1600) renamed to MME-Location-Information(1600). */
+ /* MME-Location-Information, Grouped, code 1600, section 7.3.115 */
+ {
+ struct dict_avp_data data = {
+ 1600, /* Code */
+ 10415, /* Vendor */
+ "MME-Location-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SGSN-Location-Information, Grouped, code 1601, section 7.3.116 */
+ {
+ struct dict_avp_data data = {
+ 1601, /* Code */
+ 10415, /* Vendor */
+ "SGSN-Location-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* E-UTRAN-Cell-Global-Identity, OctetString, code 1602, section 7.3.117 */
+ {
+ struct dict_avp_data data = {
+ 1602, /* Code */
+ 10415, /* Vendor */
+ "E-UTRAN-Cell-Global-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Tracking-Area-Identity, OctetString, code 1603, section 7.3.118 */
+ {
+ struct dict_avp_data data = {
+ 1603, /* Code */
+ 10415, /* Vendor */
+ "Tracking-Area-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Cell-Global-Identity, OctetString, code 1604, section 7.3.119 */
+ {
+ struct dict_avp_data data = {
+ 1604, /* Code */
+ 10415, /* Vendor */
+ "Cell-Global-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Routing-Area-Identity, OctetString, code 1605, section 7.3.120 */
+ {
+ struct dict_avp_data data = {
+ 1605, /* Code */
+ 10415, /* Vendor */
+ "Routing-Area-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Location-Area-Identity, OctetString, code 1606, section 7.3.121 */
+ {
+ struct dict_avp_data data = {
+ 1606, /* Code */
+ 10415, /* Vendor */
+ "Location-Area-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Service-Area-Identity, OctetString, code 1607, section 7.3.122 */
+ {
+ struct dict_avp_data data = {
+ 1607, /* Code */
+ 10415, /* Vendor */
+ "Service-Area-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Geographical-Information, OctetString, code 1608, section 7.3.123 */
+ {
+ struct dict_avp_data data = {
+ 1608, /* Code */
+ 10415, /* Vendor */
+ "Geographical-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Geodetic-Information, OctetString, code 1609, section 7.3.124 */
+ {
+ struct dict_avp_data data = {
+ 1609, /* Code */
+ 10415, /* Vendor */
+ "Geodetic-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Current-Location-Retrieved, Enumerated, code 1610, section 7.3.125 */
+ {
+ struct dict_avp_data data = {
+ 1610, /* Code */
+ 10415, /* Vendor */
+ "Current-Location-Retrieved", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Current-Location-Retrieved)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Age-Of-Location-Information, Unsigned32, code 1611, section 7.3.126 */
+ {
+ struct dict_avp_data data = {
+ 1611, /* Code */
+ 10415, /* Vendor */
+ "Age-Of-Location-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Active-APN, Grouped, code 1612, section 7.3.127 */
+ {
+ struct dict_avp_data data = {
+ 1612, /* Code */
+ 10415, /* Vendor */
+ "Active-APN", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Error-Diagnostic, Enumerated, code 1614, section 7.3.128 */
+ {
+ struct dict_avp_data data = {
+ 1614, /* Code */
+ 10415, /* Vendor */
+ "Error-Diagnostic", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Error-Diagnostic)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Ext-PDP-Address, Address, code 1621, section 7.3.129 */
+ {
+ struct dict_avp_data data = {
+ 1621, /* Code */
+ 10415, /* Vendor */
+ "Ext-PDP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* UE-SRVCC-Capability, Enumerated, code 1615, section 7.3.130 */
+ {
+ struct dict_avp_data data = {
+ 1615, /* Code */
+ 10415, /* Vendor */
+ "UE-SRVCC-Capability", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/UE-SRVCC-Capability)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MPS-Priority, Unsigned32, code 1616, section 7.3.131 */
+ {
+ struct dict_avp_data data = {
+ 1616, /* Code */
+ 10415, /* Vendor */
+ "MPS-Priority", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* VPLMN-LIPA-Allowed, Enumerated, code 1617, section 7.3.132 */
+ {
+ struct dict_avp_data data = {
+ 1617, /* Code */
+ 10415, /* Vendor */
+ "VPLMN-LIPA-Allowed", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/VPLMN-LIPA-Allowed)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* LIPA-Permission, Enumerated, code 1618, section 7.3.133 */
+ {
+ struct dict_avp_data data = {
+ 1618, /* Code */
+ 10415, /* Vendor */
+ "LIPA-Permission", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/LIPA-Permission)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Subscribed-Periodic-RAU-TAU-Timer, Unsigned32, code 1619, section 7.3.134 */
+ {
+ struct dict_avp_data data = {
+ 1619, /* Code */
+ 10415, /* Vendor */
+ "Subscribed-Periodic-RAU-TAU-Timer", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Ext-PDP-Type, OctetString, code 1620, section 7.3.75A */
+ {
+ struct dict_avp_data data = {
+ 1620, /* Code */
+ 10415, /* Vendor */
+ "Ext-PDP-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SIPTO-Permission, Enumerated, code 1613, section 7.3.135 */
+ {
+ struct dict_avp_data data = {
+ 1613, /* Code */
+ 10415, /* Vendor */
+ "SIPTO-Permission", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SIPTO-Permission)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MDT-Configuration, Grouped, code 1622, section 7.3.136 */
+ {
+ struct dict_avp_data data = {
+ 1622, /* Code */
+ 10415, /* Vendor */
+ "MDT-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Job-Type, Enumerated, code 1623, section 7.3.137 */
+ {
+ struct dict_avp_data data = {
+ 1623, /* Code */
+ 10415, /* Vendor */
+ "Job-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Job-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Area-Scope, Grouped, code 1624, section 7.3.138 */
+ {
+ struct dict_avp_data data = {
+ 1624, /* Code */
+ 10415, /* Vendor */
+ "Area-Scope", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* List-Of-Measurements, Unsigned32, code 1625, section 7.3.139 */
+ {
+ struct dict_avp_data data = {
+ 1625, /* Code */
+ 10415, /* Vendor */
+ "List-Of-Measurements", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reporting-Trigger, Unsigned32, code 1626, section 7.3.140 */
+ {
+ struct dict_avp_data data = {
+ 1626, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Trigger", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Report-Interval, Enumerated, code 1627, section 7.3.141 */
+ {
+ struct dict_avp_data data = {
+ 1627, /* Code */
+ 10415, /* Vendor */
+ "Report-Interval", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Report-Interval)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Report-Amount, Enumerated, code 1628, section 7.3.142 */
+ {
+ struct dict_avp_data data = {
+ 1628, /* Code */
+ 10415, /* Vendor */
+ "Report-Amount", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Report-Amount)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Event-Threshold-RSRP, Unsigned32, code 1629, section 7.3.143 */
+ {
+ struct dict_avp_data data = {
+ 1629, /* Code */
+ 10415, /* Vendor */
+ "Event-Threshold-RSRP", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Event-Threshold-RSRQ, Unsigned32, code 1630, section 7.3.144 */
+ {
+ struct dict_avp_data data = {
+ 1630, /* Code */
+ 10415, /* Vendor */
+ "Event-Threshold-RSRQ", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Logging-Interval, Enumerated, code 1631, section 7.3.145 */
+ {
+ struct dict_avp_data data = {
+ 1631, /* Code */
+ 10415, /* Vendor */
+ "Logging-Interval", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Logging-Interval)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Logging-Duration, Enumerated, code 1632, section 7.3.146 */
+ {
+ struct dict_avp_data data = {
+ 1632, /* Code */
+ 10415, /* Vendor */
+ "Logging-Duration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Logging-Duration)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Relay-Node-Indicator, Enumerated, code 1633, section 7.3.147 */
+ {
+ struct dict_avp_data data = {
+ 1633, /* Code */
+ 10415, /* Vendor */
+ "Relay-Node-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Relay-Node-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MDT-User-Consent, Enumerated, code 1634, section 7.3.148 */
+ {
+ struct dict_avp_data data = {
+ 1634, /* Code */
+ 10415, /* Vendor */
+ "MDT-User-Consent", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MDT-User-Consent)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PUR-Flags, Unsigned32, code 1635, section 7.3.149 */
+ {
+ struct dict_avp_data data = {
+ 1635, /* Code */
+ 10415, /* Vendor */
+ "PUR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Subscribed-VSRVCC, Enumerated, code 1636, section 7.3.150 */
+ {
+ struct dict_avp_data data = {
+ 1636, /* Code */
+ 10415, /* Vendor */
+ "Subscribed-VSRVCC", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Subscribed-VSRVCC)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Equivalent-PLMN-List, Grouped, code 1637, section 7.3.151 */
+ {
+ struct dict_avp_data data = {
+ 1637, /* Code */
+ 10415, /* Vendor */
+ "Equivalent-PLMN-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CLR-Flags, Unsigned32, code 1638, section 7.3.152 */
+ {
+ struct dict_avp_data data = {
+ 1638, /* Code */
+ 10415, /* Vendor */
+ "CLR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UVR-Flags, Unsigned32, code 1639, section 7.3.153 */
+ {
+ struct dict_avp_data data = {
+ 1639, /* Code */
+ 10415, /* Vendor */
+ "UVR-Flags", /* 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);
+ };
+
+ /* UVA-Flags, Unsigned32, code 1640, section 7.3.154 */
+ {
+ struct dict_avp_data data = {
+ 1640, /* Code */
+ 10415, /* Vendor */
+ "UVA-Flags", /* 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);
+ };
+
+ /* VPLMN-CSG-Subscription-Data, Grouped, code 1641, section 7.3.155 */
+ {
+ struct dict_avp_data data = {
+ 1641, /* Code */
+ 10415, /* Vendor */
+ "VPLMN-CSG-Subscription-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, NULL);
+ };
+
+ /* Time-Zone, UTF8String, code 1642, section 7.3.163 */
+ {
+ struct dict_avp_data data = {
+ 1642, /* Code */
+ 10415, /* Vendor */
+ "Time-Zone", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* A-MSISDN, OctetString, code 1643, section 7.3.157 */
+ {
+ struct dict_avp_data data = {
+ 1643, /* Code */
+ 10415, /* Vendor */
+ "A-MSISDN", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MME-Number-for-MT-SMS, OctetString, code 1645, section 7.3.159 */
+ {
+ struct dict_avp_data data = {
+ 1645, /* Code */
+ 10415, /* Vendor */
+ "MME-Number-for-MT-SMS", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SMS-Register-Request, Enumerated, code 1648, section 7.3.162 */
+ {
+ struct dict_avp_data data = {
+ 1648, /* Code */
+ 10415, /* Vendor */
+ "SMS-Register-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SMS-Register-Request)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Local-Time-Zone, Grouped, code 1649, section 7.3.156 */
+ {
+ struct dict_avp_data data = {
+ 1649, /* Code */
+ 10415, /* Vendor */
+ "Local-Time-Zone", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Daylight-Saving-Time, Enumerated, code 1650, section 7.3.164 */
+ {
+ struct dict_avp_data data = {
+ 1650, /* Code */
+ 10415, /* Vendor */
+ "Daylight-Saving-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Daylight-Saving-Time)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Subscription-Data-Flags, Unsigned32, code 1654, section 7.3.165 */
+ {
+ struct dict_avp_data data = {
+ 1654, /* Code */
+ 10415, /* Vendor */
+ "Subscription-Data-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of */
+ /* Measurement-Period-LTE (1655) from 1656. */
+ /* */
+ /* Change-1.4.0: Measurement-Period-LTE (1656) code changed to Measurement-Period-LTE (1655). */
+ /* Measurement-Period-LTE, Enumerated, code 1655, section 7.3.166 */
+ {
+ struct dict_avp_data data = {
+ 1655, /* Code */
+ 10415, /* Vendor */
+ "Measurement-Period-LTE", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Measurement-Period-LTE)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of */
+ /* Measurement-Period-UMTS (1656) from 1655. */
+ /* */
+ /* Change-1.4.0: Measurement-Period-UMTS (1655) code changed to Measurement-Period-UMTS (1656). */
+ /* Measurement-Period-UMTS, Enumerated, code 1656, section 7.3.167 */
+ {
+ struct dict_avp_data data = {
+ 1656, /* Code */
+ 10415, /* Vendor */
+ "Measurement-Period-UMTS", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Measurement-Period-UMTS)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Collection-Period-RRM-LTE, Enumerated, code 1657, section 7.3.168 */
+ {
+ struct dict_avp_data data = {
+ 1657, /* Code */
+ 10415, /* Vendor */
+ "Collection-Period-RRM-LTE", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Collection-Period-RRM-LTE)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Collection-Period-RRM-UMTS, Enumerated, code 1658, section 7.3.169 */
+ {
+ struct dict_avp_data data = {
+ 1658, /* Code */
+ 10415, /* Vendor */
+ "Collection-Period-RRM-UMTS", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Collection-Period-RRM-UMTS)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Positioning-Method, OctetString, code 1659, section 7.3.170 */
+ {
+ struct dict_avp_data data = {
+ 1659, /* Code */
+ 10415, /* Vendor */
+ "Positioning-Method", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Measurement-Quantity, OctetString, code 1660, section 7.3.171 */
+ {
+ struct dict_avp_data data = {
+ 1660, /* Code */
+ 10415, /* Vendor */
+ "Measurement-Quantity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Event-Threshold-Event-1F, Integer32, code 1661, section 7.3.172 */
+ {
+ struct dict_avp_data data = {
+ 1661, /* Code */
+ 10415, /* Vendor */
+ "Event-Threshold-Event-1F", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Event-Threshold-Event-1I, Integer32, code 1662, section 7.3.173 */
+ {
+ struct dict_avp_data data = {
+ 1662, /* Code */
+ 10415, /* Vendor */
+ "Event-Threshold-Event-1I", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Restoration-Priority, Unsigned32, code 1663, section 7.3.174 */
+ {
+ struct dict_avp_data data = {
+ 1663, /* Code */
+ 10415, /* Vendor */
+ "Restoration-Priority", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SGs-MME-Identity, UTF8String, code 1664, section 7.3.175 */
+ {
+ struct dict_avp_data data = {
+ 1664, /* Code */
+ 10415, /* Vendor */
+ "SGs-MME-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* SIPTO-Local-Network-Permission, Unsigned32, code 1665, section 7.3.176 */
+ {
+ struct dict_avp_data data = {
+ 1665, /* Code */
+ 10415, /* Vendor */
+ "SIPTO-Local-Network-Permission", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Coupled-Node-Diameter-ID, DiameterIdentity, code 1666, section 7.3.177 */
+ {
+ struct dict_avp_data data = {
+ 1666, /* Code */
+ 10415, /* Vendor */
+ "Coupled-Node-Diameter-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* WLAN-offloadability, Grouped, code 1667, section 7.3.181 */
+ {
+ struct dict_avp_data data = {
+ 1667, /* Code */
+ 10415, /* Vendor */
+ "WLAN-offloadability", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WLAN-offloadability-EUTRAN, Unsigned32, code 1668, section 7.3.182 */
+ {
+ struct dict_avp_data data = {
+ 1668, /* Code */
+ 10415, /* Vendor */
+ "WLAN-offloadability-EUTRAN", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WLAN-offloadability-UTRAN, Unsigned32, code 1669, section 7.3.183 */
+ {
+ struct dict_avp_data data = {
+ 1669, /* Code */
+ 10415, /* Vendor */
+ "WLAN-offloadability-UTRAN", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reset-ID, OctetString, code 1670, section 7.3.184 */
+ {
+ struct dict_avp_data data = {
+ 1670, /* Code */
+ 10415, /* Vendor */
+ "Reset-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MDT-Allowed-PLMN-Id, OctetString, code 1671, section 7.3.185 */
+ {
+ struct dict_avp_data data = {
+ 1671, /* Code */
+ 10415, /* Vendor */
+ "MDT-Allowed-PLMN-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Adjacent-PLMNs, Grouped, code 1672, section 7.3.186 */
+ {
+ struct dict_avp_data data = {
+ 1672, /* Code */
+ 10415, /* Vendor */
+ "Adjacent-PLMNs", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Adjacent-Access-Restriction-Data, Grouped, code 1673, section 7.3.187 */
+ {
+ struct dict_avp_data data = {
+ 1673, /* Code */
+ 10415, /* Vendor */
+ "Adjacent-Access-Restriction-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* DL-Buffering-Suggested-Packet-Count, Integer32, code 1674, section 7.3.188 */
+ {
+ struct dict_avp_data data = {
+ 1674, /* Code */
+ 10415, /* Vendor */
+ "DL-Buffering-Suggested-Packet-Count", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* IMSI-Group-Id, Grouped, code 1675, section 7.3.189 */
+ {
+ struct dict_avp_data data = {
+ 1675, /* Code */
+ 10415, /* Vendor */
+ "IMSI-Group-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Group-Service-Id, Unsigned32, code 1676, section 7.3.190 */
+ {
+ struct dict_avp_data data = {
+ 1676, /* Code */
+ 10415, /* Vendor */
+ "Group-Service-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Group-PLMN-Id, OctetString, code 1677, section 7.3.191 */
+ {
+ struct dict_avp_data data = {
+ 1677, /* Code */
+ 10415, /* Vendor */
+ "Group-PLMN-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Local-Group-Id, OctetString, code 1678, section 7.3.192 */
+ {
+ struct dict_avp_data data = {
+ 1678, /* Code */
+ 10415, /* Vendor */
+ "Local-Group-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AIR-Flags, Unsigned32, code 1679, section 7.3.201 */
+ {
+ struct dict_avp_data data = {
+ 1679, /* Code */
+ 10415, /* Vendor */
+ "AIR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UE-Usage-Type, Unsigned32, code 1680, section 7.3.202 */
+ {
+ struct dict_avp_data data = {
+ 1680, /* Code */
+ 10415, /* Vendor */
+ "UE-Usage-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Non-IP-PDN-Type-Indicator, Enumerated, code 1681, section 7.3.204 */
+ {
+ struct dict_avp_data data = {
+ 1681, /* Code */
+ 10415, /* Vendor */
+ "Non-IP-PDN-Type-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Non-IP-PDN-Type-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Non-IP-Data-Delivery-Mechanism, Unsigned32, code 1682, section 7.3.205 */
+ {
+ struct dict_avp_data data = {
+ 1682, /* Code */
+ 10415, /* Vendor */
+ "Non-IP-Data-Delivery-Mechanism", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.272 Table 7.3.1/1 row Additional-Context-ID (1683) has */
+ /* incorrect name and should be "Additional-Context-Identifier" per clause 7.3.206. */
+ /* */
+ /* Fix: Additional-Context-ID (1683) renamed to Additional-Context-Identifier (1683). */
+ /* Additional-Context-Identifier, Unsigned32, code 1683, section 7.3.206 */
+ {
+ struct dict_avp_data data = {
+ 1683, /* Code */
+ 10415, /* Vendor */
+ "Additional-Context-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SCEF-Realm, DiameterIdentity, code 1684, section 7.3.207 */
+ {
+ struct dict_avp_data data = {
+ 1684, /* Code */
+ 10415, /* Vendor */
+ "SCEF-Realm", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* Subscription-Data-Deletion, Grouped, code 1685, section 7.3.208 */
+ {
+ struct dict_avp_data data = {
+ 1685, /* Code */
+ 10415, /* Vendor */
+ "Subscription-Data-Deletion", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.272 Table 7.3.1/1 row Preferred-Data-Mode (1686) */
+ /* incorrectly has value type Grouped instead of Unsigned32, */
+ /* conflicting with clause 7.3.209. */
+ /* */
+ /* Fix: Preferred-Data-Mode (1686) type changed from Grouped to Unsigned32. */
+ /* Preferred-Data-Mode, Unsigned32, code 1686, section 7.3.209 */
+ {
+ struct dict_avp_data data = {
+ 1686, /* Code */
+ 10415, /* Vendor */
+ "Preferred-Data-Mode", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Emergency-Info, Grouped, code 1687, section 7.3.210 */
+ {
+ struct dict_avp_data data = {
+ 1687, /* Code */
+ 10415, /* Vendor */
+ "Emergency-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* V2X-Subscription-Data, Grouped, code 1688, section 7.3.212 */
+ {
+ struct dict_avp_data data = {
+ 1688, /* Code */
+ 10415, /* Vendor */
+ "V2X-Subscription-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* V2X-Permission, Unsigned32, code 1689, section 7.3.213 */
+ {
+ struct dict_avp_data data = {
+ 1689, /* Code */
+ 10415, /* Vendor */
+ "V2X-Permission", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PDN-Connection-Continuity, Unsigned32, code 1690, section 7.3.214 */
+ {
+ struct dict_avp_data data = {
+ 1690, /* Code */
+ 10415, /* Vendor */
+ "PDN-Connection-Continuity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* eDRX-Cycle-Length, Grouped, code 1691, section 7.3.215 */
+ {
+ struct dict_avp_data data = {
+ 1691, /* Code */
+ 10415, /* Vendor */
+ "eDRX-Cycle-Length", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* eDRX-Cycle-Length-Value, OctetString, code 1692, section 7.3.216 */
+ {
+ struct dict_avp_data data = {
+ 1692, /* Code */
+ 10415, /* Vendor */
+ "eDRX-Cycle-Length-Value", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* UE-PC5-AMBR, Unsigned32, code 1693, section 7.3.217 */
+ {
+ struct dict_avp_data data = {
+ 1693, /* Code */
+ 10415, /* Vendor */
+ "UE-PC5-AMBR", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBSFN-Area, Grouped, code 1694, section 7.3.219 */
+ {
+ struct dict_avp_data data = {
+ 1694, /* Code */
+ 10415, /* Vendor */
+ "MBSFN-Area", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBSFN-Area-ID, Unsigned32, code 1695, section 7.3.220 */
+ {
+ struct dict_avp_data data = {
+ 1695, /* Code */
+ 10415, /* Vendor */
+ "MBSFN-Area-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Carrier-Frequency, Unsigned32, code 1696, section 7.3.221 */
+ {
+ struct dict_avp_data data = {
+ 1696, /* Code */
+ 10415, /* Vendor */
+ "Carrier-Frequency", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* RDS-Indicator, Enumerated, code 1697, section 7.3.222 */
+ {
+ struct dict_avp_data data = {
+ 1697, /* Code */
+ 10415, /* Vendor */
+ "RDS-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/RDS-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Service-Gap-Time, Unsigned32, code 1698, section 7.3.223 */
+ {
+ struct dict_avp_data data = {
+ 1698, /* Code */
+ 10415, /* Vendor */
+ "Service-Gap-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Aerial-UE-Subscription-Information, Unsigned32, code 1699, section 7.3.224 */
+ {
+ struct dict_avp_data data = {
+ 1699, /* Code */
+ 10415, /* Vendor */
+ "Aerial-UE-Subscription-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Broadcast-Location-Assistance-Data-Types, Unsigned64, code 1700, section 7.3.225 */
+ {
+ struct dict_avp_data data = {
+ 1700, /* Code */
+ 10415, /* Vendor */
+ "Broadcast-Location-Assistance-Data-Types", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Paging-Time-Window, Grouped, code 1701, section 7.3.226 */
+ {
+ struct dict_avp_data data = {
+ 1701, /* Code */
+ 10415, /* Vendor */
+ "Paging-Time-Window", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Operation-Mode, Unsigned32, code 1702, section 7.3.227 */
+ {
+ struct dict_avp_data data = {
+ 1702, /* Code */
+ 10415, /* Vendor */
+ "Operation-Mode", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Paging-Time-Window-Length, OctetString, code 1703, section 7.3.228 */
+ {
+ struct dict_avp_data data = {
+ 1703, /* Code */
+ 10415, /* Vendor */
+ "Paging-Time-Window-Length", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Core-Network-Restrictions, Unsigned32, code 1704, section 7.3.230 */
+ {
+ struct dict_avp_data data = {
+ 1704, /* Code */
+ 10415, /* Vendor */
+ "Core-Network-Restrictions", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* eDRX-Related-RAT, Grouped, code 1705, section 7.3.229 */
+ {
+ struct dict_avp_data data = {
+ 1705, /* Code */
+ 10415, /* Vendor */
+ "eDRX-Related-RAT", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Interworking-5GS-Indicator, Enumerated, code 1706, section 7.3.231 */
+ {
+ struct dict_avp_data data = {
+ 1706, /* Code */
+ 10415, /* Vendor */
+ "Interworking-5GS-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Interworking-5GS-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 V15.4.0 (2019-09) */
+ /* Evolved Packet System (EPS); */
+ /* 3GPP EPS AAA interfaces */
+ /* */
+ /* From 3GPP 29273-f40.docx */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 Table 5.2.3.1/1: Diameter STa AVPs */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* ANID, UTF8String, code 1504, section 5.2.3.7 */
+ {
+ struct dict_avp_data data = {
+ 1504, /* Code */
+ 10415, /* Vendor */
+ "ANID", /* 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);
+ };
+
+ /* AN-Trusted, Enumerated, code 1503, section 5.2.3.9 */
+ {
+ struct dict_avp_data data = {
+ 1503, /* Code */
+ 10415, /* Vendor */
+ "AN-Trusted", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/AN-Trusted)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MIP-FA-RK, OctetString, code 1506, section 5.2.3.12 */
+ {
+ struct dict_avp_data data = {
+ 1506, /* Code */
+ 10415, /* Vendor */
+ "MIP-FA-RK", /* 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);
+ };
+
+ /* MIP-FA-RK-SPI, Unsigned32, code 1507, section 5.2.3.13 */
+ {
+ struct dict_avp_data data = {
+ 1507, /* Code */
+ 10415, /* Vendor */
+ "MIP-FA-RK-SPI", /* 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);
+ };
+
+ /* Full-Network-Name, OctetString, code 1516, section 5.2.3.14 */
+ {
+ struct dict_avp_data data = {
+ 1516, /* Code */
+ 10415, /* Vendor */
+ "Full-Network-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Short-Network-Name, OctetString, code 1517, section 5.2.3.15 */
+ {
+ struct dict_avp_data data = {
+ 1517, /* Code */
+ 10415, /* Vendor */
+ "Short-Network-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WLAN-Identifier, Grouped, code 1509, section 5.2.3.18 */
+ {
+ struct dict_avp_data data = {
+ 1509, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AAA-Failure-Indication, Unsigned32, code 1518, section 8.2.3.21 */
+ {
+ struct dict_avp_data data = {
+ 1518, /* Code */
+ 10415, /* Vendor */
+ "AAA-Failure-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Transport-Access-Type, Enumerated, code 1519, section 5.2.3.19 */
+ {
+ struct dict_avp_data data = {
+ 1519, /* Code */
+ 10415, /* Vendor */
+ "Transport-Access-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Transport-Access-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* DER-Flags, Unsigned32, code 1520, section 5.2.3.20 */
+ {
+ struct dict_avp_data data = {
+ 1520, /* Code */
+ 10415, /* Vendor */
+ "DER-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* DEA-Flags, Unsigned32, code 1521, section 5.2.3.21 */
+ {
+ struct dict_avp_data data = {
+ 1521, /* Code */
+ 10415, /* Vendor */
+ "DEA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SSID, UTF8String, code 1524, section 5.2.3.22 */
+ {
+ struct dict_avp_data data = {
+ 1524, /* Code */
+ 10415, /* Vendor */
+ "SSID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* HESSID, UTF8String, code 1525, section 5.2.3.23 */
+ {
+ struct dict_avp_data data = {
+ 1525, /* Code */
+ 10415, /* Vendor */
+ "HESSID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Access-Network-Info, Grouped, code 1526, section 5.2.3.24 */
+ {
+ struct dict_avp_data data = {
+ 1526, /* Code */
+ 10415, /* Vendor */
+ "Access-Network-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TWAN-Connection-Mode, Unsigned32, code 1527, section 5.2.3.25 */
+ {
+ struct dict_avp_data data = {
+ 1527, /* Code */
+ 10415, /* Vendor */
+ "TWAN-Connection-Mode", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TWAN-Connectivity-Parameters, Grouped, code 1528, section 5.2.3.26 */
+ {
+ struct dict_avp_data data = {
+ 1528, /* Code */
+ 10415, /* Vendor */
+ "TWAN-Connectivity-Parameters", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Connectivity-Flags, Unsigned32, code 1529, section 5.2.3.27 */
+ {
+ struct dict_avp_data data = {
+ 1529, /* Code */
+ 10415, /* Vendor */
+ "Connectivity-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TWAN-PCO, OctetString, code 1530, section 5.2.3.28 */
+ {
+ struct dict_avp_data data = {
+ 1530, /* Code */
+ 10415, /* Vendor */
+ "TWAN-PCO", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TWAG-CP-Address, Address, code 1531, section 5.2.3.29 */
+ {
+ struct dict_avp_data data = {
+ 1531, /* Code */
+ 10415, /* Vendor */
+ "TWAG-CP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* TWAG-UP-Address, UTF8String, code 1532, section 5.2.3.30 */
+ {
+ struct dict_avp_data data = {
+ 1532, /* Code */
+ 10415, /* Vendor */
+ "TWAG-UP-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* TWAN-S2a-Failure-Cause, Unsigned32, code 1533, section 5.2.3.31 */
+ {
+ struct dict_avp_data data = {
+ 1533, /* Code */
+ 10415, /* Vendor */
+ "TWAN-S2a-Failure-Cause", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SM-Back-Off-Timer, Unsigned32, code 1534, section 5.2.3.32 */
+ {
+ struct dict_avp_data data = {
+ 1534, /* Code */
+ 10415, /* Vendor */
+ "SM-Back-Off-Timer", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WLCP-Key, OctetString, code 1535, section 5.2.3.33 */
+ {
+ struct dict_avp_data data = {
+ 1535, /* Code */
+ 10415, /* Vendor */
+ "WLCP-Key", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Emergency-Services, Unsigned32, code 1538, section 7.2.3.4 */
+ {
+ struct dict_avp_data data = {
+ 1538, /* Code */
+ 10415, /* Vendor */
+ "Emergency-Services", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* IMEI-Check-In-VPLMN-Result, Unsigned32, code 1540, section 5.2.3.35 */
+ {
+ struct dict_avp_data data = {
+ 1540, /* Code */
+ 10415, /* Vendor */
+ "IMEI-Check-In-VPLMN-Result", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 Table 6.2.3.1/1: Diameter SWd AVPs */
+ /* */
+ /* Note: No AVPs are first defined in this table. */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 Table 7.2.3.1/1: Diameter SWm AVPs */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* Trace-Info, Grouped, code 1505, section 8.2.3.1.3 */
+ {
+ struct dict_avp_data data = {
+ 1505, /* Code */
+ 10415, /* Vendor */
+ "Trace-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AAR-Flags, Unsigned32, code 1539, section 7.2.3.5 */
+ {
+ struct dict_avp_data data = {
+ 1539, /* Code */
+ 10415, /* Vendor */
+ "AAR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 Table 8.2.3.0/1: Diameter SWx AVPs */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* Non-3GPP-User-Data, Grouped, code 1500, section 8.2.3.1 */
+ {
+ struct dict_avp_data data = {
+ 1500, /* Code */
+ 10415, /* Vendor */
+ "Non-3GPP-User-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, NULL);
+ };
+
+ /* Non-3GPP-IP-Access, Enumerated, code 1501, section 8.2.3.3 */
+ {
+ struct dict_avp_data data = {
+ 1501, /* Code */
+ 10415, /* Vendor */
+ "Non-3GPP-IP-Access", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Non-3GPP-IP-Access)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Non-3GPP-IP-Access-APN, Enumerated, code 1502, section 8.2.3.4 */
+ {
+ struct dict_avp_data data = {
+ 1502, /* Code */
+ 10415, /* Vendor */
+ "Non-3GPP-IP-Access-APN", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Non-3GPP-IP-Access-APN)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PPR-Flags, Unsigned32, code 1508, section 8.2.3.17 */
+ {
+ struct dict_avp_data data = {
+ 1508, /* Code */
+ 10415, /* Vendor */
+ "PPR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TWAN-Default-APN-Context-Id, Unsigned32, code 1512, section 8.2.3.18 */
+ {
+ struct dict_avp_data data = {
+ 1512, /* Code */
+ 10415, /* Vendor */
+ "TWAN-Default-APN-Context-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TWAN-Access-Info, Grouped, code 1510, section 8.2.3.19 */
+ {
+ struct dict_avp_data data = {
+ 1510, /* Code */
+ 10415, /* Vendor */
+ "TWAN-Access-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Access-Authorization-Flags, Unsigned32, code 1511, section 8.2.3.20 */
+ {
+ struct dict_avp_data data = {
+ 1511, /* Code */
+ 10415, /* Vendor */
+ "Access-Authorization-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-AAA-Server-Name, DiameterIdentity, code 318, section 8.2.3.24 */
+ {
+ struct dict_avp_data data = {
+ 318, /* Code */
+ 10415, /* Vendor */
+ "3GPP-AAA-Server-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, DiameterIdentity_type, NULL);
+ };
+
+ /* ERP-Authorization, Unsigned32, code 1541, section 8.2.3.27 */
+ {
+ struct dict_avp_data data = {
+ 1541, /* Code */
+ 10415, /* Vendor */
+ "ERP-Authorization", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 Table 9.2.3.1.1/1: Diameter S6b AVPs for DSMIPv6 */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* RAR-Flags, Unsigned32, code 1522, section 9.2.3.1.5 */
+ {
+ struct dict_avp_data data = {
+ 1522, /* Code */
+ 10415, /* Vendor */
+ "RAR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: Trust-Relationship-Update (1515) Enumerated removed in 3GPP TS 29.273 V11.4.0 (2012-12). */
+
+ /* DER-S6b-Flags, Unsigned32, code 1523, section 9.2.3.7 */
+ {
+ struct dict_avp_data data = {
+ 1523, /* Code */
+ 10415, /* Vendor */
+ "DER-S6b-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 Table 9.2.3.2.1/1: Diameter S6b AVPs for PMIPv6 or GTPv2 */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* Origination-Time-Stamp, Unsigned64, code 1536, section 9.2.3.2.6 */
+ {
+ struct dict_avp_data data = {
+ 1536, /* Code */
+ 10415, /* Vendor */
+ "Origination-Time-Stamp", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Maximum-Wait-Time, Unsigned32, code 1537, section 9.2.3.2.7 */
+ {
+ struct dict_avp_data data = {
+ 1537, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Wait-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+
+ /*==================================================================*/
+ /* 3GPP TS 29.273 Table 9.2.3.6.1/1: Diameter S6b AVPs for MIPv4 FACoA */
+ /* */
+ /* Note: No AVPs are first defined in this table. */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.283 V15.1.0 (2019-09) */
+ /* Diameter Data Management Applications */
+ /* */
+ /* From 3GPP 29283-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.283 Table 7.3.1-1: MCPTT-2, MCVideo-2, MCData-2 and CSC-13 specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* MCPTT-ID, UTF8String, code 4500, section 7.3.2 */
+ {
+ struct dict_avp_data data = {
+ 4500, /* Code */
+ 10415, /* Vendor */
+ "MCPTT-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);
+ };
+
+ /* Data-Identification, Grouped, code 4501, section 7.3.3 */
+ {
+ struct dict_avp_data data = {
+ 4501, /* Code */
+ 10415, /* Vendor */
+ "Data-Identification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Data-Identification-Prefix, Unsigned32, code 4502, section 7.3.11 */
+ {
+ struct dict_avp_data data = {
+ 4502, /* Code */
+ 10415, /* Vendor */
+ "Data-Identification-Prefix", /* 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);
+ };
+
+ /* Data-Identification-Flags, Unsigned64, code 4503, section 7.3.12 */
+ {
+ struct dict_avp_data data = {
+ 4503, /* Code */
+ 10415, /* Vendor */
+ "Data-Identification-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* DPR-Flags, Unsigned32, code 4504, section 7.3.13 */
+ {
+ struct dict_avp_data data = {
+ 4504, /* Code */
+ 10415, /* Vendor */
+ "DPR-Flags", /* 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);
+ };
+
+ /* DPA-Flags, Unsigned32, code 4505, section 7.3.14 */
+ {
+ struct dict_avp_data data = {
+ 4505, /* Code */
+ 10415, /* Vendor */
+ "DPA-Flags", /* 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);
+ };
+
+ /* DUR-Flags, Unsigned32, code 4506, section 7.3.15 */
+ {
+ struct dict_avp_data data = {
+ 4506, /* Code */
+ 10415, /* Vendor */
+ "DUR-Flags", /* 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);
+ };
+
+ /* DUA-Flags, Unsigned32, code 4507, section 7.3.16 */
+ {
+ struct dict_avp_data data = {
+ 4507, /* Code */
+ 10415, /* Vendor */
+ "DUA-Flags", /* 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);
+ };
+
+ /* NDR-Flags, Unsigned32, code 4508, section 7.3.17 */
+ {
+ struct dict_avp_data data = {
+ 4508, /* Code */
+ 10415, /* Vendor */
+ "NDR-Flags", /* 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);
+ };
+
+ /* NDA-Flags, Unsigned32, code 4509, section 7.3.18 */
+ {
+ struct dict_avp_data data = {
+ 4509, /* Code */
+ 10415, /* Vendor */
+ "NDA-Flags", /* 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);
+ };
+
+ /* User-Data-Id, Unsigned32, code 4510, section 7.3.19 */
+ {
+ struct dict_avp_data data = {
+ 4510, /* Code */
+ 10415, /* Vendor */
+ "User-Data-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);
+ };
+
+ /* MC-Service-User-Profile-Data, Grouped, code 4511, section 7.3.20 */
+ {
+ struct dict_avp_data data = {
+ 4511, /* Code */
+ 10415, /* Vendor */
+ "MC-Service-User-Profile-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, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.140 Sequence-Number (1107). */
+ /* and 3GPP TS 29.329 Sequence-Number (716). */
+ /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107). */
+ /* 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716). */
+ /* 3GPP TS 29.283 V13.1.0 (2016-06) allocated Sequence-Number (4512). */
+ /* */
+ /* Fix: Sequence-Number (4512) renamed to Sequence-Number-29.283 (4512). */
+ /* Sequence-Number-29.283, Unsigned32, code 4512, section 7.3.21 */
+ {
+ struct dict_avp_data data = {
+ 4512, /* Code */
+ 10415, /* Vendor */
+ "Sequence-Number-29.283", /* 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);
+ };
+
+ /* Data, Grouped, code 4513, section 7.3.22 */
+ {
+ struct dict_avp_data data = {
+ 4513, /* Code */
+ 10415, /* Vendor */
+ "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, NULL);
+ };
+
+ /* MCVideo-ID, UTF8String, code 4514, section 7.3.24 */
+ {
+ struct dict_avp_data data = {
+ 4514, /* Code */
+ 10415, /* Vendor */
+ "MCVideo-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* MCData-ID, UTF8String, code 4515, section 7.3.25 */
+ {
+ struct dict_avp_data data = {
+ 4515, /* Code */
+ 10415, /* Vendor */
+ "MCData-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.329 V15.2.0 (2019-09) */
+ /* Sh Interface based on the Diameter protocol; */
+ /* Protocol details */
+ /* */
+ /* From 3GPP 29329-f20.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.329 Table 6.3.1: Table 6.3.1: Diameter Multimedia Application AVPs */
+ /* */
+ /* Note: AVPs referenced from other sources are not added here. */
+ /*==================================================================*/
+
+ /* User-Identity, Grouped, code 700, section 6.3.1 */
+ {
+ struct dict_avp_data data = {
+ 700, /* Code */
+ 10415, /* Vendor */
+ "User-Identity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MSISDN, OctetString, code 701, section 6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 701, /* Code */
+ 10415, /* Vendor */
+ "MSISDN", /* 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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.229 User-Data (606). */
+ /* 3GPP TS 29.229 V6.2.0 (2004-09) allocated User-Data (606). */
+ /* 3GPP TS 29.329 V6.2.0 (2004-09) allocated User-Data (702). */
+ /* */
+ /* Fix: User-Data (702) renamed to User-Data-29.329 (702). */
+ /* User-Data-29.329, OctetString, code 702, section 6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 702, /* Code */
+ 10415, /* Vendor */
+ "User-Data-29.329", /* 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-Reference, Enumerated, code 703, section 6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 703, /* Code */
+ 10415, /* Vendor */
+ "Data-Reference", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Data-Reference)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Service-Indication, OctetString, code 704, section 6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 704, /* Code */
+ 10415, /* Vendor */
+ "Service-Indication", /* 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);
+ };
+
+ /* Subs-Req-Type, Enumerated, code 705, section 6.3.6 */
+ {
+ struct dict_avp_data data = {
+ 705, /* Code */
+ 10415, /* Vendor */
+ "Subs-Req-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, "Enumerated(3GPP/Subs-Req-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Requested-Domain, Enumerated, code 706, section 6.3.7 */
+ {
+ struct dict_avp_data data = {
+ 706, /* Code */
+ 10415, /* Vendor */
+ "Requested-Domain", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Requested-Domain)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Current-Location, Enumerated, code 707, section 6.3.8 */
+ {
+ struct dict_avp_data data = {
+ 707, /* Code */
+ 10415, /* Vendor */
+ "Current-Location", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Current-Location)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Identity-Set, Enumerated, code 708, section 6.3.10 */
+ {
+ struct dict_avp_data data = {
+ 708, /* Code */
+ 10415, /* Vendor */
+ "Identity-Set", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Identity-Set)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Expiry-Time, Time, code 709, section 6.3.16 */
+ {
+ struct dict_avp_data data = {
+ 709, /* Code */
+ 10415, /* Vendor */
+ "Expiry-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* Send-Data-Indication, Enumerated, code 710, section 6.3.17 */
+ {
+ struct dict_avp_data data = {
+ 710, /* Code */
+ 10415, /* Vendor */
+ "Send-Data-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Send-Data-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* DSAI-Tag, OctetString, code 711, section 6.3.18 */
+ {
+ struct dict_avp_data data = {
+ 711, /* Code */
+ 10415, /* Vendor */
+ "DSAI-Tag", /* 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);
+ };
+
+ /* One-Time-Notification, Enumerated, code 712, section 6.3.22 */
+ {
+ struct dict_avp_data data = {
+ 712, /* Code */
+ 10415, /* Vendor */
+ "One-Time-Notification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/One-Time-Notification)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Requested-Nodes, Unsigned32, code 713, section 6.3.7A */
+ {
+ struct dict_avp_data data = {
+ 713, /* Code */
+ 10415, /* Vendor */
+ "Requested-Nodes", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Serving-Node-Indication, Enumerated, code 714, section 6.3.23 */
+ {
+ struct dict_avp_data data = {
+ 714, /* Code */
+ 10415, /* Vendor */
+ "Serving-Node-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Serving-Node-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Repository-Data-ID, Grouped, code 715, section 6.3.24 */
+ {
+ struct dict_avp_data data = {
+ 715, /* Code */
+ 10415, /* Vendor */
+ "Repository-Data-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.140 Sequence-Number (1107) */
+ /* and 3GPP TS 29.283 Sequence-Number (4512). */
+ /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107). */
+ /* 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716). */
+ /* 3GPP TS 29.283 V13.1.0 (2016-06) allocated Sequence-Number (4512). */
+ /* Sequence-Number, Unsigned32, code 716, section 6.3.25 */
+ {
+ struct dict_avp_data data = {
+ 716, /* Code */
+ 10415, /* Vendor */
+ "Sequence-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Pre-paging-Supported, Enumerated, code 717, section 6.3.26 */
+ {
+ struct dict_avp_data data = {
+ 717, /* Code */
+ 10415, /* Vendor */
+ "Pre-paging-Supported", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pre-paging-Supported)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Local-Time-Zone-Indication, Enumerated, code 718, section 6.3.27 */
+ {
+ struct dict_avp_data data = {
+ 718, /* Code */
+ 10415, /* Vendor */
+ "Local-Time-Zone-Indication", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Local-Time-Zone-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* UDR-Flags, Unsigned32, code 719, section 6.3.28 */
+ {
+ struct dict_avp_data data = {
+ 719, /* Code */
+ 10415, /* Vendor */
+ "UDR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Call-Reference-Info, Grouped, code 720, section 6.3.29 */
+ {
+ struct dict_avp_data data = {
+ 720, /* Code */
+ 10415, /* Vendor */
+ "Call-Reference-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Call-Reference-Number, OctetString, code 721, section 6.3.30 */
+ {
+ struct dict_avp_data data = {
+ 721, /* Code */
+ 10415, /* Vendor */
+ "Call-Reference-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AS-Number, OctetString, code 722, section 6.3.31 */
+ {
+ struct dict_avp_data data = {
+ 722, /* Code */
+ 10415, /* Vendor */
+ "AS-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.336 V15.7.0 (2019-09) */
+ /* Home Subscriber Server (HSS) diameter interfaces for */
+ /* interworking with packet data networks and applications */
+ /* */
+ /* From 3GPP 29336-f70.docx */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.336 Table 6.4.1/1: S6m/S6n specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* IP-SM-GW-Number, OctetString, code 3100, section 6.4.14 */
+ {
+ struct dict_avp_data data = {
+ 3100, /* Code */
+ 10415, /* Vendor */
+ "IP-SM-GW-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);
+ };
+
+ /* IP-SM-GW-Name, DiameterIdentity, code 3101, section 6.4.15 */
+ {
+ struct dict_avp_data data = {
+ 3101, /* Code */
+ 10415, /* Vendor */
+ "IP-SM-GW-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, DiameterIdentity_type, NULL);
+ };
+
+ /* User-Identifier, Grouped, code 3102, section 6.4.2 */
+ {
+ struct dict_avp_data data = {
+ 3102, /* Code */
+ 10415, /* Vendor */
+ "User-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, NULL);
+ };
+
+ /* Service-ID, Enumerated, code 3103, section 6.4.3 */
+ {
+ struct dict_avp_data data = {
+ 3103, /* 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_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Service-ID)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SCS-Identity, OctetString, code 3104, section 6.4.4 */
+ {
+ struct dict_avp_data data = {
+ 3104, /* Code */
+ 10415, /* Vendor */
+ "SCS-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, NULL, NULL);
+ };
+
+ /* Service-Parameters, Grouped, code 3105, section 6.4.5 */
+ {
+ struct dict_avp_data data = {
+ 3105, /* Code */
+ 10415, /* Vendor */
+ "Service-Parameters", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* T4-Parameters, Grouped, code 3106, section 6.4.6 */
+ {
+ struct dict_avp_data data = {
+ 3106, /* Code */
+ 10415, /* Vendor */
+ "T4-Parameters", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Service-Data, Grouped, code 3107, section 6.4.7 */
+ {
+ struct dict_avp_data data = {
+ 3107, /* Code */
+ 10415, /* Vendor */
+ "Service-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, NULL);
+ };
+
+ /* T4-Data, Grouped, code 3108, section 6.4.8 */
+ {
+ struct dict_avp_data data = {
+ 3108, /* Code */
+ 10415, /* Vendor */
+ "T4-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, NULL);
+ };
+
+ /* HSS-Cause, Unsigned32, code 3109, section 6.4.9 */
+ {
+ struct dict_avp_data data = {
+ 3109, /* Code */
+ 10415, /* Vendor */
+ "HSS-Cause", /* 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);
+ };
+
+ /* SIR-Flags, Unsigned32, code 3110, section 6.4.10 */
+ {
+ struct dict_avp_data data = {
+ 3110, /* Code */
+ 10415, /* Vendor */
+ "SIR-Flags", /* 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);
+ };
+
+ /* Note: 3GPP TS 29.061 External-Identifier (28) OctetString replaced by */
+ /* 3GPP TS 29.336 External-Identifier (3111) UTF8String. */
+ /* */
+ /* Change-1.4.0: External-Identifier (28) OctetString replaced by External-Identifier (3111) UTF8String. */
+ /* External-Identifier, UTF8String, code 3111, section 6.4.11 */
+ {
+ struct dict_avp_data data = {
+ 3111, /* Code */
+ 10415, /* Vendor */
+ "External-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);
+ };
+
+ /* IP-SM-GW-Realm, DiameterIdentity, code 3112, section 6.4.18 */
+ {
+ struct dict_avp_data data = {
+ 3112, /* Code */
+ 10415, /* Vendor */
+ "IP-SM-GW-Realm", /* 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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.336 Table 8.4.1-1: S6t specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* AESE-Communication-Pattern, Grouped, code 3113, section 8.4.25 */
+ {
+ struct dict_avp_data data = {
+ 3113, /* Code */
+ 10415, /* Vendor */
+ "AESE-Communication-Pattern", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Communication-Pattern-Set, Grouped, code 3114, section 8.4.26 */
+ {
+ struct dict_avp_data data = {
+ 3114, /* Code */
+ 10415, /* Vendor */
+ "Communication-Pattern-Set", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Periodic-Communication-Indicator, Unsigned32, code 3115, section 8.4.27 */
+ {
+ struct dict_avp_data data = {
+ 3115, /* Code */
+ 10415, /* Vendor */
+ "Periodic-Communication-Indicator", /* 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);
+ };
+
+ /* Communication-Duration-Time, Unsigned32, code 3116, section 8.4.28 */
+ {
+ struct dict_avp_data data = {
+ 3116, /* Code */
+ 10415, /* Vendor */
+ "Communication-Duration-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);
+ };
+
+ /* Note: 3GPP TS 29.336 Table 8.4.1-1 row Periodic-time (3117) has */
+ /* incorrect name and should be "Periodic-Time" per majority use. */
+ /* */
+ /* Fix: Periodic-time (3117) renamed to Periodic-Time (931). */
+ /* Periodic-Time, Unsigned32, code 3117, section 8.4.29 */
+ {
+ struct dict_avp_data data = {
+ 3117, /* Code */
+ 10415, /* Vendor */
+ "Periodic-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);
+ };
+
+ /* Scheduled-Communication-Time, Grouped, code 3118, section 8.4.30 */
+ {
+ struct dict_avp_data data = {
+ 3118, /* Code */
+ 10415, /* Vendor */
+ "Scheduled-Communication-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Stationary-Indication, Unsigned32, code 3119, section 8.4.31 */
+ {
+ struct dict_avp_data data = {
+ 3119, /* Code */
+ 10415, /* Vendor */
+ "Stationary-Indication", /* 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);
+ };
+
+ /* AESE-Communication-Pattern-Config-Status, Grouped, code 3120, section 8.4.32 */
+ {
+ struct dict_avp_data data = {
+ 3120, /* Code */
+ 10415, /* Vendor */
+ "AESE-Communication-Pattern-Config-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* AESE-Error-Report, Grouped, code 3121, section 8.4.33 */
+ {
+ struct dict_avp_data data = {
+ 3121, /* Code */
+ 10415, /* Vendor */
+ "AESE-Error-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Monitoring-Event-Configuration, Grouped, code 3122, section 8.4.2 */
+ {
+ struct dict_avp_data data = {
+ 3122, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Event-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Monitoring-Event-Report, Grouped, code 3123, section 8.4.3 */
+ {
+ struct dict_avp_data data = {
+ 3123, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Event-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SCEF-Reference-ID, Unsigned32, code 3124, section 8.4.4 */
+ {
+ struct dict_avp_data data = {
+ 3124, /* Code */
+ 10415, /* Vendor */
+ "SCEF-Reference-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);
+ };
+
+ /* SCEF-ID, DiameterIdentity, code 3125, section 8.4.5 */
+ {
+ struct dict_avp_data data = {
+ 3125, /* Code */
+ 10415, /* Vendor */
+ "SCEF-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
+ };
+
+ /* SCEF-Reference-ID-for-Deletion, Unsigned32, code 3126, section 8.4.6 */
+ {
+ struct dict_avp_data data = {
+ 3126, /* Code */
+ 10415, /* Vendor */
+ "SCEF-Reference-ID-for-Deletion", /* 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-Type, Unsigned32, code 3127, section 8.4.7 */
+ {
+ struct dict_avp_data data = {
+ 3127, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-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);
+ };
+
+ /* Maximum-Number-of-Reports, Unsigned32, code 3128, section 8.4.8 */
+ {
+ struct dict_avp_data data = {
+ 3128, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Number-of-Reports", /* 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);
+ };
+
+ /* UE-Reachability-Configuration, Grouped, code 3129, section 8.4.9 */
+ {
+ struct dict_avp_data data = {
+ 3129, /* Code */
+ 10415, /* Vendor */
+ "UE-Reachability-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Monitoring-Duration, Time, code 3130, section 8.4.10 */
+ {
+ struct dict_avp_data data = {
+ 3130, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Duration", /* 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);
+ };
+
+ /* Maximum-Detection-Time, Unsigned32, code 3131, section 8.4.11 */
+ {
+ struct dict_avp_data data = {
+ 3131, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Detection-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);
+ };
+
+ /* Reachability-Type, Unsigned32, code 3132, section 8.4.12 */
+ {
+ struct dict_avp_data data = {
+ 3132, /* Code */
+ 10415, /* Vendor */
+ "Reachability-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);
+ };
+
+ /* Maximum-Latency, Unsigned32, code 3133, section 8.4.13 */
+ {
+ struct dict_avp_data data = {
+ 3133, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Latency", /* 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);
+ };
+
+ /* Maximum-Response-Time, Unsigned32, code 3134, section 8.4.14 */
+ {
+ struct dict_avp_data data = {
+ 3134, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Response-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);
+ };
+
+ /* Location-Information-Configuration, Grouped, code 3135, section 8.4.15 */
+ {
+ struct dict_avp_data data = {
+ 3135, /* Code */
+ 10415, /* Vendor */
+ "Location-Information-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MONTE-Location-Type, Unsigned32, code 3136, section 8.4.16 */
+ {
+ struct dict_avp_data data = {
+ 3136, /* Code */
+ 10415, /* Vendor */
+ "MONTE-Location-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);
+ };
+
+ /* Accuracy, Unsigned32, code 3137, section 8.4.17 */
+ {
+ struct dict_avp_data data = {
+ 3137, /* Code */
+ 10415, /* Vendor */
+ "Accuracy", /* 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);
+ };
+
+ /* Association-Type, Unsigned32, code 3138, section 8.4.18 */
+ {
+ struct dict_avp_data data = {
+ 3138, /* Code */
+ 10415, /* Vendor */
+ "Association-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);
+ };
+
+ /* Roaming-Information, Unsigned32, code 3139, section 8.4.19 */
+ {
+ struct dict_avp_data data = {
+ 3139, /* Code */
+ 10415, /* Vendor */
+ "Roaming-Information", /* 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);
+ };
+
+ /* Reachability-Information, Unsigned32, code 3140, section 8.4.20 */
+ {
+ struct dict_avp_data data = {
+ 3140, /* Code */
+ 10415, /* Vendor */
+ "Reachability-Information", /* 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);
+ };
+
+ /* IMEI-Change, Unsigned32, code 3141, section 8.4.22 */
+ {
+ struct dict_avp_data data = {
+ 3141, /* Code */
+ 10415, /* Vendor */
+ "IMEI-Change", /* 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-Event-Config-Status, Grouped, code 3142, section 8.4.24 */
+ {
+ struct dict_avp_data data = {
+ 3142, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Event-Config-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Supported-Services, Grouped, code 3143, section 8.4.40 */
+ {
+ struct dict_avp_data data = {
+ 3143, /* Code */
+ 10415, /* Vendor */
+ "Supported-Services", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Supported-Monitoring-Events, Unsigned64, code 3144, section 8.4.41 */
+ {
+ struct dict_avp_data data = {
+ 3144, /* Code */
+ 10415, /* Vendor */
+ "Supported-Monitoring-Events", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CIR-Flags, Unsigned32, code 3145, section 8.4.39 */
+ {
+ struct dict_avp_data data = {
+ 3145, /* Code */
+ 10415, /* Vendor */
+ "CIR-Flags", /* 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-Result, Grouped, code 3146, section 8.4.37 */
+ {
+ struct dict_avp_data data = {
+ 3146, /* Code */
+ 10415, /* Vendor */
+ "Service-Result", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Service-Result-Code, Unsigned32, code 3147, section 8.4.38 */
+ {
+ struct dict_avp_data data = {
+ 3147, /* Code */
+ 10415, /* Vendor */
+ "Service-Result-Code", /* 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);
+ };
+
+ /* Reference-ID-Validity-Time, Time, code 3148, section 8.4.42 */
+ {
+ struct dict_avp_data data = {
+ 3148, /* Code */
+ 10415, /* Vendor */
+ "Reference-ID-Validity-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);
+ };
+
+ /* Event-Handling, Unsigned32, code 3149, section 8.4.43 */
+ {
+ struct dict_avp_data data = {
+ 3149, /* Code */
+ 10415, /* Vendor */
+ "Event-Handling", /* 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);
+ };
+
+ /* NIDD-Authorization-Request, Grouped, code 3150, section 8.4.44 */
+ {
+ struct dict_avp_data data = {
+ 3150, /* Code */
+ 10415, /* Vendor */
+ "NIDD-Authorization-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* NIDD-Authorization-Response, Grouped, code 3151, section 8.4.45 */
+ {
+ struct dict_avp_data data = {
+ 3151, /* Code */
+ 10415, /* Vendor */
+ "NIDD-Authorization-Response", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Service-Report, Grouped, code 3152, section 8.4.47 */
+ {
+ struct dict_avp_data data = {
+ 3152, /* Code */
+ 10415, /* Vendor */
+ "Service-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Node-Type, Unsigned32, code 3153, section 8.4.48 */
+ {
+ struct dict_avp_data data = {
+ 3153, /* Code */
+ 10415, /* Vendor */
+ "Node-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);
+ };
+
+ /* S6t-HSS-Cause, Unsigned32, code 3154, section 8.4.50 */
+ {
+ struct dict_avp_data data = {
+ 3154, /* Code */
+ 10415, /* Vendor */
+ "S6t-HSS-Cause", /* 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);
+ };
+
+ /* Enhanced-Coverage-Restriction, Grouped, code 3155, section 8.4.51 */
+ {
+ struct dict_avp_data data = {
+ 3155, /* Code */
+ 10415, /* Vendor */
+ "Enhanced-Coverage-Restriction", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Enhanced-Coverage-Restriction-Data, Grouped, code 3156, section 8.4.52 */
+ {
+ struct dict_avp_data data = {
+ 3156, /* Code */
+ 10415, /* Vendor */
+ "Enhanced-Coverage-Restriction-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Restricted-PLMN-List, Grouped, code 3157, section 8.4.53 */
+ {
+ struct dict_avp_data data = {
+ 3157, /* Code */
+ 10415, /* Vendor */
+ "Restricted-PLMN-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Allowed-PLMN-List, Grouped, code 3158, section 8.4.54 */
+ {
+ struct dict_avp_data data = {
+ 3158, /* Code */
+ 10415, /* Vendor */
+ "Allowed-PLMN-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Requested-Validity-Time, Time, code 3159, section 8.4.55 */
+ {
+ struct dict_avp_data data = {
+ 3159, /* Code */
+ 10415, /* Vendor */
+ "Requested-Validity-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* Granted-Validity-Time, Time, code 3160, section 8.4.56 */
+ {
+ struct dict_avp_data data = {
+ 3160, /* Code */
+ 10415, /* Vendor */
+ "Granted-Validity-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* NIDD-Authorization-Update, Grouped, code 3161, section 8.4.57 */
+ {
+ struct dict_avp_data data = {
+ 3161, /* Code */
+ 10415, /* Vendor */
+ "NIDD-Authorization-Update", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Loss-Of-Connectivity-Reason, Unsigned32, code 3162, section 8.4.58 */
+ {
+ struct dict_avp_data data = {
+ 3162, /* Code */
+ 10415, /* Vendor */
+ "Loss-Of-Connectivity-Reason", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Group-Reporting-Guard-Timer, Unsigned32, code 3163, section 8.4.59 */
+ {
+ struct dict_avp_data data = {
+ 3163, /* Code */
+ 10415, /* Vendor */
+ "Group-Reporting-Guard-Timer", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* CIA-Flags, Unsigned32, code 3164, section 8.4.60 */
+ {
+ struct dict_avp_data data = {
+ 3164, /* Code */
+ 10415, /* Vendor */
+ "CIA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Group-Monitoring-Event-Report, Grouped, code 3165, section 8.4.61 */
+ {
+ struct dict_avp_data data = {
+ 3165, /* Code */
+ 10415, /* Vendor */
+ "Group-Monitoring-Event-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Group-Monitoring-Event-Report-Item, Grouped, code 3166, section 8.4.62 */
+ {
+ struct dict_avp_data data = {
+ 3166, /* Code */
+ 10415, /* Vendor */
+ "Group-Monitoring-Event-Report-Item", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* RIR-Flags, Unsigned32, code 3167, section 8.4.63 */
+ {
+ struct dict_avp_data data = {
+ 3167, /* Code */
+ 10415, /* Vendor */
+ "RIR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Type-Of-External-Identifier, Unsigned32, code 3168, section 8.4.64 */
+ {
+ struct dict_avp_data data = {
+ 3168, /* Code */
+ 10415, /* Vendor */
+ "Type-Of-External-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* APN-Validity-Time, Grouped, code 3169, section 8.4.65 */
+ {
+ struct dict_avp_data data = {
+ 3169, /* Code */
+ 10415, /* Vendor */
+ "APN-Validity-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Suggested-Network-Configuration, Grouped, code 3170, section 8.4.66 */
+ {
+ struct dict_avp_data data = {
+ 3170, /* Code */
+ 10415, /* Vendor */
+ "Suggested-Network-Configuration", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Monitoring-Event-Report-Status, Grouped, code 3171, section 8.4.67 */
+ {
+ struct dict_avp_data data = {
+ 3171, /* Code */
+ 10415, /* Vendor */
+ "Monitoring-Event-Report-Status", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PLMN-ID-Requested, Enumerated, code 3172, section 8.4.68 */
+ {
+ struct dict_avp_data data = {
+ 3172, /* Code */
+ 10415, /* Vendor */
+ "PLMN-ID-Requested", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PLMN-ID-Requested)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* AdditionalIdentifiers, Grouped, code 3173, section 8.4.69 */
+ {
+ struct dict_avp_data data = {
+ 3173, /* Code */
+ 10415, /* Vendor */
+ "AdditionalIdentifiers", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* NIR-Flags, Unsigned32, code 3174, section 8.4.70 */
+ {
+ struct dict_avp_data data = {
+ 3174, /* Code */
+ 10415, /* Vendor */
+ "NIR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Reporting-Time-Stamp, Time, code 3175, section 8.4.71 */
+ {
+ struct dict_avp_data data = {
+ 3175, /* Code */
+ 10415, /* Vendor */
+ "Reporting-Time-Stamp", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* NIA-Flags, Unsigned32, code 3176, section 8.4.72 */
+ {
+ struct dict_avp_data data = {
+ 3176, /* Code */
+ 10415, /* Vendor */
+ "NIA-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Group-User-Identifier, Grouped, code 3177, section 8.4.73 */
+ {
+ struct dict_avp_data data = {
+ 3177, /* Code */
+ 10415, /* Vendor */
+ "Group-User-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MTC-Provider-Info, Grouped, code 3178, section 8.4.74 */
+ {
+ struct dict_avp_data data = {
+ 3178, /* Code */
+ 10415, /* Vendor */
+ "MTC-Provider-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MTC-Provider-ID, UTF8String, code 3179, section 8.4.75 */
+ {
+ struct dict_avp_data data = {
+ 3179, /* Code */
+ 10415, /* Vendor */
+ "MTC-Provider-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.337 V15.0.0 (2018-06) */
+ /* Diameter-based T4 interface for communications with packet */
+ /* data networks and applications */
+ /* */
+ /* From 3GPP 29337-f00.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.337 Table 6.3.1/1: T4 specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* SM-Delivery-Outcome-T4, Enumerated, code 3200, section 6.3.1 */
+ {
+ struct dict_avp_data data = {
+ 3200, /* Code */
+ 10415, /* Vendor */
+ "SM-Delivery-Outcome-T4", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Delivery-Outcome-T4)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Absent-Subscriber-Diagnostic-T4, Enumerated, code 3201, section 6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 3201, /* Code */
+ 10415, /* Vendor */
+ "Absent-Subscriber-Diagnostic-T4", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Absent-Subscriber-Diagnostic-T4)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Trigger-Action, Unsigned32, code 3202, section 6.3.6 */
+ {
+ struct dict_avp_data data = {
+ 3202, /* Code */
+ 10415, /* Vendor */
+ "Trigger-Action", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MTC-Error-Diagnostic, Unsigned32, code 3203, section 6.3.7 */
+ {
+ struct dict_avp_data data = {
+ 3203, /* Code */
+ 10415, /* Vendor */
+ "MTC-Error-Diagnostic", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.338 V15.1.0 (2018-12) */
+ /* Diameter based protocols to support */
+ /* Short Message Service (SMS) capable */
+ /* Mobile Management Entities (MMEs) */
+ /* */
+ /* From 3GPP 29338-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.338 Table 5.3.3.1/1: S6c specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* SM-RP-MTI, Enumerated, code 3308, section 5.3.3.2 */
+ {
+ struct dict_avp_data data = {
+ 3308, /* Code */
+ 10415, /* Vendor */
+ "SM-RP-MTI", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-RP-MTI)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SM-RP-SMEA, OctetString, code 3309, section 5.3.3.3 */
+ {
+ struct dict_avp_data data = {
+ 3309, /* Code */
+ 10415, /* Vendor */
+ "SM-RP-SMEA", /* 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);
+ };
+
+ /* SRR-Flags, Unsigned32, code 3310, section 5.3.3.4 */
+ {
+ struct dict_avp_data data = {
+ 3310, /* Code */
+ 10415, /* Vendor */
+ "SRR-Flags", /* 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-Delivery-Not-Intended, Enumerated, code 3311, section 5.3.3.5 */
+ {
+ struct dict_avp_data data = {
+ 3311, /* Code */
+ 10415, /* Vendor */
+ "SM-Delivery-Not-Intended", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Delivery-Not-Intended)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MWD-Status, Unsigned32, code 3312, section 5.3.3.8 */
+ {
+ struct dict_avp_data data = {
+ 3312, /* Code */
+ 10415, /* Vendor */
+ "MWD-Status", /* 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);
+ };
+
+ /* MME-Absent-User-Diagnostic-SM, Unsigned32, code 3313, section 5.3.3.9 */
+ {
+ struct dict_avp_data data = {
+ 3313, /* Code */
+ 10415, /* Vendor */
+ "MME-Absent-User-Diagnostic-SM", /* 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);
+ };
+
+ /* MSC-Absent-User-Diagnostic-SM, Unsigned32, code 3314, section 5.3.3.10 */
+ {
+ struct dict_avp_data data = {
+ 3314, /* Code */
+ 10415, /* Vendor */
+ "MSC-Absent-User-Diagnostic-SM", /* 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);
+ };
+
+ /* SGSN-Absent-User-Diagnostic-SM, Unsigned32, code 3315, section 5.3.3.11 */
+ {
+ struct dict_avp_data data = {
+ 3315, /* Code */
+ 10415, /* Vendor */
+ "SGSN-Absent-User-Diagnostic-SM", /* 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-Delivery-Outcome, Grouped, code 3316, section 5.3.3.14 */
+ {
+ struct dict_avp_data data = {
+ 3316, /* Code */
+ 10415, /* Vendor */
+ "SM-Delivery-Outcome", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MME-SM-Delivery-Outcome, Grouped, code 3317, section 5.3.3.15 */
+ {
+ struct dict_avp_data data = {
+ 3317, /* Code */
+ 10415, /* Vendor */
+ "MME-SM-Delivery-Outcome", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MSC-SM-Delivery-Outcome, Grouped, code 3318, section 5.3.3.16 */
+ {
+ struct dict_avp_data data = {
+ 3318, /* Code */
+ 10415, /* Vendor */
+ "MSC-SM-Delivery-Outcome", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SGSN-SM-Delivery-Outcome, Grouped, code 3319, section 5.3.3.17 */
+ {
+ struct dict_avp_data data = {
+ 3319, /* Code */
+ 10415, /* Vendor */
+ "SGSN-SM-Delivery-Outcome", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* IP-SM-GW-SM-Delivery-Outcome, Grouped, code 3320, section 5.3.3.18 */
+ {
+ struct dict_avp_data data = {
+ 3320, /* Code */
+ 10415, /* Vendor */
+ "IP-SM-GW-SM-Delivery-Outcome", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SM-Delivery-Cause, Enumerated, code 3321, section 5.3.3.19 */
+ {
+ struct dict_avp_data data = {
+ 3321, /* Code */
+ 10415, /* Vendor */
+ "SM-Delivery-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 */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Delivery-Cause)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Absent-User-Diagnostic-SM, Unsigned32, code 3322, section 5.3.3.20 */
+ {
+ struct dict_avp_data data = {
+ 3322, /* Code */
+ 10415, /* Vendor */
+ "Absent-User-Diagnostic-SM", /* 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);
+ };
+
+ /* RDR-Flags, Unsigned32, code 3323, section 5.3.3.21 */
+ {
+ struct dict_avp_data data = {
+ 3323, /* Code */
+ 10415, /* Vendor */
+ "RDR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Maximum-UE-Availability-Time, Time, code 3329, section 5.3.3.22 */
+ {
+ struct dict_avp_data data = {
+ 3329, /* Code */
+ 10415, /* Vendor */
+ "Maximum-UE-Availability-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* SMS-GMSC-Alert-Event, Unsigned32, code 3333, section 5.3.3.23 */
+ {
+ struct dict_avp_data data = {
+ 3333, /* Code */
+ 10415, /* Vendor */
+ "SMS-GMSC-Alert-Event", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.338 Table 6.3.3.1/1: SGd/Gdd specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* SC-Address, OctetString, code 3300, section 6.3.3.2 */
+ {
+ struct dict_avp_data data = {
+ 3300, /* Code */
+ 10415, /* Vendor */
+ "SC-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);
+ };
+
+ /* SM-RP-UI, OctetString, code 3301, section 6.3.3.3 */
+ {
+ struct dict_avp_data data = {
+ 3301, /* Code */
+ 10415, /* Vendor */
+ "SM-RP-UI", /* 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);
+ };
+
+ /* TFR-Flags, Unsigned32, code 3302, section 6.3.3.4 */
+ {
+ struct dict_avp_data data = {
+ 3302, /* Code */
+ 10415, /* Vendor */
+ "TFR-Flags", /* 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-Delivery-Failure-Cause, Grouped, code 3303, section 6.3.3.5 */
+ {
+ struct dict_avp_data data = {
+ 3303, /* Code */
+ 10415, /* Vendor */
+ "SM-Delivery-Failure-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, NULL);
+ };
+
+ /* SM-Enumerated-Delivery-Failure-Cause, Enumerated, code 3304, section 6.3.3.6 */
+ {
+ struct dict_avp_data data = {
+ 3304, /* Code */
+ 10415, /* Vendor */
+ "SM-Enumerated-Delivery-Failure-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 */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SM-Enumerated-Delivery-Failure-Cause)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SM-Diagnostic-Info, OctetString, code 3305, section 6.3.3.7 */
+ {
+ struct dict_avp_data data = {
+ 3305, /* Code */
+ 10415, /* Vendor */
+ "SM-Diagnostic-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, NULL, NULL);
+ };
+
+ /* SM-Delivery-Timer, Unsigned32, code 3306, section 6.3.3.10 */
+ {
+ struct dict_avp_data data = {
+ 3306, /* Code */
+ 10415, /* Vendor */
+ "SM-Delivery-Timer", /* 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-Delivery-Start-Time, Time, code 3307, section 6.3.3.11 */
+ {
+ struct dict_avp_data data = {
+ 3307, /* Code */
+ 10415, /* Vendor */
+ "SM-Delivery-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);
+ };
+
+ /* SMSMI-Correlation-ID, Grouped, code 3324, section 6.3.3.13 */
+ {
+ struct dict_avp_data data = {
+ 3324, /* Code */
+ 10415, /* Vendor */
+ "SMSMI-Correlation-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.338 Table 6.3.3.1/1 row HSS-ID (3325) */
+ /* incorrectly lists type as OctetString instead of UTF8String. */
+ /* 3GPP TS 29.338 clause 6.3.3.14 uses UTF8String. */
+ /* */
+ /* Fix: HSS-ID (3325) type changed from OctetString to UTF8String. */
+ /* HSS-ID, UTF8String, code 3325, section 6.3.3.14 */
+ {
+ struct dict_avp_data data = {
+ 3325, /* Code */
+ 10415, /* Vendor */
+ "HSS-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Originating-SIP-URI, UTF8String, code 3326, section 6.3.3.15 */
+ {
+ struct dict_avp_data data = {
+ 3326, /* Code */
+ 10415, /* Vendor */
+ "Originating-SIP-URI", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Destination-SIP-URI, UTF8String, code 3327, section 6.3.3.16 */
+ {
+ struct dict_avp_data data = {
+ 3327, /* Code */
+ 10415, /* Vendor */
+ "Destination-SIP-URI", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* OFR-Flags, Unsigned32, code 3328, section 6.3.3.12 */
+ {
+ struct dict_avp_data data = {
+ 3328, /* Code */
+ 10415, /* Vendor */
+ "OFR-Flags", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Maximum-Retransmission-Time, Time, code 3330, section 6.3.3.17 */
+ {
+ struct dict_avp_data data = {
+ 3330, /* Code */
+ 10415, /* Vendor */
+ "Maximum-Retransmission-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* Requested-Retransmission-Time, Time, code 3331, section 6.3.3.18 */
+ {
+ struct dict_avp_data data = {
+ 3331, /* Code */
+ 10415, /* Vendor */
+ "Requested-Retransmission-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* SMS-GMSC-Address, OctetString, code 3332, section 6.3.3.19 */
+ {
+ struct dict_avp_data data = {
+ 3332, /* Code */
+ 10415, /* Vendor */
+ "SMS-GMSC-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.343 V15.1.0 (2019-09) */
+ /* Proximity-services (ProSe) function to */
+ /* ProSe application server aspects (PC2); */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29343-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.343 Table 6.4.1-1: PC2 specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Origin-App-Layer-User-Id, UTF8String, code 3600, section 6.4.2 */
+ {
+ struct dict_avp_data data = {
+ 3600, /* Code */
+ 10415, /* Vendor */
+ "Origin-App-Layer-User-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);
+ };
+
+ /* Target-App-Layer-User-Id, UTF8String, code 3601, section 6.4.3 */
+ {
+ struct dict_avp_data data = {
+ 3601, /* Code */
+ 10415, /* Vendor */
+ "Target-App-Layer-User-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-Function-ID, OctetString, code 3602, section 6.4.4 */
+ {
+ struct dict_avp_data data = {
+ 3602, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Function-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);
+ };
+
+ /* ProSe-Request-Type, Unsigned32, code 3603, section 6.4.5 */
+ {
+ struct dict_avp_data data = {
+ 3603, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Request-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);
+ };
+
+ /* PDUID, OctetString, code 3604, section 6.4.6 */
+ {
+ struct dict_avp_data data = {
+ 3604, /* Code */
+ 10415, /* Vendor */
+ "PDUID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Application-Data, UTF8String, code 3605, section 6.4.7 */
+ {
+ struct dict_avp_data data = {
+ 3605, /* Code */
+ 10415, /* Vendor */
+ "Application-Data", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Allowed-Suffixes-Number, Unsigned32, code 3606, section 6.4.8 */
+ {
+ struct dict_avp_data data = {
+ 3606, /* Code */
+ 10415, /* Vendor */
+ "Allowed-Suffixes-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Monitor-Target, Grouped, code 3607, section 6.4.9 */
+ {
+ struct dict_avp_data data = {
+ 3607, /* Code */
+ 10415, /* Vendor */
+ "Monitor-Target", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ProSe-Code-Suffix-Mask, Grouped, code 3608, section 6.4.10 */
+ {
+ struct dict_avp_data data = {
+ 3608, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Code-Suffix-Mask", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Suffix-Code, OctetString, code 3609, section 6.4.11 */
+ {
+ struct dict_avp_data data = {
+ 3609, /* Code */
+ 10415, /* Vendor */
+ "Suffix-Code", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Suffix-Mask, OctetString, code 3610, section 6.4.12 */
+ {
+ struct dict_avp_data data = {
+ 3610, /* Code */
+ 10415, /* Vendor */
+ "Suffix-Mask", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Banned-User-Target, Grouped, code 3611, section 6.4.17 */
+ {
+ struct dict_avp_data data = {
+ 3611, /* Code */
+ 10415, /* Vendor */
+ "Banned-User-Target", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Metadata-Indicator, Unsigned32, code 3612, section 6.4.18 */
+ {
+ struct dict_avp_data data = {
+ 3612, /* Code */
+ 10415, /* Vendor */
+ "Metadata-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.344 V15.1.0 (2019-09) */
+ /* Proximity-services (ProSe) Function to Home Subscriber */
+ /* Server (HSS) aspects; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29344-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.344 Table 6.3.1-1: PC4a specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* ProSe-Subscription-Data, Grouped, code 3701, section 6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 3701, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Subscription-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, NULL);
+ };
+
+ /* ProSe-Permission, Unsigned32, code 3702, section 6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 3702, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Permission", /* 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);
+ };
+
+ /* ProSe-Allowed-PLMN, Grouped, code 3703, section 6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 3703, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Allowed-PLMN", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ProSe-Direct-Allowed, Unsigned32, code 3704, section 6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 3704, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Direct-Allowed", /* 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);
+ };
+
+ /* UPR-Flags, Unsigned32, code 3705, section 6.3.6 */
+ {
+ struct dict_avp_data data = {
+ 3705, /* Code */
+ 10415, /* Vendor */
+ "UPR-Flags", /* 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);
+ };
+
+ /* PNR-Flags, Unsigned32, code 3706, section 6.3.7 */
+ {
+ struct dict_avp_data data = {
+ 3706, /* Code */
+ 10415, /* Vendor */
+ "PNR-Flags", /* 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);
+ };
+
+ /* ProSe-Initial-Location-Information, Grouped, code 3707, section 6.3.9 */
+ {
+ struct dict_avp_data data = {
+ 3707, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Initial-Location-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, NULL);
+ };
+
+ /* Note: 3GPP TS 29.344 Table 6.3.1-1 missing Authorized-Discovery-Range. */
+ /* Present in 3GPP TS 29.344 clause 6.3.13 and 3GPP TS 29.230 Table 7.1. */
+ /* */
+ /* Fix: Add Authorized-Discovery-Range (3708) Unsigned32. */
+ /* Authorized-Discovery-Range, Unsigned32, code 3708, section 6.3.13 */
+ {
+ struct dict_avp_data data = {
+ 3708, /* Code */
+ 10415, /* Vendor */
+ "Authorized-Discovery-Range", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.345 V15.1.0 (2019-09) */
+ /* Inter-Proximity-services (ProSe) Function signalling aspects; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29345-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.345 Table 6.3.1-1: PC6/PC7 specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* App-Layer-User-Id, UTF8String, code 3801, section 6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 3801, /* Code */
+ 10415, /* Vendor */
+ "App-Layer-User-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);
+ };
+
+ /* Note: 3GPP TS 29.345 Table 6.3.1-1 row Assistance-info (3802) has */
+ /* incorrect name and should be "Assistance-Info" per clause 6.3.3. */
+ /* */
+ /* Fix: Assistance-info (3802) renamed to Assistance-Info (3802). */
+ /* Assistance-Info, Grouped, code 3802, section 6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 3802, /* Code */
+ 10415, /* Vendor */
+ "Assistance-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Assistance-Info-Validity-Timer, Unsigned32, code 3803, section 6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 3803, /* Code */
+ 10415, /* Vendor */
+ "Assistance-Info-Validity-Timer", /* 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);
+ };
+
+ /* Discovery-Type, Unsigned32, code 3804, section 6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 3804, /* Code */
+ 10415, /* Vendor */
+ "Discovery-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);
+ };
+
+ /* Filter-Id, OctetString, code 3805, section 6.3.9 */
+ {
+ struct dict_avp_data data = {
+ 3805, /* Code */
+ 10415, /* Vendor */
+ "Filter-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);
+ };
+
+ /* MAC-Address, UTF8String, code 3806, section 6.3.11 */
+ {
+ struct dict_avp_data data = {
+ 3806, /* Code */
+ 10415, /* Vendor */
+ "MAC-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);
+ };
+
+ /* Match-Report, Grouped, code 3807, section 6.3.12 */
+ {
+ struct dict_avp_data data = {
+ 3807, /* Code */
+ 10415, /* Vendor */
+ "Match-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Operating-Channel, Unsigned32, code 3808, section 6.3.14 */
+ {
+ struct dict_avp_data data = {
+ 3808, /* Code */
+ 10415, /* Vendor */
+ "Operating-Channel", /* 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);
+ };
+
+ /* P2P-Features, Unsigned32, code 3809, section 6.3.15 */
+ {
+ struct dict_avp_data data = {
+ 3809, /* Code */
+ 10415, /* Vendor */
+ "P2P-Features", /* 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);
+ };
+
+ /* ProSe-App-Code, OctetString, code 3810, section 6.3.16 */
+ {
+ struct dict_avp_data data = {
+ 3810, /* Code */
+ 10415, /* Vendor */
+ "ProSe-App-Code", /* 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);
+ };
+
+ /* ProSe-App-Id, UTF8String, code 3811, section 6.3.17 */
+ {
+ struct dict_avp_data data = {
+ 3811, /* Code */
+ 10415, /* Vendor */
+ "ProSe-App-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-App-Mask, OctetString, code 3812, section 6.3.18 */
+ {
+ struct dict_avp_data data = {
+ 3812, /* Code */
+ 10415, /* Vendor */
+ "ProSe-App-Mask", /* 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);
+ };
+
+ /* ProSe-Discovery-Filter, Grouped, code 3813, section 6.3.20 */
+ {
+ struct dict_avp_data data = {
+ 3813, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Discovery-Filter", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PRR-Flags, Unsigned32, code 3814, section 6.3.21 */
+ {
+ struct dict_avp_data data = {
+ 3814, /* Code */
+ 10415, /* Vendor */
+ "PRR-Flags", /* 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);
+ };
+
+ /* ProSe-Validity-Timer, Unsigned32, code 3815, section 6.3.22 */
+ {
+ struct dict_avp_data data = {
+ 3815, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Validity-Timer", /* 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);
+ };
+
+ /* Requesting-EPUID, UTF8String, code 3816, section 6.3.23 */
+ {
+ struct dict_avp_data data = {
+ 3816, /* Code */
+ 10415, /* Vendor */
+ "Requesting-EPUID", /* 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);
+ };
+
+ /* Targeted-EPUID, UTF8String, code 3817, section 6.3.26 */
+ {
+ struct dict_avp_data data = {
+ 3817, /* Code */
+ 10415, /* Vendor */
+ "Targeted-EPUID", /* 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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.154 Time-Window (4204). */
+ /* Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates */
+ /* Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03). */
+ /* Time-Window, Unsigned32, code 3818, section 6.3.27 */
+ {
+ struct dict_avp_data data = {
+ 3818, /* Code */
+ 10415, /* Vendor */
+ "Time-Window", /* 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);
+ };
+
+ /* WiFi-P2P-Assistance-Info, Grouped, code 3819, section 6.3.30 */
+ {
+ struct dict_avp_data data = {
+ 3819, /* Code */
+ 10415, /* Vendor */
+ "WiFi-P2P-Assistance-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WLAN-Assistance-Info, Grouped, code 3820, section 6.3.31 */
+ {
+ struct dict_avp_data data = {
+ 3820, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Assistance-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WLAN-Link-Layer-Id, OctetString, code 3821, section 6.3.32 */
+ {
+ struct dict_avp_data data = {
+ 3821, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Link-Layer-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);
+ };
+
+ /* WLAN-Link-Layer-Id-List, Grouped, code 3822, section 6.3.33 */
+ {
+ struct dict_avp_data data = {
+ 3822, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Link-Layer-Id-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Location-Update-Trigger, Grouped, code 3823, section 6.3.42 */
+ {
+ struct dict_avp_data data = {
+ 3823, /* Code */
+ 10415, /* Vendor */
+ "Location-Update-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, NULL);
+ };
+
+ /* Location-Update-Event-Type, Unsigned32, code 3824, section 6.3.43 */
+ {
+ struct dict_avp_data data = {
+ 3824, /* Code */
+ 10415, /* Vendor */
+ "Location-Update-Event-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);
+ };
+
+ /* Change-Of-Area-Type, Grouped, code 3825, section 6.3.44 */
+ {
+ struct dict_avp_data data = {
+ 3825, /* Code */
+ 10415, /* Vendor */
+ "Change-Of-Area-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, NULL);
+ };
+
+ /* Location-Update-Event-Trigger, Unsigned32, code 3826, section 6.3.45 */
+ {
+ struct dict_avp_data data = {
+ 3826, /* Code */
+ 10415, /* Vendor */
+ "Location-Update-Event-Trigger", /* 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);
+ };
+
+ /* Report-Cardinality, Enumerated, code 3827, section 6.3.46 */
+ {
+ struct dict_avp_data data = {
+ 3827, /* Code */
+ 10415, /* Vendor */
+ "Report-Cardinality", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Report-Cardinality)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Minimum-Interval-Time, Unsigned32, code 3828, section 6.3.47 */
+ {
+ struct dict_avp_data data = {
+ 3828, /* Code */
+ 10415, /* Vendor */
+ "Minimum-Interval-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);
+ };
+
+ /* Periodic-Location-Type, Grouped, code 3829, section 6.3.48 */
+ {
+ struct dict_avp_data data = {
+ 3829, /* Code */
+ 10415, /* Vendor */
+ "Periodic-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, NULL);
+ };
+
+ /* Location-Report-Interval-Time, Unsigned32, code 3830, section 6.3.49 */
+ {
+ struct dict_avp_data data = {
+ 3830, /* Code */
+ 10415, /* Vendor */
+ "Location-Report-Interval-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);
+ };
+
+ /* Total-Number-Of-Reports, Unsigned32, code 3831, section 6.3.50 */
+ {
+ struct dict_avp_data data = {
+ 3831, /* Code */
+ 10415, /* Vendor */
+ "Total-Number-Of-Reports", /* 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);
+ };
+
+ /* Validity-Time-Announce, Unsigned32, code 3832, section 6.3.36 */
+ {
+ struct dict_avp_data data = {
+ 3832, /* Code */
+ 10415, /* Vendor */
+ "Validity-Time-Announce", /* 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);
+ };
+
+ /* Validity-Time-Monitor, Unsigned32, code 3833, section 6.3.37 */
+ {
+ struct dict_avp_data data = {
+ 3833, /* Code */
+ 10415, /* Vendor */
+ "Validity-Time-Monitor", /* 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);
+ };
+
+ /* Validity-Time-Communication, Unsigned32, code 3834, section 6.3.38 */
+ {
+ struct dict_avp_data data = {
+ 3834, /* Code */
+ 10415, /* Vendor */
+ "Validity-Time-Communication", /* 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);
+ };
+
+ /* ProSe-App-Code-Info, Grouped, code 3835, section 6.3.39 */
+ {
+ struct dict_avp_data data = {
+ 3835, /* Code */
+ 10415, /* Vendor */
+ "ProSe-App-Code-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MIC, OctetString, code 3836, section 6.3.40 */
+ {
+ struct dict_avp_data data = {
+ 3836, /* Code */
+ 10415, /* Vendor */
+ "MIC", /* 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);
+ };
+
+ /* UTC-based-Counter, Unsigned32, code 3837, section 6.3.41 */
+ {
+ struct dict_avp_data data = {
+ 3837, /* Code */
+ 10415, /* Vendor */
+ "UTC-based-Counter", /* 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);
+ };
+
+ /* ProSe-Match-Refresh-Timer, Unsigned32, code 3838, section 6.3.52 */
+ {
+ struct dict_avp_data data = {
+ 3838, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Match-Refresh-Timer", /* 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);
+ };
+
+ /* ProSe-Metadata-Index-Mask, OctetString, code 3839, section 6.3.60 */
+ {
+ struct dict_avp_data data = {
+ 3839, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Metadata-Index-Mask", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* App-Identifier, Grouped, code 3840, section 6.3.61 */
+ {
+ struct dict_avp_data data = {
+ 3840, /* Code */
+ 10415, /* Vendor */
+ "App-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* OS-ID, OctetString, code 3841, section 6.3.62 */
+ {
+ struct dict_avp_data data = {
+ 3841, /* Code */
+ 10415, /* Vendor */
+ "OS-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* OS-App-ID, UTF8String, code 3842, section 6.3.63 */
+ {
+ struct dict_avp_data data = {
+ 3842, /* Code */
+ 10415, /* Vendor */
+ "OS-App-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Requesting-RPAUID, UTF8String, code 3843, section 6.3.64 */
+ {
+ struct dict_avp_data data = {
+ 3843, /* Code */
+ 10415, /* Vendor */
+ "Requesting-RPAUID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Target-RPAUID, UTF8String, code 3844, section 6.3.65 */
+ {
+ struct dict_avp_data data = {
+ 3844, /* Code */
+ 10415, /* Vendor */
+ "Target-RPAUID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Target-PDUID, OctetString, code 3845, section 6.3.66 */
+ {
+ struct dict_avp_data data = {
+ 3845, /* Code */
+ 10415, /* Vendor */
+ "Target-PDUID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ProSe-Restricted-Code, OctetString, code 3846, section 6.3.67 */
+ {
+ struct dict_avp_data data = {
+ 3846, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Restricted-Code", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ProSe-Restricted-Code-Suffix-Range, OctetString, code 3847, section 6.3.68 */
+ {
+ struct dict_avp_data data = {
+ 3847, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Restricted-Code-Suffix-Range", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Beginning-Suffix, OctetString, code 3848, section 6.3.69 */
+ {
+ struct dict_avp_data data = {
+ 3848, /* Code */
+ 10415, /* Vendor */
+ "Beginning-Suffix", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Ending-Suffix, OctetString, code 3849, section 6.3.70 */
+ {
+ struct dict_avp_data data = {
+ 3849, /* Code */
+ 10415, /* Vendor */
+ "Ending-Suffix", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Discovery-Entry-ID, Unsigned32, code 3850, section 6.3.59 */
+ {
+ struct dict_avp_data data = {
+ 3850, /* Code */
+ 10415, /* Vendor */
+ "Discovery-Entry-ID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Match-Timestamp, Time, code 3851, section 6.3.71 */
+ {
+ struct dict_avp_data data = {
+ 3851, /* Code */
+ 10415, /* Vendor */
+ "Match-Timestamp", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* PMR-Flags, Unsigned32, code 3852, section 6.3.57 */
+ {
+ struct dict_avp_data data = {
+ 3852, /* Code */
+ 10415, /* Vendor */
+ "PMR-Flags", /* 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);
+ };
+
+ /* ProSe-Application-Metadata, UTF8String, code 3853, section 6.3.58 */
+ {
+ struct dict_avp_data data = {
+ 3853, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Application-Metadata", /* 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);
+ };
+
+ /* Discovery-Auth-Request, Grouped, code 3854, section 6.3.53 */
+ {
+ struct dict_avp_data data = {
+ 3854, /* Code */
+ 10415, /* Vendor */
+ "Discovery-Auth-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Discovery-Auth-Response, Grouped, code 3855, section 6.3.54 */
+ {
+ struct dict_avp_data data = {
+ 3855, /* Code */
+ 10415, /* Vendor */
+ "Discovery-Auth-Response", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Match-Request, Grouped, code 3856, section 6.3.55 */
+ {
+ struct dict_avp_data data = {
+ 3856, /* Code */
+ 10415, /* Vendor */
+ "Match-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Match-Report-Info, Grouped, code 3857, section 6.3.56 */
+ {
+ struct dict_avp_data data = {
+ 3857, /* Code */
+ 10415, /* Vendor */
+ "Match-Report-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Banned-RPAUID, UTF8String, code 3858, section 6.3.73 */
+ {
+ struct dict_avp_data data = {
+ 3858, /* Code */
+ 10415, /* Vendor */
+ "Banned-RPAUID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Banned-PDUID, OctetString, code 3859, section 6.3.74 */
+ {
+ struct dict_avp_data data = {
+ 3859, /* Code */
+ 10415, /* Vendor */
+ "Banned-PDUID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Code-Receiving-Security-Material, Grouped, code 3860, section 6.3.75 */
+ {
+ struct dict_avp_data data = {
+ 3860, /* Code */
+ 10415, /* Vendor */
+ "Code-Receiving-Security-Material", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Code-Sending-Security-Material, Grouped, code 3861, section 6.3.76 */
+ {
+ struct dict_avp_data data = {
+ 3861, /* Code */
+ 10415, /* Vendor */
+ "Code-Sending-Security-Material", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* DUSK, OctetString, code 3862, section 6.3.77 */
+ {
+ struct dict_avp_data data = {
+ 3862, /* Code */
+ 10415, /* Vendor */
+ "DUSK", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* DUIK, OctetString, code 3863, section 6.3.78 */
+ {
+ struct dict_avp_data data = {
+ 3863, /* Code */
+ 10415, /* Vendor */
+ "DUIK", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* DUCK, OctetString, code 3864, section 6.3.79 */
+ {
+ struct dict_avp_data data = {
+ 3864, /* Code */
+ 10415, /* Vendor */
+ "DUCK", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Note: 3GPP TS 29.345 Table 6.3.1-1 row MIC-Check-indicator (3865) has */
+ /* incorrect name and should be "MIC-Check-Indicator" per clause 6.3.80. */
+ /* */
+ /* Fix: MIC-Check-indicator (3865) renamed to MIC-Check-Indicator (3865). */
+ /* MIC-Check-Indicator, Unsigned32, code 3865, section 6.3.80 */
+ {
+ struct dict_avp_data data = {
+ 3865, /* Code */
+ 10415, /* Vendor */
+ "MIC-Check-Indicator", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Encrypted-Bitmask, OctetString, code 3866, section 6.3.81 */
+ {
+ struct dict_avp_data data = {
+ 3866, /* Code */
+ 10415, /* Vendor */
+ "Encrypted-Bitmask", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ProSe-App-Code-Suffix-Range, OctetString, code 3867, section 6.3.82 */
+ {
+ struct dict_avp_data data = {
+ 3867, /* Code */
+ 10415, /* Vendor */
+ "ProSe-App-Code-Suffix-Range", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* PC5-tech, OctetString, code 3868, section 6.3.84 */
+ {
+ struct dict_avp_data data = {
+ 3868, /* Code */
+ 10415, /* Vendor */
+ "PC5-tech", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.368 V15.1.0 (2019-09) */
+ /* Tsp interface protocol between the MTC Interworking Function */
+ /* (MTC-IWF) and Service Capability Server (SCS) */
+ /* */
+ /* From 3GPP 29368-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.368 Table 6.4.1.1: Tsp specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* Device-Action, Grouped, code 3001, section 6. 4.2 */
+ {
+ struct dict_avp_data data = {
+ 3001, /* Code */
+ 10415, /* Vendor */
+ "Device-Action", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Device-Notification, Grouped, code 3002, section 6.4.3 */
+ {
+ struct dict_avp_data data = {
+ 3002, /* Code */
+ 10415, /* Vendor */
+ "Device-Notification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Trigger-Data, Grouped, code 3003, section 6.4.4 */
+ {
+ struct dict_avp_data data = {
+ 3003, /* Code */
+ 10415, /* Vendor */
+ "Trigger-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, NULL);
+ };
+
+ /* Payload, OctetString, code 3004, section 6.4.5 */
+ {
+ struct dict_avp_data data = {
+ 3004, /* Code */
+ 10415, /* Vendor */
+ "Payload", /* 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);
+ };
+
+ /* Action-Type, Enumerated, code 3005, section 6.4.6 */
+ {
+ struct dict_avp_data data = {
+ 3005, /* Code */
+ 10415, /* Vendor */
+ "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, "Enumerated(3GPP/Action-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Priority-Indication, Enumerated, code 3006, section 6.4.7 */
+ {
+ struct dict_avp_data data = {
+ 3006, /* Code */
+ 10415, /* Vendor */
+ "Priority-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, "Enumerated(3GPP/Priority-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Reference-Number, Unsigned32, code 3007, section 6.4.8 */
+ {
+ struct dict_avp_data data = {
+ 3007, /* Code */
+ 10415, /* Vendor */
+ "Reference-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);
+ };
+
+ /* Request-Status, Enumerated, code 3008, section 6.4.9 */
+ {
+ struct dict_avp_data data = {
+ 3008, /* Code */
+ 10415, /* Vendor */
+ "Request-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, "Enumerated(3GPP/Request-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Delivery-Outcome, Enumerated, code 3009, section 6.4.10 */
+ {
+ struct dict_avp_data data = {
+ 3009, /* Code */
+ 10415, /* Vendor */
+ "Delivery-Outcome", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Delivery-Outcome)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Application-Port-Identifier, Unsigned32, code 3010, section 6.4.11 */
+ {
+ struct dict_avp_data data = {
+ 3010, /* Code */
+ 10415, /* Vendor */
+ "Application-Port-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);
+ };
+
+ /* Old-Reference-Number, Unsigned32, code 3011, section 6.4.12 */
+ {
+ struct dict_avp_data data = {
+ 3011, /* Code */
+ 10415, /* Vendor */
+ "Old-Reference-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Feature-Supported-In-Final-Target, Unsigned32, code 3012, section 6.4.13 */
+ {
+ struct dict_avp_data data = {
+ 3012, /* Code */
+ 10415, /* Vendor */
+ "Feature-Supported-In-Final-Target", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.388 V15.1.0 (2019-09) */
+ /* V2X Control Function to Home Subscriber Server (HSS) */
+ /* aspects (V4); */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29388-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.388 Table 6.3.1-1: V4 specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* V2X-PC5-Allowed-PLMN, Grouped, code 4600, section 6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 4600, /* Code */
+ 10415, /* Vendor */
+ "V2X-PC5-Allowed-PLMN", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* V2X-Update-Flags, Unsigned32, code 4601, section 6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 4601, /* Code */
+ 10415, /* Vendor */
+ "V2X-Update-Flags", /* 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);
+ };
+
+ /* V2X-Notify-Flags, Unsigned32, code 4602, section 6.3.5 */
+ {
+ struct dict_avp_data data = {
+ 4602, /* Code */
+ 10415, /* Vendor */
+ "V2X-Notify-Flags", /* 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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.389 V15.1.0 (2019-09) */
+ /* Inter-V2X Control Function Signalling aspects (V6); */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29389-f10.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.389 Table 6.3.1-1: V6 specific Diameter AVPs */
+ /* */
+ /* Fix: All AVPs were missing M and V; assume MUST for both. */
+ /*==================================================================*/
+
+ /* V2X-Authorization-Data, Grouped, code 4700, section 6.3.2 */
+ {
+ struct dict_avp_data data = {
+ 4700, /* Code */
+ 10415, /* Vendor */
+ "V2X-Authorization-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, NULL);
+ };
+
+ /* V2X-Permission-in-VPLMN, Unsigned32, code 4701, section 6.3.3 */
+ {
+ struct dict_avp_data data = {
+ 4701, /* Code */
+ 10415, /* Vendor */
+ "V2X-Permission-in-VPLMN", /* 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);
+ };
+
+ /* V2X-Application-Server, Grouped, code 4702, section 6.3.4 */
+ {
+ struct dict_avp_data data = {
+ 4702, /* Code */
+ 10415, /* Vendor */
+ "V2X-Application-Server", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.468 V15.8.0 (2019-12) */
+ /* Group Communication System Enablers for LTE (GCSE_LTE); */
+ /* MB2 Reference Point; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29468-f80.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 29.468 Table 6.4.1 1: MB2 C specific Diameter AVPs */
+ /*==================================================================*/
+
+ /* BMSC-Address, Address, code 3500, section 6.4.2 */
+ {
+ struct dict_avp_data data = {
+ 3500, /* Code */
+ 10415, /* Vendor */
+ "BMSC-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);
+ };
+
+ /* BMSC-Port, Unsigned32, code 3501, section 6.4.3 */
+ {
+ struct dict_avp_data data = {
+ 3501, /* Code */
+ 10415, /* Vendor */
+ "BMSC-Port", /* 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);
+ };
+
+ /* Common-Tunnel-Endpoint-Identifier, OctetString, code 3524, section 6.4.26 */
+ {
+ struct dict_avp_data data = {
+ 3524, /* Code */
+ 10415, /* Vendor */
+ "Common-Tunnel-Endpoint-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* FEC-Request, OctetString, code 3525, section 6.4.27 */
+ {
+ struct dict_avp_data data = {
+ 3525, /* Code */
+ 10415, /* Vendor */
+ "FEC-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* FEC-Result, Unsigned32, code 3531, section 6.4.33 */
+ {
+ struct dict_avp_data data = {
+ 3531, /* Code */
+ 10415, /* Vendor */
+ "FEC-Result", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Local-M1-Information, Grouped, code 3518, section 6.4.20 */
+ {
+ struct dict_avp_data data = {
+ 3518, /* Code */
+ 10415, /* Vendor */
+ "Local-M1-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Local-MB2-U-Information, Grouped, code 3519, section 6.4.21 */
+ {
+ struct dict_avp_data data = {
+ 3519, /* Code */
+ 10415, /* Vendor */
+ "Local-MB2-U-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MB2U-Security, Unsigned32, code 3517, section 6.4.19 */
+ {
+ struct dict_avp_data data = {
+ 3517, /* Code */
+ 10415, /* Vendor */
+ "MB2U-Security", /* 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);
+ };
+
+ /* MBMS-Bearer-Event, Unsigned32, code 3502, section 6.4.4 */
+ {
+ struct dict_avp_data data = {
+ 3502, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Bearer-Event", /* 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);
+ };
+
+ /* MBMS-Bearer-Event-Notification, Grouped, code 3503, section 6.4.5 */
+ {
+ struct dict_avp_data data = {
+ 3503, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Bearer-Event-Notification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-Bearer-Request, Grouped, code 3504, section 6.4.6 */
+ {
+ struct dict_avp_data data = {
+ 3504, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Bearer-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-Bearer-Response, Grouped, code 3505, section 6.4.7 */
+ {
+ struct dict_avp_data data = {
+ 3505, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Bearer-Response", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* MBMS-Bearer-Result, Unsigned32, code 3506, section 6.4.8 */
+ {
+ struct dict_avp_data data = {
+ 3506, /* Code */
+ 10415, /* Vendor */
+ "MBMS-Bearer-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);
+ };
+
+ /* MBMS-eNB-IP-Multicast-Address, Address, code 3520, section 6.4.22 */
+ {
+ struct dict_avp_data data = {
+ 3520, /* Code */
+ 10415, /* Vendor */
+ "MBMS-eNB-IP-Multicast-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* MBMS-eNB-IPv6-Multicast-Address, Address, code 3521, section 6.4.23 */
+ {
+ struct dict_avp_data data = {
+ 3521, /* Code */
+ 10415, /* Vendor */
+ "MBMS-eNB-IPv6-Multicast-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IP-Address (924). */
+ /* 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IP-Address (924). */
+ /* 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IP-Address (3522). */
+ /* */
+ /* Fix: MBMS-GW-SSM-IP-Address (3522) renamed to MBMS-GW-SSM-IP-Address-29.468 (3522). */
+ /* MBMS-GW-SSM-IP-Address-29.468, Address, code 3522, section 6.4.24 */
+ {
+ struct dict_avp_data data = {
+ 3522, /* Code */
+ 10415, /* Vendor */
+ "MBMS-GW-SSM-IP-Address-29.468", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IPv6-Address (925). */
+ /* 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IPv6-Address (925). */
+ /* 3GPP TS 29.061 V12.6.0 (2014-06) renamed */
+ /* MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address. */
+ /* 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IPv6-Address (3523). */
+ /* */
+ /* Fix: MBMS-GW-SSM-IPv6-Address (3523) renamed to MBMS-GW-SSM-IPv6-Address-29.468 (3523). */
+ /* MBMS-GW-SSM-IPv6-Address-29.468, Address, code 3523, section 6.4.25 */
+ {
+ struct dict_avp_data data = {
+ 3523, /* Code */
+ 10415, /* Vendor */
+ "MBMS-GW-SSM-IPv6-Address-29.468", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* MBMS-Start-Time, Time, code 3507, section 6.4.9 */
+ {
+ struct dict_avp_data data = {
+ 3507, /* Code */
+ 10415, /* Vendor */
+ "MBMS-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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 32.299 Radio-Frequency (3462). */
+ /* 3GPP TS 29.468 V12.0.0 (2014-09) added Radio-Frequency (3508). */
+ /* 3GPP TS 32.299 V13.1.0 (2015-06) CR 0638 added Radio-Frequency (3462). */
+ /* */
+ /* Fix: Radio-Frequency (3508) renamed to Radio-Frequency-29.468 (3508). */
+ /* Radio-Frequency-29.468, Unsigned32, code 3508, section 6.4.10 */
+ {
+ struct dict_avp_data data = {
+ 3508, /* Code */
+ 10415, /* Vendor */
+ "Radio-Frequency-29.468", /* 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);
+ };
+
+ /* ROHC-Full-Header-Periodicity, Float32, code 3527, section 6.4.29 */
+ {
+ struct dict_avp_data data = {
+ 3527, /* Code */
+ 10415, /* Vendor */
+ "ROHC-Full-Header-Periodicity", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_FLOAT32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ROHC-Max-CID, Unsigned32, code 3532, section 6.4.34 */
+ {
+ struct dict_avp_data data = {
+ 3532, /* Code */
+ 10415, /* Vendor */
+ "ROHC-Max-CID", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ROHC-Profile, Unsigned32, code 3528, section 6.4.30 */
+ {
+ struct dict_avp_data data = {
+ 3528, /* Code */
+ 10415, /* Vendor */
+ "ROHC-Profile", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ROHC-Request, Grouped, code 3526, section 6.4.28 */
+ {
+ struct dict_avp_data data = {
+ 3526, /* Code */
+ 10415, /* Vendor */
+ "ROHC-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* ROHC-Result, Unsigned32, code 3530, section 6.4.32 */
+ {
+ struct dict_avp_data data = {
+ 3530, /* Code */
+ 10415, /* Vendor */
+ "ROHC-Result", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TMGI-Allocation-Request, Grouped, code 3509, section 6.4.11 */
+ {
+ struct dict_avp_data data = {
+ 3509, /* Code */
+ 10415, /* Vendor */
+ "TMGI-Allocation-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TMGI-Allocation-Response, Grouped, code 3510, section 6.4.12 */
+ {
+ struct dict_avp_data data = {
+ 3510, /* Code */
+ 10415, /* Vendor */
+ "TMGI-Allocation-Response", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TMGI-Allocation-Result, Unsigned32, code 3511, section 6.4.13 */
+ {
+ struct dict_avp_data data = {
+ 3511, /* Code */
+ 10415, /* Vendor */
+ "TMGI-Allocation-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);
+ };
+
+ /* TMGI-Deallocation-Request, Grouped, code 3512, section 6.4.14 */
+ {
+ struct dict_avp_data data = {
+ 3512, /* Code */
+ 10415, /* Vendor */
+ "TMGI-Deallocation-Request", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TMGI-Deallocation-Response, Grouped, code 3513, section 6.4.15 */
+ {
+ struct dict_avp_data data = {
+ 3513, /* Code */
+ 10415, /* Vendor */
+ "TMGI-Deallocation-Response", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TMGI-Deallocation-Result, Unsigned32, code 3514, section 6.4.16 */
+ {
+ struct dict_avp_data data = {
+ 3514, /* Code */
+ 10415, /* Vendor */
+ "TMGI-Deallocation-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);
+ };
+
+ /* TMGI-Expiry, Grouped, code 3515, section 6.4.17 */
+ {
+ struct dict_avp_data data = {
+ 3515, /* Code */
+ 10415, /* Vendor */
+ "TMGI-Expiry", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* TMGI-Number, Unsigned32, code 3516, section 6.4.18 */
+ {
+ struct dict_avp_data data = {
+ 3516, /* Code */
+ 10415, /* Vendor */
+ "TMGI-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);
+ };
+
+ /* Userplane-Protocol-Result, Grouped, code 3529, section 6.4.31 */
+ {
+ struct dict_avp_data data = {
+ 3529, /* Code */
+ 10415, /* Vendor */
+ "Userplane-Protocol-Result", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 29.561 V16.3.0 (2020-03) */
+ /* 5G System; Interworking between 5G Network and external */
+ /* Data Networks; */
+ /* Stage 3 */
+ /* */
+ /* From 3GPP 29561-g30.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* Table 12.4-1: N6 re-used Diameter AVPs */
+
+ /* Note: Only AVPs defined in 3GPP TS 29.561. */
+ /*==================================================================*/
+
+ /* 3GPP-Notification, OctetString, code 110, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 110, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Notification", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-UE-MAC-Address, OctetString, code 111, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 111, /* Code */
+ 10415, /* Vendor */
+ "3GPP-UE-MAC-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Authorization-Reference, OctetString, code 112, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 112, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Authorization-Reference", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Policy-Reference, OctetString, code 113, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 113, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Policy-Reference", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Session-AMBR, OctetString, code 114, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 114, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Session-AMBR", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-NAI, OctetString, code 115, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 115, /* Code */
+ 10415, /* Vendor */
+ "3GPP-NAI", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-Session-AMBR-v2, OctetString, code 116, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 116, /* Code */
+ 10415, /* Vendor */
+ "3GPP-Session-AMBR-v2", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-IP-Address-Pool-Id, OctetString, code 118, section 11.3.1 */
+ {
+ struct dict_avp_data data = {
+ 118, /* Code */
+ 10415, /* Vendor */
+ "3GPP-IP-Address-Pool-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /*==================================================================*/
+ /* Table 17.4-1: Additional information needed for network slice specific authentication */
+ /*==================================================================*/
+
+ /* 3GPP-S-NSSAI, UTF8String, code 200, section 16.3.1 */
+ {
+ struct dict_avp_data data = {
+ 200, /* Code */
+ 10415, /* Vendor */
+ "3GPP-S-NSSAI", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /*==================================================================*/
+ /* 3GPP TS 32.299 V15.7.0 (2019-06) */
+ /* Charging management; */
+ /* Diameter charging applications */
+ /* */
+ /* From 3GPP 32299-f70.doc */
+ /*==================================================================*/
+
+ /*==================================================================*/
+ /* 3GPP TS 32.299 Table 7.2.0.1: 3GPP specific AVPs */
+ /*==================================================================*/
+
+ /* 3GPP-OC-Specific-Reduction, Grouped, code 1320 */
+ {
+ struct dict_avp_data data = {
+ 1320, /* Code */
+ 10415, /* Vendor */
+ "3GPP-OC-Specific-Reduction", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-OC-Rating-Group, Unsigned32, code 1321 */
+ {
+ struct dict_avp_data data = {
+ 1321, /* Code */
+ 10415, /* Vendor */
+ "3GPP-OC-Rating-Group", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* 3GPP-OC-Request-Type, Enumerated, code 1322 */
+ {
+ struct dict_avp_data data = {
+ 1322, /* Code */
+ 10415, /* Vendor */
+ "3GPP-OC-Request-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/3GPP-OC-Request-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 29.212 3GPP-PS-Data-Off-Status (2847). */
+ /* 3GPP TS 29.212 V14.3.0 (2017-03) CR 1559 added 3GPP-PS-Data-Off-Status (2847). */
+ /* 3GPP TS 32.299 V14.3.0 (2017-03) CR 0760 added 3GPP-PS-Data-Off-Status (4406). */
+ /* */
+ /* Fix: 3GPP-PS-Data-Off-Status (4406) renamed to 3GPP-PS-Data-Off-Status-32.299 (4406). */
+ /* 3GPP-PS-Data-Off-Status-32.299, Enumerated, code 4406 */
+ {
+ struct dict_avp_data data = {
+ 4406, /* Code */
+ 10415, /* Vendor */
+ "3GPP-PS-Data-Off-Status-32.299", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/3GPP-PS-Data-Off-Status-32.299)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Access-Network-Info-Change, Grouped, code 4401 */
+ {
+ 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, NULL);
+ };
+
+ /* Access-Network-Information, OctetString, code 1263 */
+ {
+ 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-Information, Grouped, code 2709 */
+ {
+ 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, NULL);
+ };
+
+ /* Access-Transfer-Type, Enumerated, code 2710 */
+ {
+ 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, "Enumerated(3GPP/Access-Transfer-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Account-Expiration, Time, code 2309 */
+ {
+ 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);
+ };
+
+ /* Accumulated-Cost, Grouped, code 2052 */
+ {
+ 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, NULL);
+ };
+
+ /* Adaptations, Enumerated, code 1217 */
+ {
+ 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, "Enumerated(3GPP/Adaptations)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Additional-Content-Information, Grouped, code 1207 */
+ {
+ 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, NULL);
+ };
+
+ /* Additional-Exception-Reports, Enumerated, code 3936 */
+ {
+ 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, "Enumerated(3GPP/Additional-Exception-Reports)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Additional-Type-Information, UTF8String, code 1205 */
+ {
+ 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, UTF8String, code 897 */
+ {
+ 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);
+ };
+
+ /* Address-Domain, Grouped, code 898 */
+ {
+ 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, NULL);
+ };
+
+ /* Addressee-Type, Enumerated, code 1208 */
+ {
+ 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, "Enumerated(3GPP/Addressee-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Address-Type, Enumerated, code 899 */
+ {
+ 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, "Enumerated(3GPP/Address-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* AF-Correlation-Information, Grouped, code 1276 */
+ {
+ 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, NULL);
+ };
+
+ /* Alternate-Charged-Party-Address, UTF8String, code 1280 */
+ {
+ 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, Unsigned32, code 3905 */
+ {
+ 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-Information, Grouped, code 3904 */
+ {
+ 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, NULL);
+ };
+
+ /* Announcement-Order, Unsigned32, code 3906 */
+ {
+ 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-PLMN-ID, UTF8String, code 4408 */
+ {
+ struct dict_avp_data data = {
+ 4408, /* Code */
+ 10415, /* Vendor */
+ "Announcing-PLMN-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);
+ };
+
+ /* Announcing-UE-HPLMN-Identifier, UTF8String, code 3426 */
+ {
+ 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, UTF8String, code 3427 */
+ {
+ 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-Cost-Information, Grouped, code 2053 */
+ {
+ 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, NULL);
+ };
+
+ /* AoC-Format, Enumerated, code 2310 */
+ {
+ 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, "Enumerated(3GPP/AoC-Format)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* AoC-Information, Grouped, code 2054 */
+ {
+ 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, NULL);
+ };
+
+ /* AoC-Request-Type, Enumerated, code 2055 */
+ {
+ 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, "Enumerated(3GPP/AoC-Request-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* AoC-Service, Grouped, code 2311 */
+ {
+ 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, NULL);
+ };
+
+ /* AoC-Service-Obligatory-Type, Enumerated, code 2312 */
+ {
+ 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, "Enumerated(3GPP/AoC-Service-Obligatory-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* AoC-Service-Type, Enumerated, code 2313 */
+ {
+ 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, "Enumerated(3GPP/AoC-Service-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* AoC-Subscription-Information, Grouped, code 2314 */
+ {
+ 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, NULL);
+ };
+
+ /* API-Content, UTF8String, code 1309 */
+ {
+ struct dict_avp_data data = {
+ 1309, /* Code */
+ 10415, /* Vendor */
+ "API-Content", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* API-Direction, Enumerated, code 1310 */
+ {
+ struct dict_avp_data data = {
+ 1310, /* Code */
+ 10415, /* Vendor */
+ "API-Direction", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/API-Direction)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* API-Identifier, OctetString, code 1311 */
+ {
+ struct dict_avp_data data = {
+ 1311, /* Code */
+ 10415, /* Vendor */
+ "API-Identifier", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* API-Invocation-Timestamp, Time, code 1312 */
+ {
+ struct dict_avp_data data = {
+ 1312, /* Code */
+ 10415, /* Vendor */
+ "API-Invocation-Timestamp", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* API-Network-Service-Node, Enumerated, code 1315 */
+ {
+ struct dict_avp_data data = {
+ 1315, /* Code */
+ 10415, /* Vendor */
+ "API-Network-Service-Node", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/API-Network-Service-Node)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* API-Result-Code, Unsigned32, code 1313 */
+ {
+ struct dict_avp_data data = {
+ 1313, /* Code */
+ 10415, /* Vendor */
+ "API-Result-Code", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* API-Size, Unsigned64, code 1314 */
+ {
+ struct dict_avp_data data = {
+ 1314, /* Code */
+ 10415, /* Vendor */
+ "API-Size", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* APN-Rate-Control, Grouped, code 3933 */
+ {
+ 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, NULL);
+ };
+
+ /* APN-Rate-Control-Downlink, Grouped, code 3934 */
+ {
+ 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, NULL);
+ };
+
+ /* APN-Rate-Control-Uplink, Grouped, code 3935 */
+ {
+ 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, NULL);
+ };
+
+ /* Applic-ID, UTF8String, code 1218 */
+ {
+ 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, UTF8String, code 837 */
+ {
+ 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, UTF8String, code 836 */
+ {
+ 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-Server-Information, Grouped, code 850 */
+ {
+ 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, NULL);
+ };
+
+ /* Application-Specific-Data, OctetString, code 3458 */
+ {
+ 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, UTF8String, code 2035 */
+ {
+ 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, UTF8String, code 856 */
+ {
+ 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, UTF8String, code 849 */
+ {
+ 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, UTF8String, code 1219 */
+ {
+ 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, Unsigned32, code 1265 */
+ {
+ 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);
+ };
+
+ /* Basic-Service-Code, Grouped, code 3411 */
+ {
+ 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, NULL);
+ };
+
+ /* Bearer-Capability, OctetString, code 3412 */
+ {
+ 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, OctetString, code 854 */
+ {
+ 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, UTF8String, code 2716 */
+ {
+ 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, UTF8String, code 1250 */
+ {
+ 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, UTF8String, code 3916 */
+ {
+ 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-Identity-Change, Grouped, code 3917 */
+ {
+ 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, NULL);
+ };
+
+ /* Called-Party-Address, UTF8String, code 832 */
+ {
+ 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, UTF8String, code 831 */
+ {
+ 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, UTF8String, code 2023 */
+ {
+ 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, Integer32, code 861 */
+ {
+ 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, OctetString, code 3924 */
+ {
+ 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, Address, code 846 */
+ {
+ 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, Integer32, code 2037 */
+ {
+ 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, Time, code 2038 */
+ {
+ 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, Enumerated, code 2118 */
+ {
+ 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, "Enumerated(3GPP/Charge-Reason-Code)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Charged-Party, UTF8String, code 857 */
+ {
+ 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, Enumerated, code 2066 */
+ {
+ 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, "Enumerated(3GPP/Charging-Characteristics-Selection-Mode)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Charging-Per-IP-CAN-Session-Indicator, Enumerated, code 4400 */
+ {
+ 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, "Enumerated(3GPP/Charging-Per-IP-CAN-Session-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Civic-Address-Information, UTF8String, code 1305 */
+ {
+ struct dict_avp_data data = {
+ 1305, /* Code */
+ 10415, /* Vendor */
+ "Civic-Address-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Class-Identifier, Enumerated, code 1214 */
+ {
+ 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, "Enumerated(3GPP/Class-Identifier)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Client-Address, Address, code 2018 */
+ {
+ 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, Enumerated, code 3421 */
+ {
+ 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, "Enumerated(3GPP/CN-Operator-Selection-Entity)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Content-Class, Enumerated, code 1220 */
+ {
+ 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, "Enumerated(3GPP/Content-Class)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Content-Disposition, UTF8String, code 828 */
+ {
+ 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, Unsigned32, code 827 */
+ {
+ 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, Unsigned32, code 1206 */
+ {
+ 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, UTF8String, code 826 */
+ {
+ 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-Info, Grouped, code 3459 */
+ {
+ 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, NULL);
+ };
+
+ /* Coverage-Status, Enumerated, code 3428 */
+ {
+ 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, "Enumerated(3GPP/Coverage-Status)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* CP-CIoT-EPS-Optimisation-Indicator, Enumerated, code 3930 */
+ {
+ 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, "Enumerated(3GPP/CP-CIoT-EPS-Optimisation-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* CPDT-Information, Grouped, code 3927 */
+ {
+ 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, NULL);
+ };
+
+ /* CSG-Access-Mode, Enumerated, code 2317 */
+ {
+ 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, "Enumerated(3GPP/CSG-Access-Mode)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* CSG-Membership-Indication, Enumerated, code 2318 */
+ {
+ 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, "Enumerated(3GPP/CSG-Membership-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* CUG-Information, OctetString, code 2304 */
+ {
+ 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);
+ };
+
+ /* Current-Tariff, Grouped, code 2056 */
+ {
+ 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, NULL);
+ };
+
+ /* Data-Coding-Scheme, Integer32, code 2001 */
+ {
+ 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, UTF8String, code 1230 */
+ {
+ 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, Enumerated, code 1216 */
+ {
+ 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, "Enumerated(3GPP/Delivery-Report-Requested)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Destination-Interface, Grouped, code 2002 */
+ {
+ 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, NULL);
+ };
+
+ /* Diagnostics, Integer32, code 2039 */
+ {
+ 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, UTF8String, code 4402 */
+ {
+ 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, UTF8String, code 4403 */
+ {
+ 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, UTF8String, code 4404 */
+ {
+ 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, UTF8String, code 4405 */
+ {
+ 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, UTF8String, code 1200 */
+ {
+ 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, Enumerated, code 1221 */
+ {
+ 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, "Enumerated(3GPP/DRM-Content)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Dynamic-Address-Flag, Enumerated, code 2051 */
+ {
+ 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, "Enumerated(3GPP/Dynamic-Address-Flag)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Dynamic-Address-Flag-Extension, Enumerated, code 2068 */
+ {
+ 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, "Enumerated(3GPP/Dynamic-Address-Flag-Extension)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Early-Media-Description, Grouped, code 1272 */
+ {
+ 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, NULL);
+ };
+
+ /* Enhanced-Diagnostics, Grouped, code 3901 */
+ {
+ 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, NULL);
+ };
+
+ /* Envelope, Grouped, code 1266 */
+ {
+ 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, NULL);
+ };
+
+ /* Envelope-End-Time, Time, code 1267 */
+ {
+ 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, Enumerated, code 1268 */
+ {
+ 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, "Enumerated(3GPP/Envelope-Reporting)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Envelope-Start-Time, Time, code 1269 */
+ {
+ 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, Address, code 3425 */
+ {
+ 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, UTF8String, code 825 */
+ {
+ 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, Time, code 1258 */
+ {
+ 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);
+ };
+
+ /* Event-Type, Grouped, code 823 */
+ {
+ 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, NULL);
+ };
+
+ /* Expires, Unsigned32, code 888 */
+ {
+ 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);
+ };
+
+ /* Exposure-Function-API-Information, Grouped, code 1316 */
+ {
+ struct dict_avp_data data = {
+ 1316, /* Code */
+ 10415, /* Vendor */
+ "Exposure-Function-API-Information", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* FE-Identifier-List, UTF8String, code 4413 */
+ {
+ struct dict_avp_data data = {
+ 4413, /* Code */
+ 10415, /* Vendor */
+ "FE-Identifier-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* File-Repair-Supported, Enumerated, code 1224 */
+ {
+ 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, "Enumerated(3GPP/File-Repair-Supported)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Forwarding-Pending, Enumerated, code 3415 */
+ {
+ 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, "Enumerated(3GPP/Forwarding-Pending)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* From-Address, UTF8String, code 2708 */
+ {
+ 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, Address, code 847 */
+ {
+ 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, UTF8String, code 2601 */
+ {
+ 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, UTF8String, code 841 */
+ {
+ 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, UTF8String, code 1281 */
+ {
+ 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, Enumerated, code 2322 */
+ {
+ 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, "Enumerated(3GPP/IMS-Emergency-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* IMS-Information, Grouped, code 876 */
+ {
+ 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, NULL);
+ };
+
+ /* IMS-Visited-Network-Identifier, UTF8String, code 2713 */
+ {
+ 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, Enumerated, code 2308 */
+ {
+ 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, "Enumerated(3GPP/IMSI-Unauthenticated-Flag)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Incoming-Trunk-Group-Id, UTF8String, code 852 */
+ {
+ 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);
+ };
+
+ /* Incremental-Cost, Grouped, code 2062 */
+ {
+ 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, NULL);
+ };
+
+ /* Initial-IMS-Charging-Identifier, UTF8String, code 2321 */
+ {
+ 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, UTF8String, code 3402 */
+ {
+ 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, UTF8String, code 2003 */
+ {
+ 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, UTF8String, code 2004 */
+ {
+ 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, UTF8String, code 2005 */
+ {
+ 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, Enumerated, code 2006 */
+ {
+ 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, "Enumerated(3GPP/Interface-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Inter-Operator-Identifier, Grouped, code 838 */
+ {
+ 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, NULL);
+ };
+
+ /* Inter-UE-Transfer, Enumerated, code 3902 */
+ {
+ 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, "Enumerated(3GPP/Inter-UE-Transfer)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* IP-Realm-Default-Indication, Enumerated, code 2603 */
+ {
+ 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, "Enumerated(3GPP/IP-Realm-Default-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ISUP-Cause, Grouped, code 3416 */
+ {
+ 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, NULL);
+ };
+
+ /* ISUP-Cause-Diagnostics, OctetString, code 3422 */
+ {
+ 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, Unsigned32, code 3423 */
+ {
+ 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, Unsigned32, code 3424 */
+ {
+ 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, OctetString, code 3414 */
+ {
+ 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, UTF8String, code 3914 */
+ {
+ 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, OctetString, code 3429 */
+ {
+ 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, UTF8String, code 1231 */
+ {
+ 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, UTF8String, code 1233 */
+ {
+ 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, UTF8String, code 1234 */
+ {
+ 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-Id, Grouped, code 1232 */
+ {
+ 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, NULL);
+ };
+
+ /* LCS-Client-Name, Grouped, code 1235 */
+ {
+ 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, NULL);
+ };
+
+ /* LCS-Client-Type, Enumerated, code 1241 */
+ {
+ 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, "Enumerated(3GPP/LCS-Client-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* LCS-Data-Coding-Scheme, UTF8String, code 1236 */
+ {
+ 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, Enumerated, code 1237 */
+ {
+ 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, "Enumerated(3GPP/LCS-Format-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* LCS-Information, Grouped, code 878 */
+ {
+ 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, NULL);
+ };
+
+ /* LCS-Name-String, UTF8String, code 1238 */
+ {
+ 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);
+ };
+
+ /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed */
+ /* LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239). */
+ /* */
+ /* Change-1.4.0: LCS-Requestor-Id (1239) renamed to LCS-Requestor-ID (1239). */
+ /* LCS-Requestor-ID, Grouped, code 1239 */
+ {
+ 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, NULL);
+ };
+
+ /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed */
+ /* LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240). */
+ /* */
+ /* Change-1.4.0: LCS-Requestor-Id-String (1240) renamed to LCS-Requestor-ID-String (1240). */
+ /* LCS-Requestor-ID-String, UTF8String, code 1240 */
+ {
+ 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, Enumerated, code 2604 */
+ {
+ 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, "Enumerated(3GPP/Local-GW-Inserted-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Local-Sequence-Number, Unsigned32, code 2063 */
+ {
+ 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, OctetString, code 1242 */
+ {
+ 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, Enumerated, code 1243 */
+ {
+ 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, "Enumerated(3GPP/Location-Estimate-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Location-Info, Grouped, code 3460 */
+ {
+ 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, NULL);
+ };
+
+ /* Location-Type, Grouped, code 1244 */
+ {
+ 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, NULL);
+ };
+
+ /* Low-Balance-Indication, Enumerated, code 2020 */
+ {
+ 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, "Enumerated(3GPP/Low-Balance-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Low-Priority-Indicator, Enumerated, code 2602 */
+ {
+ 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, "Enumerated(3GPP/Low-Priority-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MBMS-Charged-Party, Enumerated, code 2323 */
+ {
+ 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, "Enumerated(3GPP/MBMS-Charged-Party)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: 3GPP TS 32.299 V11.8.0 (2013-07) Table 7.2 changed */
+ /* row MBMS-GW-Address (2307) to have a hyphen instead of space. */
+ /* */
+ /* Change-1.4.0: MBMSGW-Address (2307) renamed to MBMS-GW-Address (2307). */
+ /* MBMS-GW-Address, Address, code 2307 */
+ {
+ 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-Information, Grouped, code 880 */
+ {
+ 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, NULL);
+ };
+
+ /* MBMS-User-Service-Type, Enumerated, code 1225 */
+ {
+ 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, "Enumerated(3GPP/MBMS-User-Service-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Media-Initiator-Flag, Enumerated, code 882 */
+ {
+ 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, "Enumerated(3GPP/Media-Initiator-Flag)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Media-Initiator-Party, UTF8String, code 1288 */
+ {
+ 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-Body, Grouped, code 889 */
+ {
+ 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, NULL);
+ };
+
+ /* Message-Class, Grouped, code 1213 */
+ {
+ 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, NULL);
+ };
+
+ /* Message-ID, UTF8String, code 1210 */
+ {
+ 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, Unsigned32, code 1212 */
+ {
+ 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, Enumerated, code 1211 */
+ {
+ 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, "Enumerated(3GPP/Message-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MMBox-Storage-Requested, Enumerated, code 1248 */
+ {
+ 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, "Enumerated(3GPP/MMBox-Storage-Requested)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* MM-Content-Type, Grouped, code 1203 */
+ {
+ 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, NULL);
+ };
+
+ /* MMS-Information, Grouped, code 877 */
+ {
+ 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, NULL);
+ };
+
+ /* MMTel-Information, Grouped, code 2030 */
+ {
+ 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, NULL);
+ };
+
+ /* MMTel-SService-Type, Unsigned32, code 2031 */
+ {
+ 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, UTF8String, code 3430 */
+ {
+ 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, Integer32, code 3919 */
+ {
+ 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, Integer32, code 3922 */
+ {
+ 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-Information, Grouped, code 3921 */
+ {
+ 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, NULL);
+ };
+
+ /* Monitoring-Event-Report-Data, Grouped, code 3920 */
+ {
+ 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, NULL);
+ };
+
+ /* Monitoring-Event-Report-Number, Unsigned32, code 3923 */
+ {
+ 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, UTF8String, code 3431 */
+ {
+ 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, UTF8String, code 3432 */
+ {
+ 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, UTF8String, code 3433 */
+ {
+ 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, OctetString, code 3417 */
+ {
+ 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, Address, code 3406 */
+ {
+ 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, Address, code 2705 */
+ {
+ 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, OctetString, code 3418 */
+ {
+ 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);
+ };
+
+ /* Next-Tariff, Grouped, code 2057 */
+ {
+ 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, NULL);
+ };
+
+ /* NIDD-Submission, Grouped, code 3928 */
+ {
+ 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, NULL);
+ };
+
+ /* NNI-Information, Grouped, code 2703 */
+ {
+ 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, NULL);
+ };
+
+ /* NNI-Type, Enumerated, code 2704 */
+ {
+ 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, "Enumerated(3GPP/NNI-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Node-Functionality, Enumerated, code 862 */
+ {
+ 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, "Enumerated(3GPP/Node-Functionality)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Node-Id, UTF8String, code 2064 */
+ {
+ 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, Unsigned32, code 2034 */
+ {
+ 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, Unsigned32, code 2019 */
+ {
+ 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, Unsigned32, code 885 */
+ {
+ 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, Unsigned32, code 1282 */
+ {
+ 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, Unsigned32, code 1283 */
+ {
+ 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, UTF8String, code 2024 */
+ {
+ 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);
+ };
+
+ /* Offline-Charging, Grouped, code 1278 */
+ {
+ 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, NULL);
+ };
+
+ /* Online-Charging-Flag, Enumerated, code 2303 */
+ {
+ 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, "Enumerated(3GPP/Online-Charging-Flag)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Originating-IOI, UTF8String, code 839 */
+ {
+ 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, Enumerated, code 864 */
+ {
+ 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, "Enumerated(3GPP/Originator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Originator-Address, Grouped, code 886 */
+ {
+ 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, NULL);
+ };
+
+ /* Originator-Interface, Grouped, code 2009 */
+ {
+ 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, NULL);
+ };
+
+ /* Originator-Received-Address, Grouped, code 2027 */
+ {
+ 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, NULL);
+ };
+
+ /* Originator-SCCP-Address, Address, code 2008 */
+ {
+ 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, UTF8String, code 2320 */
+ {
+ 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, UTF8String, code 853 */
+ {
+ 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, Enumerated, code 1259 */
+ {
+ 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, "Enumerated(3GPP/Participant-Access-Priority)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Participant-Action-Type, Enumerated, code 2049 */
+ {
+ 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, "Enumerated(3GPP/Participant-Action-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Participant-Group, Grouped, code 1260 */
+ {
+ 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, NULL);
+ };
+
+ /* Participants-Involved, UTF8String, code 887 */
+ {
+ 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, Integer32, code 3434 */
+ {
+ 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, Integer32, code 3435 */
+ {
+ 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);
+ };
+
+ /* PC5-Radio-Technology, Enumerated, code 1300 */
+ {
+ struct dict_avp_data data = {
+ 1300, /* Code */
+ 10415, /* Vendor */
+ "PC5-Radio-Technology", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PC5-Radio-Technology)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PDN-Connection-Charging-ID, Unsigned32, code 2050 */
+ {
+ 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, Address, code 1227 */
+ {
+ 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, Unsigned32, code 2606 */
+ {
+ 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, Enumerated, code 1247 */
+ {
+ 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, "Enumerated(3GPP/PDP-Context-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Change-1.4.0: PDG-Address (895) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* Change-1.4.0: PDG-Charging-Id (896) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* Play-Alternative, Enumerated, code 3913 */
+ {
+ 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, "Enumerated(3GPP/Play-Alternative)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PoC-Change-Condition, Enumerated, code 1261 */
+ {
+ 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, "Enumerated(3GPP/PoC-Change-Condition)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PoC-Change-Time, Time, code 1262 */
+ {
+ 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, UTF8String, code 858 */
+ {
+ 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, Enumerated, code 2025 */
+ {
+ 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, "Enumerated(3GPP/PoC-Event-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PoC-Group-Name, UTF8String, code 859 */
+ {
+ 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-Information, Grouped, code 879 */
+ {
+ 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, NULL);
+ };
+
+ /* PoC-Server-Role, Enumerated, code 883 */
+ {
+ 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, "Enumerated(3GPP/PoC-Server-Role)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PoC-Session-Id, UTF8String, code 1229 */
+ {
+ 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, Enumerated, code 1277 */
+ {
+ 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, "Enumerated(3GPP/PoC-Session-Initiation-type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PoC-Session-Type, Enumerated, code 884 */
+ {
+ 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, "Enumerated(3GPP/PoC-Session-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PoC-User-Role, Grouped, code 1252 */
+ {
+ 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, NULL);
+ };
+
+ /* PoC-User-Role-IDs, UTF8String, code 1253 */
+ {
+ 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);
+ };
+
+ /* Note: 3GPP TS 32.299 V13.1.0 (2015-06) renamed */
+ /* PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254). */
+ /* */
+ /* Change-1.4.0: PoC-User-Role-info-Units (1254) renamed to PoC-User-Role-Info-Units (1254). */
+ /* PoC-User-Role-Info-Units, Enumerated, code 1254 */
+ {
+ 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, "Enumerated(3GPP/PoC-User-Role-Info-Units)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Positioning-Data, UTF8String, code 1245 */
+ {
+ 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, Unsigned32, code 2315 */
+ {
+ 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, Enumerated, code 1209 */
+ {
+ 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, "Enumerated(3GPP/Priority)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Privacy-Indicator, Enumerated, code 3915 */
+ {
+ 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, "Enumerated(3GPP/Privacy-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ProSe-3rd-Party-Application-ID, UTF8String, code 3440 */
+ {
+ 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-Communication-Reception-Data-Container, Grouped, code 3461 */
+ {
+ 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, NULL);
+ };
+
+ /* ProSe-Direct-Communication-Transmission-Data-Container, Grouped, code 3441 */
+ {
+ 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, NULL);
+ };
+
+ /* ProSe-Direct-Discovery-Model, Enumerated, code 3442 */
+ {
+ 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, "Enumerated(3GPP/ProSe-Direct-Discovery-Model)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ProSe-Event-Type, Enumerated, code 3443 */
+ {
+ 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, "Enumerated(3GPP/ProSe-Event-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ProSe-Function-IP-Address, Address, code 3444 */
+ {
+ 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, UTF8String, code 3457 */
+ {
+ 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, Enumerated, code 3445 */
+ {
+ 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, "Enumerated(3GPP/ProSe-Functionality)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ProSe-Group-IP-Multicast-Address, Address, code 3446 */
+ {
+ 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-Information, Grouped, code 3447 */
+ {
+ 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, NULL);
+ };
+
+ /* ProSe-Range-Class, Enumerated, code 3448 */
+ {
+ 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, "Enumerated(3GPP/ProSe-Range-Class)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ProSe-Reason-For-Cancellation, Enumerated, code 3449 */
+ {
+ 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, "Enumerated(3GPP/ProSe-Reason-For-Cancellation)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ProSe-Request-Timestamp, Time, code 3450 */
+ {
+ 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, Enumerated, code 3451 */
+ {
+ 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, "Enumerated(3GPP/ProSe-Role-Of-UE)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* ProSe-Source-IP-Address, Address, code 3452 */
+ {
+ 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-Target-Layer-2-ID, OctetString, code 4410 */
+ {
+ struct dict_avp_data data = {
+ 4410, /* Code */
+ 10415, /* Vendor */
+ "ProSe-Target-Layer-2-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);
+ };
+
+ /* ProSe-UE-ID, OctetString, code 3453 */
+ {
+ 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);
+ };
+
+ /* ProSe-UE-to-Network-Relay-UE-ID, OctetString, code 4409 */
+ {
+ struct dict_avp_data data = {
+ 4409, /* Code */
+ 10415, /* Vendor */
+ "ProSe-UE-to-Network-Relay-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, Enumerated, code 3454 */
+ {
+ 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, "Enumerated(3GPP/Proximity-Alert-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Proximity-Alert-Timestamp, Time, code 3455 */
+ {
+ 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, Time, code 3456 */
+ {
+ 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, Enumerated, code 867 */
+ {
+ 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, "Enumerated(3GPP/PS-Append-Free-Format-Data)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* PS-Free-Format-Data, OctetString, code 866 */
+ {
+ 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);
+ };
+
+ /* PS-Furnish-Charging-Information, Grouped, code 865 */
+ {
+ 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, NULL);
+ };
+
+ /* PS-Information, Grouped, code 874 */
+ {
+ 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, NULL);
+ };
+
+ /* Quota-Consumption-Time, Unsigned32, code 881 */
+ {
+ 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, Unsigned32, code 871 */
+ {
+ 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, Enumerated, code 3912 */
+ {
+ 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, "Enumerated(3GPP/Quota-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Note: Name conflict with 3GPP TS 32.299 Radio-Frequency (3508) */
+ /* 3GPP TS 29.468 V12.0.0 (2014-09) added Radio-Frequency (3508). */
+ /* 3GPP TS 32.299 V13.1.0 (2015-06) CR 0638 added Radio-Frequency (3462). */
+ /* Radio-Frequency, OctetString, code 3462 */
+ {
+ 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-Info, Grouped, code 3463 */
+ {
+ 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, NULL);
+ };
+
+ /* Radio-Parameter-Set-Values, OctetString, code 3464 */
+ {
+ 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, Integer32, code 3465 */
+ {
+ 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);
+ };
+
+ /* RAN-End-Time, Time, code 1301 */
+ {
+ struct dict_avp_data data = {
+ 1301, /* Code */
+ 10415, /* Vendor */
+ "RAN-End-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* RAN-Secondary-RAT-Usage-Report, Grouped, code 1302 */
+ {
+ struct dict_avp_data data = {
+ 1302, /* Code */
+ 10415, /* Vendor */
+ "RAN-Secondary-RAT-Usage-Report", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* RAN-Start-Time, Time, code 1303 */
+ {
+ struct dict_avp_data data = {
+ 1303, /* Code */
+ 10415, /* Vendor */
+ "RAN-Start-Time", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* Rate-Control-Max-Message-Size, Unsigned32, code 3937 */
+ {
+ 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, Unsigned32, code 3938 */
+ {
+ 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, Unsigned32, code 3939 */
+ {
+ 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);
+ };
+
+ /* Rate-Element, Grouped, code 2058 */
+ {
+ 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, NULL);
+ };
+
+ /* Read-Reply-Report-Requested, Enumerated, code 1222 */
+ {
+ 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, "Enumerated(3GPP/Read-Reply-Report-Requested)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Real-Time-Tariff-Information, Grouped, code 2305 */
+ {
+ 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, NULL);
+ };
+
+ /* Reason-Header, UTF8String, code 3401 */
+ {
+ 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, Unsigned32, code 1284 */
+ {
+ 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, Unsigned32, code 1285 */
+ {
+ 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);
+ };
+
+ /* Note: Name conflict with 3GPP TS 32.299 Recipient-Address (1201); */
+ /* 3GPP TS 29.140 V6.1.0 (2005-06) allocated Recipient-Address (1108). */
+ /* 3GPP TS 32.299 V6.4.0 (2005-09) CR 0028 added Recipient-Address (1201). */
+ /* Recipient-Address, Grouped, code 1201 */
+ {
+ 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, NULL);
+ };
+
+ /* Recipient-Info, Grouped, code 2026 */
+ {
+ 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, NULL);
+ };
+
+ /* Recipient-Received-Address, Grouped, code 2028 */
+ {
+ 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, NULL);
+ };
+
+ /* Recipient-SCCP-Address, Address, code 2010 */
+ {
+ 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, OctetString, code 2022 */
+ {
+ 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-Change-Condition-Information, Grouped, code 3925 */
+ {
+ 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, NULL);
+ };
+
+ /* Related-Trigger, Grouped, code 3926 */
+ {
+ 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, NULL);
+ };
+
+ /* Related-IMS-Charging-Identifier, UTF8String, code 2711 */
+ {
+ 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, Address, code 2712 */
+ {
+ 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, Enumerated, code 2706 */
+ {
+ 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, "Enumerated(3GPP/Relationship-Mode)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Relay-IP-address, Address, code 4411 */
+ {
+ struct dict_avp_data data = {
+ 4411, /* Code */
+ 10415, /* Vendor */
+ "Relay-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);
+ };
+
+ /* Remaining-Balance, Grouped, code 2021 */
+ {
+ 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, NULL);
+ };
+
+ /* Reply-Applic-ID, UTF8String, code 1223 */
+ {
+ 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, Enumerated, code 2011 */
+ {
+ 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, "Enumerated(3GPP/Reply-Path-Requested)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Reporting-Reason, Enumerated, code 872 */
+ {
+ 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, "Enumerated(3GPP/Reporting-Reason)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Requested-Party-Address, UTF8String, code 1251 */
+ {
+ 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, UTF8String, code 3436 */
+ {
+ 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, UTF8String, code 3437 */
+ {
+ 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, Enumerated, code 829 */
+ {
+ 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, "Enumerated(3GPP/Role-Of-Node)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Role-Of-ProSe-Function, Enumerated, code 3438 */
+ {
+ 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, "Enumerated(3GPP/Role-Of-ProSe-Function)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Route-Header-Received, UTF8String, code 3403 */
+ {
+ 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, UTF8String, code 3404 */
+ {
+ 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);
+ };
+
+ /* Scale-Factor, Grouped, code 2059 */
+ {
+ 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, NULL);
+ };
+
+ /* SCEF-Address, Address, code 1317 */
+ {
+ struct dict_avp_data data = {
+ 1317, /* Code */
+ 10415, /* Vendor */
+ "SCEF-Address", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
+ };
+
+ /* SCS-Address, Address, code 3941 */
+ {
+ struct dict_avp_data data = {
+ 3941, /* Code */
+ 10415, /* Vendor */
+ "SCS-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);
+ };
+
+ /* SCS-AS-Address, Grouped, code 3940 */
+ {
+ struct dict_avp_data data = {
+ 3940, /* Code */
+ 10415, /* Vendor */
+ "SCS-AS-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, NULL);
+ };
+
+ /* SCS-Realm, DiameterIdentity, code 3942 */
+ {
+ struct dict_avp_data data = {
+ 3942, /* Code */
+ 10415, /* Vendor */
+ "SCS-Realm", /* 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);
+ };
+
+ /* SDP-Answer-Timestamp, Time, code 1275 */
+ {
+ 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-Component, Grouped, code 843 */
+ {
+ 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, NULL);
+ };
+
+ /* SDP-Media-Description, UTF8String, code 845 */
+ {
+ 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, UTF8String, code 844 */
+ {
+ 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, Time, code 1274 */
+ {
+ 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, UTF8String, code 842 */
+ {
+ 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-TimeStamps, Grouped, code 1273 */
+ {
+ 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, NULL);
+ };
+
+ /* SDP-Type, Enumerated, code 2036 */
+ {
+ 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, "Enumerated(3GPP/SDP-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Secondary-RAT-Type, OctetString, code 1304 */
+ {
+ struct dict_avp_data data = {
+ 1304, /* Code */
+ 10415, /* Vendor */
+ "Secondary-RAT-Type", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Serving-Node-Identity, DiameterIdentity, code 3929 */
+ {
+ 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, Address, code 848 */
+ {
+ 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-Data-Container, Grouped, code 2040 */
+ {
+ 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, NULL);
+ };
+
+ /* Service-Id, UTF8String, code 855 */
+ {
+ 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-Information, Grouped, code 873 */
+ {
+ 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, NULL);
+ };
+
+ /* Service-Mode, Unsigned32, code 2032 */
+ {
+ 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, UTF8String, code 863 */
+ {
+ 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-Info, Grouped, code 1249 */
+ {
+ 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, NULL);
+ };
+
+ /* Service-Specific-Type, Unsigned32, code 1257 */
+ {
+ 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, Enumerated, code 2047 */
+ {
+ 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, "Enumerated(3GPP/Serving-Node-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Session-Direction, Enumerated, code 2707 */
+ {
+ 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, "Enumerated(3GPP/Session-Direction)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SGi-PtP-Tunnelling-Method, Enumerated, code 3931 */
+ {
+ 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, "Enumerated(3GPP/SGi-PtP-Tunnelling-Method)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SGSN-Address, Address, code 1228 */
+ {
+ 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, Address, code 2067 */
+ {
+ 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, Enumerated, code 2065 */
+ {
+ 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, "Enumerated(3GPP/SGW-Change)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SIP-Method, UTF8String, code 824 */
+ {
+ 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, Time, code 834 */
+ {
+ 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, Unsigned32, code 2301 */
+ {
+ 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, Time, code 835 */
+ {
+ 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, Unsigned32, code 2302 */
+ {
+ 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, Enumerated, code 3407 */
+ {
+ 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, "Enumerated(3GPP/SM-Device-Trigger-Indicator)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SM-Device-Trigger-Information, Grouped, code 3405 */
+ {
+ 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, NULL);
+ };
+
+ /* SM-Discharge-Time, Time, code 2012 */
+ {
+ 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, Enumerated, code 2007 */
+ {
+ 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, "Enumerated(3GPP/SM-Message-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SM-Protocol-ID, OctetString, code 2013 */
+ {
+ 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, Unsigned32, code 3408 */
+ {
+ 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, Enumerated, code 2029 */
+ {
+ 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, "Enumerated(3GPP/SM-Service-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SM-Status, OctetString, code 2014 */
+ {
+ 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, OctetString, code 2015 */
+ {
+ 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-Information, Grouped, code 2000 */
+ {
+ 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, NULL);
+ };
+
+ /* SMS-Node, Enumerated, code 2016 */
+ {
+ 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, "Enumerated(3GPP/SMS-Node)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SMS-Result, Unsigned32, code 3409 */
+ {
+ 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, Address, code 2017 */
+ {
+ 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, Time, code 3419 */
+ {
+ 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, Time, code 2041 */
+ {
+ 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);
+ };
+
+ /* Note: 3GPP TS 32.299 V11.10.0 (2013-12) CR 0566 renamed */
+ /* Status (2702) to Status-Code (2702). */
+ /* 3GPP TS 32.299 V11.14.0 (2014-12) CR 0617 renamed */
+ /* Status-Code (2702) to Status-AS-Code (2702). */
+ /* */
+ /* Change-1.4.0: Status (2702) renamed to Status-AS-Code (2702). */
+ /* Status-AS-Code, Enumerated, code 2702 */
+ {
+ 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, "Enumerated(3GPP/Status-AS-Code)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Stop-Time, Time, code 2042 */
+ {
+ 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, Time, code 1202 */
+ {
+ 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, Enumerated, code 2033 */
+ {
+ 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, "Enumerated(3GPP/Subscriber-Role)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Supplementary-Service, Grouped, code 2048 */
+ {
+ 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, NULL);
+ };
+
+ /* TAD-Identifier, Enumerated, code 2717 */
+ {
+ 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, "Enumerated(3GPP/TAD-Identifier)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Talk-Burst-Exchange, Grouped, code 1255 */
+ {
+ 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, NULL);
+ };
+
+ /* Talk-Burst-Time, Unsigned32, code 1286 */
+ {
+ 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, Unsigned32, code 1287 */
+ {
+ 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);
+ };
+
+ /* Target-IP-Address, Address, code 4412 */
+ {
+ struct dict_avp_data data = {
+ 4412, /* Code */
+ 10415, /* Vendor */
+ "Target-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);
+ };
+
+ /* Tariff-Information, Grouped, code 2060 */
+ {
+ 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, NULL);
+ };
+
+ /* Tariff-XML, UTF8String, code 2306 */
+ {
+ 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, OctetString, code 3413 */
+ {
+ 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, UTF8String, code 840 */
+ {
+ 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, Time, code 3466 */
+ {
+ struct dict_avp_data data = {
+ 3466, /* Code */
+ 10415, /* Vendor */
+ "Time-First-Reception", /* 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);
+ };
+
+ /* Time-First-Transmission, Time, code 3467 */
+ {
+ struct dict_avp_data data = {
+ 3467, /* Code */
+ 10415, /* Vendor */
+ "Time-First-Transmission", /* 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);
+ };
+
+ /* Time-First-Usage, Time, code 2043 */
+ {
+ struct dict_avp_data data = {
+ 2043, /* Code */
+ 10415, /* Vendor */
+ "Time-First-Usage", /* 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);
+ };
+
+ /* Time-Indicator, Unsigned32, code 3911 */
+ {
+ struct dict_avp_data data = {
+ 3911, /* Code */
+ 10415, /* Vendor */
+ "Time-Indicator", /* 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);
+ };
+
+ /* Time-Last-Usage, Time, code 2044 */
+ {
+ struct dict_avp_data data = {
+ 2044, /* Code */
+ 10415, /* Vendor */
+ "Time-Last-Usage", /* 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);
+ };
+
+ /* Time-Quota-Mechanism, Grouped, code 1270 */
+ {
+ struct dict_avp_data data = {
+ 1270, /* Code */
+ 10415, /* Vendor */
+ "Time-Quota-Mechanism", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Time-Quota-Threshold, Unsigned32, code 868 */
+ {
+ struct dict_avp_data data = {
+ 868, /* Code */
+ 10415, /* Vendor */
+ "Time-Quota-Threshold", /* 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);
+ };
+
+ /* Time-Quota-Type, Enumerated, code 1271 */
+ {
+ struct dict_avp_data data = {
+ 1271, /* Code */
+ 10415, /* Vendor */
+ "Time-Quota-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, "Enumerated(3GPP/Time-Quota-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Time-Stamps, Grouped, code 833 */
+ {
+ struct dict_avp_data data = {
+ 833, /* Code */
+ 10415, /* Vendor */
+ "Time-Stamps", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Time-Usage, Unsigned32, code 2045 */
+ {
+ struct dict_avp_data data = {
+ 2045, /* Code */
+ 10415, /* Vendor */
+ "Time-Usage", /* 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);
+ };
+
+ /* TLTRI, Unsigned32, code 1318 */
+ {
+ struct dict_avp_data data = {
+ 1318, /* Code */
+ 10415, /* Vendor */
+ "TLTRI", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Token-Text, UTF8String, code 1215 */
+ {
+ struct dict_avp_data data = {
+ 1215, /* Code */
+ 10415, /* Vendor */
+ "Token-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);
+ };
+
+ /* Traffic-Data-Volumes, Grouped, code 2046 */
+ {
+ struct dict_avp_data data = {
+ 2046, /* Code */
+ 10415, /* Vendor */
+ "Traffic-Data-Volumes", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Transcoder-Inserted-Indication, Enumerated, code 2605 */
+ {
+ struct dict_avp_data data = {
+ 2605, /* Code */
+ 10415, /* Vendor */
+ "Transcoder-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, "Enumerated(3GPP/Transcoder-Inserted-Indication)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Transit-IOI-List, UTF8String, code 2701 */
+ {
+ struct dict_avp_data data = {
+ 2701, /* Code */
+ 10415, /* Vendor */
+ "Transit-IOI-List", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Transmitter-Info, Grouped, code 3468 */
+ {
+ struct dict_avp_data data = {
+ 3468, /* Code */
+ 10415, /* Vendor */
+ "Transmitter-Info", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Trigger, Grouped, code 1264 */
+ {
+ struct dict_avp_data data = {
+ 1264, /* Code */
+ 10415, /* Vendor */
+ "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, NULL);
+ };
+
+ /* Trigger-Type, Enumerated, code 870 */
+ {
+ struct dict_avp_data data = {
+ 870, /* Code */
+ 10415, /* Vendor */
+ "Trigger-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, "Enumerated(3GPP/Trigger-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Trunk-Group-Id, Grouped, code 851 */
+ {
+ struct dict_avp_data data = {
+ 851, /* Code */
+ 10415, /* Vendor */
+ "Trunk-Group-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, NULL);
+ };
+
+ /* TWAG-Address, Address, code 3903 */
+ {
+ struct dict_avp_data data = {
+ 3903, /* Code */
+ 10415, /* Vendor */
+ "TWAG-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);
+ };
+
+ /* TWAN-User-Location-Info, Grouped, code 2714 */
+ {
+ struct dict_avp_data data = {
+ 2714, /* Code */
+ 10415, /* Vendor */
+ "TWAN-User-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, NULL);
+ };
+
+ /* Type-Number, Enumerated, code 1204 */
+ {
+ struct dict_avp_data data = {
+ 1204, /* Code */
+ 10415, /* Vendor */
+ "Type-Number", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Type-Number)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* UNI-PDU-CP-Only-Flag, Enumerated, code 3932 */
+ {
+ struct dict_avp_data data = {
+ 3932, /* Code */
+ 10415, /* Vendor */
+ "UNI-PDU-CP-Only-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, "Enumerated(3GPP/UNI-PDU-CP-Only-Flag)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Unit-Cost, Grouped, code 2061 */
+ {
+ struct dict_avp_data data = {
+ 2061, /* Code */
+ 10415, /* Vendor */
+ "Unit-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, NULL);
+ };
+
+ /* Unit-Quota-Threshold, Unsigned32, code 1226 */
+ {
+ struct dict_avp_data data = {
+ 1226, /* Code */
+ 10415, /* Vendor */
+ "Unit-Quota-Threshold", /* 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);
+ };
+
+ /* Unused-Quota-Timer, Unsigned32, code 4407 */
+ {
+ struct dict_avp_data data = {
+ 4407, /* Code */
+ 10415, /* Vendor */
+ "Unused-Quota-Timer", /* 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);
+ };
+
+ /* Usage-Information-Report-Sequence-Number, Integer32, code 3439 */
+ {
+ struct dict_avp_data data = {
+ 3439, /* Code */
+ 10415, /* Vendor */
+ "Usage-Information-Report-Sequence-Number", /* 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);
+ };
+
+ /* User-CSG-Information, Grouped, code 2319 */
+ {
+ struct dict_avp_data data = {
+ 2319, /* Code */
+ 10415, /* Vendor */
+ "User-CSG-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, NULL);
+ };
+
+ /* User-Participating-Type, Enumerated, code 1279 */
+ {
+ struct dict_avp_data data = {
+ 1279, /* Code */
+ 10415, /* Vendor */
+ "User-Participating-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, "Enumerated(3GPP/User-Participating-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* User-Session-Id, UTF8String, code 830 */
+ {
+ struct dict_avp_data data = {
+ 830, /* Code */
+ 10415, /* Vendor */
+ "User-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);
+ };
+
+ /* UWAN-User-Location-Info, Grouped, code 3918 */
+ {
+ struct dict_avp_data data = {
+ 3918, /* Code */
+ 10415, /* Vendor */
+ "UWAN-User-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, NULL);
+ };
+
+ /* Variable-Part, Grouped, code 3907 */
+ {
+ struct dict_avp_data data = {
+ 3907, /* Code */
+ 10415, /* Vendor */
+ "Variable-Part", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* Variable-Part-Order, Unsigned32, code 3908 */
+ {
+ struct dict_avp_data data = {
+ 3908, /* Code */
+ 10415, /* Vendor */
+ "Variable-Part-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);
+ };
+
+ /* Variable-Part-Type, Unsigned32, code 3909 */
+ {
+ struct dict_avp_data data = {
+ 3909, /* Code */
+ 10415, /* Vendor */
+ "Variable-Part-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);
+ };
+
+ /* Variable-Part-Value, UTF8String, code 3910 */
+ {
+ struct dict_avp_data data = {
+ 3910, /* Code */
+ 10415, /* Vendor */
+ "Variable-Part-Value", /* 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);
+ };
+
+ /* VCS-Information, Grouped, code 3410 */
+ {
+ struct dict_avp_data data = {
+ 3410, /* Code */
+ 10415, /* Vendor */
+ "VCS-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, NULL);
+ };
+
+ /* VLR-Number, OctetString, code 3420 */
+ {
+ struct dict_avp_data data = {
+ 3420, /* Code */
+ 10415, /* Vendor */
+ "VLR-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);
+ };
+
+ /* Volume-Quota-Threshold, Unsigned32, code 869 */
+ {
+ struct dict_avp_data data = {
+ 869, /* Code */
+ 10415, /* Vendor */
+ "Volume-Quota-Threshold", /* 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);
+ };
+
+ /* Change-1.4.0: WAG-Address (890) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* Change-1.4.0: WAG-PLMN-Id (891) OctetString removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* Change-1.4.0: WLAN-Information (875) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* WLAN-Operator-Id, Grouped, code 1306 */
+ {
+ struct dict_avp_data data = {
+ 1306, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Operator-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* WLAN-Operator-Name, UTF8String, code 1307 */
+ {
+ struct dict_avp_data data = {
+ 1307, /* Code */
+ 10415, /* Vendor */
+ "WLAN-Operator-Name", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* WLAN-PLMN-Id, UTF8String, code 1308 */
+ {
+ struct dict_avp_data data = {
+ 1308, /* Code */
+ 10415, /* Vendor */
+ "WLAN-PLMN-Id", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* Change-1.4.0: WLAN-Radio-Container (892) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* Change-1.4.0: WLAN-Session-Id (1246) UTF8String removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* Change-1.4.0: WLAN-Technology (893) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /* Change-1.4.0: WLAN-UE-Local-IPAddress (894) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09). */
+
+ /*==================================================================*/
+ /* OMA DDS Charging_Data V1.0 20110201-A */
+ /* Charging Data */
+ /* */
+ /* From OMA OMA-DDS-Charging_Data-V1_0-20110201-A.pdf */
+ /*==================================================================*/
+
+ /* Application-Server-Id, UTF8String, code 2101, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2101, /* Code */
+ 10415, /* Vendor */
+ "Application-Server-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);
+ };
+
+ /* Change-1.4.0: Application-Service-Type (2102) type changed from UTF8String to Enumerated. */
+ /* Application-Service-Type, Enumerated, code 2102, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2102, /* Code */
+ 10415, /* Vendor */
+ "Application-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, "Enumerated(3GPP/Application-Service-Type)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* Change-1.4.0: Application-Session-Id (2103) type changed from UTF8String to Unsigned32. */
+ /* Application-Session-Id, Unsigned32, code 2103, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2103, /* Code */
+ 10415, /* Vendor */
+ "Application-Session-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);
+ };
+
+ /* Content-ID, UTF8String, code 2116, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2116, /* Code */
+ 10415, /* Vendor */
+ "Content-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);
+ };
+
+ /* Content-provider-ID, UTF8String, code 2117, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2117, /* Code */
+ 10415, /* Vendor */
+ "Content-provider-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);
+ };
+
+ /* DCD-Information, Grouped, code 2115, section 8.5.5 */
+ {
+ struct dict_avp_data data = {
+ 2115, /* Code */
+ 10415, /* Vendor */
+ "DCD-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, NULL);
+ };
+
+ /* Delivery-Status, UTF8String, code 2104, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2104, /* Code */
+ 10415, /* Vendor */
+ "Delivery-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, UTF8String_type, NULL);
+ };
+
+ /* IM-Information, Grouped, code 2110, section 8.5.6 */
+ {
+ struct dict_avp_data data = {
+ 2110, /* Code */
+ 10415, /* Vendor */
+ "IM-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, NULL);
+ };
+
+ /* Number-Of-Messages-Successfully-Exploded, Unsigned32, code 2111, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2111, /* Code */
+ 10415, /* Vendor */
+ "Number-Of-Messages-Successfully-Exploded", /* 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-Successfully-Sent, Unsigned32, code 2112, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2112, /* Code */
+ 10415, /* Vendor */
+ "Number-Of-Messages-Successfully-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);
+ };
+
+ /* Service-Generic-Information, Grouped, code 1256, section 8.5.10 */
+ {
+ struct dict_avp_data data = {
+ 1256, /* Code */
+ 10415, /* Vendor */
+ "Service-Generic-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, NULL);
+ };
+
+ /* Total-Number-Of-Messages-Exploded, Unsigned32, code 2113, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2113, /* Code */
+ 10415, /* Vendor */
+ "Total-Number-Of-Messages-Exploded", /* 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);
+ };
+
+ /* Total-Number-Of-Messages-Sent, Unsigned32, code 2114, section 8.4 */
+ {
+ struct dict_avp_data data = {
+ 2114, /* Code */
+ 10415, /* Vendor */
+ "Total-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);
+ };
+
+ /*==================================================================*/
+ /* 3GPP2 X.S0057-0 v2.0 */
+ /* E-UTRAN - eHRPD Connectivity and Interworking: */
+ /* Core Network Aspects */
+ /* */
+ /* From 3GPP2 X.S0057-0_v2.0_091215.pdf */
+ /*==================================================================*/
+
+ /* */
+ /* Change-1.4.0: 3GPP2-BSID (9010) type changed from OctetString to UTF8String. */
+ /* Change-1.4.0: 3GPP2-BSID (9010) flag M MUST. */
+ /* 3GPP2-BSID, UTF8String, code 9010, section 5.6.2.1.1 */
+ {
+ struct dict_avp_data data = {
+ 9010, /* Code */
+ 5535, /* Vendor */
+ "3GPP2-BSID", /* 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);
+ };
+
+ return 0;
+} /* add_avps() */
diff --git a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c
index 55d5ce4..3d58cf6 100644
--- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c
@@ -72,10 +72,9 @@
* 1. It would be good if 29.061 was reviewed to check for each AVP if
* it is Mandatory or not. The data currently in the document does not
* match what was in the previous version of the freeDiameter
- * extension (the one that existedbefore I rewrote it) or what I saw
+ * extension (the one that existed before I rewrote it) or what I saw
* so far. IIRC, even the table and the document contradict each
- * other. The AVP table is also missing an entry for
- * "External-Identifier", 28.
+ * other.
*
* 2. 29.140 has conflicting AVP names with other documents:
* - Sequence-Number is also in 32.329
@@ -98,7 +97,8 @@
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;
+ vendor_id_t vendor;
+ char * name;
enum rule_position position;
int min;
int max;
@@ -110,6 +110,10 @@ struct local_rules_definition {
#define PARSE_loc_rules( _rulearray, _parent) { \
int __ar; \
for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) { \
+ struct dict_avp_request __avp = { \
+ .avp_vendor = (_rulearray)[__ar].vendor, \
+ .avp_name = (_rulearray)[__ar].name, \
+ }; \
struct dict_rule_data __data = { NULL, \
(_rulearray)[__ar].position, \
0, \
@@ -120,16 +124,15 @@ struct local_rules_definition {
fd_g_config->cnf_dict, \
DICT_AVP, \
AVP_BY_NAME_AND_VENDOR, \
- &(_rulearray)[__ar].avp_vendor_plus_name, \
+ &__avp, \
&__data.rule_avp, 0 ) ); \
if ( !__data.rule_avp ) { \
- TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \
+ LOG_E( "AVP Not found: '%s'", __avp.avp_name); \
return ENOENT; \
} \
CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL), \
{ \
- TRACE_DEBUG(INFO, "Error on rule with AVP '%s'", \
- (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \
+ LOG_E( "Error on rule with AVP '%s'", __avp.avp_name); \
return EINVAL; \
} ); \
} \
@@ -144,7 +147,10 @@ struct local_rules_definition {
static int dict_dcca_3gpp_entry(char * conffile)
{
- /* Applications section */
+ /*==================================================================*/
+ /* Applications section */
+ /*==================================================================*/
+
{
/* Create the vendors */
{
@@ -158,10115 +164,198 @@ static int dict_dcca_3gpp_entry(char * conffile)
}
+ /*==================================================================*/
+ /* AVPs section */
+ /*==================================================================*/
+
+
+ /* 3GPP Experimental-Result-Code ENUMVAL Unsigned32 */
+ /* 3GPP TS 29.230 V15.7.0 (2019-12) section 8.1 */
+ {
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated(3GPP/Experimental-Result-Code)", NULL, NULL};
+ struct dict_enumval_data tvals[] = {
+ enumval_def_u32(2001, "DIAMETER_FIRST_REGISTRATION"),
+ enumval_def_u32(2002, "DIAMETER_SUBSEQUENT_REGISTRATION"),
+ enumval_def_u32(2003, "DIAMETER_UNREGISTERED_SERVICE"),
+ /*
+ * 3GPP TS 29.229 V5.3.0 (2003-03) renamed 2004 from DIAMETER_SUCCESS_NOT SUPPORTED_USER_DATA.
+ */
+ enumval_def_u32(2004, "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED"),
+ /*
+ * 3GPP TS 29.229 V5.3.0 (2003-03) renamed 2005 from DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED.
+ * 3GPP TS 29.229 V7.2.0 (2006-06) deprecated 2005 DIAMETER_SERVER_SELECTION.
+ */
+ enumval_def_u32(2005, "DIAMETER_SERVER_SELECTION"),
+ enumval_def_u32(2021, "DIAMETER_PDP_CONTEXT_DELETION_INDICATION"),
+ enumval_def_u32(2421, "DIAMETER_QOS_FLOW_DELETION_INDICATION"),
+ enumval_def_u32(4100, "DIAMETER_USER_DATA_NOT_AVAILABLE"),
+ enumval_def_u32(4101, "DIAMETER_PRIOR_UPDATE_IN_PROGRESS"),
+ enumval_def_u32(4121, "DIAMETER_ERROR_OUT_OF_RESOURCES"),
+ enumval_def_u32(4141, "DIAMETER_PCC_BEARER_EVENT"),
+ enumval_def_u32(4142, "DIAMETER_BEARER_EVENT"),
+ enumval_def_u32(4143, "DIAMETER_AN_GW_FAILED"),
+ enumval_def_u32(4144, "DIAMETER_PENDING_TRANSACTION"),
+ enumval_def_u32(4145, "DIAMETER_UE_STATUS_SUSPEND"),
+ enumval_def_u32(4181, "DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE"),
+ enumval_def_u32(4182, "DIAMETER_ERROR_CAMEL_SUBSCRIPTION_PRESENT"),
+ /*
+ * DIAMETER_ERROR_ABSENT_USER name conflict between:
+ * - 3GPP TS 29.173 § 6.3.4.1 DIAMETER_ERROR_ABSENT_USER (4201). (For SLh).
+ * - 3GPP TS 29.338 § 7.3.3 DIAMETER_ERROR_ABSENT_USER (5550). (For S6c, SGd).
+ * Rename 4201 from 3GPP TS 29.173 to DIAMETER_ERROR_ABSENT_USER-29.173.
+ */
+ enumval_def_u32(4201, "DIAMETER_ERROR_ABSENT_USER-29.173"),
+ enumval_def_u32(4221, "DIAMETER_ERROR_UNREACHABLE_USER"),
+ enumval_def_u32(4222, "DIAMETER_ERROR_SUSPENDED_USER"),
+ enumval_def_u32(4223, "DIAMETER_ERROR_DETACHED_USER"),
+ enumval_def_u32(4224, "DIAMETER_ERROR_POSITIONING_DENIED"),
+ enumval_def_u32(4225, "DIAMETER_ERROR_POSITIONING_FAILED"),
+ enumval_def_u32(4226, "DIAMETER_ERROR_UNKNOWN_UNREACHABLE LCS_CLIENT"),
+ enumval_def_u32(4241, "DIAMETER_ERROR_NO_AVAILABLE_POLICY_COUNTERS"),
+ enumval_def_u32(4261, "REQUESTED_SERVICE_TEMPORARILY_NOT_AUTHORIZED"),
+ enumval_def_u32(5001, "DIAMETER_ERROR_USER_UNKNOWN"),
+ enumval_def_u32(5002, "DIAMETER_ERROR_IDENTITIES_DONT_MATCH"),
+ enumval_def_u32(5003, "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"),
+ enumval_def_u32(5004, "DIAMETER_ERROR_ROAMING_NOT_ALLOWED"),
+ enumval_def_u32(5005, "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED"),
+ enumval_def_u32(5006, "DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTED"),
+ enumval_def_u32(5007, "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE"),
+ enumval_def_u32(5008, "DIAMETER_ERROR_TOO_MUCH_DATA"),
+ enumval_def_u32(5009, "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA"),
+ enumval_def_u32(5011, "DIAMETER_ERROR_FEATURE_UNSUPPORTED"),
+ enumval_def_u32(5012, "DIAMETER_ERROR_SERVING_NODE_FEATURE_UNSUPPORTED"),
+ enumval_def_u32(5041, "DIAMETER_ERROR_USER_NO_WLAN_SUBSCRIPTION"),
+ enumval_def_u32(5042, "DIAMETER_ERROR_W-APN_UNUSED_BY_USER"),
+ enumval_def_u32(5043, "DIAMETER_ERROR_NO_ACCESS_INDEPENDENT_SUBSCRIPTION"),
+ enumval_def_u32(5044, "DIAMETER_ERROR_USER_NO_W-APN_SUBSCRIPTION"),
+ enumval_def_u32(5045, "DIAMETER_ERROR_UNSUITABLE_NETWORK"),
+ enumval_def_u32(5061, "INVALID_SERVICE_INFORMATION"),
+ enumval_def_u32(5062, "FILTER_RESTRICTIONS"),
+ enumval_def_u32(5063, "REQUESTED_SERVICE_NOT_AUTHORIZED"),
+ enumval_def_u32(5064, "DUPLICATED_AF_SESSION"),
+ enumval_def_u32(5065, "IP-CAN_SESSION_NOT_AVAILABLE"),
+ enumval_def_u32(5066, "UNAUTHORIZED_NON_EMERGENCY_SESSION"),
+ enumval_def_u32(5067, "UNAUTHORIZED_SPONSORED_DATA_CONNECTIVITY"),
+ enumval_def_u32(5068, "TEMPORARY_NETWORK_FAILURE"),
+ enumval_def_u32(5100, "DIAMETER_ERROR_USER_DATA_NOT_RECOGNIZED"),
+ enumval_def_u32(5101, "DIAMETER_ERROR_OPERATION_NOT_ALLOWED"),
+ enumval_def_u32(5102, "DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ"),
+ enumval_def_u32(5103, "DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIED"),
+ enumval_def_u32(5104, "DIAMETER_ERROR_USER_DATA_CANNOT_BE_NOTIFIED"),
+ enumval_def_u32(5105, "DIAMETER_ERROR_TRANSPARENT_DATA OUT_OF_SYNC"),
+ enumval_def_u32(5106, "DIAMETER_ERROR_SUBS_DATA_ABSENT"),
+ enumval_def_u32(5107, "DIAMETER_ERROR_NO_SUBSCRIPTION_TO_DATA"),
+ enumval_def_u32(5108, "DIAMETER_ERROR_DSAI_NOT_AVAILABLE"),
+ enumval_def_u32(5120, "DIAMETER_ERROR_START_INDICATION"),
+ enumval_def_u32(5121, "DIAMETER_ERROR_STOP_INDICATION"),
+ enumval_def_u32(5122, "DIAMETER_ERROR_UNKNOWN_MBMS_BEARER_SERVICE"),
+ enumval_def_u32(5123, "DIAMETER_ERROR_SERVICE_AREA"),
+ enumval_def_u32(5140, "DIAMETER_ERROR_INITIAL_PARAMETERS"),
+ enumval_def_u32(5141, "DIAMETER_ERROR_TRIGGER_EVENT"),
+ enumval_def_u32(5142, "DIAMETER_PCC_RULE_EVENT"),
+ enumval_def_u32(5143, "DIAMETER_ERROR_BEARER_NOT_AUTHORIZED"),
+ enumval_def_u32(5144, "DIAMETER_ERROR_TRAFFIC_MAPPING_INFO_REJECTED"),
+ enumval_def_u32(5145, "DIAMETER_QOS_RULE_EVENT"),
+ enumval_def_u32(5147, "DIAMETER_ERROR_CONFLICTING_REQUEST"),
+ enumval_def_u32(5148, "DIAMETER_ADC_RULE_EVENT"),
+ enumval_def_u32(5149, "DIAMETER_ERROR_NBIFOM_NOT_AUTHORIZED"),
+ enumval_def_u32(5401, "DIAMETER_ERROR_IMPI_UNKNOWN"),
+ enumval_def_u32(5402, "DIAMETER_ERROR_NOT_AUTHORIZED"),
+ enumval_def_u32(5403, "DIAMETER_ERROR_TRANSACTION_IDENTIFIER_INVALID"),
+ enumval_def_u32(5420, "DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION"),
+ enumval_def_u32(5421, "DIAMETER_ERROR_RAT_NOT_ALLOWED"),
+ enumval_def_u32(5422, "DIAMETER_ERROR_EQUIPMENT_UNKNOWN"),
+ enumval_def_u32(5423, "DIAMETER_ERROR_UNKNOWN_SERVING_NODE"),
+ enumval_def_u32(5450, "DIAMETER_ERROR_USER_NO_NON_3GPP_SUBSCRIPTION"),
+ enumval_def_u32(5451, "DIAMETER_ERROR_USER_NO_APN_SUBSCRIPTION"),
+ enumval_def_u32(5452, "DIAMETER_ERROR_RAT_TYPE_NOT_ALLOWED"),
+ enumval_def_u32(5453, "DIAMETER_ERROR_LATE_OVERLAPPING_REQUEST"),
+ enumval_def_u32(5454, "DIAMETER_ERROR_TIMED_OUT_REQUEST"),
+ enumval_def_u32(5470, "DIAMETER_ERROR_SUBSESSION"),
+ enumval_def_u32(5471, "DIAMETER_ERROR_ONGOING_SESSION_ESTABLISHMENT"),
+ enumval_def_u32(5490, "DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_NETWORK"),
+ enumval_def_u32(5510, "DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_ENTITY"),
+ enumval_def_u32(5511, "DIAMETER_ERROR_UNAUTHORIZED_SERVICE"),
+ enumval_def_u32(5512, "DIAMETER_ERROR_REQUESTED_RANGE_IS_NOT ALLOWED"),
+ enumval_def_u32(5513, "DIAMETER_ERROR_CONFIGURATION_EVENT_STORAGE_NOT_SUCCESSFUL"),
+ enumval_def_u32(5514, "DIAMETER_ERROR_CONFIGURATION_EVENT_NON_EXISTANT"),
+ enumval_def_u32(5515, "DIAMETER_ERROR_SCEF_REFERENCE_ID_UNKNOWN"),
+ enumval_def_u32(5530, "DIAMETER_ERROR_INVALID_SME_ADDRESS"),
+ enumval_def_u32(5531, "DIAMETER_ERROR_SC_CONGESTION"),
+ enumval_def_u32(5532, "DIAMETER_ERROR_SM_PROTOCOL"),
+ enumval_def_u32(5533, "DIAMETER_ERROR_TRIGGER_REPLACE_FAILURE"),
+ enumval_def_u32(5534, "DIAMETER_ERROR_TRIGGER_RECALL_FAILURE"),
+ enumval_def_u32(5535, "DIAMETER_ERROR_ORIGINAL_MESSAGE_NOT_PENDING"),
+ enumval_def_u32(5550, "DIAMETER_ERROR_ABSENT_USER"),
+ enumval_def_u32(5551, "DIAMETER_ERROR_USER_BUSY_FOR_MT_SMS"),
+ enumval_def_u32(5552, "DIAMETER_ERROR_FACILITY_NOT_SUPPORTED"),
+ enumval_def_u32(5553, "DIAMETER_ERROR_ILLEGAL_USER"),
+ enumval_def_u32(5554, "DIAMETER_ERROR_ILLEGAL_EQUIPMENT"),
+ enumval_def_u32(5555, "DIAMETER_ERROR_SM_DELIVERY_FAILURE"),
+ enumval_def_u32(5556, "DIAMETER_ERROR_SERVICE_NOT_SUBSCRIBED"),
+ enumval_def_u32(5557, "DIAMETER_ERROR_SERVICE_BARRED"),
+ enumval_def_u32(5558, "DIAMETER_ERROR_MWD_LIST_FULL"),
+ enumval_def_u32(5570, "DIAMETER_ERROR_UNKNOWN_POLICY_COUNTERS"),
+ enumval_def_u32(5590, "DIAMETER_ERROR_ORIGIN_ALUID_UNKNOWN"),
+ enumval_def_u32(5591, "DIAMETER_ERROR_TARGET_ALUID_UNKNOWN"),
+ enumval_def_u32(5592, "DIAMETER_ERROR_PFID_UNKNOWN"),
+ enumval_def_u32(5593, "DIAMETER_ERROR_APP_REGISTER_REJECT"),
+ enumval_def_u32(5594, "DIAMETER_ERROR_PROSE_MAP_REQUEST_DISALLOWED"),
+ enumval_def_u32(5595, "DIAMETER_ERROR_MAP_REQUEST_REJECT"),
+ enumval_def_u32(5596, "DIAMETER_ERROR_REQUESTING_RPAUID_UNKNOWN"),
+ enumval_def_u32(5597, "DIAMETER_ERROR_UNKNOWN_OR_INVALID_TARGET_SET"),
+ enumval_def_u32(5598, "DIAMETER_ERROR_MISSING_APPLICATION_DATA"),
+ enumval_def_u32(5599, "DIAMETER_ERROR_AUTHORIZATION_REJECT"),
+ enumval_def_u32(5600, "DIAMETER_ERROR_DISCOVERY_NOT_PERMITTED"),
+ enumval_def_u32(5601, "DIAMETER_ERROR_TARGET_RPAUID_UNKNOWN"),
+ enumval_def_u32(5602, "DIAMETER_ERROR_INVALID_APPLICATION_DATA"),
+ enumval_def_u32(5610, "DIAMETER_ERROR_UNKNOWN_PROSE_SUBSCRIPTION"),
+ enumval_def_u32(5611, "DIAMETER_ERROR_PROSE_NOT_ALLOWED"),
+ enumval_def_u32(5612, "DIAMETER_ERROR_UE_LOCATION_UNKNOWN"),
+ enumval_def_u32(5630, "DIAMETER_ERROR_NO_ASSOCIATED_DISCOVERY_FILTER"),
+ enumval_def_u32(5631, "DIAMETER_ERROR_ANNOUNCING_UNAUTHORIZED_IN_PLMN"),
+ enumval_def_u32(5632, "DIAMETER_ERROR_INVALID_APPLICATION_CODE"),
+ enumval_def_u32(5633, "DIAMETER_ERROR_PROXIMITY_UNAUTHORIZED"),
+ enumval_def_u32(5634, "DIAMETER_ERROR_PROXIMITY_REJECTED"),
+ enumval_def_u32(5635, "DIAMETER_ERROR_NO_PROXIMITY_REQUEST"),
+ enumval_def_u32(5636, "DIAMETER_ERROR_UNAUTHORIZED_SERVICE_IN_THIS_PLMN"),
+ enumval_def_u32(5637, "DIAMETER_ERROR_PROXIMITY_CANCELLED"),
+ enumval_def_u32(5638, "DIAMETER_ERROR_INVALID_TARGET_PDUID"),
+ enumval_def_u32(5639, "DIAMETER_ERROR_INVALID_TARGET_RPAUID"),
+ enumval_def_u32(5640, "DIAMETER_ERROR_NO_ASSOCIATED_RESTRICTED_CODE"),
+ enumval_def_u32(5641, "DIAMETER_ERROR_INVALID_DISCOVERY_TYPE"),
+ enumval_def_u32(5650, "DIAMETER_ERROR_REQUESTED_LOCATION_NOT_SERVED"),
+ enumval_def_u32(5651, "DIAMETER_ERROR_INVALID_EPS_BEARER"),
+ enumval_def_u32(5652, "DIAMETER_ERROR_NIDD_CONFIGURATION_NOT_AVAILABLE"),
+ enumval_def_u32(5653, "DIAMETER_ERROR_USER_TEMPORARILY_UNREACHABLE"),
+ enumval_def_u32(5670, "DIAMETER_ERROR_UNKNKOWN_DATA"),
+ enumval_def_u32(5671, "DIAMETER_ERROR_REQUIRED_KEY_NOT_PROVIDED"),
+ enumval_def_u32(5690, "DIAMETER_ERROR_UNKNOWN_V2X_SUBSCRIPTION"),
+ enumval_def_u32(5691, "DIAMETER_ERROR_V2X_NOT_ALLOWED"),
+ };
+ int i;
+ /* Create the Enumerated type and enumerated values */
+ CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
+ for (i = 0; i < sizeof(tvals) / sizeof(tvals[0]); i++) {
+ CHECK_dict_new( DICT_ENUMVAL, &tvals[i], type, NULL);
+ }
+ }
- struct dict_object * Address_type;
- struct dict_object * DiameterIdentity_type;
- struct dict_object * DiameterURI_type;
- struct dict_object * IPFilterRule_type;
- struct dict_object * Time_type;
- struct dict_object * UTF8String_type;
-
- CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_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, "IPFilterRule", &IPFilterRule_type);
- CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
- CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
-
-
- /* The following is created automatically. Do not modify. */
- /* Changes will be lost during the next update. Modify the source org file instead. */
-
- /* 3GPP 29.061-c00 (12.0.0 2012.12.20) */
- /* 3GPP 29.061 is not very clear and self-inconsistent about M */
- /* for this reason, other sources are assumed more trustworthy */
- /* M inconsistently specified */
- /* 3GPP-IMSI */
- {
- struct dict_avp_data data = {
- 1, /* Code */
- 10415, /* Vendor */
- "3GPP-IMSI", /* 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);
- };
-
- /* 29.061 says OctetString; dumps say UInt32; manually changed */
- /* 29.061 says MUST NOT M; dumps say MUST */
- /* 3GPP-Charging-Id */
- {
- struct dict_avp_data data = {
- 2, /* Code */
- 10415, /* Vendor */
- "3GPP-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);
- };
-
- /* 29.061 says MUST NOT M; dumps say MUST */
- /* 3GPP-PDP-Type */
- {
- struct dict_avp_data data = {
- 3, /* Code */
- 10415, /* Vendor */
- "3GPP-PDP-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, "Enumerated(3GPP/3GPP-PDP-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* 3GPP-CG-Address */
- {
- struct dict_avp_data data = {
- 4, /* Code */
- 10415, /* Vendor */
- "3GPP-CG-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-GPRS-Negotiated-QoS-Profile */
- {
- struct dict_avp_data data = {
- 5, /* Code */
- 10415, /* Vendor */
- "3GPP-GPRS-Negotiated-QoS-Profile", /* 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);
- };
-
- /* M inconsistently specified; old contrib/3gg says MUST NOT */
- /* 3GPP-SGSN-Address */
- {
- struct dict_avp_data data = {
- 6, /* Code */
- 10415, /* Vendor */
- "3GPP-SGSN-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 3GPP-GGSN-Address */
- {
- struct dict_avp_data data = {
- 7, /* Code */
- 10415, /* Vendor */
- "3GPP-GGSN-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 29.061 says MUST NOT M; dumps say MUST */
- /* 3GPP-IMSI-MCC-MNC */
- {
- struct dict_avp_data data = {
- 8, /* Code */
- 10415, /* Vendor */
- "3GPP-IMSI-MCC-MNC", /* 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);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-GGSN-MCC-MNC */
- {
- struct dict_avp_data data = {
- 9, /* Code */
- 10415, /* Vendor */
- "3GPP-GGSN-MCC-MNC", /* 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);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-NSAPI */
- {
- struct dict_avp_data data = {
- 10, /* Code */
- 10415, /* Vendor */
- "3GPP-NSAPI", /* 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);
- };
-
- /* added manually, missing in AVP table */
- /* 3GPP-Session-Stop-Indicator */
- {
- struct dict_avp_data data = {
- 11, /* Code */
- 10415, /* Vendor */
- "3GPP-Session-Stop-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-Selection-Mode */
- {
- struct dict_avp_data data = {
- 12, /* Code */
- 10415, /* Vendor */
- "3GPP-Selection-Mode", /* 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);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-Charging-Characteristics */
- {
- struct dict_avp_data data = {
- 13, /* Code */
- 10415, /* Vendor */
- "3GPP-Charging-Characteristics", /* 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);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-CG-IPv6-Address */
- {
- struct dict_avp_data data = {
- 14, /* Code */
- 10415, /* Vendor */
- "3GPP-CG-IPv6-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);
- };
-
- /* M inconsistently specified */
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-SGSN-IPv6-Address */
- {
- struct dict_avp_data data = {
- 15, /* Code */
- 10415, /* Vendor */
- "3GPP-SGSN-IPv6-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);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-GGSN-IPv6-Address */
- {
- struct dict_avp_data data = {
- 16, /* Code */
- 10415, /* Vendor */
- "3GPP-GGSN-IPv6-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);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-IPv6-DNS-Servers */
- {
- struct dict_avp_data data = {
- 17, /* Code */
- 10415, /* Vendor */
- "3GPP-IPv6-DNS-Servers", /* 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);
- };
-
- /* 29.061 says MUST NOT M; old contrib/3gpp says MUST */
- /* 3GPP-SGSN-MCC-MNC */
- {
- struct dict_avp_data data = {
- 18, /* Code */
- 10415, /* Vendor */
- "3GPP-SGSN-MCC-MNC", /* 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);
- };
-
- /* M inconsistently specified */
- /* 3GPP-IMEISV */
- {
- struct dict_avp_data data = {
- 20, /* Code */
- 10415, /* Vendor */
- "3GPP-IMEISV", /* 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);
- };
-
- /* M inconsistently specified */
- /* 3GPP-RAT-Type */
- {
- struct dict_avp_data data = {
- 21, /* Code */
- 10415, /* Vendor */
- "3GPP-RAT-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, NULL, NULL);
- };
-
- /* M inconsistently specified */
- /* 3GPP-User-Location-Info */
- {
- struct dict_avp_data data = {
- 22, /* Code */
- 10415, /* Vendor */
- "3GPP-User-Location-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, NULL, NULL);
- };
-
- /* M inconsistently specified */
- /* 3GPP-MS-TimeZone */
- {
- struct dict_avp_data data = {
- 23, /* Code */
- 10415, /* Vendor */
- "3GPP-MS-TimeZone", /* 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);
- };
-
- /* 3GPP-CAMEL-Charging-Info */
- {
- struct dict_avp_data data = {
- 24, /* Code */
- 10415, /* Vendor */
- "3GPP-CAMEL-Charging-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 3GPP-Packet-Filter */
- {
- struct dict_avp_data data = {
- 25, /* Code */
- 10415, /* Vendor */
- "3GPP-Packet-Filter", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 3GPP-Negotiated-DSCP */
- {
- struct dict_avp_data data = {
- 26, /* Code */
- 10415, /* Vendor */
- "3GPP-Negotiated-DSCP", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 3GPP-Allocate-IP-Type */
- {
- struct dict_avp_data data = {
- 27, /* Code */
- 10415, /* Vendor */
- "3GPP-Allocate-IP-Type", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* added manually, missing in AVP table */
- /* External-Identifier */
- {
- struct dict_avp_data data = {
- 28, /* Code */
- 10415, /* Vendor */
- "External-Identifier", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* TMGI */
- {
- struct dict_avp_data data = {
- 900, /* Code */
- 10415, /* Vendor */
- "TMGI", /* 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);
- };
-
- /* Required-MBMS-Bearer-Capabilities */
- {
- struct dict_avp_data data = {
- 901, /* Code */
- 10415, /* Vendor */
- "Required-MBMS-Bearer-Capabilities", /* 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);
- };
-
- /* MBMS-StartStop-Indication */
- {
- struct dict_avp_data data = {
- 902, /* Code */
- 10415, /* Vendor */
- "MBMS-StartStop-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, "Enumerated(3GPP/MBMS-StartStop-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MBMS-Service-Area */
- {
- struct dict_avp_data data = {
- 903, /* Code */
- 10415, /* Vendor */
- "MBMS-Service-Area", /* 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);
- };
-
- /* MBMS-Session-Duration */
- {
- struct dict_avp_data data = {
- 904, /* Code */
- 10415, /* Vendor */
- "MBMS-Session-Duration", /* 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);
- };
-
- /* Alternative-APN */
- {
- struct dict_avp_data data = {
- 905, /* Code */
- 10415, /* Vendor */
- "Alternative-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);
- };
-
- /* MBMS-Service-Type */
- {
- struct dict_avp_data data = {
- 906, /* Code */
- 10415, /* Vendor */
- "MBMS-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, "Enumerated(3GPP/MBMS-Service-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MBMS-2G-3G-Indicator */
- {
- struct dict_avp_data data = {
- 907, /* Code */
- 10415, /* Vendor */
- "MBMS-2G-3G-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-2G-3G-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MBMS-Session-Identity */
- {
- struct dict_avp_data data = {
- 908, /* Code */
- 10415, /* Vendor */
- "MBMS-Session-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, NULL, NULL);
- };
-
- /* RAI */
- {
- struct dict_avp_data data = {
- 909, /* Code */
- 10415, /* Vendor */
- "RAI", /* 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);
- };
-
- /* Additional-MBMS-Trace-Info */
- {
- struct dict_avp_data data = {
- 910, /* Code */
- 10415, /* Vendor */
- "Additional-MBMS-Trace-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, NULL, NULL);
- };
-
- /* MBMS-Time-To-Data-Transfer */
- {
- struct dict_avp_data data = {
- 911, /* Code */
- 10415, /* Vendor */
- "MBMS-Time-To-Data-Transfer", /* 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);
- };
-
- /* MBMS-Session-Repetition-Number */
- {
- struct dict_avp_data data = {
- 912, /* Code */
- 10415, /* Vendor */
- "MBMS-Session-Repetition-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);
- };
-
- /* MBMS-Required-QoS */
- {
- struct dict_avp_data data = {
- 913, /* Code */
- 10415, /* Vendor */
- "MBMS-Required-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);
- };
-
- /* MBMS-Counting-Information */
- {
- struct dict_avp_data data = {
- 914, /* Code */
- 10415, /* Vendor */
- "MBMS-Counting-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-Counting-Information)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MBMS-User-Data-Mode-Indication */
- {
- struct dict_avp_data data = {
- 915, /* Code */
- 10415, /* Vendor */
- "MBMS-User-Data-Mode-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, "Enumerated(3GPP/MBMS-User-Data-Mode-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MBMS-GGSN-Address */
- {
- struct dict_avp_data data = {
- 916, /* Code */
- 10415, /* Vendor */
- "MBMS-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, NULL, NULL);
- };
-
- /* MBMS-GGSN-IPv6-Address */
- {
- struct dict_avp_data data = {
- 917, /* Code */
- 10415, /* Vendor */
- "MBMS-GGSN-IPv6-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);
- };
-
- /* MBMS-BMSC-SSM-IP-Address */
- {
- struct dict_avp_data data = {
- 918, /* Code */
- 10415, /* Vendor */
- "MBMS-BMSC-SSM-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, NULL, NULL);
- };
-
- /* MBMS-BMSC-SSM-IPv6-Address */
- {
- struct dict_avp_data data = {
- 919, /* Code */
- 10415, /* Vendor */
- "MBMS-BMSC-SSM-IPv6-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);
- };
-
- /* MBMS-Flow-Identifier */
- {
- struct dict_avp_data data = {
- 920, /* Code */
- 10415, /* Vendor */
- "MBMS-Flow-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, NULL, NULL);
- };
-
- /* CN-IP-Multicast-Distribution */
- {
- struct dict_avp_data data = {
- 921, /* Code */
- 10415, /* Vendor */
- "CN-IP-Multicast-Distribution", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CN-IP-Multicast-Distribution)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MBMS-HC-Indicator */
- {
- struct dict_avp_data data = {
- 922, /* Code */
- 10415, /* Vendor */
- "MBMS-HC-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MBMS-HC-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* 3GPP 29.140-700 (7.0.0 2007.07.05) */
- /* Served-User-Identity */
- {
- struct dict_avp_data data = {
- 1100, /* Code */
- 10415, /* Vendor */
- "Served-User-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* reuses: MSISDN */
- /* VASP-ID */
- {
- struct dict_avp_data data = {
- 1101, /* Code */
- 10415, /* Vendor */
- "VASP-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);
- };
-
- /* VAS-ID */
- {
- struct dict_avp_data data = {
- 1102, /* Code */
- 10415, /* Vendor */
- "VAS-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);
- };
-
- /* Trigger-Event */
- {
- struct dict_avp_data data = {
- 1103, /* Code */
- 10415, /* Vendor */
- "Trigger-Event", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Trigger-Event)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* reuses: 3GPP-IMSI */
- /* Sender-Address */
- {
- struct dict_avp_data data = {
- 1104, /* Code */
- 10415, /* Vendor */
- "Sender-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);
- };
-
- /* Initial-Recipient-Address */
- {
- struct dict_avp_data data = {
- 1105, /* Code */
- 10415, /* Vendor */
- "Initial-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, NULL);
- };
-
- /* Result-Recipient-Address */
- {
- struct dict_avp_data data = {
- 1106, /* Code */
- 10415, /* Vendor */
- "Result-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, NULL);
- };
-
- /* conflicts with one in (more common) 32.329 */
- /* Sequence-Number-29.140 */
- {
- struct dict_avp_data data = {
- 1107, /* Code */
- 10415, /* Vendor */
- "Sequence-Number-29.140", /* 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);
- };
-
- /* conflicts with one in (more common) 32.299 */
- /* Recipient-Address-29.140 */
- {
- struct dict_avp_data data = {
- 1108, /* Code */
- 10415, /* Vendor */
- "Recipient-Address-29.140", /* 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);
- };
-
- /* Routeing-Address */
- {
- struct dict_avp_data data = {
- 1109, /* Code */
- 10415, /* Vendor */
- "Routeing-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);
- };
-
- /* Originating-Interface */
- {
- struct dict_avp_data data = {
- 1110, /* Code */
- 10415, /* Vendor */
- "Originating-Interface", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Originating-Interface)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Delivery-Report */
- {
- struct dict_avp_data data = {
- 1111, /* Code */
- 10415, /* Vendor */
- "Delivery-Report", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Delivery-Report)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Read-Reply */
- {
- struct dict_avp_data data = {
- 1112, /* Code */
- 10415, /* Vendor */
- "Read-Reply", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Read-Reply)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Sender-Visibility */
- {
- struct dict_avp_data data = {
- 1113, /* Code */
- 10415, /* Vendor */
- "Sender-Visibility", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Sender-Visibility)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Service-Key */
- {
- struct dict_avp_data data = {
- 1114, /* Code */
- 10415, /* Vendor */
- "Service-Key", /* 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);
- };
-
- /* Billing-Information */
- {
- struct dict_avp_data data = {
- 1115, /* Code */
- 10415, /* Vendor */
- "Billing-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);
- };
-
- /* conflicts with one in (more common) 32.299 */
- /* Status-29.140 */
- {
- struct dict_avp_data data = {
- 1116, /* Code */
- 10415, /* Vendor */
- "Status-29.140", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Status-Code */
- {
- struct dict_avp_data data = {
- 1117, /* Code */
- 10415, /* Vendor */
- "Status-Code", /* 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);
- };
-
- /* Status-Text */
- {
- struct dict_avp_data data = {
- 1118, /* Code */
- 10415, /* Vendor */
- "Status-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);
- };
-
- /* Routeing-Address-Resolution */
- {
- struct dict_avp_data data = {
- 1119, /* Code */
- 10415, /* Vendor */
- "Routeing-Address-Resolution", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Routeing-Address-Resolution)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* 3GPP 29.173-c00 (12.0.0 2013.03.13) */
- /* LMSI */
- {
- struct dict_avp_data data = {
- 2400, /* Code */
- 10415, /* Vendor */
- "LMSI", /* 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);
- };
-
- /* Serving-Node */
- {
- struct dict_avp_data data = {
- 2401, /* Code */
- 10415, /* Vendor */
- "Serving-Node", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* MME-Name */
- {
- struct dict_avp_data data = {
- 2402, /* Code */
- 10415, /* Vendor */
- "MME-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, DiameterIdentity_type, NULL);
- };
-
- /* MSC-Number */
- {
- struct dict_avp_data data = {
- 2403, /* Code */
- 10415, /* Vendor */
- "MSC-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);
- };
-
- /* LCS-Capabilities-Sets */
- {
- struct dict_avp_data data = {
- 2404, /* Code */
- 10415, /* Vendor */
- "LCS-Capabilities-Sets", /* 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);
- };
-
- /* GMLC-Address */
- {
- struct dict_avp_data data = {
- 2405, /* Code */
- 10415, /* Vendor */
- "GMLC-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);
- };
-
- /* Additional-Serving-Node */
- {
- struct dict_avp_data data = {
- 2406, /* Code */
- 10415, /* Vendor */
- "Additional-Serving-Node", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* PPR-Address */
- {
- struct dict_avp_data data = {
- 2407, /* Code */
- 10415, /* Vendor */
- "PPR-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);
- };
-
- /* MME-Realm */
- {
- struct dict_avp_data data = {
- 2408, /* Code */
- 10415, /* Vendor */
- "MME-Realm", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
- };
-
- /* SGSN-Name */
- {
- struct dict_avp_data data = {
- 2409, /* Code */
- 10415, /* Vendor */
- "SGSN-Name", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
- };
-
- /* SGSN-Realm */
- {
- struct dict_avp_data data = {
- 2410, /* Code */
- 10415, /* Vendor */
- "SGSN-Realm", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
- };
-
- /* 3GPP 29.210-670 (6.7.0 2006-12-18) */
- /* PDP-Session-Operation */
- {
- struct dict_avp_data data = {
- 1015, /* Code */
- 10415, /* Vendor */
- "PDP-Session-Operation", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PDP-Session-Operation)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* 3GPP 29.212-c00 (12.0.0 2013.03.15) */
- /* Gx-specific */
- /* ADC-Revalidation-Time */
- {
- struct dict_avp_data data = {
- 2801, /* Code */
- 10415, /* Vendor */
- "ADC-Revalidation-Time", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
- };
-
- /* ADC-Rule-Install */
- {
- struct dict_avp_data data = {
- 1092, /* Code */
- 10415, /* Vendor */
- "ADC-Rule-Install", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* ADC-Rule-Remove */
- {
- struct dict_avp_data data = {
- 1093, /* Code */
- 10415, /* Vendor */
- "ADC-Rule-Remove", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* ADC-Rule-Definition */
- {
- struct dict_avp_data data = {
- 1094, /* Code */
- 10415, /* Vendor */
- "ADC-Rule-Definition", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* ADC-Rule-Base-Name */
- {
- struct dict_avp_data data = {
- 1095, /* Code */
- 10415, /* Vendor */
- "ADC-Rule-Base-Name", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* ADC-Rule-Name */
- {
- struct dict_avp_data data = {
- 1096, /* Code */
- 10415, /* Vendor */
- "ADC-Rule-Name", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* ADC-Rule-Report */
- {
- struct dict_avp_data data = {
- 1097, /* Code */
- 10415, /* Vendor */
- "ADC-Rule-Report", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Application-Detection-Information */
- {
- struct dict_avp_data data = {
- 1098, /* Code */
- 10415, /* Vendor */
- "Application-Detection-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Access-Network-Charging-Identifier-Gx */
- {
- struct dict_avp_data data = {
- 1022, /* Code */
- 10415, /* Vendor */
- "Access-Network-Charging-Identifier-Gx", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Allocation-Retention-Priority */
- {
- struct dict_avp_data data = {
- 1034, /* Code */
- 10415, /* Vendor */
- "Allocation-Retention-Priority", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* AN-GW-Address */
- {
- struct dict_avp_data data = {
- 1050, /* Code */
- 10415, /* Vendor */
- "AN-GW-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
- };
-
- /* APN-Aggregate-Max-Bitrate-DL */
- {
- struct dict_avp_data data = {
- 1040, /* Code */
- 10415, /* Vendor */
- "APN-Aggregate-Max-Bitrate-DL", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* APN-Aggregate-Max-Bitrate-UL */
- {
- struct dict_avp_data data = {
- 1041, /* Code */
- 10415, /* Vendor */
- "APN-Aggregate-Max-Bitrate-UL", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Bearer-Control-Mode */
- {
- struct dict_avp_data data = {
- 1023, /* Code */
- 10415, /* Vendor */
- "Bearer-Control-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, "Enumerated(3GPP/Bearer-Control-Mode)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Bearer-Identifier */
- {
- struct dict_avp_data data = {
- 1020, /* Code */
- 10415, /* Vendor */
- "Bearer-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, NULL, NULL);
- };
-
- /* Bearer-Operation */
- {
- struct dict_avp_data data = {
- 1021, /* Code */
- 10415, /* Vendor */
- "Bearer-Operation", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Operation)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Bearer-Usage */
- {
- struct dict_avp_data data = {
- 1000, /* Code */
- 10415, /* Vendor */
- "Bearer-Usage", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Bearer-Usage)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Charging-Rule-Install */
- {
- struct dict_avp_data data = {
- 1001, /* Code */
- 10415, /* Vendor */
- "Charging-Rule-Install", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Charging-Rule-Remove */
- {
- struct dict_avp_data data = {
- 1002, /* Code */
- 10415, /* Vendor */
- "Charging-Rule-Remove", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Charging-Rule-Definition */
- {
- struct dict_avp_data data = {
- 1003, /* Code */
- 10415, /* Vendor */
- "Charging-Rule-Definition", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Charging-Rule-Base-Name */
- {
- struct dict_avp_data data = {
- 1004, /* Code */
- 10415, /* Vendor */
- "Charging-Rule-Base-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);
- };
-
- /* Charging-Rule-Name */
- {
- struct dict_avp_data data = {
- 1005, /* Code */
- 10415, /* Vendor */
- "Charging-Rule-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, NULL, NULL);
- };
-
- /* Charging-Rule-Report */
- {
- struct dict_avp_data data = {
- 1018, /* Code */
- 10415, /* Vendor */
- "Charging-Rule-Report", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Charging-Correlation-Indicator */
- {
- struct dict_avp_data data = {
- 1073, /* Code */
- 10415, /* Vendor */
- "Charging-Correlation-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Charging-Correlation-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* CoA-IP-Address */
- {
- struct dict_avp_data data = {
- 1035, /* Code */
- 10415, /* Vendor */
- "CoA-IP-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
- };
-
- /* CoA-Information */
- {
- struct dict_avp_data data = {
- 1039, /* Code */
- 10415, /* Vendor */
- "CoA-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* CSG-Information-Reporting */
- {
- struct dict_avp_data data = {
- 1071, /* Code */
- 10415, /* Vendor */
- "CSG-Information-Reporting", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CSG-Information-Reporting)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Default-EPS-Bearer-QoS */
- {
- struct dict_avp_data data = {
- 1049, /* Code */
- 10415, /* Vendor */
- "Default-EPS-Bearer-QoS", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Event-Report-Indication */
- {
- struct dict_avp_data data = {
- 1033, /* Code */
- 10415, /* Vendor */
- "Event-Report-Indication", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Event-Trigger */
- {
- struct dict_avp_data data = {
- 1006, /* Code */
- 10415, /* Vendor */
- "Event-Trigger", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Event-Trigger)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Flow-Direction */
- {
- struct dict_avp_data data = {
- 1080, /* Code */
- 10415, /* Vendor */
- "Flow-Direction", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Flow-Direction)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Flow-Information */
- {
- struct dict_avp_data data = {
- 1058, /* Code */
- 10415, /* Vendor */
- "Flow-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Flow-Label */
- {
- struct dict_avp_data data = {
- 1057, /* Code */
- 10415, /* Vendor */
- "Flow-Label", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* IP-CAN-Type */
- {
- struct dict_avp_data data = {
- 1027, /* Code */
- 10415, /* Vendor */
- "IP-CAN-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, "Enumerated(3GPP/IP-CAN-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Guaranteed-Bitrate-DL */
- {
- struct dict_avp_data data = {
- 1025, /* Code */
- 10415, /* Vendor */
- "Guaranteed-Bitrate-DL", /* 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);
- };
-
- /* Guaranteed-Bitrate-UL */
- {
- struct dict_avp_data data = {
- 1026, /* Code */
- 10415, /* Vendor */
- "Guaranteed-Bitrate-UL", /* 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);
- };
-
- /* HeNB-Local-IP-Address */
- {
- struct dict_avp_data data = {
- 2804, /* Code */
- 10415, /* Vendor */
- "HeNB-Local-IP-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
- };
-
- /* Metering-Method */
- {
- struct dict_avp_data data = {
- 1007, /* Code */
- 10415, /* Vendor */
- "Metering-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, "Enumerated(3GPP/Metering-Method)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Monitoring-Key */
- {
- struct dict_avp_data data = {
- 1066, /* Code */
- 10415, /* Vendor */
- "Monitoring-Key", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Mute-Notification */
- {
- struct dict_avp_data data = {
- 2809, /* Code */
- 10415, /* Vendor */
- "Mute-Notification", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Mute-Notification)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Monitoring-Time */
- {
- struct dict_avp_data data = {
- 2810, /* Code */
- 10415, /* Vendor */
- "Monitoring-Time", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
- };
-
- /* Network-Request-Support */
- {
- struct dict_avp_data data = {
- 1024, /* Code */
- 10415, /* Vendor */
- "Network-Request-Support", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Network-Request-Support)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Offline */
- {
- struct dict_avp_data data = {
- 1008, /* Code */
- 10415, /* Vendor */
- "Offline", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Offline)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Online */
- {
- struct dict_avp_data data = {
- 1009, /* Code */
- 10415, /* Vendor */
- "Online", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Online)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Packet-Filter-Content */
- {
- struct dict_avp_data data = {
- 1059, /* Code */
- 10415, /* Vendor */
- "Packet-Filter-Content", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, IPFilterRule_type, NULL);
- };
-
- /* Packet-Filter-Identifier */
- {
- struct dict_avp_data data = {
- 1060, /* Code */
- 10415, /* Vendor */
- "Packet-Filter-Identifier", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Packet-Filter-Information */
- {
- struct dict_avp_data data = {
- 1061, /* Code */
- 10415, /* Vendor */
- "Packet-Filter-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Packet-Filter-Operation */
- {
- struct dict_avp_data data = {
- 1062, /* Code */
- 10415, /* Vendor */
- "Packet-Filter-Operation", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Packet-Filter-Operation)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Packet-Filter-Usage */
- {
- struct dict_avp_data data = {
- 1072, /* Code */
- 10415, /* Vendor */
- "Packet-Filter-Usage", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Packet-Filter-Usage)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* PDN-Connection-ID */
- {
- struct dict_avp_data data = {
- 1065, /* Code */
- 10415, /* Vendor */
- "PDN-Connection-ID", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Precedence */
- {
- struct dict_avp_data data = {
- 1010, /* Code */
- 10415, /* Vendor */
- "Precedence", /* 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);
- };
-
- /* Pre-emption-Capability */
- {
- struct dict_avp_data data = {
- 1047, /* Code */
- 10415, /* Vendor */
- "Pre-emption-Capability", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pre-emption-Capability)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Pre-emption-Vulnerability */
- {
- struct dict_avp_data data = {
- 1048, /* Code */
- 10415, /* Vendor */
- "Pre-emption-Vulnerability", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Pre-emption-Vulnerability)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Priority-Level */
- {
- struct dict_avp_data data = {
- 1046, /* Code */
- 10415, /* Vendor */
- "Priority-Level", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Redirect-Information */
- {
- struct dict_avp_data data = {
- 1085, /* Code */
- 10415, /* Vendor */
- "Redirect-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Redirect-Support */
- {
- struct dict_avp_data data = {
- 1086, /* Code */
- 10415, /* Vendor */
- "Redirect-Support", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Redirect-Support)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Reporting-Level */
- {
- struct dict_avp_data data = {
- 1011, /* Code */
- 10415, /* Vendor */
- "Reporting-Level", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Reporting-Level)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Routing-Filter */
- {
- struct dict_avp_data data = {
- 1078, /* Code */
- 10415, /* Vendor */
- "Routing-Filter", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Routing-IP-Address */
- {
- struct dict_avp_data data = {
- 1079, /* Code */
- 10415, /* Vendor */
- "Routing-IP-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
- };
-
- /* Routing-Rule-Definition */
- {
- struct dict_avp_data data = {
- 1076, /* Code */
- 10415, /* Vendor */
- "Routing-Rule-Definition", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Routing-Rule-Identifier */
- {
- struct dict_avp_data data = {
- 1077, /* Code */
- 10415, /* Vendor */
- "Routing-Rule-Identifier", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Routing-Rule-Install */
- {
- struct dict_avp_data data = {
- 1081, /* Code */
- 10415, /* Vendor */
- "Routing-Rule-Install", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Routing-Rule-Remove */
- {
- struct dict_avp_data data = {
- 1075, /* Code */
- 10415, /* Vendor */
- "Routing-Rule-Remove", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* PCC-Rule-Status */
- {
- struct dict_avp_data data = {
- 1019, /* Code */
- 10415, /* Vendor */
- "PCC-Rule-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, "Enumerated(3GPP/PCC-Rule-Status)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Session-Release-Cause */
- {
- struct dict_avp_data data = {
- 1045, /* Code */
- 10415, /* Vendor */
- "Session-Release-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 */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Release-Cause)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* TDF-Information */
- {
- struct dict_avp_data data = {
- 1087, /* Code */
- 10415, /* Vendor */
- "TDF-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* TDF-Application-Identifier */
- {
- struct dict_avp_data data = {
- 1088, /* Code */
- 10415, /* Vendor */
- "TDF-Application-Identifier", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* TDF-Application-Instance-Identifier */
- {
- struct dict_avp_data data = {
- 2802, /* Code */
- 10415, /* Vendor */
- "TDF-Application-Instance-Identifier", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* TDF-Destination-Host */
- {
- struct dict_avp_data data = {
- 1089, /* Code */
- 10415, /* Vendor */
- "TDF-Destination-Host", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
- };
-
- /* TDF-Destination-Realm */
- {
- struct dict_avp_data data = {
- 1090, /* Code */
- 10415, /* Vendor */
- "TDF-Destination-Realm", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL);
- };
-
- /* TDF-IP-Address */
- {
- struct dict_avp_data data = {
- 1091, /* Code */
- 10415, /* Vendor */
- "TDF-IP-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
- };
-
- /* QoS-Class-Identifier */
- {
- struct dict_avp_data data = {
- 1028, /* Code */
- 10415, /* Vendor */
- "QoS-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, "Enumerated(3GPP/QoS-Class-Identifier)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* QoS-Information */
- {
- struct dict_avp_data data = {
- 1016, /* Code */
- 10415, /* Vendor */
- "QoS-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, NULL);
- };
-
- /* QoS-Negotiation */
- {
- struct dict_avp_data data = {
- 1029, /* Code */
- 10415, /* Vendor */
- "QoS-Negotiation", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Negotiation)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* QoS-Upgrade */
- {
- struct dict_avp_data data = {
- 1030, /* Code */
- 10415, /* Vendor */
- "QoS-Upgrade", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/QoS-Upgrade)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* PS-to-CS-Session-Continuity */
- {
- struct dict_avp_data data = {
- 1099, /* Code */
- 10415, /* Vendor */
- "PS-to-CS-Session-Continuity", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PS-to-CS-Session-Continuity)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Resource-Allocation-Notification */
- {
- struct dict_avp_data data = {
- 1063, /* Code */
- 10415, /* Vendor */
- "Resource-Allocation-Notification", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Resource-Allocation-Notification)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Rule-Failure-Code */
- {
- struct dict_avp_data data = {
- 1031, /* Code */
- 10415, /* Vendor */
- "Rule-Failure-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, "Enumerated(3GPP/Rule-Failure-Code)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Security-Parameter-Index */
- {
- struct dict_avp_data data = {
- 1056, /* Code */
- 10415, /* Vendor */
- "Security-Parameter-Index", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* TFT-Filter */
- {
- struct dict_avp_data data = {
- 1012, /* Code */
- 10415, /* Vendor */
- "TFT-Filter", /* 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, IPFilterRule_type, NULL);
- };
-
- /* TFT-Packet-Filter-Information */
- {
- struct dict_avp_data data = {
- 1013, /* Code */
- 10415, /* Vendor */
- "TFT-Packet-Filter-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, NULL);
- };
-
- /* ToS-Traffic-Class */
- {
- struct dict_avp_data data = {
- 1014, /* Code */
- 10415, /* Vendor */
- "ToS-Traffic-Class", /* 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);
- };
-
- /* Tunnel-Header-Filter */
- {
- struct dict_avp_data data = {
- 1036, /* Code */
- 10415, /* Vendor */
- "Tunnel-Header-Filter", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, IPFilterRule_type, NULL);
- };
-
- /* Tunnel-Header-Length */
- {
- struct dict_avp_data data = {
- 1037, /* Code */
- 10415, /* Vendor */
- "Tunnel-Header-Length", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Tunnel-Information */
- {
- struct dict_avp_data data = {
- 1038, /* Code */
- 10415, /* Vendor */
- "Tunnel-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* RAT-Type */
- {
- struct dict_avp_data data = {
- 1032, /* Code */
- 10415, /* Vendor */
- "RAT-Type", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/RAT-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Revalidation-Time */
- {
- struct dict_avp_data data = {
- 1042, /* Code */
- 10415, /* Vendor */
- "Revalidation-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);
- };
-
- /* Rule-Activation-Time */
- {
- struct dict_avp_data data = {
- 1043, /* Code */
- 10415, /* Vendor */
- "Rule-Activation-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);
- };
-
- /* UDP-Source-Port */
- {
- struct dict_avp_data data = {
- 2806, /* Code */
- 10415, /* Vendor */
- "UDP-Source-Port", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* UE-Local-IP-Address */
- {
- struct dict_avp_data data = {
- 2805, /* Code */
- 10415, /* Vendor */
- "UE-Local-IP-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
- };
-
- /* Usage-Monitoring-Information */
- {
- struct dict_avp_data data = {
- 1067, /* Code */
- 10415, /* Vendor */
- "Usage-Monitoring-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Rule-Deactivation-Time */
- {
- struct dict_avp_data data = {
- 1044, /* Code */
- 10415, /* Vendor */
- "Rule-Deactivation-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);
- };
-
- /* Usage-Monitoring-Level */
- {
- struct dict_avp_data data = {
- 1068, /* Code */
- 10415, /* Vendor */
- "Usage-Monitoring-Level", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Level)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Usage-Monitoring-Report */
- {
- struct dict_avp_data data = {
- 1069, /* Code */
- 10415, /* Vendor */
- "Usage-Monitoring-Report", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Report)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Usage-Monitoring-Support */
- {
- struct dict_avp_data data = {
- 1070, /* Code */
- 10415, /* Vendor */
- "Usage-Monitoring-Support", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Usage-Monitoring-Support)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Gxx-specific */
- /* QoS-Rule-Install */
- {
- struct dict_avp_data data = {
- 1051, /* Code */
- 10415, /* Vendor */
- "QoS-Rule-Install", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* QoS-Rule-Remove */
- {
- struct dict_avp_data data = {
- 1052, /* Code */
- 10415, /* Vendor */
- "QoS-Rule-Remove", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* QoS-Rule-Definition */
- {
- struct dict_avp_data data = {
- 1053, /* Code */
- 10415, /* Vendor */
- "QoS-Rule-Definition", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* QoS-Rule-Name */
- {
- struct dict_avp_data data = {
- 1054, /* Code */
- 10415, /* Vendor */
- "QoS-Rule-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, NULL, NULL);
- };
-
- /* QoS-Rule-Base-Name */
- {
- struct dict_avp_data data = {
- 1074, /* Code */
- 10415, /* Vendor */
- "QoS-Rule-Base-Name", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* QoS-Rule-Report */
- {
- struct dict_avp_data data = {
- 1055, /* Code */
- 10415, /* Vendor */
- "QoS-Rule-Report", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Session-Linking-Indicator */
- {
- struct dict_avp_data data = {
- 1064, /* Code */
- 10415, /* Vendor */
- "Session-Linking-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Linking-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* S15-specific */
- /* CS-Service-Qos-Request-Identifier */
- {
- struct dict_avp_data data = {
- 2807, /* Code */
- 10415, /* Vendor */
- "CS-Service-Qos-Request-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, NULL, NULL);
- };
-
- /* CS-Service-QoS-Request-Operation */
- {
- struct dict_avp_data data = {
- 2808, /* Code */
- 10415, /* Vendor */
- "CS-Service-QoS-Request-Operation", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/CS-Service-QoS-Request-Operation)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* 3GPP 29.214-b80 (11.8.0 2013.03.15) */
- /* Abort-Cause */
- {
- struct dict_avp_data data = {
- 500, /* Code */
- 10415, /* Vendor */
- "Abort-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 */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Abort-Cause)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Access-Network-Charging-Address */
- {
- struct dict_avp_data data = {
- 501, /* Code */
- 10415, /* Vendor */
- "Access-Network-Charging-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);
- };
-
- /* Access-Network-Charging-Identifier */
- {
- struct dict_avp_data data = {
- 502, /* Code */
- 10415, /* Vendor */
- "Access-Network-Charging-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, NULL);
- };
-
- /* Access-Network-Charging-Identifier-Value */
- {
- struct dict_avp_data data = {
- 503, /* Code */
- 10415, /* Vendor */
- "Access-Network-Charging-Identifier-Value", /* 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);
- };
-
- /* Acceptable-Service-Info */
- {
- struct dict_avp_data data = {
- 526, /* Code */
- 10415, /* Vendor */
- "Acceptable-Service-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* AF-Application-Identifier */
- {
- struct dict_avp_data data = {
- 504, /* Code */
- 10415, /* Vendor */
- "AF-Application-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, NULL, NULL);
- };
-
- /* AF-Charging-Identifier */
- {
- struct dict_avp_data data = {
- 505, /* Code */
- 10415, /* Vendor */
- "AF-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, NULL, NULL);
- };
-
- /* Application-Service-Provider-Identity */
- {
- struct dict_avp_data data = {
- 532, /* Code */
- 10415, /* Vendor */
- "Application-Service-Provider-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* Codec-Data */
- {
- struct dict_avp_data data = {
- 524, /* Code */
- 10415, /* Vendor */
- "Codec-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);
- };
-
- /* Flow-Description */
- {
- struct dict_avp_data data = {
- 507, /* Code */
- 10415, /* Vendor */
- "Flow-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, IPFilterRule_type, NULL);
- };
-
- /* Flow-Number */
- {
- struct dict_avp_data data = {
- 509, /* Code */
- 10415, /* Vendor */
- "Flow-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);
- };
-
- /* Flows */
- {
- struct dict_avp_data data = {
- 510, /* Code */
- 10415, /* Vendor */
- "Flows", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Flow-Status */
- {
- struct dict_avp_data data = {
- 511, /* Code */
- 10415, /* Vendor */
- "Flow-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, "Enumerated(3GPP/Flow-Status)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Flow-Usage */
- {
- struct dict_avp_data data = {
- 512, /* Code */
- 10415, /* Vendor */
- "Flow-Usage", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Flow-Usage)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Service-URN */
- {
- struct dict_avp_data data = {
- 525, /* Code */
- 10415, /* Vendor */
- "Service-URN", /* 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);
- };
-
- /* Specific-Action */
- {
- struct dict_avp_data data = {
- 513, /* Code */
- 10415, /* Vendor */
- "Specific-Action", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Specific-Action)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Max-Requested-Bandwidth-DL */
- {
- struct dict_avp_data data = {
- 515, /* Code */
- 10415, /* Vendor */
- "Max-Requested-Bandwidth-DL", /* 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);
- };
-
- /* Max-Requested-Bandwidth-UL */
- {
- struct dict_avp_data data = {
- 516, /* Code */
- 10415, /* Vendor */
- "Max-Requested-Bandwidth-UL", /* 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);
- };
-
- /* Media-Component-Description */
- {
- struct dict_avp_data data = {
- 517, /* Code */
- 10415, /* Vendor */
- "Media-Component-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, NULL);
- };
-
- /* Media-Component-Number */
- {
- struct dict_avp_data data = {
- 518, /* Code */
- 10415, /* Vendor */
- "Media-Component-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);
- };
-
- /* Media-Sub-Component */
- {
- struct dict_avp_data data = {
- 519, /* Code */
- 10415, /* Vendor */
- "Media-Sub-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, NULL);
- };
-
- /* Media-Type */
- {
- struct dict_avp_data data = {
- 520, /* Code */
- 10415, /* Vendor */
- "Media-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, "Enumerated(3GPP/Media-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MPS-Identifier */
- {
- struct dict_avp_data data = {
- 528, /* Code */
- 10415, /* Vendor */
- "MPS-Identifier", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Min-Requested-Bandwidth-DL */
- {
- struct dict_avp_data data = {
- 534, /* Code */
- 10415, /* Vendor */
- "Min-Requested-Bandwidth-DL", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Min-Requested-Bandwidth-UL */
- {
- struct dict_avp_data data = {
- 535, /* Code */
- 10415, /* Vendor */
- "Min-Requested-Bandwidth-UL", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* RR-Bandwidth */
- {
- struct dict_avp_data data = {
- 521, /* Code */
- 10415, /* Vendor */
- "RR-Bandwidth", /* 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);
- };
-
- /* RS-Bandwidth */
- {
- struct dict_avp_data data = {
- 522, /* Code */
- 10415, /* Vendor */
- "RS-Bandwidth", /* 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-Info-Status */
- {
- struct dict_avp_data data = {
- 527, /* Code */
- 10415, /* Vendor */
- "Service-Info-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, "Enumerated(3GPP/Service-Info-Status)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* SIP-Forking-Indication */
- {
- struct dict_avp_data data = {
- 523, /* Code */
- 10415, /* Vendor */
- "SIP-Forking-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, "Enumerated(3GPP/SIP-Forking-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Sponsor-Identity */
- {
- struct dict_avp_data data = {
- 531, /* Code */
- 10415, /* Vendor */
- "Sponsor-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* Sponsored-Connectivity-Data */
- {
- struct dict_avp_data data = {
- 530, /* Code */
- 10415, /* Vendor */
- "Sponsored-Connectivity-Data", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* AF-Signalling-Protocol */
- {
- struct dict_avp_data data = {
- 529, /* Code */
- 10415, /* Vendor */
- "AF-Signalling-Protocol", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/AF-Signalling-Protocol)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Required-Access-Info */
- {
- struct dict_avp_data data = {
- 536, /* Code */
- 10415, /* Vendor */
- "Required-Access-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Required-Access-Info)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Rx-Request-Type */
- {
- struct dict_avp_data data = {
- 533, /* Code */
- 10415, /* Vendor */
- "Rx-Request-Type", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Rx-Request-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* IP-Domain-Id */
- {
- struct dict_avp_data data = {
- 537, /* Code */
- 10415, /* Vendor */
- "IP-Domain-Id", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 3GPP 29.229-b20 (11.2.0 2012.12.21) */
- /* Associated-Identities */
- {
- struct dict_avp_data data = {
- 632, /* Code */
- 10415, /* Vendor */
- "Associated-Identities", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Associated-Registered-Identities */
- {
- struct dict_avp_data data = {
- 647, /* Code */
- 10415, /* Vendor */
- "Associated-Registered-Identities", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Call-ID-SIP-Header */
- {
- struct dict_avp_data data = {
- 643, /* Code */
- 10415, /* Vendor */
- "Call-ID-SIP-Header", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Charging-Information */
- {
- struct dict_avp_data data = {
- 618, /* Code */
- 10415, /* Vendor */
- "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, NULL);
- };
-
- /* Confidentiality-Key */
- {
- struct dict_avp_data data = {
- 625, /* Code */
- 10415, /* Vendor */
- "Confidentiality-Key", /* 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);
- };
-
- /* Contact */
- {
- struct dict_avp_data data = {
- 641, /* Code */
- 10415, /* Vendor */
- "Contact", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Deregistration-Reason */
- {
- struct dict_avp_data data = {
- 615, /* Code */
- 10415, /* Vendor */
- "Deregistration-Reason", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Feature-List */
- {
- struct dict_avp_data data = {
- 630, /* Code */
- 10415, /* Vendor */
- "Feature-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Feature-List-ID */
- {
- struct dict_avp_data data = {
- 629, /* Code */
- 10415, /* Vendor */
- "Feature-List-ID", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* From-SIP-Header */
- {
- struct dict_avp_data data = {
- 644, /* Code */
- 10415, /* Vendor */
- "From-SIP-Header", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Identity-with-Emergency-Registration */
- {
- struct dict_avp_data data = {
- 651, /* Code */
- 10415, /* Vendor */
- "Identity-with-Emergency-Registration", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Integrity-Key */
- {
- struct dict_avp_data data = {
- 626, /* Code */
- 10415, /* Vendor */
- "Integrity-Key", /* 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);
- };
-
- /* LIA-Flags */
- {
- struct dict_avp_data data = {
- 653, /* Code */
- 10415, /* Vendor */
- "LIA-Flags", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Loose-Route-Indication */
- {
- struct dict_avp_data data = {
- 638, /* Code */
- 10415, /* Vendor */
- "Loose-Route-Indication", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Loose-Route-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Mandatory-Capability */
- {
- struct dict_avp_data data = {
- 604, /* Code */
- 10415, /* Vendor */
- "Mandatory-Capability", /* 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);
- };
-
- /* Multiple-Registration-Indication */
- {
- struct dict_avp_data data = {
- 648, /* Code */
- 10415, /* Vendor */
- "Multiple-Registration-Indication", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Multiple-Registration-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Optional-Capability */
- {
- struct dict_avp_data data = {
- 605, /* Code */
- 10415, /* Vendor */
- "Optional-Capability", /* 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);
- };
-
- /* Originating-Request */
- {
- struct dict_avp_data data = {
- 633, /* Code */
- 10415, /* Vendor */
- "Originating-Request", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Originating-Request)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Path */
- {
- struct dict_avp_data data = {
- 640, /* Code */
- 10415, /* Vendor */
- "Path", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Primary-Charging-Collection-Function-Name */
- {
- struct dict_avp_data data = {
- 621, /* Code */
- 10415, /* Vendor */
- "Primary-Charging-Collection-Function-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, DiameterURI_type, NULL);
- };
-
- /* Primary-Event-Charging-Function-Name */
- {
- struct dict_avp_data data = {
- 619, /* Code */
- 10415, /* Vendor */
- "Primary-Event-Charging-Function-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, DiameterURI_type, NULL);
- };
-
- /* Priviledged-Sender-Indication */
- {
- struct dict_avp_data data = {
- 652, /* Code */
- 10415, /* Vendor */
- "Priviledged-Sender-Indication", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Priviledged-Sender-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Public-Identity */
- {
- struct dict_avp_data data = {
- 601, /* Code */
- 10415, /* Vendor */
- "Public-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);
- };
-
- /* Reason-Code */
- {
- struct dict_avp_data data = {
- 616, /* Code */
- 10415, /* Vendor */
- "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, "Enumerated(3GPP/Reason-Code)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Reason-Info */
- {
- struct dict_avp_data data = {
- 617, /* Code */
- 10415, /* Vendor */
- "Reason-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);
- };
-
- /* Record-Route */
- {
- struct dict_avp_data data = {
- 646, /* Code */
- 10415, /* Vendor */
- "Record-Route", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Restoration-Info */
- {
- struct dict_avp_data data = {
- 649, /* Code */
- 10415, /* Vendor */
- "Restoration-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SCSCF-Restoration-Info */
- {
- struct dict_avp_data data = {
- 639, /* Code */
- 10415, /* Vendor */
- "SCSCF-Restoration-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SIP-Auth-Data-Item */
- {
- struct dict_avp_data data = {
- 612, /* Code */
- 10415, /* Vendor */
- "SIP-Auth-Data-Item", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SIP-Authenticate */
- {
- struct dict_avp_data data = {
- 609, /* Code */
- 10415, /* Vendor */
- "SIP-Authenticate", /* 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);
- };
-
- /* SIP-Authentication-Context */
- {
- struct dict_avp_data data = {
- 611, /* Code */
- 10415, /* Vendor */
- "SIP-Authentication-Context", /* 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);
- };
-
- /* SIP-Authentication-Scheme */
- {
- struct dict_avp_data data = {
- 608, /* Code */
- 10415, /* Vendor */
- "SIP-Authentication-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);
- };
-
- /* SIP-Authorization */
- {
- struct dict_avp_data data = {
- 610, /* Code */
- 10415, /* Vendor */
- "SIP-Authorization", /* 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);
- };
-
- /* SIP-Digest-Authenticate */
- {
- struct dict_avp_data data = {
- 635, /* Code */
- 10415, /* Vendor */
- "SIP-Digest-Authenticate", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SIP-Item-Number */
- {
- struct dict_avp_data data = {
- 613, /* Code */
- 10415, /* Vendor */
- "SIP-Item-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);
- };
-
- /* SIP-Number-Auth-Items */
- {
- struct dict_avp_data data = {
- 607, /* Code */
- 10415, /* Vendor */
- "SIP-Number-Auth-Items", /* 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);
- };
-
- /* Secondary-Charging-Collection-Function-Name */
- {
- struct dict_avp_data data = {
- 622, /* Code */
- 10415, /* Vendor */
- "Secondary-Charging-Collection-Function-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, DiameterURI_type, NULL);
- };
-
- /* Secondary-Event-Charging-Function-Name */
- {
- struct dict_avp_data data = {
- 620, /* Code */
- 10415, /* Vendor */
- "Secondary-Event-Charging-Function-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, DiameterURI_type, NULL);
- };
-
- /* Server-Assignment-Type */
- {
- struct dict_avp_data data = {
- 614, /* Code */
- 10415, /* Vendor */
- "Server-Assignment-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, "Enumerated(3GPP/Server-Assignment-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Server-Capabilities */
- {
- struct dict_avp_data data = {
- 603, /* Code */
- 10415, /* Vendor */
- "Server-Capabilities", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Server-Name */
- {
- struct dict_avp_data data = {
- 602, /* Code */
- 10415, /* Vendor */
- "Server-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);
- };
-
- /* Session-Priority */
- {
- struct dict_avp_data data = {
- 650, /* Code */
- 10415, /* Vendor */
- "Session-Priority", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Session-Priority)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Subscription-Info */
- {
- struct dict_avp_data data = {
- 642, /* Code */
- 10415, /* Vendor */
- "Subscription-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Supported-Applications */
- {
- struct dict_avp_data data = {
- 631, /* Code */
- 10415, /* Vendor */
- "Supported-Applications", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Supported-Features */
- {
- struct dict_avp_data data = {
- 628, /* Code */
- 10415, /* Vendor */
- "Supported-Features", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* To-SIP-Header */
- {
- struct dict_avp_data data = {
- 645, /* Code */
- 10415, /* Vendor */
- "To-SIP-Header", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* UAR-Flags */
- {
- struct dict_avp_data data = {
- 637, /* Code */
- 10415, /* Vendor */
- "UAR-Flags", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* User-Authorization-Type */
- {
- struct dict_avp_data data = {
- 623, /* Code */
- 10415, /* Vendor */
- "User-Authorization-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, "Enumerated(3GPP/User-Authorization-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* User-Data */
- {
- struct dict_avp_data data = {
- 606, /* Code */
- 10415, /* Vendor */
- "User-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);
- };
-
- /* User-Data-Already-Available */
- {
- struct dict_avp_data data = {
- 624, /* Code */
- 10415, /* Vendor */
- "User-Data-Already-Available", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/User-Data-Already-Available)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Visited-Network-Identifier */
- {
- struct dict_avp_data data = {
- 600, /* Code */
- 10415, /* Vendor */
- "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, NULL, NULL);
- };
-
- /* Wildcarded-Public-Identity */
- {
- struct dict_avp_data data = {
- 634, /* Code */
- 10415, /* Vendor */
- "Wildcarded-Public-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* 3GPP 32.299-b60 (11.6.0 2012.12.21) */
- /* AF-Correlation-Information */
- {
- 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, 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-Information */
- {
- 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, 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, "Enumerated(3GPP/Access-Transfer-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* Accumulated-Cost */
- {
- 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, 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, "Enumerated(3GPP/Adaptations)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Additional-Content-Information */
- {
- 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, 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);
- };
-
- /* Address-Domain */
- {
- 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, 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, "Enumerated(3GPP/Address-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, 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, "Enumerated(3GPP/Addressee-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* AoC-Cost-Information */
- {
- 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, 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, "Enumerated(3GPP/AoC-Format)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* AoC-Information */
- {
- 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, 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, "Enumerated(3GPP/AoC-Request-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* AoC-Service */
- {
- 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, 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, "Enumerated(3GPP/AoC-Service-Obligatory-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/AoC-Service-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* AoC-Subscription-Information */
- {
- 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, 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-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-Server-Information */
- {
- 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, 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);
- };
-
- /* 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);
- };
-
- /* 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-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);
- };
-
- /* 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);
- };
-
- /* 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, "Enumerated(3GPP/CSG-Access-Mode)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/CSG-Membership-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* 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-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);
- };
-
- /* 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, "Enumerated(3GPP/Charge-Reason-Code)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Charging-Characteristics-Selection-Mode)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Class-Identifier)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* 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, "Enumerated(3GPP/Content-Class)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* Current-Tariff */
- {
- 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, 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, "Enumerated(3GPP/DRM-Content)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, 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, "Enumerated(3GPP/Delivery-Report-Requested)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Destination-Interface */
- {
- 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, 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);
- };
-
- /* 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);
- };
-
- /* 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, "Enumerated(3GPP/Dynamic-Address-Flag)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Dynamic-Address-Flag-Extension)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Early-Media-Description */
- {
- 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, NULL);
- };
-
- /* Envelope */
- {
- 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, 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, "Enumerated(3GPP/Envelope-Reporting)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* 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);
- };
-
- /* Event-Type */
- {
- 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, 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, "Enumerated(3GPP/File-Repair-Supported)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/IMS-Emergency-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* IMS-Information */
- {
- 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, 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, "Enumerated(3GPP/IMSI-Unauthenticated-Flag)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/IP-Realm-Default-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* Incremental-Cost */
- {
- 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, 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);
- };
-
- /* Inter-Operator-Identifier */
- {
- 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, 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, "Enumerated(3GPP/Interface-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, 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-Id */
- {
- 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, NULL);
- };
-
- /* LCS-Client-Name */
- {
- 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, 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, "Enumerated(3GPP/LCS-Client-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/LCS-Format-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* LCS-Information */
- {
- 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, 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 */
- {
- 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, 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, "Enumerated(3GPP/Local-GW-Inserted-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Location-Estimate-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Location-Type */
- {
- 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, 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, "Enumerated(3GPP/Low-Balance-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Low-Priority-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MBMSGW-Address */
- {
- struct dict_avp_data data = {
- 2307, /* Code */
- 10415, /* Vendor */
- "MBMSGW-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-Information */
- {
- 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, 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, "Enumerated(3GPP/MBMS-User-Service-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MM-Content-Type */
- {
- 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, 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, "Enumerated(3GPP/MMBox-Storage-Requested)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MMS-Information */
- {
- 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, NULL);
- };
-
- /* MMTel-Information */
- {
- 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, 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);
- };
-
- /* 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, "Enumerated(3GPP/Media-Initiator-Flag)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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-Body */
- {
- 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, NULL);
- };
-
- /* Message-Class */
- {
- 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, 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, "Enumerated(3GPP/Message-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* NNI-Information */
- {
- 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, 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, "Enumerated(3GPP/NNI-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, 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);
- };
-
- /* Next-Tariff */
- {
- 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, 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, "Enumerated(3GPP/Node-Functionality)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* Offline-Charging */
- {
- 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, 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, "Enumerated(3GPP/Online-Charging-Flag)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Originator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Originator-Address */
- {
- 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, NULL);
- };
-
- /* Originator-Interface */
- {
- 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, NULL);
- };
-
- /* Originator-Received-Address */
- {
- 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, 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);
- };
-
- /* PDG-Address */
- {
- struct dict_avp_data data = {
- 895, /* Code */
- 10415, /* Vendor */
- "PDG-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);
- };
-
- /* PDG-Charging-Id */
- {
- struct dict_avp_data data = {
- 896, /* Code */
- 10415, /* Vendor */
- "PDG-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);
- };
-
- /* 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, "Enumerated(3GPP/PDP-Context-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, 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, "Enumerated(3GPP/PS-Append-Free-Format-Data)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* PS-Furnish-Charging-Information */
- {
- 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, NULL);
- };
-
- /* PS-Information */
- {
- 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, 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, "Enumerated(3GPP/Participant-Access-Priority)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Participant-Action-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Participant-Group */
- {
- 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, 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);
- };
-
- /* 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, "Enumerated(3GPP/PoC-Change-Condition)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/PoC-Event-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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-Information */
- {
- 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, 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, "Enumerated(3GPP/PoC-Server-Role)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/PoC-Session-Initiation-type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/PoC-Session-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* PoC-User-Role */
- {
- 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, 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, "Enumerated(3GPP/PoC-User-Role-info-Units)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Priority)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, 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);
- };
-
- /* Rate-Element */
- {
- 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, 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, "Enumerated(3GPP/Read-Reply-Report-Requested)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Real-Time-Tariff-Information */
- {
- 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, 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-Address */
- {
- 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, NULL);
- };
-
- /* Recipient-Info */
- {
- 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, NULL);
- };
-
- /* Recipient-Received-Address */
- {
- 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, 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);
- };
-
- /* 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, "Enumerated(3GPP/Relationship-Mode)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Remaining-Balance */
- {
- 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, 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, "Enumerated(3GPP/Reply-Path-Requested)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Reporting-Reason)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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);
- };
-
- /* 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, "Enumerated(3GPP/Role-Of-Node)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, 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-Component */
- {
- 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, 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-TimeStamps */
- {
- 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, 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, "Enumerated(3GPP/SDP-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/SGW-Change)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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-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, "Enumerated(3GPP/SM-Message-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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-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, "Enumerated(3GPP/SM-Service-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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-Information */
- {
- 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, 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, "Enumerated(3GPP/SMS-Node)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, 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);
- };
-
- /* Scale-Factor */
- {
- 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, 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-Data-Container */
- {
- 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, 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-Information */
- {
- 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, 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-Info */
- {
- 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, 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, "Enumerated(3GPP/Serving-Node-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Session-Direction)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, 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 */
- {
- struct dict_avp_data data = {
- 2702, /* Code */
- 10415, /* Vendor */
- "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, "Enumerated(3GPP/Status)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- 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, "Enumerated(3GPP/Subscriber-Role)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Supplementary-Service */
- {
- 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, NULL);
- };
-
- /* Talk-Burst-Exchange */
- {
- 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, 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-Information */
- {
- 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, 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);
- };
-
- /* 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-Usage */
- {
- struct dict_avp_data data = {
- 2043, /* Code */
- 10415, /* Vendor */
- "Time-First-Usage", /* 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);
- };
-
- /* Time-Last-Usage */
- {
- struct dict_avp_data data = {
- 2044, /* Code */
- 10415, /* Vendor */
- "Time-Last-Usage", /* 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);
- };
-
- /* Time-Quota-Mechanism */
- {
- struct dict_avp_data data = {
- 1270, /* Code */
- 10415, /* Vendor */
- "Time-Quota-Mechanism", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Time-Quota-Threshold */
- {
- struct dict_avp_data data = {
- 868, /* Code */
- 10415, /* Vendor */
- "Time-Quota-Threshold", /* 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);
- };
-
- /* Time-Quota-Type */
- {
- struct dict_avp_data data = {
- 1271, /* Code */
- 10415, /* Vendor */
- "Time-Quota-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, "Enumerated(3GPP/Time-Quota-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Time-Stamps */
- {
- struct dict_avp_data data = {
- 833, /* Code */
- 10415, /* Vendor */
- "Time-Stamps", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Time-Usage */
- {
- struct dict_avp_data data = {
- 2045, /* Code */
- 10415, /* Vendor */
- "Time-Usage", /* 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);
- };
-
- /* Token-Text */
- {
- struct dict_avp_data data = {
- 1215, /* Code */
- 10415, /* Vendor */
- "Token-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);
- };
-
- /* Traffic-Data-Volumes */
- {
- struct dict_avp_data data = {
- 2046, /* Code */
- 10415, /* Vendor */
- "Traffic-Data-Volumes", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Transcoder-Inserted-Indication */
- {
- struct dict_avp_data data = {
- 2605, /* Code */
- 10415, /* Vendor */
- "Transcoder-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, "Enumerated(3GPP/Transcoder-Inserted-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Transit-IOI-List */
- {
- struct dict_avp_data data = {
- 2701, /* Code */
- 10415, /* Vendor */
- "Transit-IOI-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* Trigger */
- {
- struct dict_avp_data data = {
- 1264, /* Code */
- 10415, /* Vendor */
- "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, NULL);
- };
-
- /* Trigger-Type */
- {
- struct dict_avp_data data = {
- 870, /* Code */
- 10415, /* Vendor */
- "Trigger-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, "Enumerated(3GPP/Trigger-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Trunk-Group-Id */
- {
- struct dict_avp_data data = {
- 851, /* Code */
- 10415, /* Vendor */
- "Trunk-Group-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, NULL);
- };
-
- /* Type-Number */
- {
- struct dict_avp_data data = {
- 1204, /* Code */
- 10415, /* Vendor */
- "Type-Number", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Type-Number)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Unit-Cost */
- {
- struct dict_avp_data data = {
- 2061, /* Code */
- 10415, /* Vendor */
- "Unit-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, NULL);
- };
-
- /* Unit-Quota-Threshold */
- {
- struct dict_avp_data data = {
- 1226, /* Code */
- 10415, /* Vendor */
- "Unit-Quota-Threshold", /* 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);
- };
-
- /* User-CSG-Information */
- {
- struct dict_avp_data data = {
- 2319, /* Code */
- 10415, /* Vendor */
- "User-CSG-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, NULL);
- };
-
- /* User-Participating-Type */
- {
- struct dict_avp_data data = {
- 1279, /* Code */
- 10415, /* Vendor */
- "User-Participating-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, "Enumerated(3GPP/User-Participating-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* User-Session-Id */
- {
- struct dict_avp_data data = {
- 830, /* Code */
- 10415, /* Vendor */
- "User-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);
- };
-
- /* Volume-Quota-Threshold */
- {
- struct dict_avp_data data = {
- 869, /* Code */
- 10415, /* Vendor */
- "Volume-Quota-Threshold", /* 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);
- };
-
- /* WAG-Address */
- {
- struct dict_avp_data data = {
- 890, /* Code */
- 10415, /* Vendor */
- "WAG-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);
- };
-
- /* WAG-PLMN-Id */
- {
- struct dict_avp_data data = {
- 891, /* Code */
- 10415, /* Vendor */
- "WAG-PLMN-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);
- };
-
- /* WLAN-Information */
- {
- struct dict_avp_data data = {
- 875, /* Code */
- 10415, /* Vendor */
- "WLAN-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, NULL);
- };
-
- /* WLAN-Radio-Container */
- {
- struct dict_avp_data data = {
- 892, /* Code */
- 10415, /* Vendor */
- "WLAN-Radio-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, NULL);
- };
-
- /* WLAN-Session-Id */
- {
- struct dict_avp_data data = {
- 1246, /* Code */
- 10415, /* Vendor */
- "WLAN-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);
- };
-
- /* WLAN-Technology */
- {
- struct dict_avp_data data = {
- 893, /* Code */
- 10415, /* Vendor */
- "WLAN-Technology", /* 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);
- };
-
- /* WLAN-UE-Local-IPAddress */
- {
- struct dict_avp_data data = {
- 894, /* Code */
- 10415, /* Vendor */
- "WLAN-UE-Local-IPAddress", /* 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);
- };
-
- /* 3GPP 29.272-c00 (12.0.0 2013.03.13) */
- /* Subscription-Data */
- {
- struct dict_avp_data data = {
- 1400, /* Code */
- 10415, /* Vendor */
- "Subscription-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, NULL);
- };
-
- /* Terminal-Information */
- {
- struct dict_avp_data data = {
- 1401, /* Code */
- 10415, /* Vendor */
- "Terminal-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, NULL);
- };
-
- /* IMEI */
- {
- struct dict_avp_data data = {
- 1402, /* Code */
- 10415, /* Vendor */
- "IMEI", /* 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);
- };
-
- /* Software-Version */
- {
- struct dict_avp_data data = {
- 1403, /* Code */
- 10415, /* Vendor */
- "Software-Version", /* 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);
- };
-
- /* QoS-Subscribed */
- {
- struct dict_avp_data data = {
- 1404, /* Code */
- 10415, /* Vendor */
- "QoS-Subscribed", /* 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);
- };
-
- /* ULR-Flags */
- {
- struct dict_avp_data data = {
- 1405, /* Code */
- 10415, /* Vendor */
- "ULR-Flags", /* 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);
- };
-
- /* ULA-Flags */
- {
- struct dict_avp_data data = {
- 1406, /* Code */
- 10415, /* Vendor */
- "ULA-Flags", /* 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);
- };
-
- /* Visited-PLMN-Id */
- {
- struct dict_avp_data data = {
- 1407, /* Code */
- 10415, /* Vendor */
- "Visited-PLMN-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);
- };
-
- /* Requested-EUTRAN-Authentication-Info */
- {
- struct dict_avp_data data = {
- 1408, /* Code */
- 10415, /* Vendor */
- "Requested-EUTRAN-Authentication-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Requested-UTRAN-GERAN-Authentication-Info */
- {
- struct dict_avp_data data = {
- 1409, /* Code */
- 10415, /* Vendor */
- "Requested-UTRAN-GERAN-Authentication-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Number-Of-Requested-Vectors */
- {
- struct dict_avp_data data = {
- 1410, /* Code */
- 10415, /* Vendor */
- "Number-Of-Requested-Vectors", /* 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);
- };
-
- /* Re-Synchronization-Info */
- {
- struct dict_avp_data data = {
- 1411, /* Code */
- 10415, /* Vendor */
- "Re-Synchronization-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, NULL, NULL);
- };
-
- /* Immediate-Response-Preferred */
- {
- struct dict_avp_data data = {
- 1412, /* Code */
- 10415, /* Vendor */
- "Immediate-Response-Preferred", /* 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);
- };
-
- /* Authentication-Info */
- {
- struct dict_avp_data data = {
- 1413, /* Code */
- 10415, /* Vendor */
- "Authentication-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* E-UTRAN-Vector */
- {
- struct dict_avp_data data = {
- 1414, /* Code */
- 10415, /* Vendor */
- "E-UTRAN-Vector", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* UTRAN-Vector */
- {
- struct dict_avp_data data = {
- 1415, /* Code */
- 10415, /* Vendor */
- "UTRAN-Vector", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* GERAN-Vector */
- {
- struct dict_avp_data data = {
- 1416, /* Code */
- 10415, /* Vendor */
- "GERAN-Vector", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Network-Access-Mode */
- {
- struct dict_avp_data data = {
- 1417, /* Code */
- 10415, /* Vendor */
- "Network-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, "Enumerated(3GPP/Network-Access-Mode)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* HPLMN-ODB */
- {
- struct dict_avp_data data = {
- 1418, /* Code */
- 10415, /* Vendor */
- "HPLMN-ODB", /* 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);
- };
-
- /* Item-Number */
- {
- struct dict_avp_data data = {
- 1419, /* Code */
- 10415, /* Vendor */
- "Item-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);
- };
-
- /* Cancellation-Type */
- {
- struct dict_avp_data data = {
- 1420, /* Code */
- 10415, /* Vendor */
- "Cancellation-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, "Enumerated(3GPP/Cancellation-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* DSR-Flags */
- {
- struct dict_avp_data data = {
- 1421, /* Code */
- 10415, /* Vendor */
- "DSR-Flags", /* 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);
- };
-
- /* DSA-Flags */
- {
- struct dict_avp_data data = {
- 1422, /* Code */
- 10415, /* Vendor */
- "DSA-Flags", /* 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);
- };
-
- /* Context-Identifier */
- {
- struct dict_avp_data data = {
- 1423, /* Code */
- 10415, /* Vendor */
- "Context-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);
- };
-
- /* Subscriber-Status */
- {
- struct dict_avp_data data = {
- 1424, /* Code */
- 10415, /* Vendor */
- "Subscriber-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, "Enumerated(3GPP/Subscriber-Status)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Operator-Determined-Barring */
- {
- struct dict_avp_data data = {
- 1425, /* Code */
- 10415, /* Vendor */
- "Operator-Determined-Barring", /* 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);
- };
-
- /* Access-Restriction-Data */
- {
- struct dict_avp_data data = {
- 1426, /* Code */
- 10415, /* Vendor */
- "Access-Restriction-Data", /* 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);
- };
-
- /* APN-OI-Replacement */
- {
- struct dict_avp_data data = {
- 1427, /* Code */
- 10415, /* Vendor */
- "APN-OI-Replacement", /* 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);
- };
-
- /* All-APN-Configurations-Included-Indicator */
- {
- struct dict_avp_data data = {
- 1428, /* Code */
- 10415, /* Vendor */
- "All-APN-Configurations-Included-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/All-APN-Configurations-Included-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* APN-Configuration-Profile */
- {
- struct dict_avp_data data = {
- 1429, /* Code */
- 10415, /* Vendor */
- "APN-Configuration-Profile", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* APN-Configuration */
- {
- struct dict_avp_data data = {
- 1430, /* Code */
- 10415, /* Vendor */
- "APN-Configuration", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* EPS-Subscribed-QoS-Profile */
- {
- struct dict_avp_data data = {
- 1431, /* Code */
- 10415, /* Vendor */
- "EPS-Subscribed-QoS-Profile", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* VPLMN-Dynamic-Address-Allowed */
- {
- struct dict_avp_data data = {
- 1432, /* Code */
- 10415, /* Vendor */
- "VPLMN-Dynamic-Address-Allowed", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/VPLMN-Dynamic-Address-Allowed)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* STN-SR */
- {
- struct dict_avp_data data = {
- 1433, /* Code */
- 10415, /* Vendor */
- "STN-SR", /* 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);
- };
-
- /* Alert-Reason */
- {
- struct dict_avp_data data = {
- 1434, /* Code */
- 10415, /* Vendor */
- "Alert-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, "Enumerated(3GPP/Alert-Reason)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* AMBR */
- {
- struct dict_avp_data data = {
- 1435, /* Code */
- 10415, /* Vendor */
- "AMBR", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* CSG-Subscription-Data */
- {
- struct dict_avp_data data = {
- 1436, /* Code */
- 10415, /* Vendor */
- "CSG-Subscription-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, NULL);
- };
-
- /* CSG-Id */
- {
- struct dict_avp_data data = {
- 1437, /* Code */
- 10415, /* Vendor */
- "CSG-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);
- };
-
- /* PDN-GW-Allocation-Type */
- {
- struct dict_avp_data data = {
- 1438, /* Code */
- 10415, /* Vendor */
- "PDN-GW-Allocation-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, "Enumerated(3GPP/PDN-GW-Allocation-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Expiration-Date */
- {
- struct dict_avp_data data = {
- 1439, /* Code */
- 10415, /* Vendor */
- "Expiration-Date", /* 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);
- };
-
- /* RAT-Frequency-Selection-Priority-ID */
- {
- struct dict_avp_data data = {
- 1440, /* Code */
- 10415, /* Vendor */
- "RAT-Frequency-Selection-Priority-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);
- };
-
- /* IDA-Flags */
- {
- struct dict_avp_data data = {
- 1441, /* Code */
- 10415, /* Vendor */
- "IDA-Flags", /* 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);
- };
-
- /* PUA-Flags */
- {
- struct dict_avp_data data = {
- 1442, /* Code */
- 10415, /* Vendor */
- "PUA-Flags", /* 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);
- };
-
- /* NOR-Flags */
- {
- struct dict_avp_data data = {
- 1443, /* Code */
- 10415, /* Vendor */
- "NOR-Flags", /* 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);
- };
-
- /* User-Id */
- {
- struct dict_avp_data data = {
- 1444, /* Code */
- 10415, /* Vendor */
- "User-Id", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* Equipment-Status */
- {
- struct dict_avp_data data = {
- 1445, /* Code */
- 10415, /* Vendor */
- "Equipment-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, "Enumerated(3GPP/Equipment-Status)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Regional-Subscription-Zone-Code */
- {
- struct dict_avp_data data = {
- 1446, /* Code */
- 10415, /* Vendor */
- "Regional-Subscription-Zone-Code", /* 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);
- };
-
- /* RAND */
- {
- struct dict_avp_data data = {
- 1447, /* Code */
- 10415, /* Vendor */
- "RAND", /* 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);
- };
-
- /* XRES */
- {
- struct dict_avp_data data = {
- 1448, /* Code */
- 10415, /* Vendor */
- "XRES", /* 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);
- };
-
- /* AUTN */
- {
- struct dict_avp_data data = {
- 1449, /* Code */
- 10415, /* Vendor */
- "AUTN", /* 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);
- };
-
- /* KASME */
- {
- struct dict_avp_data data = {
- 1450, /* Code */
- 10415, /* Vendor */
- "KASME", /* 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);
- };
-
- /* Trace-Collection-Entity */
- {
- struct dict_avp_data data = {
- 1452, /* Code */
- 10415, /* Vendor */
- "Trace-Collection-Entity", /* 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);
- };
-
- /* Kc */
- {
- struct dict_avp_data data = {
- 1453, /* Code */
- 10415, /* Vendor */
- "Kc", /* 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);
- };
-
- /* SRES */
- {
- struct dict_avp_data data = {
- 1454, /* Code */
- 10415, /* Vendor */
- "SRES", /* 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);
- };
-
- /* PDN-Type */
- {
- struct dict_avp_data data = {
- 1456, /* Code */
- 10415, /* Vendor */
- "PDN-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, "Enumerated(3GPP/PDN-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Roaming-Restricted-Due-To-Unsupported-Feature */
- {
- struct dict_avp_data data = {
- 1457, /* Code */
- 10415, /* Vendor */
- "Roaming-Restricted-Due-To-Unsupported-Feature", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Roaming-Restricted-Due-To-Unsupported-Feature)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Trace-Data */
- {
- struct dict_avp_data data = {
- 1458, /* Code */
- 10415, /* Vendor */
- "Trace-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, NULL);
- };
-
- /* Trace-Reference */
- {
- struct dict_avp_data data = {
- 1459, /* Code */
- 10415, /* Vendor */
- "Trace-Reference", /* 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);
- };
-
- /* Trace-Depth */
- {
- struct dict_avp_data data = {
- 1462, /* Code */
- 10415, /* Vendor */
- "Trace-Depth", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Trace-Depth)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Trace-NE-Type-List */
- {
- struct dict_avp_data data = {
- 1463, /* Code */
- 10415, /* Vendor */
- "Trace-NE-Type-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Trace-Interface-List */
- {
- struct dict_avp_data data = {
- 1464, /* Code */
- 10415, /* Vendor */
- "Trace-Interface-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Trace-Event-List */
- {
- struct dict_avp_data data = {
- 1465, /* Code */
- 10415, /* Vendor */
- "Trace-Event-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* OMC-Id */
- {
- struct dict_avp_data data = {
- 1466, /* Code */
- 10415, /* Vendor */
- "OMC-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);
- };
-
- /* GPRS-Subscription-Data */
- {
- struct dict_avp_data data = {
- 1467, /* Code */
- 10415, /* Vendor */
- "GPRS-Subscription-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, NULL);
- };
-
- /* Complete-Data-List-Included-Indicator */
- {
- struct dict_avp_data data = {
- 1468, /* Code */
- 10415, /* Vendor */
- "Complete-Data-List-Included-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Complete-Data-List-Included-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* PDP-Context */
- {
- struct dict_avp_data data = {
- 1469, /* Code */
- 10415, /* Vendor */
- "PDP-Context", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* PDP-Type */
- {
- struct dict_avp_data data = {
- 1470, /* Code */
- 10415, /* Vendor */
- "PDP-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, NULL, NULL);
- };
-
- /* 3GPP2-MEID */
- {
- struct dict_avp_data data = {
- 1471, /* Code */
- 10415, /* Vendor */
- "3GPP2-MEID", /* 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);
- };
-
- /* Specific-APN-Info */
- {
- struct dict_avp_data data = {
- 1472, /* Code */
- 10415, /* Vendor */
- "Specific-APN-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* LCS-Info */
- {
- struct dict_avp_data data = {
- 1473, /* Code */
- 10415, /* Vendor */
- "LCS-Info", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* GMLC-Number */
- {
- struct dict_avp_data data = {
- 1474, /* Code */
- 10415, /* Vendor */
- "GMLC-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);
- };
-
- /* LCS-PrivacyException */
- {
- struct dict_avp_data data = {
- 1475, /* Code */
- 10415, /* Vendor */
- "LCS-PrivacyException", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SS-Code */
- {
- struct dict_avp_data data = {
- 1476, /* Code */
- 10415, /* Vendor */
- "SS-Code", /* 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);
- };
-
- /* SS-Status */
- {
- struct dict_avp_data data = {
- 1477, /* Code */
- 10415, /* Vendor */
- "SS-Status", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Notification-To-UE-User */
- {
- struct dict_avp_data data = {
- 1478, /* Code */
- 10415, /* Vendor */
- "Notification-To-UE-User", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Notification-To-UE-User)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* External-Client */
- {
- struct dict_avp_data data = {
- 1479, /* Code */
- 10415, /* Vendor */
- "External-Client", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Client-Identity */
- {
- struct dict_avp_data data = {
- 1480, /* Code */
- 10415, /* Vendor */
- "Client-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, NULL, NULL);
- };
-
- /* GMLC-Restriction */
- {
- struct dict_avp_data data = {
- 1481, /* Code */
- 10415, /* Vendor */
- "GMLC-Restriction", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/GMLC-Restriction)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* PLMN-Client */
- {
- struct dict_avp_data data = {
- 1482, /* Code */
- 10415, /* Vendor */
- "PLMN-Client", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/PLMN-Client)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Service-Type */
- {
- struct dict_avp_data data = {
- 1483, /* Code */
- 10415, /* Vendor */
- "Service-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, NULL);
- };
-
- /* ServiceTypeIdentity */
- {
- struct dict_avp_data data = {
- 1484, /* Code */
- 10415, /* Vendor */
- "ServiceTypeIdentity", /* 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);
- };
-
- /* MO-LR */
- {
- struct dict_avp_data data = {
- 1485, /* Code */
- 10415, /* Vendor */
- "MO-LR", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Teleservice-List */
- {
- struct dict_avp_data data = {
- 1486, /* Code */
- 10415, /* Vendor */
- "Teleservice-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* TS-Code */
- {
- struct dict_avp_data data = {
- 1487, /* Code */
- 10415, /* Vendor */
- "TS-Code", /* 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);
- };
-
- /* Call-Barring-Infor-List */
- {
- struct dict_avp_data data = {
- 1488, /* Code */
- 10415, /* Vendor */
- "Call-Barring-Infor-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SGSN-Number */
- {
- struct dict_avp_data data = {
- 1489, /* Code */
- 10415, /* Vendor */
- "SGSN-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);
- };
-
- /* IDR-Flags */
- {
- struct dict_avp_data data = {
- 1490, /* Code */
- 10415, /* Vendor */
- "IDR-Flags", /* 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);
- };
-
- /* ICS-Indicator */
- {
- struct dict_avp_data data = {
- 1491, /* Code */
- 10415, /* Vendor */
- "ICS-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/ICS-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* IMS-Voice-Over-PS-Sessions-Supported */
- {
- struct dict_avp_data data = {
- 1492, /* Code */
- 10415, /* Vendor */
- "IMS-Voice-Over-PS-Sessions-Supported", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/IMS-Voice-Over-PS-Sessions-Supported)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions */
- {
- struct dict_avp_data data = {
- 1493, /* Code */
- 10415, /* Vendor */
- "Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Last-UE-Activity-Time */
- {
- struct dict_avp_data data = {
- 1494, /* Code */
- 10415, /* Vendor */
- "Last-UE-Activity-Time", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
- };
-
- /* EPS-User-State */
- {
- struct dict_avp_data data = {
- 1495, /* Code */
- 10415, /* Vendor */
- "EPS-User-State", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* EPS-Location-Information */
- {
- struct dict_avp_data data = {
- 1496, /* Code */
- 10415, /* Vendor */
- "EPS-Location-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* MME-User-State */
- {
- struct dict_avp_data data = {
- 1497, /* Code */
- 10415, /* Vendor */
- "MME-User-State", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SGSN-User-State */
- {
- struct dict_avp_data data = {
- 1498, /* Code */
- 10415, /* Vendor */
- "SGSN-User-State", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* User-State */
- {
- struct dict_avp_data data = {
- 1499, /* Code */
- 10415, /* Vendor */
- "User-State", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/User-State)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MME-LocationInformation */
- {
- struct dict_avp_data data = {
- 1600, /* Code */
- 10415, /* Vendor */
- "MME-LocationInformation", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SGSN-Location-Information */
- {
- struct dict_avp_data data = {
- 1601, /* Code */
- 10415, /* Vendor */
- "SGSN-Location-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* E-UTRAN-Cell-Global-Identity */
- {
- struct dict_avp_data data = {
- 1602, /* Code */
- 10415, /* Vendor */
- "E-UTRAN-Cell-Global-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Tracking-Area-Identity */
- {
- struct dict_avp_data data = {
- 1603, /* Code */
- 10415, /* Vendor */
- "Tracking-Area-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Cell-Global-Identity */
- {
- struct dict_avp_data data = {
- 1604, /* Code */
- 10415, /* Vendor */
- "Cell-Global-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Routing-Area-Identity */
- {
- struct dict_avp_data data = {
- 1605, /* Code */
- 10415, /* Vendor */
- "Routing-Area-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Location-Area-Identity */
- {
- struct dict_avp_data data = {
- 1606, /* Code */
- 10415, /* Vendor */
- "Location-Area-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Service-Area-Identity */
- {
- struct dict_avp_data data = {
- 1607, /* Code */
- 10415, /* Vendor */
- "Service-Area-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Geographical-Information */
- {
- struct dict_avp_data data = {
- 1608, /* Code */
- 10415, /* Vendor */
- "Geographical-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Geodetic-Information */
- {
- struct dict_avp_data data = {
- 1609, /* Code */
- 10415, /* Vendor */
- "Geodetic-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Current-Location-Retrieved */
- {
- struct dict_avp_data data = {
- 1610, /* Code */
- 10415, /* Vendor */
- "Current-Location-Retrieved", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Current-Location-Retrieved)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Age-Of-Location-Information */
- {
- struct dict_avp_data data = {
- 1611, /* Code */
- 10415, /* Vendor */
- "Age-Of-Location-Information", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Active-APN */
- {
- struct dict_avp_data data = {
- 1612, /* Code */
- 10415, /* Vendor */
- "Active-APN", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Error-Diagnostic */
- {
- struct dict_avp_data data = {
- 1614, /* Code */
- 10415, /* Vendor */
- "Error-Diagnostic", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Error-Diagnostic)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Ext-PDP-Address */
- {
- struct dict_avp_data data = {
- 1621, /* Code */
- 10415, /* Vendor */
- "Ext-PDP-Address", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Address_type, NULL);
- };
-
- /* UE-SRVCC-Capability */
- {
- struct dict_avp_data data = {
- 1615, /* Code */
- 10415, /* Vendor */
- "UE-SRVCC-Capability", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/UE-SRVCC-Capability)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MPS-Priority */
- {
- struct dict_avp_data data = {
- 1616, /* Code */
- 10415, /* Vendor */
- "MPS-Priority", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* VPLMN-LIPA-Allowed */
- {
- struct dict_avp_data data = {
- 1617, /* Code */
- 10415, /* Vendor */
- "VPLMN-LIPA-Allowed", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/VPLMN-LIPA-Allowed)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* LIPA-Permission */
- {
- struct dict_avp_data data = {
- 1618, /* Code */
- 10415, /* Vendor */
- "LIPA-Permission", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/LIPA-Permission)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Subscribed-Periodic-RAU-TAU-Timer */
- {
- struct dict_avp_data data = {
- 1619, /* Code */
- 10415, /* Vendor */
- "Subscribed-Periodic-RAU-TAU-Timer", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Ext-PDP-Type */
- {
- struct dict_avp_data data = {
- 1620, /* Code */
- 10415, /* Vendor */
- "Ext-PDP-Type", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SIPTO-Permission */
- {
- struct dict_avp_data data = {
- 1613, /* Code */
- 10415, /* Vendor */
- "SIPTO-Permission", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SIPTO-Permission)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MDT-Configuration */
- {
- struct dict_avp_data data = {
- 1622, /* Code */
- 10415, /* Vendor */
- "MDT-Configuration", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Job-Type */
- {
- struct dict_avp_data data = {
- 1623, /* Code */
- 10415, /* Vendor */
- "Job-Type", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Job-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Area-Scope */
- {
- struct dict_avp_data data = {
- 1624, /* Code */
- 10415, /* Vendor */
- "Area-Scope", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* List-Of-Measurements */
- {
- struct dict_avp_data data = {
- 1625, /* Code */
- 10415, /* Vendor */
- "List-Of-Measurements", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Reporting-Trigger */
- {
- struct dict_avp_data data = {
- 1626, /* Code */
- 10415, /* Vendor */
- "Reporting-Trigger", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Report-Interval */
- {
- struct dict_avp_data data = {
- 1627, /* Code */
- 10415, /* Vendor */
- "Report-Interval", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Report-Interval)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Report-Amount */
- {
- struct dict_avp_data data = {
- 1628, /* Code */
- 10415, /* Vendor */
- "Report-Amount", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Report-Amount)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Event-Threshold-RSRP */
- {
- struct dict_avp_data data = {
- 1629, /* Code */
- 10415, /* Vendor */
- "Event-Threshold-RSRP", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Event-Threshold-RSRQ */
- {
- struct dict_avp_data data = {
- 1630, /* Code */
- 10415, /* Vendor */
- "Event-Threshold-RSRQ", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Logging-Interval */
- {
- struct dict_avp_data data = {
- 1631, /* Code */
- 10415, /* Vendor */
- "Logging-Interval", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Logging-Interval)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Logging-Duration */
- {
- struct dict_avp_data data = {
- 1632, /* Code */
- 10415, /* Vendor */
- "Logging-Duration", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Logging-Duration)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Relay-Node-Indicator */
- {
- struct dict_avp_data data = {
- 1633, /* Code */
- 10415, /* Vendor */
- "Relay-Node-Indicator", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Relay-Node-Indicator)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* MDT-User-Consent */
- {
- struct dict_avp_data data = {
- 1634, /* Code */
- 10415, /* Vendor */
- "MDT-User-Consent", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/MDT-User-Consent)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* PUR-Flags */
- {
- struct dict_avp_data data = {
- 1635, /* Code */
- 10415, /* Vendor */
- "PUR-Flags", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Subscribed-VSRVCC */
- {
- struct dict_avp_data data = {
- 1636, /* Code */
- 10415, /* Vendor */
- "Subscribed-VSRVCC", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Subscribed-VSRVCC)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Equivalent-PLMN-List */
- {
- struct dict_avp_data data = {
- 1637, /* Code */
- 10415, /* Vendor */
- "Equivalent-PLMN-List", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* CLR-Flags */
- {
- struct dict_avp_data data = {
- 1638, /* Code */
- 10415, /* Vendor */
- "CLR-Flags", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* UVR-Flags */
- {
- struct dict_avp_data data = {
- 1639, /* Code */
- 10415, /* Vendor */
- "UVR-Flags", /* 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);
- };
-
- /* UVA-Flags */
- {
- struct dict_avp_data data = {
- 1640, /* Code */
- 10415, /* Vendor */
- "UVA-Flags", /* 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);
- };
-
- /* VPLMN-CSG-Subscription-Data */
- {
- struct dict_avp_data data = {
- 1641, /* Code */
- 10415, /* Vendor */
- "VPLMN-CSG-Subscription-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, NULL);
- };
-
- /* Time-Zone */
- {
- struct dict_avp_data data = {
- 1642, /* Code */
- 10415, /* Vendor */
- "Time-Zone", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* A-MSISDN */
- {
- struct dict_avp_data data = {
- 1643, /* Code */
- 10415, /* Vendor */
- "A-MSISDN", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* MME-Number-for-MT-SMS */
- {
- struct dict_avp_data data = {
- 1645, /* Code */
- 10415, /* Vendor */
- "MME-Number-for-MT-SMS", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SMS-Register-Request */
- {
- struct dict_avp_data data = {
- 1648, /* Code */
- 10415, /* Vendor */
- "SMS-Register-Request", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/SMS-Register-Request)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Local-Time-Zone */
- {
- struct dict_avp_data data = {
- 1649, /* Code */
- 10415, /* Vendor */
- "Local-Time-Zone", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Daylight-Saving-Time */
- {
- struct dict_avp_data data = {
- 1650, /* Code */
- 10415, /* Vendor */
- "Daylight-Saving-Time", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Daylight-Saving-Time)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Subscription-Data-Flags */
- {
- struct dict_avp_data data = {
- 1654, /* Code */
- 10415, /* Vendor */
- "Subscription-Data-Flags", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Measurement-Period-UMTS */
- {
- struct dict_avp_data data = {
- 1655, /* Code */
- 10415, /* Vendor */
- "Measurement-Period-UMTS", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Measurement-Period-UMTS)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Measurement-Period-LTE */
- {
- struct dict_avp_data data = {
- 1656, /* Code */
- 10415, /* Vendor */
- "Measurement-Period-LTE", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Measurement-Period-LTE)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Collection-Period-RRM-LTE */
- {
- struct dict_avp_data data = {
- 1657, /* Code */
- 10415, /* Vendor */
- "Collection-Period-RRM-LTE", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Collection-Period-RRM-LTE)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Collection-Period-RRM-UMTS */
- {
- struct dict_avp_data data = {
- 1658, /* Code */
- 10415, /* Vendor */
- "Collection-Period-RRM-UMTS", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Collection-Period-RRM-UMTS)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Positioning-Method */
- {
- struct dict_avp_data data = {
- 1659, /* Code */
- 10415, /* Vendor */
- "Positioning-Method", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Measurement-Quantity */
- {
- struct dict_avp_data data = {
- 1660, /* Code */
- 10415, /* Vendor */
- "Measurement-Quantity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Event-Threshold-Event-1F */
- {
- struct dict_avp_data data = {
- 1661, /* Code */
- 10415, /* Vendor */
- "Event-Threshold-Event-1F", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Event-Threshold-Event-1I */
- {
- struct dict_avp_data data = {
- 1662, /* Code */
- 10415, /* Vendor */
- "Event-Threshold-Event-1I", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* 3GPP 29.329-b50 (11.5.0 2012.12.21) */
- /* User-Identity */
- {
- struct dict_avp_data data = {
- 700, /* Code */
- 10415, /* Vendor */
- "User-Identity", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* MSISDN */
- {
- struct dict_avp_data data = {
- 701, /* Code */
- 10415, /* Vendor */
- "MSISDN", /* 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);
- };
-
- /* Name conflict with 29.229 User-Data (606), renamed */
- /* User-Data-29.329 */
- {
- struct dict_avp_data data = {
- 702, /* Code */
- 10415, /* Vendor */
- "User-Data-29.329", /* 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-Reference */
- {
- struct dict_avp_data data = {
- 703, /* Code */
- 10415, /* Vendor */
- "Data-Reference", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Data-Reference)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Service-Indication */
- {
- struct dict_avp_data data = {
- 704, /* Code */
- 10415, /* Vendor */
- "Service-Indication", /* 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);
- };
-
- /* Subs-Req-Type */
- {
- struct dict_avp_data data = {
- 705, /* Code */
- 10415, /* Vendor */
- "Subs-Req-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, "Enumerated(3GPP/Subs-Req-Type)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Requested-Domain */
- {
- struct dict_avp_data data = {
- 706, /* Code */
- 10415, /* Vendor */
- "Requested-Domain", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Requested-Domain)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Current-Location */
- {
- struct dict_avp_data data = {
- 707, /* Code */
- 10415, /* Vendor */
- "Current-Location", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Current-Location)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Identity-Set */
- {
- struct dict_avp_data data = {
- 708, /* Code */
- 10415, /* Vendor */
- "Identity-Set", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Identity-Set)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Expiry-Time */
- {
- struct dict_avp_data data = {
- 709, /* Code */
- 10415, /* Vendor */
- "Expiry-Time", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
- };
-
- /* Send-Data-Indication */
- {
- struct dict_avp_data data = {
- 710, /* Code */
- 10415, /* Vendor */
- "Send-Data-Indication", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Send-Data-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* in 29.229 */
- /* Server-Name */
- /* Supported-Features */
- /* Feature-List-ID */
- /* Feature-List */
- /* Supported-Applications */
- /* Public-Identity */
- /* DSAI-Tag */
- {
- struct dict_avp_data data = {
- 711, /* Code */
- 10415, /* Vendor */
- "DSAI-Tag", /* 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);
- };
-
- /* in 29.229 */
- /* Wildcarded-Public-Identity */
- /* Wildcarded-IMPU */
- {
- struct dict_avp_data data = {
- 636, /* Code */
- 10415, /* Vendor */
- "Wildcarded-IMPU", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* in 29.229 */
- /* Session-Priority */
- /* One-Time-Notification */
- {
- struct dict_avp_data data = {
- 712, /* Code */
- 10415, /* Vendor */
- "One-Time-Notification", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/One-Time-Notification)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Requested-Nodes */
- {
- struct dict_avp_data data = {
- 713, /* Code */
- 10415, /* Vendor */
- "Requested-Nodes", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Serving-Node-Indication */
- {
- struct dict_avp_data data = {
- 714, /* Code */
- 10415, /* Vendor */
- "Serving-Node-Indication", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Serving-Node-Indication)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* Repository-Data-ID */
- {
- struct dict_avp_data data = {
- 715, /* Code */
- 10415, /* Vendor */
- "Repository-Data-ID", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* Sequence-Number */
- {
- struct dict_avp_data data = {
- 716, /* Code */
- 10415, /* Vendor */
- "Sequence-Number", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* UDR-Flags */
- {
- struct dict_avp_data data = {
- 719, /* Code */
- 10415, /* Vendor */
- "UDR-Flags", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* OMA DDS Charging_Data V1.0 20110201-A */
- /* Application-Server-Id */
- {
- struct dict_avp_data data = {
- 2101, /* Code */
- 10415, /* Vendor */
- "Application-Server-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-Service-Type */
- {
- struct dict_avp_data data = {
- 2102, /* Code */
- 10415, /* Vendor */
- "Application-Service-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);
- };
-
- /* Application-Session-Id */
- {
- struct dict_avp_data data = {
- 2103, /* Code */
- 10415, /* Vendor */
- "Application-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);
- };
-
- /* Content-ID */
- {
- struct dict_avp_data data = {
- 2116, /* Code */
- 10415, /* Vendor */
- "Content-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);
- };
-
- /* Content-provider-ID */
- {
- struct dict_avp_data data = {
- 2117, /* Code */
- 10415, /* Vendor */
- "Content-provider-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);
- };
-
- /* DCD-Information */
- {
- struct dict_avp_data data = {
- 2115, /* Code */
- 10415, /* Vendor */
- "DCD-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, NULL);
- };
-
- /* Delivery-Status */
- {
- struct dict_avp_data data = {
- 2104, /* Code */
- 10415, /* Vendor */
- "Delivery-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, UTF8String_type, NULL);
- };
-
- /* IM-Information */
- {
- struct dict_avp_data data = {
- 2110, /* Code */
- 10415, /* Vendor */
- "IM-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, NULL);
- };
-
- /* Number-Of-Messages-Successfully-Exploded */
- {
- struct dict_avp_data data = {
- 2111, /* Code */
- 10415, /* Vendor */
- "Number-Of-Messages-Successfully-Exploded", /* 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-Successfully-Sent */
- {
- struct dict_avp_data data = {
- 2112, /* Code */
- 10415, /* Vendor */
- "Number-Of-Messages-Successfully-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);
- };
-
- /* Service-Generic-Information */
- {
- struct dict_avp_data data = {
- 1256, /* Code */
- 10415, /* Vendor */
- "Service-Generic-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, NULL);
- };
-
- /* Total-Number-Of-Messages-Exploded */
- {
- struct dict_avp_data data = {
- 2113, /* Code */
- 10415, /* Vendor */
- "Total-Number-Of-Messages-Exploded", /* 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);
- };
-
- /* Total-Number-Of-Messages-Sent */
- {
- struct dict_avp_data data = {
- 2114, /* Code */
- 10415, /* Vendor */
- "Total-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);
- };
-
-
-
-
-
- /*****************************************************/
- /* end of generated data, rules below added manually */
- /*****************************************************/
+ /*==================================================================*/
+ /* Create AVPs via generated add_avps() */
+ /*==================================================================*/
+ extern int add_avps();
+ CHECK_FCT( add_avps() );
-
- /* 3GPP2-BSID */
- {
- struct dict_avp_data data = {
- 9010, /* Code */
- 5535, /* Vendor */
- "3GPP2-BSID", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */ /* XXX: guessed */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
+ /*==================================================================*/
+ /* Rules section */
+ /*==================================================================*/
- /* 29.212 */
+ /*==================================================================*/
+ /* 3GPP TS 29.212 V15.9.0 (2019-12) */
+ /*==================================================================*/
{
struct dict_object *rule_avp;
@@ -10276,9 +365,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Priority-Level" }, RULE_REQUIRED, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Pre-emption-Capability" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Pre-emption-Vulnerability" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "Priority-Level", RULE_REQUIRED, -1, 1 },
+ { 10415, "Pre-emption-Capability", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Pre-emption-Vulnerability", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10291,20 +380,29 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "QoS-Class-Identifier" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Max-Requested-Bandwidth-UL" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Max-Requested-Bandwidth-DL" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Guaranteed-Bitrate-UL" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Guaranteed-Bitrate-DL" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Bearer-Identifier" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Allocation-Retention-Priority" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "APN-Aggregate-Max-Bitrate-UL" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "APN-Aggregate-Max-Bitrate-DL" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "QoS-Class-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Max-Requested-Bandwidth-UL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Max-Requested-Bandwidth-DL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Extended-Max-Requested-BW-UL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Extended-Max-Requested-BW-DL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Guaranteed-Bitrate-UL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Guaranteed-Bitrate-DL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Extended-GBR-UL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Extended-GBR-DL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Bearer-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Allocation-Retention-Priority", RULE_OPTIONAL, -1, 1 },
+ { 10415, "APN-Aggregate-Max-Bitrate-UL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "APN-Aggregate-Max-Bitrate-DL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Extended-APN-AMBR-UL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Extended-APN-AMBR-DL", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Conditional-APN-Aggregate-Max-Bitrate", RULE_OPTIONAL, -1, -1 },
};
PARSE_loc_rules(rules, rule_avp);
}
- /* 32.299 */
+ /*==================================================================*/
+ /* 3GPP TS 32.299 V15.7.0 (2019-06) */
+ /*==================================================================*/
{
/* additional allowed AVPs */
@@ -10312,8 +410,8 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Request", &ccr);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "AoC-Request-Type"}, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Service-Information"}, RULE_OPTIONAL, -1, 1 },
+ { 10415, "AoC-Request-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Service-Information", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, ccr);
}
@@ -10324,9 +422,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Answer", &ccr);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Low-Balance-Indication"}, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Remaining-Balance"}, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Service-Information"}, RULE_OPTIONAL, -1, 1 },
+ { 10415, "Low-Balance-Indication", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Remaining-Balance", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Service-Information", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, ccr);
}
@@ -10339,8 +437,8 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Domain-Name", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-IMSI-MCC-MNC", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10353,8 +451,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Application-Server" }, RULE_REQUIRED, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Application-Provided-Called-Party-Address" }, RULE_OPTIONAL, -1, -1 },
+ { 10415, "Application-Server", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Application-Provided-Called-Party-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Status-AS-Code", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10367,10 +466,10 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Interface-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Interface-Text", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Interface-Port", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Interface-Type", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10383,12 +482,12 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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_REQUIRED, -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 },
+ { 10415, "Envelope-Start-Time", RULE_REQUIRED, -1, 1 },
+ { 10415, "Envelope-End-Time", RULE_OPTIONAL, -1, 1 },
+ { 0, "CC-Total-Octets", RULE_REQUIRED, -1, 1 },
+ { 0, "CC-Input-Octets", RULE_OPTIONAL, -1, 1 },
+ { 0, "CC-Output-Octets", RULE_OPTIONAL, -1, 1 },
+ { 0, "CC-Service-Specific-Units", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10401,9 +500,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "SIP-Method", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Event", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Expires", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10416,47 +515,58 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 = "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 = "Access-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 = "Access-Transfer-Information" }, RULE_OPTIONAL, -1, -1 },
+ { 10415, "Event-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Role-Of-Node", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Node-Functionality", RULE_REQUIRED, -1, 1 },
+ { 10415, "User-Session-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Outgoing-Session-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Session-Priority", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Calling-Party-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Called-Party-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Called-Asserted-Identity", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Number-Portability-Routing-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Carrier-Select-Routing-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Alternate-Charged-Party-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Requested-Party-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Associated-URI", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Time-Stamps", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Application-Server-Information", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Inter-Operator-Identifier", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Transit-IOI-List", RULE_OPTIONAL, -1, 1 },
+ { 10415, "IMS-Charging-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SDP-Session-Description", RULE_OPTIONAL, -1, -1 },
+ { 10415, "SDP-Media-Component", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Served-Party-IP-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Server-Capabilities", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Trunk-Group-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Bearer-Service", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Service-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Service-Specific-Info", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Message-Body", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Cause-Code", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Reason-Header", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Access-Network-Information", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Cellular-Network-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Early-Media-Description", RULE_OPTIONAL, -1, -1 },
+ { 10415, "IMS-Communication-Service-Identifier",RULE_OPTIONAL, -1, 1 },
+ { 10415, "IMS-Application-Reference-Identifier",RULE_OPTIONAL, -1, 1 },
+ { 10415, "Online-Charging-Flag", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Real-Time-Tariff-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Account-Expiration", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Initial-IMS-Charging-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "NNI-Information", RULE_OPTIONAL, -1, -1 },
+ { 10415, "From-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "IMS-Emergency-Indicator", RULE_OPTIONAL, -1, 1 },
+ { 10415, "IMS-Visited-Network-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Access-Network-Info-Change", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Access-Transfer-Information", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Related-IMS-Charging-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Related-IMS-Charging-Identifier-Node",RULE_OPTIONAL, -1, 1 },
+ { 10415, "Route-Header-Received", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Route-Header-Transmitted", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Instance-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "TAD-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "FE-Identifier-List", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10469,8 +579,8 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Class-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Token-Text", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10483,26 +593,26 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
- { { .avp_vendor = 10415, .avp_name = "VASP-ID" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "VAS-ID" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "Originator-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Recipient-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Submission-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MM-Content-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Priority", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Message-ID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Message-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Message-Size", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Message-Class", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Delivery-Report-Requested", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Read-Reply-Report-Requested", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MMBox-Storage-Requested", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Applic-ID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Reply-Applic-ID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Aux-Applic-Info", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Content-Class", RULE_OPTIONAL, -1, 1 },
+ { 10415, "DRM-Content", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Adaptations", RULE_OPTIONAL, -1, 1 },
+ { 10415, "VASP-ID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "VAS-ID", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10517,21 +627,21 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Time-Quota-Threshold" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Volume-Quota-Threshold" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Unit-Quota-Threshold" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Quota-Holding-Time" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Quota-Consumption-Time" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Reporting-Reason" }, RULE_OPTIONAL, -1, -1 },
- { { .avp_vendor = 10415, .avp_name = "Trigger" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Refund-Information" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "AF-Correlation-Information" }, RULE_OPTIONAL, -1, -1 },
- { { .avp_vendor = 10415, .avp_name = "Envelope" }, RULE_OPTIONAL, -1, -1 },
- { { .avp_vendor = 10415, .avp_name = "Envelope-Reporting" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info" }, RULE_OPTIONAL, -1, -1 },
- { { .avp_vendor = 10415, .avp_name = "QoS-Information" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "Time-Quota-Threshold", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Volume-Quota-Threshold", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Unit-Quota-Threshold", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Quota-Holding-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Quota-Consumption-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Reporting-Reason", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Trigger", RULE_OPTIONAL, -1, 1 },
+ { 10415, "PS-Furnish-Charging-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Refund-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "AF-Correlation-Information", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Envelope", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Envelope-Reporting", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Time-Quota-Mechanism", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Service-Specific-Info", RULE_OPTIONAL, -1, -1 },
+ { 10415, "QoS-Information", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10544,10 +654,10 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Quota-Consumption-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Time-Quota-Mechanism", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Envelope-Reporting", RULE_OPTIONAL, -1, 1 },
+ { 0, "Multiple-Services-Credit-Control", RULE_OPTIONAL, -1, -1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10560,9 +670,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10575,10 +685,10 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Interface-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Interface-Text", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Interface-Port", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Interface-Type", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10591,9 +701,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10606,9 +716,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "3GPP-Charging-Id", RULE_REQUIRED, -1, 1 },
+ { 10415, "PS-Free-Format-Data", RULE_REQUIRED, -1, 1 },
+ { 10415, "PS-Append-Free-Format-Data", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10621,52 +731,80 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 = "SGW-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-Session-Stop-Indicator" }, 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 = "3GPP-User-Location-Info" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "User-CSG-Information" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID" }, 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 = "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 },
+ { 10415, "Supported-Features", RULE_OPTIONAL, -1, -1 },
+ { 10415, "3GPP-Charging-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "PDN-Connection-Charging-ID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Node-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-PDP-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "PDP-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "PDP-Address-Prefix-Length", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Dynamic-Address-Flag", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Dynamic-Address-Flag-Extension", RULE_OPTIONAL, -1, 1 },
+ { 10415, "QoS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SGSN-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "GGSN-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "TDF-IP-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "SGW-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "EPDG-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "CG-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Serving-Node-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SGW-Change", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-IMSI-MCC-MNC", RULE_OPTIONAL, -1, 1 },
+ { 10415, "IMSI-Unauthenticated-Flag", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-GGSN-MCC-MNC", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-NSAPI", RULE_OPTIONAL, -1, 1 },
+ { 0, "Called-Station-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-Session-Stop-Indicator", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-Selection-Mode", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-Charging-Characteristics", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Charging-Characteristics-Selection-Mode", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-SGSN-MCC-MNC", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-MS-TimeZone", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Charging-Rule-Base-Name", RULE_OPTIONAL, -1, 1 },
+ { 10415, "ADC-Rule-Base-Name", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-User-Location-Info", RULE_OPTIONAL, -1, 1 },
+ { 10415, "User-Location-Info-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "User-CSG-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Presence-Reporting-Area-Information", RULE_OPTIONAL, -1, -1 },
+ { 5535, "3GPP2-BSID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "TWAN-User-Location-Info", RULE_OPTIONAL, -1, 1 },
+ { 10415, "UWAN-User-Location-Info", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-RAT-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "PS-Furnish-Charging-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "PDP-Context-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Offline-Charging", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Traffic-Data-Volumes", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Service-Data-Container", RULE_OPTIONAL, -1, -1 },
+ { 0, "User-Equipment-Info", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Terminal-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Start-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Stop-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Change-Condition", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Diagnostics", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Low-Priority-Indicator", RULE_OPTIONAL, -1, 1 },
+ { 10415, "NBIFOM-Mode", RULE_OPTIONAL, -1, 1 },
+ { 10415, "NBIFOM-Support", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MME-Number-for-MT-SMS", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MME-Name", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MME-Realm", RULE_OPTIONAL, -1, 1 },
+#if 0 /* TODO: ETSI ES 283 034 */
+ { 13019, "Logical-Access-ID", RULE_OPTIONAL, -1, 1 },
+ { 13019, "Physical-Access-ID", RULE_OPTIONAL, -1, 1 },
+#endif
+ { 10415, "Fixed-User-Location-Info", RULE_OPTIONAL, -1, 1 },
+ { 10415, "CN-Operator-Selection-Entity", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Enhanced-Diagnostics", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SGi-PtP-Tunnelling-Method", RULE_OPTIONAL, -1, 1 },
+ { 10415, "CP-CIoT-EPS-Optimisation-Indicator", RULE_OPTIONAL, -1, 1 },
+ { 10415, "UNI-PDU-CP-Only-Flag", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Serving-PLMN-Rate-Control", RULE_OPTIONAL, -1, 1 },
+ { 10415, "APN-Rate-Control", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Charging-Per-IP-CAN-Session-Indicator", RULE_OPTIONAL, -1, 1 },
+ { 10415, "RRC-Cause-Counter", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-PS-Data-Off-Status", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SCS-AS-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Unused-Quota-Timer", RULE_OPTIONAL, -1, 1 },
+ { 10415, "RAN-Secondary-RAT-Usage-Report", RULE_OPTIONAL, -1, -1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10679,10 +817,10 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Addressee-Type", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10695,11 +833,11 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Destination-Interface", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Recipient-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Recipient-Received-Address", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Recipient-SCCP-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-Protocol-ID", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10712,9 +850,9 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10727,16 +865,16 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "SDP-Media-Name", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SDP-Media-Description", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Local-GW-Inserted-Indication", RULE_OPTIONAL, -1, 1 },
+ { 10415, "IP-Realm-Default-Indication", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Transcoder-Inserted-Indication", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Media-Initiator-Flag", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Media-Initiator-Party", RULE_OPTIONAL, -1, 1 },
+ { 10415, "3GPP-Charging-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Access-Network-Charging-Identifier-Value", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SDP-Type", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10749,20 +887,25 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 = "WLAN-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 = "MMTel-Information" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Service-Generic-Information" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "IM-Information" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "DCD-Information" }, RULE_OPTIONAL, -1, 1 },
+ { 0, "Subscription-Id", RULE_OPTIONAL, -1, -1 },
+ { 10415, "AoC-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "PS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "IMS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MMS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "LCS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "PoC-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MBMS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SMS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "VCS-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MMTel-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "ProSe-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Service-Generic-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "IM-Information", RULE_OPTIONAL, -1, 1 },
+ { 10415, "DCD-Information", RULE_OPTIONAL, -1, 1 },
+#if 0 /* TODO: oneM2M TS-0004 */
+ { 45687, "M2M-Information", RULE_OPTIONAL, -1, 1 },
+#endif
+ { 10415, "CPDT-Information", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10775,22 +918,27 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 = "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 },
+ { 10415, "SMS-Node", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Client-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Originator-SCCP-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SMSC-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Data-Coding-Scheme", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-Discharge-Time", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-Message-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Originator-Interface", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-Protocol-ID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Reply-Path-Requested", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-Status", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-User-Data-Header", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Number-Of-Messages-Sent", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Recipient-Info", RULE_OPTIONAL, -1, -1 },
+ { 10415, "Originator-Received-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-Service-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SMS-Result", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SM-Device-Trigger-Indicator", RULE_OPTIONAL, -1, 1 },
+ { 10415, "MTC-IWF-Address", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Application-Port-Identifier", RULE_OPTIONAL, -1, 1 },
+ { 10415, "External-Identifier", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10803,8 +951,8 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_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 },
+ { 10415, "Time-Quota-Type", RULE_REQUIRED, -1, 1 },
+ { 10415, "Base-Time-Interval", RULE_REQUIRED, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10817,10 +965,10 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "SIP-Response-Timestamp" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp-Fraction" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "SIP-Response-Timestamp-Fraction" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "SIP-Request-Timestamp", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SIP-Response-Timestamp", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SIP-Request-Timestamp-Fraction", RULE_OPTIONAL, -1, 1 },
+ { 10415, "SIP-Response-Timestamp-Fraction", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10835,13 +983,16 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Reporting-Reason" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Event-Charging-TimeStamp" }, RULE_OPTIONAL, -1, -1 },
+ { 10415, "Reporting-Reason", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Event-Charging-TimeStamp", RULE_OPTIONAL, -1, -1 },
};
PARSE_loc_rules(rules, rule_avp);
}
- /* OMA */
+ /*==================================================================*/
+ /* OMA DDS Charging_Data V1.0 20110201-A */
+ /*==================================================================*/
+
{
struct dict_object *rule_avp;
struct dict_avp_request vpa;
@@ -10850,8 +1001,8 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Content-ID" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Content-provider-ID" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "Content-ID", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Content-provider-ID", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10863,10 +1014,10 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Total-Number-Of-Messages-Sent" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Total-Number-Of-Messages-Exploded" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Successfully-Sent" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Successfully-Exploded" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "Total-Number-Of-Messages-Sent", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Total-Number-Of-Messages-Exploded", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Number-Of-Messages-Successfully-Sent", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Number-Of-Messages-Successfully-Exploded", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
@@ -10878,14 +1029,14 @@ static int dict_dcca_3gpp_entry(char * conffile)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp);
struct local_rules_definition rules[] =
{
- { { .avp_vendor = 10415, .avp_name = "Application-Server-Id" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Application-Service-Type" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Application-Session-Id" }, RULE_OPTIONAL, -1, 1 },
- { { .avp_vendor = 10415, .avp_name = "Delivery-Status" }, RULE_OPTIONAL, -1, 1 },
+ { 10415, "Application-Server-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Application-Service-Type", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Application-Session-Id", RULE_OPTIONAL, -1, 1 },
+ { 10415, "Delivery-Status", RULE_OPTIONAL, -1, 1 },
};
PARSE_loc_rules(rules, rule_avp);
}
-
+
LOG_D( "Extension 'Dictionary definitions for DCCA 3GPP' initialized");
return 0;
}
diff --git a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv
new file mode 100644
index 0000000..ff45102
--- /dev/null
+++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.csv
@@ -0,0 +1,2421 @@
+Attribute Name,AVP Code,Section defined,Value Type,MUST,MAY,SHOULD NOT,MUST NOT
+@vendor,10415,,,,,,
+,,,,,,,
+@standard,3GPP TS 29.061,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.061 V15.5.0 (2018-12),,,,,,,
+# Interworking between the Public Land Mobile Network (PLMN),,,,,,,
+# supporting packet based services and,,,,,,,
+# Packet Data Networks (PDN),,,,,,,
+# ,,,,,,,
+# From 3GPP 29061-f50.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.061 Table 9a: Gi/Sgi specific AVPs,,,,,,,
+#,,,,,,,
+# Note: 3GPP TS 29.061 is unclear and inconsistent about M.,,,,,,,
+"# For this reason, other sources are assumed more trustworthy.",,,,,,,
+#=,,,,,,,
+#,,,,,,,
+# Fix: 3GPP-IMSI (1) changed to Must M.,,,,,,,
+3GPP-IMSI,1,16.4.7,UTF8String,"M,V",P,,
+"# Fix: 3GPP-Charging-Id (2) type changed from OctetString to Unsigned32,",,,,,,,
+# per 3GPP TS 29.061 clause 16.4.7.2/2 and packet dumps.,,,,,,,
+3GPP-Charging-Id,2,16.4.7,Unsigned32,"M,V",P,,
+# Fix: 3GPP-PDP-Type (3) changed to Must M.,,,,,,,
+3GPP-PDP-Type,3,16.4.7,Enumerated,"M,V",P,,
+3GPP-CG-Address,4,16.4.7,OctetString,V,P,,M
+# Fix: 3GPP-GPRS-Negotiated-QoS-Profile (5) changed to Must M per contrib/3gpp.,,,,,,,
+3GPP-GPRS-Negotiated-QoS-Profile,5,16.4.7,UTF8String,"M,V",P,,
+3GPP-SGSN-Address,6,16.4.7,OctetString,V,P,,M
+3GPP-GGSN-Address,7,16.4.7,OctetString,V,P,,M
+# Fix: 3GPP-IMSI-MCC-MNC (8) changed to Must M per packet dumps.,,,,,,,
+3GPP-IMSI-MCC-MNC,8,16.4.7,UTF8String,"M,V",P,,
+# Fix: 3GPP-GGSN-MCC-MNC (9) changed to Must M per contrib/3gpp.,,,,,,,
+3GPP-GGSN-MCC-MNC,9,16.4.7,UTF8String,"M,V",P,,
+# Fix: 3GPP-NSAPI (10) changed to Must M per contrib/3gpp.,,,,,,,
+3GPP-NSAPI,10,16.4.7,OctetString,"M,V",P,,
+# Note: 3GPP TS 29.061 Table 9a does not define,,,,,,,
+# 3GPP-Session-Stop-Indicator (11) even when it is referenced,,,,,,,
+# by other 3GPP Diameter AVPs including PS-Information (874).,,,,,,,
+# ,,,,,,,
+# Fix: Add 3GPP-Session-Stop-Indicator (11) OctetString.,,,,,,,
+3GPP-Session-Stop-Indicator,11,16.4.7,OctetString,V,P,,M
+# Fix: 3GPP-Selection-Mode (12) changed to Must M per contrib/3gpp.,,,,,,,
+3GPP-Selection-Mode,12,16.4.7,UTF8String,"M,V",P,,
+# Fix: 3GPP-Charging-Characteristics (13) changed to Must M per contrib/3gpp.,,,,,,,
+3GPP-Charging-Characteristics,13,16.4.7,UTF8String,"M,V",P,,
+# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# 3GPP-CG-IPv6-Address (14) to 3GPP-CG-Ipv6-Address.,,,,,,,
+# ,,,,,,,
+# Fix: 3GPP-CG-Ipv6-Address (14) changed to Must M per contrib/3gpp.,,,,,,,
+# Change-1.4.0: 3GPP-CG-IPv6-Address (14) renamed to 3GPP-CG-Ipv6-Address (14).,,,,,,,
+3GPP-CG-Ipv6-Address,14,16.4.7,OctetString,"M,V",P,,
+# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# 3GPP-SGSN-IPv6-Address (15) to 3GPP-SGSN-Ipv6-Address.,,,,,,,
+# ,,,,,,,
+# Fix: 3GPP-SGSN-Ipv6-Address (15) changed to Must M per contrib/3gpp.,,,,,,,
+# Change-1.4.0: 3GPP-SGSN-IPv6-Address (15) renamed to 3GPP-SGSN-Ipv6-Address (15).,,,,,,,
+3GPP-SGSN-Ipv6-Address,15,16.4.7,OctetString,"M,V",P,,
+# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# 3GPP-GGSN-IPv6-Address (16) to 3GPP-GGSN-Ipv6-Address.,,,,,,,
+# ,,,,,,,
+# Fix: 3GPP-GGSN-Ipv6-Address (16) changed to Must M per contrib/3gpp.,,,,,,,
+# Change-1.4.0: 3GPP-GGSN-IPv6-Address (16) renamed to 3GPP-GGSN-Ipv6-Address (16).,,,,,,,
+3GPP-GGSN-Ipv6-Address,16,16.4.7,OctetString,"M,V",P,,
+# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# 3GPP-IPv6-DNS-Servers (17) to 3GPP-Ipv6-DNS-Servers.,,,,,,,
+# ,,,,,,,
+# Fix: 3GPP-Ipv6-DNS-Servers (17) changed to Must M per contrib/3gpp.,,,,,,,
+# Change-1.4.0: 3GPP-IPv6-DNS-Servers (17) renamed to 3GPP-Ipv6-DNS-Servers (17).,,,,,,,
+3GPP-Ipv6-DNS-Servers,17,16.4.7,OctetString,"M,V",P,,
+# Fix: 3GPP-SGSN-MCC-MNC (18) changed to Must M per contrib/3gpp.,,,,,,,
+3GPP-SGSN-MCC-MNC,18,16.4.7,UTF8String,"M,V",P,,
+# Fix: 3GPP-IMEISV (20) changed to Must M.,,,,,,,
+3GPP-IMEISV,20,16.4.7,OctetString,"M,V",P,,
+# Fix: 3GPP-RAT-Type (21) changed to Must M.,,,,,,,
+3GPP-RAT-Type,21,16.4.7,OctetString,"M,V",P,,
+# Fix: 3GPP-User-Location-Info (22) changed to Must M.,,,,,,,
+3GPP-User-Location-Info,22,16.4.7,OctetString,"M,V",P,,
+# Fix: 3GPP-MS-TimeZone (23) changed to Must M.,,,,,,,
+3GPP-MS-TimeZone,23,16.4.7,OctetString,"M,V",P,,
+3GPP-CAMEL-Charging-Info,24,16.4.7,OctetString,V,P,,M
+3GPP-Packet-Filter,25,16.4.7,OctetString,V,P,,M
+3GPP-Negotiated-DSCP,26,16.4.7,OctetString,V,P,,M
+3GPP-Allocate-IP-Type,27,16.4.7,OctetString,V,P,,M
+# Note: 3GPP TS 29.061 Table 9a does not define,,,,,,,
+# External-Identifier (28) for Diameter; it is RADIUS only.,,,,,,,
+# 3GPP TS 29.061 Table 9b refers to 3GPP TS 29.336,,,,,,,
+# for External-Identifier (3111).,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: External-Identifier (28) OctetString replaced by External-Identifier (3111) UTF8String.,,,,,,,
+#,,,,,,,
+TWAN-Identifier,29,16.4.7,OctetString,V,P,,M
+3GPP-User-Location-Info-Time,30,16.4.7,OctetString,V,P,,M
+3GPP-Secondary-RAT-Usage,31,16.4.7,OctetString,V,P,,M
+#=,,,,,,,
+# 3GPP TS 29.061 Table 10: Gmb specific AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+TMGI,900,17.7.2,OctetString,"M,V",P,,
+Required-MBMS-Bearer-Capabilities,901,17.7.3,UTF8String,"M,V",P,,
+MBMS-StartStop-Indication,902,17.7.5,Enumerated,"M,V",P,,
+MBMS-Service-Area,903,17.7.6,OctetString,"M,V",P,,
+MBMS-Session-Duration,904,17.7.7,OctetString,"M,V",P,,
+Alternative-APN,905,17.7.8,UTF8String,"M,V",P,,
+MBMS-Service-Type,906,17.7.9,Enumerated,"M,V",P,,
+MBMS-2G-3G-Indicator,907,17.7.10,Enumerated,"M, V",P,,
+MBMS-Session-Identity,908,17.7.11,OctetString,"M,V",P,,
+RAI,909,17.7.12,UTF8String,"M, V",P,,
+Additional-MBMS-Trace-Info,910,17.7.13,OctetString,"M,V",P,,
+MBMS-Time-To-Data-Transfer,911,17.7.14,OctetString,"M,V",P,,
+MBMS-Session-Repetition-Number,912,17.7.15,OctetString,"M,V",P,,
+MBMS-Required-QoS,913,17.7.16,UTF8String,"M,V",P,,
+MBMS-Counting-Information,914,17.7.17,Enumerated,"M,V",P,,
+MBMS-User-Data-Mode-Indication,915,17.7.18,Enumerated,"M,V",P,,
+MBMS-GGSN-Address,916,17.7.19,OctetString,"M,V",P,,
+# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# MBMS-GGSN-IPv6-Address (917) to MBMS-GGSN-Ipv6-Address.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: MBMS-GGSN-IPv6-Address (917) renamed to MBMS-GGSN-Ipv6-Address (917).,,,,,,,
+MBMS-GGSN-Ipv6-Address,917,17.7.20,OctetString,"M,V",P,,
+MBMS-BMSC-SSM-IP-Address,918,17.7.21,OctetString,"M,V",P,,
+# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# MBMS-BMSC-SSM-IPv6-Address (919) to MBMS-BMSC-SSM-Ipv6-Address.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: MBMS-BMSC-SSM-IPv6-Address (919) renamed to MBMS-BMSC-SSM-Ipv6-Address (919).,,,,,,,
+MBMS-BMSC-SSM-Ipv6-Address,919,17.7.22,OctetString,"M,V",P,,
+MBMS-Flow-Identifier,920,17.7.23,OctetString,"M,V",P,,
+CN-IP-Multicast-Distribution,921,17.7.24,Enumerated,"M,V",P,,
+MBMS-HC-Indicator,922,17.7.25,Enumerated,"M,V",P,,
+#=,,,,,,,
+# 3GPP TS 29.061 Table 20.5a.1: SGmb specific AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+MBMS-Access-Indicator,923,20.5a.1,Enumerated,"M,V",P,,
+# Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IP-Address (3522).,,,,,,,
+# 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IP-Address (924).,,,,,,,
+# 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IP-Address (3522).,,,,,,,
+MBMS-GW-SSM-IP-Address,924,20.5a.2,OctetString,V,P,,M
+# Note: 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address.,,,,,,,
+# Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IPv6-Address (3523).,,,,,,,
+# 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IPv6-Address (925).,,,,,,,
+# 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address.,,,,,,,
+# 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IPv6-Address (3523).,,,,,,,
+MBMS-GW-SSM-IPv6-Address,925,20.5a.3,OctetString,V,P,,M
+MBMS-BMSC-SSM-UDP-Port,926,20.5a.4,OctetString,V,P,,M
+MBMS-GW-UDP-Port,927,20.5a.5,OctetString,V,P,,M
+MBMS-GW-UDP-Port-Indicator,928,20.5a.6,Enumerated,V,P,,M
+MBMS-Data-Transfer-Start,929,20.5a.7,Unsigned64,V,P,,M
+MBMS-Data-Transfer-Stop,930,20.5a.8,Unsigned64,V,P,,M
+# Note: 3GPP TS 29.061 Table 20.5a.1 row MBMS-Flag (931) has,,,,,,,
+"# incorrect name and should be ""MBMS-Flags"" per clause 20.5a.9.",,,,,,,
+# ,,,,,,,
+# Fix: MBMS-Flag (931) renamed to MBMS-Flags (931).,,,,,,,
+MBMS-Flags,931,20.5a.9,Unsigned32,V,P,,M
+Restart-Counter,932,20.5a.10,Unsigned32,V,P,,M
+Diagnostic-Info,933,20.5a.11,Unsigned32,V,P,,M
+MBMS-Cell-List,934,20.5a.12,OctetString,V,P,,M
+,,,,,,,
+@standard,3GPP TS 29.109,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.109 V15.0.0 (2017-06),,,,,,,
+# Generic Authentication Architecture (GAA);,,,,,,,
+# Zh and Zn Interfaces based on the Diameter protocol;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29109-f00.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.109 Table 6.1: New Diameter Multimedia Application AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+GBA-UserSecSettings,400,6.3.1.1,OctetString,"M, V",,,
+Transaction-Identifier,401,6.3.1.2,OctetString,"M, V",,,
+NAF-Id,402,6.3.1.3,OctetString,"M, V",,,
+GAA-Service-Identifier,403,6.3.1.4,OctetString,"M, V",,,
+Key-ExpiryTime,404,6.3.1.5,Time,"M, V",,,
+ME-Key-Material,405,6.3.1.6,OctetString,"M, V",,,
+UICC-Key-Material,406,6.3.1.7,OctetString,"M, V",,,
+# Note: 3GPP TS 29.109 Table 6.1 row GBA_U-Awareness-Indicator (407),,,,,,,
+# has an underscore in the name (contrary to RFC 6733 section 4.1).,,,,,,,
+# ,,,,,,,
+# Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407).,,,,,,,
+GBA-U-Awareness-Indicator,407,6.3.1.8,Enumerated,"M, V",,,
+BootstrapInfoCreationTime,408,6.3.1.9,Time,"M, V",,,
+GUSS-Timestamp,409,6.3.1.10,Time,V,,,M
+GBA-Type,410,6.3.1.11,Enumerated,"M, V",,,
+UE-Id,411,6.3.1.12,OctetString,"M, V",,,
+UE-Id-Type,412,6.3.1.13,Enumerated,"M, V",,,
+UICC-App-Label,413,6.3.1.14,OctetString,"M, V",,,
+UICC-ME,414,6.3.1.15,Enumerated,"M, V",,,
+Requested-Key-Lifetime,415,6.3.1.16,Time,"M, V",,,
+Private-Identity-Request,416,6.3.1.17,Enumerated,"M, V",,,
+GBA-Push-Info,417,6.3.1.18,OctetString,"M, V",,,
+NAF-SA-Identifier,418,6.3.1.19,OctetString,"M, V",,,
+Security-Feature-Request,419,6.3.1.20,OctetString,"M,V",,,
+Security-Feature-Response,420,6.3.1.21,OctetString,"M,V",,,
+,,,,,,,
+@standard,3GPP TS 29.128,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.128 V15.6.0 (2019-09),,,,,,,
+# Mobility Management Entity (MME) and Serving GPRS Support,,,,,,,
+# Node (SGSN) interfaces for interworking with packet data,,,,,,,
+# networks and applications,,,,,,,
+# ,,,,,,,
+# From 3GPP 29128-f60.docx,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.128 Table 6.4.1-1: T6a/T6b specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Communication-Failure-Information,4300,6.4.4,Grouped,"M,V",,,
+Cause-Type,4301,6.4.5,Unsigned32,"M,V",,,
+S1AP-Cause,4302,6.4.6,Unsigned32,"M,V",,,
+RANAP-Cause,4303,6.4.7,Unsigned32,"M,V",,,
+BSSGP-Cause,4309,6.4.8,Unsigned32,"M,V",,,
+GMM-Cause,4304,6.4.9,Unsigned32,"M,V",,,
+SM-Cause,4305,6.4.10,Unsigned32,"M,V",,,
+Number-Of-UE-Per-Location-Configuration,4306,6.4.11,Grouped,"M,V",,,
+Number-Of-UE-Per-Location-Report,4307,6.4.12,Grouped,"M,V",,,
+UE-Count,4308,6.4.13,Unsigned32,"M,V",,,
+Connection-Action,4314,6.4.18,Unsigned32,"M,V",,,
+Non-IP-Data,4315,6.4.19,OctetString,"M,V",,,
+Serving-PLMN-Rate-Control,4310,6.4.21,Grouped,"M,V",,,
+Uplink-Rate-Limit,4311,6.4.23,Unsigned32,"M,V",,,
+Downlink-Rate-Limit,4312,6.4.22,Unsigned32,"M,V",,,
+Extended-PCO,4313,6.4.26,OctetString,"M,V",,,
+SCEF-Wait-Time,4316,6.4.24,Time,"M,V",,,
+CMR-Flags,4317,6.4.25,Unsigned32,"M,V",,,
+RRC-Cause-Counter,4318,6.4.27,Grouped,"M,V",,,
+Counter-Value,4319,6.4.28,Unsigned32,"M,V",,,
+RRC-Counter-Timestamp,4320,6.4.29,Time,"M,V",,,
+TDA-Flags,4321,6.4.31,Unsigned32,V,,,M
+Idle-Status-Indication,4322,6.4.32,Grouped,V,,,M
+Idle-Status-Timestamp,4323,6.4.33,Time,V,,,M
+Active-Time,4324,6.4.34,Unsigned32,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.140,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.140 V7.0.0 (2007-06),,,,,,,
+# MM10 interface based on Diameter protocol;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29140-700.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.140 Table 6.3.1: Diameter MM10 Application AVPs,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Served-User-Identity,1100,6.3.1,Grouped,"M,V",,,
+VASP-ID,1101,6.3.3,UTF8String,"M,V",,,
+VAS-ID,1102,6.3.4,UTF8String,"M,V",,,
+Trigger-Event,1103,6.3.5,Enumerated,"M,V",,,
+Sender-Address,1104,6.3.7,UTF8String,"M,V",,,
+Initial-Recipient-Address,1105,6.3.8,Grouped,"M,V",,,
+Result-Recipient-Address,1106,6.3.9,Grouped,"M,V",,,
+# Note: Name conflict with 3GPP TS 29.329 Sequence-Number (716),,,,,,,
+# and 3GPP TS 29.283 Sequence-Number (4512).,,,,,,,
+# 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107).,,,,,,,
+# 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716).,,,,,,,
+# 3GPP TS 29.283 V13.1.0 (2016-06) allocated Sequence-Number (4512).,,,,,,,
+# ,,,,,,,
+# Fix: Sequence-Number (1107) renamed to Sequence-Number-29.140 (1107).,,,,,,,
+Sequence-Number-29.140,1107,6.3.10,Unsigned32,"M,V",,,
+# Note: Name conflict with 3GPP TS 32.299 Recipient-Address (1201);,,,,,,,
+# 3GPP TS 29.140 V6.1.0 (2005-06) allocated Recipient-Address (1108).,,,,,,,
+# 3GPP TS 32.299 V6.4.0 (2005-09) CR 0028 added Recipient-Address (1201).,,,,,,,
+# ,,,,,,,
+# Fix: Recipient-Address (1108) renamed to Recipient-Address-29.140 (1108).,,,,,,,
+Recipient-Address-29.140,1108,6.3.11,UTF8String,"M,V",,,
+Routeing-Address,1109,6.3.12,UTF8String,"M,V",,,
+Originating-Interface,1110,6.3.13,Enumerated,"M,V",,,
+Delivery-Report,1111,6.3.14,Enumerated,"M,V",,,
+Read-Reply,1112,6.3.15,Enumerated,"M,V",,,
+Sender-Visibility,1113,6.3.16,Enumerated,"M,V",,,
+Service-Key,1114,6.3.17,UTF8String,"M,V",,,
+Billing-Information,1115,6.3.18,UTF8String,"M,V",,,
+# Note: Name conflict with 3GPP TS 32.299 V11.6.0 Status (2702).,,,,,,,
+# 3GPP TS 32.299 V11.10.0 (2013-12) CR 0566 renamed,,,,,,,
+# Status (2702) to Status-Code (2702).,,,,,,,
+# 3GPP TS 32.299 V11.14.0 (2014-12) CR 0617 renamed,,,,,,,
+# Status-Code (2702) to Status-AS-Code (2702).,,,,,,,
+# ,,,,,,,
+# TODO: rename back to Status ?,,,,,,,
+# Fix: Status (1116) renamed to Status-29.140 (1116).,,,,,,,
+Status-29.140,1116,6.3.19,Grouped,"M,V",,,
+Status-Code,1117,6.3.20,UTF8String,"M,V",,,
+Status-Text,1118,6.3.21,UTF8String,"M,V",,,
+Routeing-Address-Resolution,1119,6.3.22,Enumerated,"M,V",,,
+,,,,,,,
+@standard,3GPP TS 29.153,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.153 V15.1.0 (2019-09),,,,,,,
+# Service capability exposure functionality over Ns,,,,,,,
+# reference point,,,,,,,
+# ,,,,,,,
+# From 3GPP 29153-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.153 Table 5.3.1.1: Ns specific Diameter AVPs ,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Network-Congestion-Area-Report,4101,5.3.2,Grouped,"M,V",P,,
+Ns-Request-Type,4102,5.3.3,Unsigned32,"M,V",P,,
+,,,,,,,
+@standard,3GPP TS 29.154,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.154 V15.3.0 (2019-09),,,,,,,
+# Service capability exposure functionality over,,,,,,,
+# Nt reference point,,,,,,,
+# ,,,,,,,
+# From 3GPP 29154-f30.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.154 Table 5.3.1.1: Nt specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Network-Area-Info-List,4201,5.3.2,OctetString,"M,V",P,,
+Number-Of-UEs,4209,5.3.10,Unsigned32,"M,V",P,,
+Reference-Id,4202,5.3.3,OctetString,"M,V",P,,
+Transfer-Request-Type,4203,5.3.4,Unsigned32,"M,V",P,,
+# Note: Name conflict with 3GPP TS 29.345 Time-Window (3818).,,,,,,,
+# Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates,,,,,,,
+# Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03).,,,,,,,
+# ,,,,,,,
+# Fix: Time-Window (4204) renamed to Time-Window-29.154 (4204).,,,,,,,
+Time-Window-29.154,4204,5.3.5,Grouped,"M,V",P,,
+Transfer-End-Time,4205,5.3.6,Time,"M,V",P,,
+Transfer-Policy,4207,5.3.8,Grouped,"M,V",P,,
+Transfer-Policy-Id,4208,5.3.9,Unsigned32,"M,V",P,,
+Transfer-Start-Time,4206,5.3.7,Time,"M,V",P,,
+#=,,,,,,,
+# 3GPP TS 29.154 Table A.6.3.1-1: Nta specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Access-Network-Reports,4210,A.6.3.2,Grouped,"M,V",P,,
+Event-Configuration,4211,A.6.3.3,Grouped,"M,V",P,,
+Event-Configuration-State,4212,A.6.3.4,Unsigned32,"M,V",P,,
+Event-Configuration-Status,4213,A.6.3.5,Grouped,"M,V",P,,
+Event-Reporting-Results,4214,A.6.3.6,Unsigned32,"M,V",P,,
+Event-Reports,4215,A.6.3.7,Grouped,"M,V",P,,
+Extended-SCEF-Reference-ID,4216,A.6.3.8,Unsigned64,"M,V",P,,
+,,,,,,,
+@standard,3GPP TS 29.172,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.172 V15.2.0 (2019-12),,,,,,,
+# Location Services (LCS);,,,,,,,
+# Evolved Packet Core (EPC) LCS Protocol (ELP) between the,,,,,,,
+# Gateway Mobile Location Centre (GMLC) and the,,,,,,,
+# Mobile Management Entity (MME);,,,,,,,
+# SLg interface,,,,,,,
+# ,,,,,,,
+# From 3GPP 29172-f20.docx,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.172 Table 7.4.1-1: Diameter ELP Application AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+SLg-Location-Type,2500,7.4.2,Enumerated,"M, V",,,
+LCS-EPS-Client-Name,2501,7.4.3,Grouped,"M, V",,,
+LCS-Requestor-Name,2502,7.4.4,Grouped,"M, V",,,
+LCS-Priority,2503,7.4.5,Unsigned32,"M, V",,,
+LCS-QoS,2504,7.4.6,Grouped,"M, V",,,
+Horizontal-Accuracy,2505,7.4.7,Unsigned32,"M, V",,,
+Vertical-Accuracy,2506,7.4.8,Unsigned32,"M, V",,,
+Vertical-Requested,2507,7.4.9,Enumerated,"M, V",,,
+Velocity-Requested,2508,7.4.10,Enumerated,"M, V",,,
+Response-Time,2509,7.4.11,Enumerated,"M, V",,,
+Supported-GAD-Shapes,2510,7.4.12,Unsigned32,"M, V",,,
+LCS-Codeword,2511,7.4.13,UTF8String,"M, V",,,
+LCS-Privacy-Check,2512,7.4.14,Enumerated,"M, V",,,
+Accuracy-Fulfilment-Indicator,2513,7.4.15,Enumerated,"M, V",,,
+Age-Of-Location-Estimate,2514,7.4.16,Unsigned32,"M, V",,,
+Velocity-Estimate,2515,7.4.17,OctetString,"M, V",,,
+EUTRAN-Positioning-Data,2516,7.4.18,OctetString,"M, V",,,
+ECGI,2517,7.4.19,OctetString,"M, V",,,
+Location-Event,2518,7.4.20,Enumerated,"M, V",,,
+Pseudonym-Indicator,2519,7.4.21,Enumerated,"M, V",,,
+LCS-Service-Type-ID,2520,7.4.22,Unsigned32,"M, V",,,
+LCS-Privacy-Check-Non-Session,2521,7.4.23,Grouped,"M, V",,,
+LCS-Privacy-Check-Session,2522,7.4.24,Grouped,"M, V",,,
+LCS-QoS-Class,2523,7.4.27,Enumerated,"M, V",,,
+GERAN-Positioning-Info,2524,7.4.29,Grouped,V,,,M
+GERAN-Positioning-Data,2525,7.4.30,OctetString,V,,,M
+GERAN-GANSS-Positioning-Data,2526,7.4.31,OctetString,V,,,M
+UTRAN-Positioning-Info,2527,7.4.32,Grouped,V,,,M
+UTRAN-Positioning-Data,2528,7.4.33,OctetString,V,,,M
+UTRAN-GANSS-Positioning-Data,2529,7.4.34,OctetString,V,,,M
+LRR-Flags,2530,7.4.35,Unsigned32,V,,,M
+LCS-Reference-Number,2531,7.4.37,OctetString,V,,,M
+Deferred-Location-Type,2532,7.4.36,Unsigned32,V,,,M
+Area-Event-Info,2533,7.4.38,Grouped,V,,,M
+Area-Definition,2534,7.4.39,Grouped,V,,,M
+Area,2535,7.4.40,Grouped,V,,,M
+Area-Type,2536,7.4.41,Unsigned32,V,,,M
+Area-Identification,2537,7.4.42,Grouped,V,,,M
+Occurrence-Info,2538,7.4.43,Enumerated,V,,,M
+Interval-Time,2539,7.4.44,Unsigned32,V,,,M
+Periodic-LDR-Information,2540,7.4.45,Grouped,V,,,M
+Reporting-Amount,2541,7.4.46,Unsigned32,V,,,M
+Reporting-Interval,2542,7.4.47,Unsigned32,V,,,M
+Reporting-PLMN-List,2543,7.4.48,Grouped,V,,,M
+PLMN-ID-List,2544,7.4.49,Grouped,V,,,M
+PLR-Flags,2545,7.4.52,Unsigned32,V,,,M
+PLA-Flags,2546,7.4.53,Unsigned32,V,,,M
+Deferred-MT-LR-Data,2547,7.4.54,Grouped,V,,,M
+Termination-Cause,2548,7.4.55,Unsigned32,V,,,M
+LRA-Flags,2549,7.4.56,Unsigned32,V,,,M
+Periodic-Location-Support-Indicator,2550,7.4.50,Enumerated,V,,,M
+Prioritized-List-Indicator,2551,7.4.51,Enumerated,V,,,M
+ESMLC-Cell-Info,2552,7.4.57,Grouped,V,,,M
+Cell-Portion-ID,2553,7.4.58,Unsigned32,V,,,M
+1xRTT-RCID,2554,7.4.59,OctetString,V,,,M
+Delayed-Location-Reporting-Data,2555,7.4.60,Grouped,V,,,M
+Civic-Address,2556,7.4.61,UTF8String,V,,,M
+Barometric-Pressure,2557,7.4.62,Unsigned32,V,,,M
+UTRAN-Additional-Positioning-Data,2558,7.4.63,OctetString,V,,,M
+Motion-Event-Info,2559,7.4.64,Grouped,V,,,M
+Linear-Distance,2560,7.4.65,Unsigned32,V,,,M
+Maximum-Interval,2561,7.4.66,Unsigned32,V,,,M
+Sampling-Interval,2562,7.4.67,Unsigned32,V,,,M
+Reporting-Duration,2563,7.4.68,Unsigned32,V,,,M
+Reporting-Location-Requirements,2564,7.4.69,Unsigned32,V,,,M
+Additional-Area,2565,7.4.70,Grouped,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.173,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.173 V15.0.0 (2018-06),,,,,,,
+# Location Services (LCS);,,,,,,,
+# Diameter-based SLh interface for Control Plane LCS,,,,,,,
+# ,,,,,,,
+# From 3GPP 29173-f00.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.173 Table 6.4.1/1: SLh specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+LMSI,2400,6.4.2,OctetString,"M,V",,,
+Serving-Node,2401,6.4.3,Grouped,"M,V",,,
+MME-Name,2402,6.4.4,DiameterIdentity,"M,V",,,
+MSC-Number,2403,6.4.5,OctetString,"M,V",,,
+LCS-Capabilities-Sets,2404,6.4.6,Unsigned32,"M,V",,,
+GMLC-Address,2405,6.4.7,Address,"M,V",,,
+Additional-Serving-Node,2406,6.4.8,Grouped,"M,V",,,
+PPR-Address,2407,6.4.9,Address,"M,V",,,
+MME-Realm,2408,6.4.12,DiameterIdentity,V,,,M
+SGSN-Name,2409,6.4.13,DiameterIdentity,V,,,M
+SGSN-Realm,2410,6.4.14,DiameterIdentity,V,,,M
+RIA-Flags,2411,6.4.15,Unsigned32,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.209,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.209 V6.8.0 (2011-09),,,,,,,
+# Policy control over Gq interface,,,,,,,
+# ,,,,,,,
+# From 3GPP 29209-680.doc,,,,,,,
+# ,,,,,,,
+# Replaced by 3GPP TS 29.214.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.209 Table 6.5.1: Gq specific Diameter AVPs,,,,,,,
+# Note: Only AVPs not provided by 3GPP TS 29.214.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Authorization-Token,506,6.5.7,OctetString,"M,V",P,,
+Flow-Grouping,508,6.5.9,Grouped,"M,V",P,,
+,,,,,,,
+@standard,3GPP TS 29.210,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.210 V6.7.0 (2006-12),,,,,,,
+# Charging rule provisioning over Gx interface,,,,,,,
+# ,,,,,,,
+# From 3GPP 29210-670.doc,,,,,,,
+# ,,,,,,,
+# Replaced by 3GPP TS 29.212.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.210 Table 5.2: Gx specific Diameter AVPs,,,,,,,
+# Note: Only AVPs not provided by 3GPP TS 29.212.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+PDP-Session-Operation,1015,5.2.21,Enumerated,"M,V",P,,
+,,,,,,,
+@standard,3GPP TS 29.212,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.212 V15.9.0 (2019-12),,,,,,,
+# Policy and Charging Control (PCC); Reference points,,,,,,,
+# ,,,,,,,
+# From 3GPP 29212-f90.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.212 Table 5.3.0.1: Gx specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+# Change-1.4.0: ADC-Revalidation-Time (2801) Time removed in 3GPP TS 29.212 V12.1.0 (2013-06).,,,,,,,
+#,,,,,,,
+# Note: Name conflict with 3GPP TS 32.299 3GPP-PS-Data-Off-Status (4406).,,,,,,,
+# 3GPP TS 29.212 V14.3.0 (2017-03) CR 1559 added 3GPP-PS-Data-Off-Status (2847).,,,,,,,
+# 3GPP TS 32.299 V14.3.0 (2017-03) CR 0760 added 3GPP-PS-Data-Off-Status (4406).,,,,,,,
+3GPP-PS-Data-Off-Status,2847,5.3.133,Enumerated,V,P,,M
+Access-Availability-Change-Reason,2833,5.3.121,Unsigned32,V,P,,M
+Access-Network-Charging-Identifier-Gx,1022,5.3.22,Grouped,"M,V",P,,
+Allocation-Retention-Priority,1034,5.3.32,Grouped,V,P,,M
+AN-GW-Address,1050,5.3.49,Address,V,P,,M
+AN-GW-Status,2811,5.3.100,Enumerated,V,P,,M
+APN-Aggregate-Max-Bitrate-DL,1040,5.3.39,Unsigned32,V,P,,M
+APN-Aggregate-Max-Bitrate-UL,1041,5.3.40,Unsigned32,V,P,,M
+Application-Detection-Information,1098,5.3.91,Grouped,V,P,,M
+Bearer-Control-Mode,1023,5.3.23,Enumerated,"M,V",P,,
+Bearer-Identifier,1020,5.3.20,OctetString,"M,V",P,,
+Bearer-Operation,1021,5.3.21,Enumerated,"M,V",P,,
+Bearer-Usage,1000,5.3.1,Enumerated,"M,V",P,,
+Charging-Correlation-Indicator,1073,5.3.67,Enumerated,V,P,,M
+Charging-Rule-Base-Name,1004,5.3.5,UTF8String,"M,V",P,,
+Charging-Rule-Definition,1003,5.3.4,Grouped,"M,V",P,,
+Charging-Rule-Install,1001,5.3.2,Grouped,"M,V",P,,
+Charging-Rule-Name,1005,5.3.6,OctetString,"M,V",P,,
+Charging-Rule-Remove,1002,5.3.3,Grouped,"M,V",P,,
+Charging-Rule-Report,1018,5.3.18,Grouped,"M,V",P,,
+CoA-Information,1039,5.3.37,Grouped,V,P,,M
+CoA-IP-Address,1035,5.3.33,Address,V,P,,M
+Conditional-APN-Aggregate-Max-Bitrate,2818,5.3.105,Grouped,V,P,,M
+Conditional-Policy-Information,2840,5.3.128,Grouped,V,P,,M
+Credit-Management-Status,1082,5.3.102,Unsigned32,V,P,,M
+CSG-Information-Reporting,1071,5.3.64,Enumerated,V,P,,M
+Default-Access,2829,5.3.120,Enumerated,V,P,,M
+Default-Bearer-Indication,2844,5.3.132,Enumerated,V,P,,M
+Default-EPS-Bearer-QoS,1049,5.3.48,Grouped,V,P,,M
+Default-QoS-Information,2816,5.3.103,Grouped,V,P,,M
+Default-QoS-Name,2817,5.3.104,UTF8String,V,P,,M
+Event-Report-Indication,1033,5.3.30,Grouped,V,P,,M
+Event-Trigger,1006,5.3.7,Enumerated,"M,V",P,,
+Execution-Time,2839,5.3.127,Time,V,P,,M
+Extended-APN-AMBR-DL,2848,5.3.134,Unsigned32,V,P,,M
+Extended-APN-AMBR-UL,2849,5.3.135,Unsigned32,V,P,,M
+Extended-GBR-DL,2850,5.3.136,Unsigned32,V,P,,M
+Extended-GBR-UL,2851,5.3.137,Unsigned32,V,P,,M
+Flow-Direction,1080,5.3.65,Enumerated,V,P,,M
+Flow-Information,1058,5.3.53,Grouped,V,P,,M
+Flow-Label,1057,5.3.52,OctetString,V,P,,M
+Fixed-User-Location-Info,2825,5.3.112,Grouped,V,P,,M
+Guaranteed-Bitrate-DL,1025,5.3.25,Unsigned32,"M,V",P,,
+Guaranteed-Bitrate-UL,1026,5.3.26,Unsigned32,"M,V",P,,
+# Note: HeNB-BBF-FQDN (2803) UTF8String removed in 3GPP TS 29.212 V11.8.0 (2013-03).,,,,,,,
+#,,,,,,,
+HeNB-Local-IP-Address,2804,5.3.95,Address,V,P,,M
+IP-CAN-Session-Charging-Scope,2827,5.3.114,Enumerated,V,P,,M
+IP-CAN-Type,1027,5.3.27,Enumerated,"M,V",P,,
+# Note: 3GPP TS 29.212 Table 5.3.0.1 row Max-PLR-DL (2852),,,,,,,
+# incorrectly lists type as Unsigned32 instead of Float32.,,,,,,,
+# 3GPP TS 29.212 clause 5.3.138 uses Float32.,,,,,,,
+# ,,,,,,,
+# Fix: Max-PLR-DL (2852) type changed from Float32 to Unsigned32.,,,,,,,
+Max-PLR-DL,2852,5.3.138,Unsigned32,V,P,,M
+# Note: 3GPP TS 29.212 Table 5.3.0.1 row Max-PLR-UL (2853),,,,,,,
+# incorrectly lists type as Unsigned32 instead of Float32.,,,,,,,
+# 3GPP TS 29.212 clause 5.3.139 uses Float32.,,,,,,,
+# ,,,,,,,
+# Fix: Max-PLR-UL (2853) type changed from Float32 to Unsigned32.,,,,,,,
+Max-PLR-UL,2853,5.3.139,Unsigned32,V,P,,M
+Metering-Method,1007,5.3.8,Enumerated,"M,V",P,,
+Monitoring-Flags,2828,5.3.115,Unsigned32,V,,,M
+Monitoring-Key,1066,5.3.59,OctetString,V,P,,M
+Mute-Notification,2809,5.3.98,Enumerated,V,P,,M
+Monitoring-Time,2810,5.3.99,Time,V,P,,M
+NBIFOM-Mode,2830,5.3.117,Enumerated,V,P,,M
+NBIFOM-Support,2831,5.3.116,Enumerated,V,P,,M
+NetLoc-Access-Support,2824,5.3.111,Unsigned32,V,P,,M
+Network-Request-Support,1024,5.3.24,Enumerated,"M,V",P,,
+Offline,1008,5.3.9,Enumerated,"M,V",P,,
+Online,1009,5.3.10,Enumerated,"M,V",P,,
+Packet-Filter-Content,1059,5.3.54,IPFilterRule,V,P,,M
+Packet-Filter-Identifier,1060,5.3.55,OctetString,V,P,,M
+Packet-Filter-Information,1061,5.3.56,Grouped,V,P,,M
+Packet-Filter-Operation,1062,5.3.57,Enumerated,V,P,,M
+Packet-Filter-Usage,1072,5.3.66,Enumerated,V,P,,M
+PCC-Rule-Status,1019,5.3.19,Enumerated,"M,V",P,,
+# Note: 3GPP TS 29.212 Table 5.3.0.1 row PDN-Connection-ID (1065),,,,,,,
+"# missing M, assume MUST NOT.",,,,,,,
+# ,,,,,,,
+# Change-1.4.0: PDN-Connection-ID (1065) flag M MUST NOT.,,,,,,,
+PDN-Connection-ID,1065,5.3.58,OctetString,V,P,,M
+PRA-Install,2845,5.3.130,Grouped,V,P,,M
+PRA-Remove,2846,5.3.131,Grouped,V,P,,M
+Precedence,1010,5.3.11,Unsigned32,"M,V",P,,
+Pre-emption-Capability,1047,5.3.46,Enumerated,V,P,,M
+Pre-emption-Vulnerability,1048,5.3.47,Enumerated,V,P,,M
+Presence-Reporting-Area-Elements-List,2820,5.3.107,OctetString,V,P,,M
+Presence-Reporting-Area-Identifier,2821,5.3.108,OctetString,V,P,,M
+Presence-Reporting-Area-Information,2822,5.3.109,Grouped,V,P,,M
+Presence-Reporting-Area-Node,2855,5.3.141,Unsigned32,V,P,,M
+Presence-Reporting-Area-Status,2823,5.3.110,Unsigned32,V,P,,M
+Priority-Level,1046,5.3.45,Unsigned32,V,P,,M
+# Note: 3GPP TS 29.212 Table 5.3.0.1 row PS-to-CS-Session-Continuity (1099),,,,,,,
+"# missing M, assume MUST NOT.",,,,,,,
+# ,,,,,,,
+# Change-1.4.0: PS-to-CS-Session-Continuity (1099) flag M MUST NOT.,,,,,,,
+PS-to-CS-Session-Continuity,1099,5.3.84,Enumerated,V,P,,M
+QoS-Class-Identifier,1028,5.3.17,Enumerated,"M,V",P,,
+QoS-Information,1016,5.3.16,Grouped,"M,V",P,,
+QoS-Negotiation,1029,5.3.28,Enumerated,"M,V",P,,
+QoS-Upgrade,1030,5.3.29,Enumerated,"M,V",P,,
+RAN-NAS-Release-Cause,2819,5.3.106,OctetString,V,P,,M
+RAN-Rule-Support,2832,5.3.122,Unsigned32,V,P,,M
+RAT-Type,1032,5.3.31,Enumerated,V,P,,M
+Redirect-Information,1085,5.3.82,Grouped,V,P,,M
+Redirect-Support,1086,5.3.83,Enumerated,V,P,,M
+Removal-Of-Access,2842,5.3.126,Enumerated,V,P,,M
+Reporting-Level,1011,5.3.12,Enumerated,"M,V",P,,
+Resource-Allocation-Notification,1063,5.3.50,Enumerated,V,P,,M
+Resource-Release-Notification,2841,5.3.125,Enumerated,V,P,,M
+Revalidation-Time,1042,5.3.41,Time,"M,V",P,,
+Routing-Filter,1078,5.3.72,Grouped,V,P,,M
+Routing-IP-Address,1079,5.3.73,Address,V,P,,M
+Routing-Rule-Definition,1076,5.3.70,Grouped,V,P,,M
+Routing-Rule-Identifier,1077,5.3.71,OctetString,V,P,,M
+Routing-Rule-Install,1081,5.3.68,Grouped,V,P,,M
+Routing-Rule-Remove,1075,5.3.69,Grouped,V,P,,M
+Routing-Rule-Failure-Code,2834,5.3.119,Unsigned32,V,P,,M
+Routing-Rule-Report,2835,5.3.118,Grouped,V,P,,M
+Rule-Activation-Time,1043,5.3.42,Time,"M,V",P,,
+Rule-Deactivation-Time,1044,5.3.43,Time,"M,V",P,,
+Rule-Failure-Code,1031,5.3.38,Enumerated,"M,V",P,,
+Security-Parameter-Index,1056,5.3.51,OctetString,V,P,,M
+Session-Release-Cause,1045,5.3.44,Enumerated,"M,V",P,,
+TCP-Source-Port,2843,5.3.129,Unsigned32,V,P,,M
+TDF-Information,1087,5.3.78,Grouped,V,P,,M
+TDF-Application-Identifier,1088,5.3.77,OctetString,V,P,,M
+TDF-Application-Instance-Identifier,2802,5.3.92,OctetString,V,P,,M
+TDF-Destination-Host,1089,5.3.80,DiameterIdentity,V,P,,M
+TDF-Destination-Realm,1090,5.3.79,DiameterIdentity,V,P,,M
+TDF-IP-Address,1091,5.3.81,Address,V,P,,M
+TFT-Filter,1012,5.3.13,IPFilterRule,"M,V",P,,
+TFT-Packet-Filter-Information,1013,5.3.14,Grouped,"M,V",P,,
+Traffic-Steering-Policy-Identifier-DL,2836,5.3.123,OctetString,V,P,,M
+Traffic-Steering-Policy-Identifier-UL,2837,5.3.124,OctetString,V,P,,M
+ToS-Traffic-Class,1014,5.3.15,OctetString,"M,V",P,,
+Tunnel-Header-Filter,1036,5.3.34,IPFilterRule,V,P,,M
+Tunnel-Header-Length,1037,5.3.35,Unsigned32,V,P,,M
+Tunnel-Information,1038,5.3.36,Grouped,V,P,,M
+UDP-Source-Port,2806,5.3.97,Unsigned32,V,P,,M
+UE-Local-IP-Address,2805,5.3.96,Address,V,P,,M
+UE-Status,2854,5.3.140,Unsigned32,V,P,,M
+Usage-Monitoring-Information,1067,5.3.60,Grouped,V,P,,M
+Usage-Monitoring-Level,1068,5.3.61,Enumerated,V,P,,M
+Usage-Monitoring-Report,1069,5.3.62,Enumerated,V,P,,M
+Usage-Monitoring-Support,1070,5.3.63,Enumerated,V,P,,M
+User-Location-Info-Time,2812,5.3.101,Time,V,P,,M
+PCSCF-Restoration-Indication,2826,5.3.113,Unsigned32,V,P,,M
+#=,,,,,,,
+# 3GPP TS 29.212 Table 5a.3.0.1: Gxx specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+QoS-Rule-Install,1051,5a.3.1,Grouped,"M,V",P,,
+QoS-Rule-Remove,1052,5a.3.2,Grouped,"M,V",P,,
+QoS-Rule-Definition,1053,5a.3.3,Grouped,"M,V",P,,
+QoS-Rule-Name,1054,5a.3.4,OctetString,"M,V",P,,
+QoS-Rule-Base-Name,1074,5a.3.7,UTF8String,V,P,,M
+QoS-Rule-Report,1055,5a.3.5,Grouped,"M,V",P,,
+Session-Linking-Indicator,1064,5a.3.6,Enumerated,"M,V",P,,
+#=,,,,,,,
+# 3GPP TS 29.212 Table 5b.3.0.1: Sd specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+# Change-1.4.0: ADC-Rule-Base-Name (1095) flag M MUST.,,,,,,,
+ADC-Rule-Base-Name,1095,5b.3.4,UTF8String,"M,V",P,,
+# Change-1.4.0: ADC-Rule-Definition (1094) flag M MUST.,,,,,,,
+ADC-Rule-Definition,1094,5b.3.3,Grouped,"M,V",P,,
+# Change-1.4.0: ADC-Rule-Install (1092) flag M MUST.,,,,,,,
+ADC-Rule-Install,1092,5b.3.1,Grouped,"M,V",P,,
+# Change-1.4.0: ADC-Rule-Name (1096) flag M MUST.,,,,,,,
+ADC-Rule-Name,1096,5b.3.5,OctetString,"M,V",P,,
+# Change-1.4.0: ADC-Rule-Remove (1093) flag M MUST.,,,,,,,
+ADC-Rule-Remove,1093,5b.3.2,Grouped,"M,V",P,,
+# Change-1.4.0: ADC-Rule-Report (1097) flag M MUST.,,,,,,,
+ADC-Rule-Report,1097,5b.3.6,Grouped,"M,V",P,,
+#=,,,,,,,
+# 3GPP TS 29.212 Table 5c.3.1.1: St specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Request-Type,2838,5c.3.2,Unsigned32,"M,V",P,,
+#=,,,,,,,
+# 3GPP TS 29.212 Table E.6.3.1.1: S15 specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+CS-Service-Qos-Request-Identifier,2807,E.6.3.2,OctetString,"M, V",P,,
+CS-Service-QoS-Request-Operation,2808,E.6.3.3,Enumerated,"M, V",P,,
+CS-Service-Resource-Report,2813,E.6.3.6,Grouped,"M, V",P,,
+CS-Service-Resource-Failure-Cause,2814,E.6.3.5,Enumerated,"M, V",P,,
+CS-Service-Resource-Result-Operation,2815,E.6.3.4,Enumerated,"M, V",P,,
+,,,,,,,
+@standard,3GPP TS 29.214,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.214 V15.7.0 (2019-09),,,,,,,
+# Policy and Charging Control over Rx reference point,,,,,,,
+# ,,,,,,,
+# From 3GPP 29214-f70.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.214 Table 5.3.0.1: Rx specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Abort-Cause,500,5.3.1,Enumerated,"M,V",P,,
+Access-Network-Charging-Address,501,5.3.2,Address,"M,V",P,,
+Access-Network-Charging-Identifier,502,5.3.3,Grouped,"M,V",P,,
+Access-Network-Charging-Identifier-Value,503,5.3.4,OctetString,"M,V",P,,
+Acceptable-Service-Info,526,5.3.24,Grouped,"M,V",P,,
+AF-Application-Identifier,504,5.3.5,OctetString,"M,V",P,,
+AF-Charging-Identifier,505,5.3.6,OctetString,"M,V",P,,
+AF-Requested-Data,551,5.3.50,Unsigned32,V,P,,M
+AF-Signalling-Protocol,529,5.3.26,Enumerated,V,P,,M
+Application-Service-Provider-Identity,532,5.3.29,UTF8String,V,P,,M
+Codec-Data,524,5.3.7,OctetString,"M,V",P,,
+Content-Version,552,5.3.49,Unsigned64,V,P,,M
+Extended-Max-Requested-BW-DL,554,5.3.52,Unsigned32,V,P,,M
+Extended-Max-Requested-BW-UL,555,5.3.53,Unsigned32,V,P,,M
+Extended-Max-Supported-BW-DL,556,5.3.54,Unsigned32,V,P,,M
+Extended-Max-Supported-BW-UL,557,5.3.55,Unsigned32,V,P,,M
+Extended-Min-Desired-BW-DL,558,5.3.56,Unsigned32,V,P,,M
+Extended-Min-Desired-BW-UL,559,5.3.57,Unsigned32,V,P,,M
+Extended-Min-Requested-BW-DL,560,5.3.58,Unsigned32,V,P,,M
+Extended-Min-Requested-BW-UL,561,5.3.59,Unsigned32,V,P,,M
+Flow-Description,507,5.3.8,IPFilterRule,"M,V",P,,
+Flow-Number,509,5.3.9,Unsigned32,"M,V",P,,
+Flows,510,5.3.10,Grouped,"M,V",P,,
+Flow-Status,511,5.3.11,Enumerated,"M,V",P,,
+Flow-Usage,512,5.3.12,Enumerated,"M,V",P,,
+GCS-Identifier,538,5.3.36,OctetString,V,P,,M
+# Note: 3GPP TS 29.214 Table 5.3.0.1 row IMS-Content-Identifier (563),,,,,,,
+"# missing M, assume MUST NOT.",,,,,,,
+# ,,,,,,,
+# Fix: IMS-Content-Identifier (563) flag M MUST NOT.,,,,,,,
+IMS-Content-Identifier,563,5.3.60,OctetString,V,P,,M
+# Note: 3GPP TS 29.214 Table 5.3.0.1 row IMS-Content (564),,,,,,,
+"# missing M, assume MUST NOT.",,,,,,,
+# ,,,,,,,
+# Fix: IMS-Content (564) flag M MUST NOT.,,,,,,,
+IMS-Content-Type,564,5.3.61,Enumerated,V,P,,M
+IP-Domain-Id,537,5.3.35,OctetString,V,P,,M
+Max-Requested-Bandwidth-DL,515,5.3.14,Unsigned32,"M,V",P,,
+Max-Requested-Bandwidth-UL,516,5.3.15,Unsigned32,"M,V",P,,
+Max-Supported-Bandwidth-DL,543,5.3.41,Unsigned32,V,P,,M
+Max-Supported-Bandwidth-UL,544,5.3.42,Unsigned32,V,P,,M
+MCPTT-Identifier,547,5.3.45,OctetString,V,P,,M
+MCVideo-Identifier,562,5.3.45a,OctetString,V,P,,M
+Media-Component-Description,517,5.3.16,Grouped,"M,V",P,,
+Media-Component-Number,518,5.3.17,Unsigned32,"M,V",P,,
+Media-Component-Status,549,5.3.48,Unsigned32,V,P,,M
+Media-Sub-Component,519,5.3.18,Grouped,"M,V",P,,
+Media-Type,520,5.3.19,Enumerated,"M,V",P,,
+MPS-Identifier,528,5.3.30,OctetString,V,P,,M
+Min-Desired-Bandwidth-DL,545,5.3.43,Unsigned32,V,P,,M
+Min-Desired-Bandwidth-UL,546,5.3.44,Unsigned32,V,P,,M
+Min-Requested-Bandwidth-DL,534,5.3.32,Unsigned32,V,P,,M
+Min-Requested-Bandwidth-UL,535,5.3.33,Unsigned32,V,P,,M
+Priority-Sharing-Indicator,550,5.3.47,Enumerated,V,P,,M
+Pre-emption-Control-Info,553,5.3.51,Unsigned32,V,P,,M
+Required-Access-Info,536,5.3.34,Enumerated,V,P,,M
+Retry-Interval,541,5.3.39,Unsigned32,V,P,,M
+Rx-Request-Type,533,5.3.31,Enumerated,V,P,,M
+RR-Bandwidth,521,5.3.20,Unsigned32,"M,V",P,,
+RS-Bandwidth,522,5.3.21,Unsigned32,"M,V",P,,
+Service-Authorization-Info,548,5.3.46,Unsigned32,V,P,,M
+Service-URN,525,5.3.23,OctetString,"M,V",P,,
+Service-Info-Status,527,5.3.25,Enumerated,"M,V",P,,
+Sharing-Key-DL,539,5.3.37,Unsigned32,V,P,,M
+Sharing-Key-UL,540,5.3.38,Unsigned32,V,P,,M
+Specific-Action,513,5.3.13,Enumerated,"M,V",P,,
+SIP-Forking-Indication,523,5.3.22,Enumerated,"M,V",P,,
+Sponsor-Identity,531,5.3.28,UTF8String,V,P,,M
+Sponsored-Connectivity-Data,530,5.3.27,Grouped,V,P,,M
+Sponsoring-Action,542,5.3.40,Enumerated,V,P,,M
+,,,,,,,
+@standard,3GPP TS 29.215,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.215 V15.2.0 (2019-09),,,,,,,
+# Policy and Charging Control (PCC) over S9 reference point;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29215-f20.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.215 Table 5.3.0.1: S9 specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+DRA-Deployment,2206,5.3.7,Enumerated,V,P,,M
+Multiple-BBERF-Action,2204,5.3.6,Enumerated,"M,V",P,,
+Subsession-Decision-Info,2200,5.3.1,Grouped,"M,V",P,,
+Subsession-Enforcement-Info,2201,5.3.2,Grouped,"M,V",P,,
+Subsession-Id,2202,5.3.3,Unsigned32,"M,V",P,,
+Subsession-Operation,2203,5.3.4,Enumerated,"M,V",P,,
+DRA-Binding,2208,5.3.x,Enumerated,V,P,,M
+#=,,,,,,,
+# 3GPP TS 29.215 Table A.7.3.1.1: S9a specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+PCRF-Address,2207,A.7.3.1.1,DiameterIdentity,"V,M",P,,
+#=,,,,,,,
+# 3GPP TS 29.215 Table A.8.3.1.1: S9a* specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+UE-Local-IPv6-Prefix,2205,A.8.3.1,OctetString,"V,M",P,,
+,,,,,,,
+@standard,3GPP TS 29.217,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.217 V15.1.0 (2019-09),,,,,,,
+# Policy and Charging Control (PCC);,,,,,,,
+# Congestion reporting over Np reference point,,,,,,,
+# ,,,,,,,
+# From 3GPP 29217-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.217 Table 5.3.1.1: Np specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Aggregated-Congestion-Info,4000,5.3.2,Grouped,"V, M",P,,
+Aggregated-RUCI-Report,4001,5.3.3,Grouped,"V, M",P,,
+Congestion-Level-Definition,4002,5.3.4,Grouped,V,P,,M
+Congestion-Level-Range,4003,5.3.5,Unsigned32,V,P,,M
+Congestion-Level-Set-Id,4004,5.3.6,Unsigned32,V,P,,M
+Congestion-Level-Value,4005,5.3.7,Unsigned32,"V, M",P,,
+Congestion-Location-Id,4006,5.3.8,Grouped,V,P,,M
+Conditional-Restriction,4007,5.3.9,Unsigned32,V,P,,M
+eNodeB-Id,4008,5.3.10,OctetString,"V, M",P,,
+IMSI-List,4009,5.3.11,OctetString,"V, M",P,,
+RCAF-Id,4010,5.3.12,DiameterIdentity,"V, M",P,,
+Reporting-Restriction,4011,5.3.13,Unsigned32,V,P,,M
+RUCI-Action,4012,5.3.14,Unsigned32,V,P,,M
+Extended-eNodeB-Id,4013,5.3.15,OctetString,"V, ",P,,M
+,,,,,,,
+@standard,3GPP TS 29.219,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.219 V15.3.0 (2019-09),,,,,,,
+# Policy and Charging Control: Spending Limit Reporting over,,,,,,,
+# Sy reference point,,,,,,,
+# ,,,,,,,
+# From 3GPP 29219-f30.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.219 Table 5.3.0.1: Sy specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Pending-Policy-Counter-Information,2905,5.3.5,Grouped,"M,V",P,,
+Pending-Policy-Counter-Change-Time,2906,5.3.6,Time,"M,V",P,,
+Policy-Counter-Identifier,2901,5.3.1,UTF8String,"M,V",P,,
+Policy-Counter-Status,2902,5.3.2,UTF8String,"M,V",P,,
+Policy-Counter-Status-Report,2903,5.3.3,Grouped,"M,V",P,,
+SL-Request-Type,2904,5.3.4,Enumerated,"M,V",P,,
+SN-Request-Type,2907,5.3.7,Unsigned32,V,P,,M
+,,,,,,,
+@standard,3GPP TS 29.229,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.229 V15.2.0 (2019-09),,,,,,,
+# Cx and Dx interfaces based on the Diameter protocol;,,,,,,,
+# Protocol details,,,,,,,
+# ,,,,,,,
+# From 3GPP 29229-f20.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.229 Table 6.3.1: Diameter Multimedia Application AVPs,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Visited-Network-Identifier,600,6.3.1,OctetString,"M, V",,,
+Public-Identity,601,6.3.2,UTF8String,"M, V",,,
+Server-Name,602,6.3.3,UTF8String,"M, V",,,
+Server-Capabilities,603,6.3.4,Grouped,"M, V",,,
+Mandatory-Capability,604,6.3.5,Unsigned32,"M, V",,,
+Optional-Capability,605,6.3.6,Unsigned32,"M, V",,,
+# Note: Name conflict with 3GPP TS 29.329 User-Data (702).,,,,,,,
+# 3GPP TS 29.229 V6.2.0 (2004-09) allocated User-Data (606).,,,,,,,
+# 3GPP TS 29.329 V6.2.0 (2004-09) allocated User-Data (702).,,,,,,,
+User-Data,606,6.3.7,OctetString,"M, V",,,
+SIP-Number-Auth-Items,607,6.3.8,Unsigned32,"M, V",,,
+SIP-Authentication-Scheme,608,6.3.9,UTF8String,"M, V",,,
+SIP-Authenticate,609,6.3.10,OctetString,"M, V",,,
+SIP-Authorization,610,6.3.11,OctetString,"M, V",,,
+SIP-Authentication-Context,611,6.3.12,OctetString,"M, V",,,
+SIP-Auth-Data-Item,612,6.3.13,Grouped,"M, V",,,
+SIP-Item-Number,613,6.3.14,Unsigned32,"M, V",,,
+Server-Assignment-Type,614,6.3.15,Enumerated,"M, V",,,
+Deregistration-Reason,615,6.3.16,Grouped,"M, V",,,
+Reason-Code,616,6.3.17,Enumerated,"M, V",,,
+Reason-Info,617,6.3.18,UTF8String,"M, V",,,
+Charging-Information,618,6.3.19,Grouped,"M, V",,,
+Primary-Event-Charging-Function-Name,619,6.3.20,DiameterURI,"M, V",,,
+Secondary-Event-Charging-Function-Name,620,6.3.21,DiameterURI,"M, V",,,
+Primary-Charging-Collection-Function-Name,621,6.3.22,DiameterURI,"M, V",,,
+Secondary-Charging-Collection-Function-Name,622,6.3.23,DiameterURI,"M, V",,,
+User-Authorization-Type,623,6.3.24,Enumerated,"M, V",,,
+User-Data-Already-Available,624,6.3.26,Enumerated,"M, V",,,
+Confidentiality-Key,625,6.3.27,OctetString,"M, V",,,
+Integrity-Key,626,6.3.28,OctetString,"M, V",,,
+# Note: User-Data-Request-Type (627) removed in 3GPP TS 29.229 V6.5.0 (2005-06).,,,,,,,
+#,,,,,,,
+Supported-Features,628,6.3.29,Grouped,V,M,,
+Feature-List-ID,629,6.3.30,Unsigned32,V,,,M
+Feature-List,630,6.3.31,Unsigned32,V,,,M
+Supported-Applications,631,6.3.32,Grouped,V,,,M
+Associated-Identities,632,6.3.33,Grouped,V,,,M
+Originating-Request,633,6.3.34,Enumerated,"M,V",,,
+Wildcarded-Public-Identity,634,6.3.35,UTF8String,V,,,M
+SIP-Digest-Authenticate,635,6.3.36,Grouped,V,,,M
+Wildcarded-IMPU,636,6.3.43,UTF8String,V,,,M
+UAR-Flags,637,6.3.44,Unsigned32,V,,,M
+Loose-Route-Indication,638,6.3.45,Enumerated,V,,,M
+SCSCF-Restoration-Info,639,6.3.46,Grouped,V,,,M
+Path,640,6.3.47,OctetString,V,,,M
+Contact,641,6.3.48,OctetString,V,,,M
+Subscription-Info,642,6.3.49,Grouped,V,,,M
+Call-ID-SIP-Header,643,6.3.49.1,OctetString,V,,,M
+From-SIP-Header,644,6.3.49.2,OctetString,V,,,M
+To-SIP-Header,645,6.3.49.3,OctetString,V,,,M
+Record-Route,646,6.3.49.4,OctetString,V,,,M
+Associated-Registered-Identities,647,6.3.50,Grouped,V,,,M
+Multiple-Registration-Indication,648,6.3.51,Enumerated,V,,,M
+Restoration-Info,649,6.3.52,Grouped,V,,,M
+Session-Priority,650,6.3.56,Enumerated,V,,,M
+Identity-with-Emergency-Registration,651,6.3.57,Grouped,V,,,M
+Priviledged-Sender-Indication,652,6.3.58,Enumerated,V,,,M
+LIA-Flags,653,6.3.59,Unsigned32,V,,,M
+Initial-CSeq-Sequence-Number,654,6.3.62,Unsigned32,V,,,M
+SAR-Flags,655,6.3.63,Unsigned32,V,,,M
+Allowed-WAF-WWSF-Identities,656,6.3.64,Grouped,V,,,M
+WebRTC-Authentication-Function-Name,657,6.3.65,UTF8String,V,,,M
+WebRTC-Web-Server-Function-Name,658,6.3.66,UTF8String,V,,,M
+RTR-Flags,659,6.3.69,Unsigned32,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.234,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.234 V11.2.0 (2013-06),,,,,,,
+# 3GPP system to Wireless Local Area Network (WLAN),,,,,,,
+# interworking;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29234-b20.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.234 Table 10.1.1: Diameter Multimedia Application AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+3GPP-WLAN-APN-Id,100,10.1.15,OctetString,"M, V",,,
+Authentication-Method,300,10.1.5,Enumerated,"M, V",,,
+Authentication-Information-SIM,301,10.1.6,OctetString,"M, V",,,
+Authorization-Information-SIM,302,10.1.7,OctetString,"M,V",,,
+WLAN-User-Data,303,10.1.8,Grouped,"M, V",,,
+Charging-Data,304,10.1.10,Grouped,"M, V",,,
+WLAN-Access,305,10.1.11,Enumerated,"M, V",,,
+WLAN-3GPP-IP-Access,306,10.1.12,Enumerated,"M, V",,,
+APN-Authorized,307,10.1.14,Grouped,"M, V",,,
+# Note: APN-Id (308) OctetString removed in 3GPP TS 29.234 V6.5.0 (2005-12).,,,,,,,
+#,,,,,,,
+APN-Barring-Type,309,10.1.16,Enumerated,"M, V",,,
+WLAN-Direct-IP-Access,310,10.1.17,Enumerated,"M, V",,,
+Session-Request-Type,311,10.1.23,Enumerated,"M, V",,,
+Routing-Policy,312,10.1.24,IPFilterRule,"M, V",,,
+Max-Requested-Bandwidth,313,10.1.26,OctetString,"M, V",,,
+Charging-Characteristics,314,10.1.27,Integer32,"M, V",,,
+Charging-Nodes,315,10.1.28,Grouped,"M, V",,,
+Primary-OCS-Charging-Function-Name,316,10.1.29,DiameterIdentity,"M, V",,,
+Secondary-OCS-Charging-Function-Name,317,10.1.30,DiameterIdentity,"M, V",,,
+# Note: 3GPP TS 29.273 from Release 12 now defines 3GPP-AAA-Server-Name (318).,,,,,,,
+# ,,,,,,,
+Maximum-Number-Accesses,319,10.1.38,Unsigned32,"M, V",,,
+,,,,,,,
+@standard,3GPP TS 29.272,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.272 V15.10.0 (2019-12),,,,,,,
+# Mobility Management Entity (MME),,,,,,,
+# and Serving GPRS Support Node (SGSN) related interfaces,,,,,,,
+# based on Diameter protocol,,,,,,,
+# ,,,,,,,
+# From 3GPP 29272-fa0.docx,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+"# 3GPP TS 29.272 Table 7.3.1/1: S6a/S6d, S7a/S7d and S13/S13' specific DiameterAVPs",,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Subscription-Data,1400,7.3.2,Grouped,"M,V",,,
+Terminal-Information,1401,7.3.3,Grouped,"M,V",,,
+IMEI,1402,7.3.4,UTF8String,"M,V",,,
+Software-Version,1403,7.3.5,UTF8String,"M,V",,,
+QoS-Subscribed,1404,7.3.77,OctetString,"M,V",,,
+ULR-Flags,1405,7.3.7,Unsigned32,"M,V",,,
+ULA-Flags,1406,7.3.8,Unsigned32,"M,V",,,
+Visited-PLMN-Id,1407,7.3.9,OctetString,"M,V",,,
+Requested-EUTRAN-Authentication-Info,1408,7.3.11,Grouped,"M,V",,,
+Requested-UTRAN-GERAN-Authentication-Info,1409,7.3.12,Grouped,"M,V",,,
+Number-Of-Requested-Vectors,1410,7.3.14,Unsigned32,"M,V",,,
+Re-Synchronization-Info,1411,7.3.15,OctetString,"M,V",,,
+Immediate-Response-Preferred,1412,7.3.16,Unsigned32,"M,V",,,
+Authentication-Info,1413,7.3.17,Grouped,"M,V",,,
+E-UTRAN-Vector,1414,7.3.18,Grouped,"M,V",,,
+UTRAN-Vector,1415,7.3.19,Grouped,"M,V",,,
+GERAN-Vector,1416,7.3.20,Grouped,"M,V",,,
+Network-Access-Mode,1417,7.3.21,Enumerated,"M,V",,,
+HPLMN-ODB,1418,7.3.22,Unsigned32,"M,V",,,
+Item-Number,1419,7.3.23,Unsigned32,"M,V",,,
+Cancellation-Type,1420,7.3.24,Enumerated,"M,V",,,
+DSR-Flags,1421,7.3.25,Unsigned32,"M,V",,,
+DSA-Flags,1422,7.3.26,Unsigned32,"M,V",,,
+Context-Identifier,1423,7.3.27,Unsigned32,"M,V",,,
+Subscriber-Status,1424,7.3.29,Enumerated,"M,V",,,
+Operator-Determined-Barring,1425,7.3.30,Unsigned32,"M,V",,,
+Access-Restriction-Data,1426,7.3.31,Unsigned32,"M,V",,,
+APN-OI-Replacement,1427,7.3.32,UTF8String,"M,V",,,
+All-APN-Configurations-Included-Indicator,1428,7.3.33,Enumerated,"M,V",,,
+APN-Configuration-Profile,1429,7.3.34,Grouped,"M,V",,,
+APN-Configuration,1430,7.3.35,Grouped,"M,V",,,
+EPS-Subscribed-QoS-Profile,1431,7.3.37,Grouped,"M,V",,,
+VPLMN-Dynamic-Address-Allowed,1432,7.3.38,Enumerated,"M,V",,,
+STN-SR,1433,7.3.39,OctetString,"M,V",,,
+Alert-Reason,1434,7.3.83,Enumerated,"M,V",,,
+AMBR,1435,7.3.41,Grouped,"M,V",,,
+CSG-Subscription-Data,1436,7.3.78,Grouped,"M,V",,,
+CSG-Id,1437,7.3.79,Unsigned32,"M,V",,,
+PDN-GW-Allocation-Type,1438,7.3.44,Enumerated,"M,V",,,
+Expiration-Date,1439,7.3.80,Time,"M,V",,,
+RAT-Frequency-Selection-Priority-ID,1440,7.3.46,Unsigned32,"M,V",,,
+IDA-Flags,1441,7.3.47,Unsigned32,"M,V",,,
+PUA-Flags,1442,7.3.48,Unsigned32,"M,V",,,
+NOR-Flags,1443,7.3.49,Unsigned32,"M,V",,,
+User-Id,1444,7.3.50,UTF8String,V,,,M
+Equipment-Status,1445,7.3.51,Enumerated,"M,V",,,
+Regional-Subscription-Zone-Code,1446,7.3.52,OctetString,"M,V",,,
+RAND,1447,7.3.53,OctetString,"M,V",,,
+XRES,1448,7.3.54,OctetString,"M,V",,,
+AUTN,1449,7.3.55,OctetString,"M,V",,,
+KASME,1450,7.3.56,OctetString,"M,V",,,
+Trace-Collection-Entity,1452,7.3.98,Address,"M,V",,,
+Kc,1453,7.3.59,OctetString,"M,V",,,
+SRES,1454,7.3.60,OctetString,"M,V",,,
+PDN-Type,1456,7.3.62,Enumerated,"M,V",,,
+Roaming-Restricted-Due-To-Unsupported-Feature,1457,7.3.81,Enumerated,"M,V",,,
+Trace-Data,1458,7.3.63,Grouped,"M,V",,,
+Trace-Reference,1459,7.3.64,OctetString,"M,V",,,
+Trace-Depth,1462,7.3.67,Enumerated,"M,V",,,
+Trace-NE-Type-List,1463,7.3.68,OctetString,"M,V",,,
+Trace-Interface-List,1464,7.3.69,OctetString,"M,V",,,
+Trace-Event-List,1465,7.3.70,OctetString,"M,V",,,
+OMC-Id,1466,7.3.71,OctetString,"M,V",,,
+GPRS-Subscription-Data,1467,7.3.72,Grouped,"M,V",,,
+Complete-Data-List-Included-Indicator,1468,7.3.73,Enumerated,"M,V",,,
+PDP-Context,1469,7.3.74,Grouped,"M,V",,,
+PDP-Type,1470,7.3.75,OctetString,"M,V",,,
+3GPP2-MEID,1471,7.3.6,OctetString,"M,V",,,
+Specific-APN-Info,1472,7.3.82,Grouped,"M,V",,,
+LCS-Info,1473,7.3.84,Grouped,"M,V",,,
+GMLC-Number,1474,7.3.85,OctetString,"M,V",,,
+LCS-PrivacyException,1475,7.3.86,Grouped,"M,V",,,
+SS-Code,1476,7.3.87,OctetString,"M,V",,,
+# Note: 3GPP TS 29.272 V12.5.0 (2014-06) Table 7.3.1/1,,,,,,,
+# changed row SS-Status (1477) to be OctetString instead of Grouped.,,,,,,,
+# Clause 7.3.88 already described SS-Status (1147) as OctetString.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: SS-Status (1477) type changed from Grouped to OctetString.,,,,,,,
+SS-Status,1477,7.3.88,OctetString,"M,V",,,
+Notification-To-UE-User,1478,7.3.89,Enumerated,"M,V",,,
+External-Client,1479,7.3.90,Grouped,"M,V",,,
+Client-Identity,1480,7.3.91,OctetString,"M,V",,,
+GMLC-Restriction,1481,7.3.92,Enumerated,"M,V",,,
+PLMN-Client,1482,7.3.93,Enumerated,"M,V",,,
+Service-Type,1483,7.3.94,Grouped,"M,V",,,
+ServiceTypeIdentity,1484,7.3.95,Unsigned32,"M,V",,,
+MO-LR,1485,7.3.96,Grouped,"M,V",,,
+Teleservice-List,1486,7.3.99,Grouped,"M,V",,,
+TS-Code,1487,7.3.100,OctetString,"M,V",,,
+# Note: 3GPP TS 29.272 V12.4.0 (2014-03) renamed,,,,,,,
+# Call-Barring-Infor-List (1488) to Call-Barring-Info (1488).,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: Call-Barring-Infor-List (1488) renamed to Call-Barring-Info (1488).,,,,,,,
+Call-Barring-Info,1488,7.3.101,Grouped,"M,V",,,
+SGSN-Number,1489,7.3.102,OctetString,"M,V",,,
+IDR-Flags,1490,7.3.103,Unsigned32,"M,V",,,
+ICS-Indicator,1491,7.3.104,Enumerated,V,,,M
+IMS-Voice-Over-PS-Sessions-Supported,1492,7.3.106,Enumerated,V,,,M
+Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions,1493,7.3.107,Enumerated,V,,,M
+Last-UE-Activity-Time,1494,7.3.108,Time,V,,,M
+EPS-User-State,1495,7.3.110,Grouped,V,,,M
+EPS-Location-Information,1496,7.3.111,Grouped,V,,,M
+MME-User-State,1497,7.3.112,Grouped,V,,,M
+SGSN-User-State,1498,7.3.113,Grouped,V,,,M
+User-State,1499,7.3.114,Enumerated,V,,,M
+# Note: 3GPP TS 29.272 Table 7.3.1/1 row MME-Location-Information (1600),,,,,,,
+# incorrectly has a space instead of hyphen in the name.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: MME-LocationInformation (1600) renamed to MME-Location-Information(1600).,,,,,,,
+MME-Location-Information,1600,7.3.115,Grouped,V,,,M
+SGSN-Location-Information,1601,7.3.116,Grouped,V,,,M
+E-UTRAN-Cell-Global-Identity,1602,7.3.117,OctetString,V,,,M
+Tracking-Area-Identity,1603,7.3.118,OctetString,V,,,M
+Cell-Global-Identity,1604,7.3.119,OctetString,V,,,M
+Routing-Area-Identity,1605,7.3.120,OctetString,V,,,M
+Location-Area-Identity,1606,7.3.121,OctetString,V,,,M
+Service-Area-Identity,1607,7.3.122,OctetString,V,,,M
+Geographical-Information,1608,7.3.123,OctetString,V,,,M
+Geodetic-Information,1609,7.3.124,OctetString,V,,,M
+Current-Location-Retrieved,1610,7.3.125,Enumerated,V,,,M
+Age-Of-Location-Information,1611,7.3.126,Unsigned32,V,,,M
+Active-APN,1612,7.3.127,Grouped,V,,,M
+Error-Diagnostic,1614,7.3.128,Enumerated,V,,,M
+Ext-PDP-Address,1621,7.3.129,Address,V,,,M
+UE-SRVCC-Capability,1615,7.3.130,Enumerated,V,,,M
+MPS-Priority,1616,7.3.131,Unsigned32,V,,,M
+VPLMN-LIPA-Allowed,1617,7.3.132,Enumerated,V,,,M
+LIPA-Permission,1618,7.3.133,Enumerated,V,,,M
+Subscribed-Periodic-RAU-TAU-Timer,1619,7.3.134,Unsigned32,V,,,M
+Ext-PDP-Type,1620,7.3.75A,OctetString,V,,,M
+SIPTO-Permission,1613,7.3.135,Enumerated,V,,,M
+MDT-Configuration,1622,7.3.136,Grouped,V,,,M
+Job-Type,1623,7.3.137,Enumerated,V,,,M
+Area-Scope,1624,7.3.138,Grouped,V,,,M
+List-Of-Measurements,1625,7.3.139,Unsigned32,V,,,M
+Reporting-Trigger,1626,7.3.140,Unsigned32,V,,,M
+Report-Interval,1627,7.3.141,Enumerated,V,,,M
+Report-Amount,1628,7.3.142,Enumerated,V,,,M
+Event-Threshold-RSRP,1629,7.3.143,Unsigned32,V,,,M
+Event-Threshold-RSRQ,1630,7.3.144,Unsigned32,V,,,M
+Logging-Interval,1631,7.3.145,Enumerated,V,,,M
+Logging-Duration,1632,7.3.146,Enumerated,V,,,M
+Relay-Node-Indicator,1633,7.3.147,Enumerated,V,,,M
+MDT-User-Consent,1634,7.3.148,Enumerated,V,,,M
+PUR-Flags,1635,7.3.149,Unsigned32,V,,,M
+Subscribed-VSRVCC,1636,7.3.150,Enumerated,V,,,M
+Equivalent-PLMN-List,1637,7.3.151,Grouped,V,,,M
+CLR-Flags,1638,7.3.152,Unsigned32,V,,,M
+UVR-Flags,1639,7.3.153,Unsigned32,"M,V",,,
+UVA-Flags,1640,7.3.154,Unsigned32,"M,V",,,
+VPLMN-CSG-Subscription-Data,1641,7.3.155,Grouped,"M,V",,,
+Time-Zone,1642,7.3.163,UTF8String,V,,,M
+A-MSISDN,1643,7.3.157,OctetString,V,,,M
+MME-Number-for-MT-SMS,1645,7.3.159,OctetString,V,,,M
+SMS-Register-Request,1648,7.3.162,Enumerated,V,,,M
+Local-Time-Zone,1649,7.3.156,Grouped,V,,,M
+Daylight-Saving-Time,1650,7.3.164,Enumerated,V,,,M
+Subscription-Data-Flags,1654,7.3.165,Unsigned32,V,,,M
+# Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of,,,,,,,
+# Measurement-Period-LTE (1655) from 1656.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: Measurement-Period-LTE (1656) code changed to Measurement-Period-LTE (1655).,,,,,,,
+Measurement-Period-LTE,1655,7.3.166,Enumerated,V,,,M
+# Note: 3GPP TS 29.272 V12.9.0 (2015-12) changed AVP code of,,,,,,,
+# Measurement-Period-UMTS (1656) from 1655.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: Measurement-Period-UMTS (1655) code changed to Measurement-Period-UMTS (1656).,,,,,,,
+Measurement-Period-UMTS,1656,7.3.167,Enumerated,V,,,M
+Collection-Period-RRM-LTE,1657,7.3.168,Enumerated,V,,,M
+Collection-Period-RRM-UMTS,1658,7.3.169,Enumerated,V,,,M
+Positioning-Method,1659,7.3.170,OctetString,V,,,M
+Measurement-Quantity,1660,7.3.171,OctetString,V,,,M
+Event-Threshold-Event-1F,1661,7.3.172,Integer32,V,,,M
+Event-Threshold-Event-1I,1662,7.3.173,Integer32,V,,,M
+Restoration-Priority,1663,7.3.174,Unsigned32,V,,,M
+SGs-MME-Identity,1664,7.3.175,UTF8String,V,,,M
+SIPTO-Local-Network-Permission,1665,7.3.176,Unsigned32,V,,,M
+Coupled-Node-Diameter-ID,1666,7.3.177,DiameterIdentity,V,,,M
+WLAN-offloadability,1667,7.3.181,Grouped,V,,,M
+WLAN-offloadability-EUTRAN,1668,7.3.182,Unsigned32,V,,,M
+WLAN-offloadability-UTRAN,1669,7.3.183,Unsigned32,V,,,M
+Reset-ID,1670,7.3.184,OctetString,V,,,M
+MDT-Allowed-PLMN-Id,1671,7.3.185,OctetString,V,,,M
+Adjacent-PLMNs,1672,7.3.186,Grouped,V,,,M
+Adjacent-Access-Restriction-Data,1673,7.3.187,Grouped,V,,,M
+DL-Buffering-Suggested-Packet-Count,1674,7.3.188,Integer32,V,,,M
+IMSI-Group-Id,1675,7.3.189,Grouped,V,,,M
+Group-Service-Id,1676,7.3.190,Unsigned32,V,,,M
+Group-PLMN-Id,1677,7.3.191,OctetString,V,,,M
+Local-Group-Id,1678,7.3.192,OctetString,V,,,M
+AIR-Flags,1679,7.3.201,Unsigned32,V,,,M
+UE-Usage-Type,1680,7.3.202,Unsigned32,V,,,M
+Non-IP-PDN-Type-Indicator,1681,7.3.204,Enumerated,V,,,M
+Non-IP-Data-Delivery-Mechanism,1682,7.3.205,Unsigned32,V,,,M
+# Note: 3GPP TS 29.272 Table 7.3.1/1 row Additional-Context-ID (1683) has,,,,,,,
+"# incorrect name and should be ""Additional-Context-Identifier"" per clause 7.3.206.",,,,,,,
+# ,,,,,,,
+# Fix: Additional-Context-ID (1683) renamed to Additional-Context-Identifier (1683).,,,,,,,
+Additional-Context-Identifier,1683,7.3.206,Unsigned32,V,,,M
+SCEF-Realm,1684,7.3.207,DiameterIdentity,V,,,M
+Subscription-Data-Deletion,1685,7.3.208,Grouped,V,,,M
+# Note: 3GPP TS 29.272 Table 7.3.1/1 row Preferred-Data-Mode (1686),,,,,,,
+"# incorrectly has value type Grouped instead of Unsigned32,",,,,,,,
+# conflicting with clause 7.3.209.,,,,,,,
+# ,,,,,,,
+# Fix: Preferred-Data-Mode (1686) type changed from Grouped to Unsigned32.,,,,,,,
+Preferred-Data-Mode,1686,7.3.209,Unsigned32,V,,,M
+Emergency-Info,1687,7.3.210,Grouped,V,,,M
+V2X-Subscription-Data,1688,7.3.212,Grouped,V,,,M
+V2X-Permission,1689,7.3.213,Unsigned32,V,,,M
+PDN-Connection-Continuity,1690,7.3.214,Unsigned32,V,,,M
+eDRX-Cycle-Length,1691,7.3.215,Grouped,V,,,M
+eDRX-Cycle-Length-Value,1692,7.3.216,OctetString,V,,,M
+UE-PC5-AMBR,1693,7.3.217,Unsigned32,V,,,M
+MBSFN-Area,1694,7.3.219,Grouped,V,,,M
+MBSFN-Area-ID,1695,7.3.220,Unsigned32,V,,,M
+Carrier-Frequency,1696,7.3.221,Unsigned32,V,,,M
+RDS-Indicator,1697,7.3.222,Enumerated,V,,,M
+Service-Gap-Time,1698,7.3.223,Unsigned32,V,,,M
+Aerial-UE-Subscription-Information,1699,7.3.224,Unsigned32,V,,,M
+Broadcast-Location-Assistance-Data-Types,1700,7.3.225,Unsigned64,V,,,M
+Paging-Time-Window,1701,7.3.226,Grouped,V,,,M
+Operation-Mode,1702,7.3.227,Unsigned32,V,,,M
+Paging-Time-Window-Length,1703,7.3.228,OctetString,V,,,M
+Core-Network-Restrictions,1704,7.3.230,Unsigned32,V,,,M
+eDRX-Related-RAT,1705,7.3.229,Grouped,V,,,M
+Interworking-5GS-Indicator,1706,7.3.231,Enumerated,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.273,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 V15.4.0 (2019-09),,,,,,,
+# Evolved Packet System (EPS);,,,,,,,
+# 3GPP EPS AAA interfaces,,,,,,,
+# ,,,,,,,
+# From 3GPP 29273-f40.docx,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 Table 5.2.3.1/1: Diameter STa AVPs,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+ANID,1504,5.2.3.7,UTF8String,"M,V",,,P
+AN-Trusted,1503,5.2.3.9,Enumerated,"M,V",,,P
+MIP-FA-RK,1506,5.2.3.12,OctetString,"M,V",,,P
+MIP-FA-RK-SPI,1507,5.2.3.13,Unsigned32,"M,V",,,P
+Full-Network-Name,1516,5.2.3.14,OctetString,V,,,"M,P"
+Short-Network-Name,1517,5.2.3.15,OctetString,V,,,"M,P"
+WLAN-Identifier,1509,5.2.3.18,Grouped,V,,,"M,P"
+AAA-Failure-Indication,1518,8.2.3.21,Unsigned32,V,,,"M,P"
+Transport-Access-Type,1519,5.2.3.19,Enumerated,V,,,"M,P"
+DER-Flags,1520,5.2.3.20,Unsigned32,V,,,"M,P"
+DEA-Flags,1521,5.2.3.21,Unsigned32,V,,,"M,P"
+SSID,1524,5.2.3.22,UTF8String,V,,,"M,P"
+HESSID,1525,5.2.3.23,UTF8String,V,,,"M,P"
+Access-Network-Info,1526,5.2.3.24,Grouped,V,,,"M,P"
+TWAN-Connection-Mode,1527,5.2.3.25,Unsigned32,V,,,"M,P"
+TWAN-Connectivity-Parameters,1528,5.2.3.26,Grouped,V,,,"M,P"
+Connectivity-Flags,1529,5.2.3.27,Unsigned32,V,,,"M,P"
+TWAN-PCO,1530,5.2.3.28,OctetString,V,,,"M,P"
+TWAG-CP-Address,1531,5.2.3.29,Address,V,,,"M,P"
+TWAG-UP-Address,1532,5.2.3.30,UTF8String,V,,,"M,P"
+TWAN-S2a-Failure-Cause,1533,5.2.3.31,Unsigned32,V,,,"M,P"
+SM-Back-Off-Timer,1534,5.2.3.32,Unsigned32,V,,,"M,P"
+WLCP-Key,1535,5.2.3.33,OctetString,V,,,"M,P"
+Emergency-Services,1538,7.2.3.4,Unsigned32,V,,,"M,P"
+IMEI-Check-In-VPLMN-Result,1540,5.2.3.35,Unsigned32,V,,,"M,P"
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 Table 6.2.3.1/1: Diameter SWd AVPs,,,,,,,
+# ,,,,,,,
+# Note: No AVPs are first defined in this table.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 Table 7.2.3.1/1: Diameter SWm AVPs,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Trace-Info,1505,8.2.3.1.3,Grouped,V,,,"M,P"
+AAR-Flags,1539,7.2.3.5,Unsigned32,V,,,"M,P"
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 Table 8.2.3.0/1: Diameter SWx AVPs,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Non-3GPP-User-Data,1500,8.2.3.1,Grouped,"M,V",,,P
+Non-3GPP-IP-Access,1501,8.2.3.3,Enumerated,"M,V",,,P
+Non-3GPP-IP-Access-APN,1502,8.2.3.4,Enumerated,"M,V",,,P
+PPR-Flags,1508,8.2.3.17,Unsigned32,V,,,"M,P"
+TWAN-Default-APN-Context-Id,1512,8.2.3.18,Unsigned32,V,,,"M,P"
+TWAN-Access-Info,1510,8.2.3.19,Grouped,V,,,"M,P"
+Access-Authorization-Flags,1511,8.2.3.20,Unsigned32,V,,,"M,P"
+3GPP-AAA-Server-Name,318,8.2.3.24,DiameterIdentity,"M, V",,,P
+ERP-Authorization,1541,8.2.3.27,Unsigned32,V,,,"M,P"
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 Table 9.2.3.1.1/1: Diameter S6b AVPs for DSMIPv6,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+RAR-Flags,1522,9.2.3.1.5,Unsigned32,V,,,"M,P"
+# Note: Trust-Relationship-Update (1515) Enumerated removed in 3GPP TS 29.273 V11.4.0 (2012-12).,,,,,,,
+#,,,,,,,
+DER-S6b-Flags,1523,9.2.3.7,Unsigned32,V,,,"M,P"
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 Table 9.2.3.2.1/1: Diameter S6b AVPs for PMIPv6 or GTPv2,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Origination-Time-Stamp,1536,9.2.3.2.6,Unsigned64,V,,,"M,P"
+Maximum-Wait-Time,1537,9.2.3.2.7,Unsigned32,V,,,"M,P"
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.273 Table 9.2.3.6.1/1: Diameter S6b AVPs for MIPv4 FACoA,,,,,,,
+# ,,,,,,,
+# Note: No AVPs are first defined in this table.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+,,,,,,,
+@standard,3GPP TS 29.283,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.283 V15.1.0 (2019-09),,,,,,,
+# Diameter Data Management Applications,,,,,,,
+# ,,,,,,,
+# From 3GPP 29283-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+"# 3GPP TS 29.283 Table 7.3.1-1: MCPTT-2, MCVideo-2, MCData-2 and CSC-13 specific Diameter AVPs",,,,,,,
+#=,,,,,,,
+#,,,,,,,
+MCPTT-ID,4500,7.3.2,UTF8String,"M, V",,,
+Data-Identification,4501,7.3.3,Grouped,"M, V",,,
+Data-Identification-Prefix,4502,7.3.11,Unsigned32,"M,V",,,
+Data-Identification-Flags,4503,7.3.12,Unsigned64,"M,V",,,
+DPR-Flags,4504,7.3.13,Unsigned32,"M,V",,,
+DPA-Flags,4505,7.3.14,Unsigned32,"M,V",,,
+DUR-Flags,4506,7.3.15,Unsigned32,"M,V",,,
+DUA-Flags,4507,7.3.16,Unsigned32,"M,V",,,
+NDR-Flags,4508,7.3.17,Unsigned32,"M,V",,,
+NDA-Flags,4509,7.3.18,Unsigned32,"M,V",,,
+User-Data-Id,4510,7.3.19,Unsigned32,"M,V",,,
+MC-Service-User-Profile-Data,4511,7.3.20,Grouped,"M,V",,,
+# Note: Name conflict with 3GPP TS 29.140 Sequence-Number (1107).,,,,,,,
+# and 3GPP TS 29.329 Sequence-Number (716).,,,,,,,
+# 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107).,,,,,,,
+# 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716).,,,,,,,
+# 3GPP TS 29.283 V13.1.0 (2016-06) allocated Sequence-Number (4512).,,,,,,,
+# ,,,,,,,
+# Fix: Sequence-Number (4512) renamed to Sequence-Number-29.283 (4512).,,,,,,,
+Sequence-Number-29.283,4512,7.3.21,Unsigned32,"M,V",,,
+Data,4513,7.3.22,Grouped,"M,V",,,
+MCVideo-ID,4514,7.3.24,UTF8String,V,,,M
+MCData-ID,4515,7.3.25,UTF8String,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.329,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.329 V15.2.0 (2019-09),,,,,,,
+# Sh Interface based on the Diameter protocol;,,,,,,,
+# Protocol details,,,,,,,
+# ,,,,,,,
+# From 3GPP 29329-f20.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.329 Table 6.3.1: Table 6.3.1: Diameter Multimedia Application AVPs,,,,,,,
+# ,,,,,,,
+# Note: AVPs referenced from other sources are not added here.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+User-Identity,700,6.3.1,Grouped,"M, V",,,
+MSISDN,701,6.3.2,OctetString,"M, V",,,
+# Note: Name conflict with 3GPP TS 29.229 User-Data (606).,,,,,,,
+# 3GPP TS 29.229 V6.2.0 (2004-09) allocated User-Data (606).,,,,,,,
+# 3GPP TS 29.329 V6.2.0 (2004-09) allocated User-Data (702).,,,,,,,
+# ,,,,,,,
+# Fix: User-Data (702) renamed to User-Data-29.329 (702).,,,,,,,
+User-Data-29.329,702,6.3.3,OctetString,"M, V",,,
+Data-Reference,703,6.3.4,Enumerated,"M, V",,,
+Service-Indication,704,6.3.5,OctetString,"M, V",,,
+Subs-Req-Type,705,6.3.6,Enumerated,"M, V",,,
+Requested-Domain,706,6.3.7,Enumerated,"M, V",,,
+Current-Location,707,6.3.8,Enumerated,"M, V",,,
+Identity-Set,708,6.3.10,Enumerated,V,,,M
+Expiry-Time,709,6.3.16,Time,V,,,M
+Send-Data-Indication,710,6.3.17,Enumerated,V,,,M
+DSAI-Tag,711,6.3.18,OctetString,"M, V",,,
+One-Time-Notification,712,6.3.22,Enumerated,V,,,M
+Requested-Nodes,713,6.3.7A,Unsigned32,V,,,M
+Serving-Node-Indication,714,6.3.23,Enumerated,V,,,M
+Repository-Data-ID,715,6.3.24,Grouped,V,,,M
+# Note: Name conflict with 3GPP TS 29.140 Sequence-Number (1107),,,,,,,
+# and 3GPP TS 29.283 Sequence-Number (4512).,,,,,,,
+# 3GPP TS 29.140 V6.1.0 (2005-06) allocated Sequence-Number (1107).,,,,,,,
+# 3GPP TS 29.329 V10.0.0 (2010-09) CR 0163 added Sequence-Number (716).,,,,,,,
+# 3GPP TS 29.283 V13.1.0 (2016-06) allocated Sequence-Number (4512).,,,,,,,
+Sequence-Number,716,6.3.25,Unsigned32,V,,,M
+Pre-paging-Supported,717,6.3.26,Enumerated,V,,,M
+Local-Time-Zone-Indication,718,6.3.27,Enumerated,V,,,M
+UDR-Flags,719,6.3.28,Unsigned32,V,,,M
+Call-Reference-Info,720,6.3.29,Grouped,V,,,M
+Call-Reference-Number,721,6.3.30,OctetString,V,,,M
+AS-Number,722,6.3.31,OctetString,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.336,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.336 V15.7.0 (2019-09),,,,,,,
+# Home Subscriber Server (HSS) diameter interfaces for,,,,,,,
+# interworking with packet data networks and applications,,,,,,,
+# ,,,,,,,
+# From 3GPP 29336-f70.docx,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.336 Table 6.4.1/1: S6m/S6n specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+IP-SM-GW-Number,3100,6.4.14,OctetString,"M,V",,,
+IP-SM-GW-Name,3101,6.4.15,DiameterIdentity,"M,V",,,
+User-Identifier,3102,6.4.2,Grouped,"M,V",,,
+Service-ID,3103,6.4.3,Enumerated,"M,V",,,
+SCS-Identity,3104,6.4.4,OctetString,"M,V",,,
+Service-Parameters,3105,6.4.5,Grouped,"M,V",,,
+T4-Parameters,3106,6.4.6,Grouped,"M,V",,,
+Service-Data,3107,6.4.7,Grouped,"M,V",,,
+T4-Data,3108,6.4.8,Grouped,"M,V",,,
+HSS-Cause,3109,6.4.9,Unsigned32,"M,V",,,
+SIR-Flags,3110,6.4.10,Unsigned32,"M,V",,,
+# Note: 3GPP TS 29.061 External-Identifier (28) OctetString replaced by,,,,,,,
+# 3GPP TS 29.336 External-Identifier (3111) UTF8String.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: External-Identifier (28) OctetString replaced by External-Identifier (3111) UTF8String.,,,,,,,
+External-Identifier,3111,6.4.11,UTF8String,"M,V",,,
+IP-SM-GW-Realm,3112,6.4.18,DiameterIdentity,"M,V",,,
+#=,,,,,,,
+# 3GPP TS 29.336 Table 8.4.1-1: S6t specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+AESE-Communication-Pattern,3113,8.4.25,Grouped,"M,V",,,
+Communication-Pattern-Set,3114,8.4.26,Grouped,"M,V",,,
+Periodic-Communication-Indicator,3115,8.4.27,Unsigned32,"M,V",,,
+Communication-Duration-Time,3116,8.4.28,Unsigned32,"M,V",,,
+# Note: 3GPP TS 29.336 Table 8.4.1-1 row Periodic-time (3117) has,,,,,,,
+"# incorrect name and should be ""Periodic-Time"" per majority use.",,,,,,,
+# ,,,,,,,
+# Fix: Periodic-time (3117) renamed to Periodic-Time (931).,,,,,,,
+Periodic-Time,3117,8.4.29,Unsigned32,"M,V",,,
+Scheduled-Communication-Time,3118,8.4.30,Grouped,"M,V",,,
+Stationary-Indication,3119,8.4.31,Unsigned32,"M,V",,,
+AESE-Communication-Pattern-Config-Status,3120,8.4.32,Grouped,"M,V",,,
+AESE-Error-Report,3121,8.4.33,Grouped,"M,V",,,
+Monitoring-Event-Configuration,3122,8.4.2,Grouped,"M,V",,,
+Monitoring-Event-Report,3123,8.4.3,Grouped,"M,V",,,
+SCEF-Reference-ID,3124,8.4.4,Unsigned32,"M,V",,,
+SCEF-ID,3125,8.4.5,DiameterIdentity,"M,V",,,
+SCEF-Reference-ID-for-Deletion,3126,8.4.6,Unsigned32,"M,V",,,
+Monitoring-Type,3127,8.4.7,Unsigned32,"M,V",,,
+Maximum-Number-of-Reports,3128,8.4.8,Unsigned32,"M,V",,,
+UE-Reachability-Configuration,3129,8.4.9,Grouped,"M,V",,,
+Monitoring-Duration,3130,8.4.10,Time,"M,V",,,
+Maximum-Detection-Time,3131,8.4.11,Unsigned32,"M,V",,,
+Reachability-Type,3132,8.4.12,Unsigned32,"M,V",,,
+Maximum-Latency,3133,8.4.13,Unsigned32,"M,V",,,
+Maximum-Response-Time,3134,8.4.14,Unsigned32,"M,V",,,
+Location-Information-Configuration,3135,8.4.15,Grouped,"M,V",,,
+MONTE-Location-Type,3136,8.4.16,Unsigned32,"M,V",,,
+Accuracy,3137,8.4.17,Unsigned32,"M,V",,,
+Association-Type,3138,8.4.18,Unsigned32,"M,V",,,
+Roaming-Information,3139,8.4.19,Unsigned32,"M,V",,,
+Reachability-Information,3140,8.4.20,Unsigned32,"M,V",,,
+IMEI-Change,3141,8.4.22,Unsigned32,"M,V",,,
+Monitoring-Event-Config-Status,3142,8.4.24,Grouped,"M,V",,,
+Supported-Services,3143,8.4.40,Grouped,"M,V",,,
+Supported-Monitoring-Events,3144,8.4.41,Unsigned64,"M,V",,,
+CIR-Flags,3145,8.4.39,Unsigned32,"M,V",,,
+Service-Result,3146,8.4.37,Grouped,"M,V",,,
+Service-Result-Code,3147,8.4.38,Unsigned32,"M,V",,,
+Reference-ID-Validity-Time,3148,8.4.42,Time,"M,V",,,
+Event-Handling,3149,8.4.43,Unsigned32,"M,V",,,
+NIDD-Authorization-Request,3150,8.4.44,Grouped,"M,V",,,
+NIDD-Authorization-Response,3151,8.4.45,Grouped,"M,V",,,
+Service-Report,3152,8.4.47,Grouped,"M,V",,,
+Node-Type,3153,8.4.48,Unsigned32,"M,V",,,
+S6t-HSS-Cause,3154,8.4.50,Unsigned32,"M,V",,,
+Enhanced-Coverage-Restriction,3155,8.4.51,Grouped,V,,,M
+Enhanced-Coverage-Restriction-Data,3156,8.4.52,Grouped,V,,,M
+Restricted-PLMN-List,3157,8.4.53,Grouped,V,,,M
+Allowed-PLMN-List,3158,8.4.54,Grouped,V,,,M
+Requested-Validity-Time,3159,8.4.55,Time,V,,,M
+Granted-Validity-Time,3160,8.4.56,Time,V,,,M
+NIDD-Authorization-Update,3161,8.4.57,Grouped,V,,,M
+Loss-Of-Connectivity-Reason,3162,8.4.58,Unsigned32,V,,,M
+Group-Reporting-Guard-Timer,3163,8.4.59,Unsigned32,V,,,M
+CIA-Flags,3164,8.4.60,Unsigned32,V,,,M
+Group-Monitoring-Event-Report,3165,8.4.61,Grouped,V,,,M
+Group-Monitoring-Event-Report-Item,3166,8.4.62,Grouped,V,,,M
+RIR-Flags,3167,8.4.63,Unsigned32,V,,,M
+Type-Of-External-Identifier,3168,8.4.64,Unsigned32,V,,,M
+APN-Validity-Time,3169,8.4.65,Grouped,V,,,M
+Suggested-Network-Configuration,3170,8.4.66,Grouped,V,,,M
+Monitoring-Event-Report-Status,3171,8.4.67,Grouped,V,,,M
+PLMN-ID-Requested,3172,8.4.68,Enumerated,V,,,M
+AdditionalIdentifiers,3173,8.4.69,Grouped,V,,,M
+NIR-Flags,3174,8.4.70,Unsigned32,V,,,M
+Reporting-Time-Stamp,3175,8.4.71,Time,V,,,M
+NIA-Flags,3176,8.4.72,Unsigned32,V,,,M
+Group-User-Identifier,3177,8.4.73,Grouped,V,,,M
+MTC-Provider-Info,3178,8.4.74,Grouped,V,,,M
+MTC-Provider-ID,3179,8.4.75,UTF8String,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.337,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.337 V15.0.0 (2018-06),,,,,,,
+# Diameter-based T4 interface for communications with packet,,,,,,,
+# data networks and applications,,,,,,,
+# ,,,,,,,
+# From 3GPP 29337-f00.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.337 Table 6.3.1/1: T4 specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+SM-Delivery-Outcome-T4,3200,6.3.1,Enumerated,"M, V",,,
+Absent-Subscriber-Diagnostic-T4,3201,6.3.2,Enumerated,"M, V",,,
+Trigger-Action,3202,6.3.6,Unsigned32,V,,,M
+MTC-Error-Diagnostic,3203,6.3.7,Unsigned32,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.338,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.338 V15.1.0 (2018-12),,,,,,,
+# Diameter based protocols to support,,,,,,,
+# Short Message Service (SMS) capable,,,,,,,
+# Mobile Management Entities (MMEs),,,,,,,
+# ,,,,,,,
+# From 3GPP 29338-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.338 Table 5.3.3.1/1: S6c specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+SM-RP-MTI,3308,5.3.3.2,Enumerated,"M, V",,,
+SM-RP-SMEA,3309,5.3.3.3,OctetString,"M, V",,,
+SRR-Flags,3310,5.3.3.4,Unsigned32,"M, V",,,
+SM-Delivery-Not-Intended,3311,5.3.3.5,Enumerated,"M, V",,,
+MWD-Status,3312,5.3.3.8,Unsigned32,"M, V",,,
+MME-Absent-User-Diagnostic-SM,3313,5.3.3.9,Unsigned32,"M, V",,,
+MSC-Absent-User-Diagnostic-SM,3314,5.3.3.10,Unsigned32,"M, V",,,
+SGSN-Absent-User-Diagnostic-SM,3315,5.3.3.11,Unsigned32,"M, V",,,
+SM-Delivery-Outcome,3316,5.3.3.14,Grouped,"M, V",,,
+MME-SM-Delivery-Outcome,3317,5.3.3.15,Grouped,"M, V",,,
+MSC-SM-Delivery-Outcome,3318,5.3.3.16,Grouped,"M, V",,,
+SGSN-SM-Delivery-Outcome,3319,5.3.3.17,Grouped,"M, V",,,
+IP-SM-GW-SM-Delivery-Outcome,3320,5.3.3.18,Grouped,"M, V",,,
+SM-Delivery-Cause,3321,5.3.3.19,Enumerated,"M, V",,,
+Absent-User-Diagnostic-SM,3322,5.3.3.20,Unsigned32,"M, V",,,
+RDR-Flags,3323,5.3.3.21,Unsigned32,V,,,M
+Maximum-UE-Availability-Time,3329,5.3.3.22,Time,V,,,M
+SMS-GMSC-Alert-Event,3333,5.3.3.23,Unsigned32,V,,,M
+#=,,,,,,,
+# 3GPP TS 29.338 Table 6.3.3.1/1: SGd/Gdd specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+SC-Address,3300,6.3.3.2,OctetString,"M, V",,,
+SM-RP-UI,3301,6.3.3.3,OctetString,"M, V",,,
+TFR-Flags,3302,6.3.3.4,Unsigned32,"M, V",,,
+SM-Delivery-Failure-Cause,3303,6.3.3.5,Grouped,"M, V",,,
+SM-Enumerated-Delivery-Failure-Cause,3304,6.3.3.6,Enumerated,"M, V",,,
+SM-Diagnostic-Info,3305,6.3.3.7,OctetString,"M, V",,,
+SM-Delivery-Timer,3306,6.3.3.10,Unsigned32,"M, V",,,
+SM-Delivery-Start-Time,3307,6.3.3.11,Time,"M, V",,,
+SMSMI-Correlation-ID,3324,6.3.3.13,Grouped,V,,,M
+# Note: 3GPP TS 29.338 Table 6.3.3.1/1 row HSS-ID (3325),,,,,,,
+# incorrectly lists type as OctetString instead of UTF8String.,,,,,,,
+# 3GPP TS 29.338 clause 6.3.3.14 uses UTF8String.,,,,,,,
+# ,,,,,,,
+# Fix: HSS-ID (3325) type changed from OctetString to UTF8String.,,,,,,,
+HSS-ID,3325,6.3.3.14,UTF8String,V,,,M
+Originating-SIP-URI,3326,6.3.3.15,UTF8String,V,,,M
+Destination-SIP-URI,3327,6.3.3.16,UTF8String,V,,,M
+OFR-Flags,3328,6.3.3.12,Unsigned32,V,,,M
+Maximum-Retransmission-Time,3330,6.3.3.17,Time,V,,,M
+Requested-Retransmission-Time,3331,6.3.3.18,Time,V,,,M
+SMS-GMSC-Address,3332,6.3.3.19,OctetString,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.343,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.343 V15.1.0 (2019-09),,,,,,,
+# Proximity-services (ProSe) function to,,,,,,,
+# ProSe application server aspects (PC2);,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29343-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.343 Table 6.4.1-1: PC2 specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Origin-App-Layer-User-Id,3600,6.4.2,UTF8String,"M,V",P,,
+Target-App-Layer-User-Id,3601,6.4.3,UTF8String,"M,V",P,,
+ProSe-Function-ID,3602,6.4.4,OctetString,"M,V",P,,
+ProSe-Request-Type,3603,6.4.5,Unsigned32,"M,V",P,,
+PDUID,3604,6.4.6,OctetString,V,P,,M
+Application-Data,3605,6.4.7,UTF8String,V,P,,M
+Allowed-Suffixes-Number,3606,6.4.8,Unsigned32,V,P,,M
+Monitor-Target,3607,6.4.9,Grouped,V,P,,M
+ProSe-Code-Suffix-Mask,3608,6.4.10,Grouped,V,P,,M
+Suffix-Code,3609,6.4.11,OctetString,V,P,,M
+Suffix-Mask,3610,6.4.12,OctetString,V,P,,M
+Banned-User-Target,3611,6.4.17,Grouped,V,P,,M
+Metadata-Indicator,3612,6.4.18,Unsigned32,V,P,,M
+,,,,,,,
+@standard,3GPP TS 29.344,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.344 V15.1.0 (2019-09),,,,,,,
+# Proximity-services (ProSe) Function to Home Subscriber,,,,,,,
+# Server (HSS) aspects;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29344-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.344 Table 6.3.1-1: PC4a specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+ProSe-Subscription-Data,3701,6.3.2,Grouped,"M,V",,,
+ProSe-Permission,3702,6.3.3,Unsigned32,"M,V",,,
+ProSe-Allowed-PLMN,3703,6.3.4,Grouped,"M,V",,,
+ProSe-Direct-Allowed,3704,6.3.5,Unsigned32,"M,V",,,
+UPR-Flags,3705,6.3.6,Unsigned32,"M,V",,,
+PNR-Flags,3706,6.3.7,Unsigned32,"M,V",,,
+ProSe-Initial-Location-Information,3707,6.3.9,Grouped,"M,V",,,
+# Note: 3GPP TS 29.344 Table 6.3.1-1 missing Authorized-Discovery-Range.,,,,,,,
+# Present in 3GPP TS 29.344 clause 6.3.13 and 3GPP TS 29.230 Table 7.1.,,,,,,,
+# ,,,,,,,
+# Fix: Add Authorized-Discovery-Range (3708) Unsigned32.,,,,,,,
+Authorized-Discovery-Range,3708,6.3.13,Unsigned32,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.345,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.345 V15.1.0 (2019-09),,,,,,,
+# Inter-Proximity-services (ProSe) Function signalling aspects;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29345-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.345 Table 6.3.1-1: PC6/PC7 specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+App-Layer-User-Id,3801,6.3.2,UTF8String,"M, V",,,
+# Note: 3GPP TS 29.345 Table 6.3.1-1 row Assistance-info (3802) has,,,,,,,
+"# incorrect name and should be ""Assistance-Info"" per clause 6.3.3.",,,,,,,
+# ,,,,,,,
+# Fix: Assistance-info (3802) renamed to Assistance-Info (3802).,,,,,,,
+Assistance-Info,3802,6.3.3,Grouped,"M, V",,,
+Assistance-Info-Validity-Timer,3803,6.3.4,Unsigned32,"M, V",,,
+Discovery-Type,3804,6.3.5,Unsigned32,"M, V",,,
+Filter-Id,3805,6.3.9,OctetString,"M, V",,,
+MAC-Address,3806,6.3.11,UTF8String,"M, V",,,
+Match-Report,3807,6.3.12,Grouped,"M, V",,,
+Operating-Channel,3808,6.3.14,Unsigned32,"M, V",,,
+P2P-Features,3809,6.3.15,Unsigned32,"M, V",,,
+ProSe-App-Code,3810,6.3.16,OctetString,"M, V",,,
+ProSe-App-Id,3811,6.3.17,UTF8String,"M, V",,,
+ProSe-App-Mask,3812,6.3.18,OctetString,"M, V",,,
+ProSe-Discovery-Filter,3813,6.3.20,Grouped,"M, V",,,
+PRR-Flags,3814,6.3.21,Unsigned32,"M, V",,,
+ProSe-Validity-Timer,3815,6.3.22,Unsigned32,"M, V",,,
+Requesting-EPUID,3816,6.3.23,UTF8String,"M, V",,,
+Targeted-EPUID,3817,6.3.26,UTF8String,"M, V",,,
+# Note: Name conflict with 3GPP TS 29.154 Time-Window (4204).,,,,,,,
+# Time-Window (3818) in 3GPP TS 29.345 V12.1.0 (2014-12) predates,,,,,,,
+# Time-Window (4204) in 3GPP TS 29.154 V13.1.0 (2016-03).,,,,,,,
+Time-Window,3818,6.3.27,Unsigned32,"M, V",,,
+WiFi-P2P-Assistance-Info,3819,6.3.30,Grouped,"M, V",,,
+WLAN-Assistance-Info,3820,6.3.31,Grouped,"M, V",,,
+WLAN-Link-Layer-Id,3821,6.3.32,OctetString,"M, V",,,
+WLAN-Link-Layer-Id-List,3822,6.3.33,Grouped,"M, V",,,
+Location-Update-Trigger,3823,6.3.42,Grouped,"M,V",,,
+Location-Update-Event-Type,3824,6.3.43,Unsigned32,"M,V",,,
+Change-Of-Area-Type,3825,6.3.44,Grouped,"M,V",,,
+Location-Update-Event-Trigger,3826,6.3.45,Unsigned32,"M,V",,,
+Report-Cardinality,3827,6.3.46,Enumerated,"M,V",,,
+Minimum-Interval-Time,3828,6.3.47,Unsigned32,"M,V",,,
+Periodic-Location-Type,3829,6.3.48,Grouped,"M,V",,,
+Location-Report-Interval-Time,3830,6.3.49,Unsigned32,"M,V",,,
+Total-Number-Of-Reports,3831,6.3.50,Unsigned32,"M,V",,,
+Validity-Time-Announce,3832,6.3.36,Unsigned32,"M, V",,,
+Validity-Time-Monitor,3833,6.3.37,Unsigned32,"M, V",,,
+Validity-Time-Communication,3834,6.3.38,Unsigned32,"M, V",,,
+ProSe-App-Code-Info,3835,6.3.39,Grouped,"M, V",,,
+MIC,3836,6.3.40,OctetString,"M, V",,,
+UTC-based-Counter,3837,6.3.41,Unsigned32,"M, V",,,
+ProSe-Match-Refresh-Timer,3838,6.3.52,Unsigned32,"M, V",,,
+ProSe-Metadata-Index-Mask,3839,6.3.60,OctetString,V,,,M
+App-Identifier,3840,6.3.61,Grouped,V,,,M
+OS-ID,3841,6.3.62,OctetString,V,,,M
+OS-App-ID,3842,6.3.63,UTF8String,V,,,M
+Requesting-RPAUID,3843,6.3.64,UTF8String,V,,,M
+Target-RPAUID,3844,6.3.65,UTF8String,V,,,M
+Target-PDUID,3845,6.3.66,OctetString,V,,,M
+ProSe-Restricted-Code,3846,6.3.67,OctetString,V,,,M
+ProSe-Restricted-Code-Suffix-Range,3847,6.3.68,OctetString,V,,,M
+Beginning-Suffix,3848,6.3.69,OctetString,V,,,M
+Ending-Suffix,3849,6.3.70,OctetString,V,,,M
+Discovery-Entry-ID,3850,6.3.59,Unsigned32,V,,,M
+Match-Timestamp,3851,6.3.71,Time,V,,,M
+PMR-Flags,3852,6.3.57,Unsigned32,"M,V",,,
+ProSe-Application-Metadata,3853,6.3.58,UTF8String,"M,V",,,
+Discovery-Auth-Request,3854,6.3.53,Grouped,"M, V",,,
+Discovery-Auth-Response,3855,6.3.54,Grouped,"M, V",,,
+Match-Request,3856,6.3.55,Grouped,"M, V",,,
+Match-Report-Info,3857,6.3.56,Grouped,"M, V",,,
+Banned-RPAUID,3858,6.3.73,UTF8String,V,,,M
+Banned-PDUID,3859,6.3.74,OctetString,V,,,M
+Code-Receiving-Security-Material,3860,6.3.75,Grouped,V,,,M
+Code-Sending-Security-Material,3861,6.3.76,Grouped,V,,,M
+DUSK,3862,6.3.77,OctetString,V,,,M
+DUIK,3863,6.3.78,OctetString,V,,,M
+DUCK,3864,6.3.79,OctetString,V,,,M
+# Note: 3GPP TS 29.345 Table 6.3.1-1 row MIC-Check-indicator (3865) has,,,,,,,
+"# incorrect name and should be ""MIC-Check-Indicator"" per clause 6.3.80.",,,,,,,
+# ,,,,,,,
+# Fix: MIC-Check-indicator (3865) renamed to MIC-Check-Indicator (3865).,,,,,,,
+MIC-Check-Indicator,3865,6.3.80,Unsigned32,V,,,M
+Encrypted-Bitmask,3866,6.3.81,OctetString,V,,,M
+ProSe-App-Code-Suffix-Range,3867,6.3.82,OctetString,V,,,M
+PC5-tech,3868,6.3.84,OctetString,V,,,M
+,,,,,,,
+@standard,3GPP TS 29.368,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.368 V15.1.0 (2019-09),,,,,,,
+# Tsp interface protocol between the MTC Interworking Function,,,,,,,
+# (MTC-IWF) and Service Capability Server (SCS),,,,,,,
+# ,,,,,,,
+# From 3GPP 29368-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.368 Table 6.4.1.1: Tsp specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Device-Action,3001,6. 4.2,Grouped,"M,V",P,,
+Device-Notification,3002,6.4.3,Grouped,"M,V",P,,
+Trigger-Data,3003,6.4.4,Grouped,"M,V",P,,
+Payload,3004,6.4.5,OctetString,"M,V",P,,
+Action-Type,3005,6.4.6,Enumerated,"M,V",P,,
+Priority-Indication,3006,6.4.7,Enumerated,"M,V",P,,
+Reference-Number,3007,6.4.8,Unsigned32,"M,V",P,,
+Request-Status,3008,6.4.9,Enumerated,"M,V",P,,
+Delivery-Outcome,3009,6.4.10,Enumerated,"M,V",P,,
+Application-Port-Identifier,3010,6.4.11,Unsigned32,"M,V",P,,
+Old-Reference-Number,3011,6.4.12,Unsigned32,V,P,,M
+Feature-Supported-In-Final-Target,3012,6.4.13,Unsigned32,V,P,,M
+,,,,,,,
+@standard,3GPP TS 29.388,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.388 V15.1.0 (2019-09),,,,,,,
+# V2X Control Function to Home Subscriber Server (HSS),,,,,,,
+# aspects (V4);,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29388-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.388 Table 6.3.1-1: V4 specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+V2X-PC5-Allowed-PLMN,4600,6.3.3,Grouped,"M,V",,,
+V2X-Update-Flags,4601,6.3.4,Unsigned32,"M,V",,,
+V2X-Notify-Flags,4602,6.3.5,Unsigned32,"M,V",,,
+,,,,,,,
+@standard,3GPP TS 29.389,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.389 V15.1.0 (2019-09),,,,,,,
+# Inter-V2X Control Function Signalling aspects (V6);,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29389-f10.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.389 Table 6.3.1-1: V6 specific Diameter AVPs,,,,,,,
+# ,,,,,,,
+# Fix: All AVPs were missing M and V; assume MUST for both.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+V2X-Authorization-Data,4700,6.3.2,Grouped,"M,V",,,
+V2X-Permission-in-VPLMN,4701,6.3.3,Unsigned32,"M,V",,,
+V2X-Application-Server,4702,6.3.4,Grouped,"M,V",,,
+,,,,,,,
+@standard,3GPP TS 29.468,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.468 V15.8.0 (2019-12),,,,,,,
+# Group Communication System Enablers for LTE (GCSE_LTE);,,,,,,,
+# MB2 Reference Point;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29468-f80.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.468 Table 6.4.1 1: MB2 C specific Diameter AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+BMSC-Address,3500,6.4.2,Address,"M,V",P,,
+BMSC-Port,3501,6.4.3,Unsigned32,"M,V",P,,
+Common-Tunnel-Endpoint-Identifier,3524,6.4.26,OctetString,V,P,,M
+FEC-Request,3525,6.4.27,OctetString,V,P,,M
+FEC-Result,3531,6.4.33,Unsigned32,V,P,,M
+Local-M1-Information,3518,6.4.20,Grouped,V,P,,M
+Local-MB2-U-Information,3519,6.4.21,Grouped,V,P,,M
+MB2U-Security,3517,6.4.19,Unsigned32,"M,V",P,,
+MBMS-Bearer-Event,3502,6.4.4,Unsigned32,"M,V",P,,
+MBMS-Bearer-Event-Notification,3503,6.4.5,Grouped,"M,V",P,,
+MBMS-Bearer-Request,3504,6.4.6,Grouped,"M,V",P,,
+MBMS-Bearer-Response,3505,6.4.7,Grouped,"M,V",P,,
+MBMS-Bearer-Result,3506,6.4.8,Unsigned32,"M,V",P,,
+MBMS-eNB-IP-Multicast-Address,3520,6.4.22,Address,V,P,,M
+MBMS-eNB-IPv6-Multicast-Address,3521,6.4.23,Address,V,P,,M
+# Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IP-Address (924).,,,,,,,
+# 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IP-Address (924).,,,,,,,
+# 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IP-Address (3522).,,,,,,,
+# ,,,,,,,
+# Fix: MBMS-GW-SSM-IP-Address (3522) renamed to MBMS-GW-SSM-IP-Address-29.468 (3522).,,,,,,,
+MBMS-GW-SSM-IP-Address-29.468,3522,6.4.24,Address,V,P,,M
+# Note: Name conflict with 3GPP TS 29.061 MBMS-GW-SSM-IPv6-Address (925).,,,,,,,
+# 3GPP TS 29.061 V10.4.0 (2011-09) CR 0355 added MBMS-GW-SSM-IPv6-Address (925).,,,,,,,
+# 3GPP TS 29.061 V12.6.0 (2014-06) renamed,,,,,,,
+# MBMS-GW-SSM-IPv6-Address (925) to MBMS-GW-SSM-Ipv6-Address.,,,,,,,
+# 3GPP TS 29.468 V14.0.0 (2016-12) CR 0021 added MBMS-GW-SSM-IPv6-Address (3523).,,,,,,,
+# ,,,,,,,
+# Fix: MBMS-GW-SSM-IPv6-Address (3523) renamed to MBMS-GW-SSM-IPv6-Address-29.468 (3523).,,,,,,,
+MBMS-GW-SSM-IPv6-Address-29.468,3523,6.4.25,Address,V,P,,M
+MBMS-Start-Time,3507,6.4.9,Time,"M,V",P,,
+# Note: Name conflict with 3GPP TS 32.299 Radio-Frequency (3462).,,,,,,,
+# 3GPP TS 29.468 V12.0.0 (2014-09) added Radio-Frequency (3508).,,,,,,,
+# 3GPP TS 32.299 V13.1.0 (2015-06) CR 0638 added Radio-Frequency (3462).,,,,,,,
+# ,,,,,,,
+# Fix: Radio-Frequency (3508) renamed to Radio-Frequency-29.468 (3508).,,,,,,,
+Radio-Frequency-29.468,3508,6.4.10,Unsigned32,"M,V",P,,
+ROHC-Full-Header-Periodicity,3527,6.4.29,Float32,V,P,,M
+ROHC-Max-CID,3532,6.4.34,Unsigned32,V,P,,M
+ROHC-Profile,3528,6.4.30,Unsigned32,V,P,,M
+ROHC-Request,3526,6.4.28,Grouped,V,P,,M
+ROHC-Result,3530,6.4.32,Unsigned32,V,P,,M
+TMGI-Allocation-Request,3509,6.4.11,Grouped,"M,V",P,,
+TMGI-Allocation-Response,3510,6.4.12,Grouped,"M,V",P,,
+TMGI-Allocation-Result,3511,6.4.13,Unsigned32,"M,V",P,,
+TMGI-Deallocation-Request,3512,6.4.14,Grouped,"M,V",P,,
+TMGI-Deallocation-Response,3513,6.4.15,Grouped,"M,V",P,,
+TMGI-Deallocation-Result,3514,6.4.16,Unsigned32,"M,V",P,,
+TMGI-Expiry,3515,6.4.17,Grouped,"M,V",P,,
+TMGI-Number,3516,6.4.18,Unsigned32,"M,V",P,,
+Userplane-Protocol-Result,3529,6.4.31,Grouped,V,P,,M
+,,,,,,,
+@standard,3GPP TS 29.561,,,,,,
+#=,,,,,,,
+# 3GPP TS 29.561 V16.3.0 (2020-03),,,,,,,
+# 5G System; Interworking between 5G Network and external,,,,,,,
+# Data Networks;,,,,,,,
+# Stage 3,,,,,,,
+# ,,,,,,,
+# From 3GPP 29561-g30.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# Table 12.4-1: N6 re-used Diameter AVPs,,,,,,,
+#,,,,,,,
+# Note: Only AVPs defined in 3GPP TS 29.561.,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+3GPP-Notification,110,11.3.1,OctetString,V,P,,M
+3GPP-UE-MAC-Address,111,11.3.1,OctetString,V,P,,M
+3GPP-Authorization-Reference,112,11.3.1,OctetString,V,P,,M
+3GPP-Policy-Reference,113,11.3.1,OctetString,V,P,,M
+3GPP-Session-AMBR,114,11.3.1,OctetString,V,P,,M
+3GPP-NAI,115,11.3.1,OctetString,V,P,,M
+3GPP-Session-AMBR-v2,116,11.3.1,OctetString,V,P,,M
+3GPP-IP-Address-Pool-Id,118,11.3.1,OctetString,V,P,,M
+#=,,,,,,,
+# Table 17.4-1: Additional information needed for network slice specific authentication,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+3GPP-S-NSSAI,200,16.3.1,UTF8String,V,P,,M
+,,,,,,,
+@standard,3GPP TS 32.299,,,,,,
+#=,,,,,,,
+# 3GPP TS 32.299 V15.7.0 (2019-06),,,,,,,
+# Charging management;,,,,,,,
+# Diameter charging applications,,,,,,,
+# ,,,,,,,
+# From 3GPP 32299-f70.doc,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+#=,,,,,,,
+# 3GPP TS 32.299 Table 7.2.0.1: 3GPP specific AVPs,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+3GPP-OC-Specific-Reduction,1320,,Grouped,V,,,M
+3GPP-OC-Rating-Group,1321,,Unsigned32,V,,,M
+3GPP-OC-Request-Type,1322,,Enumerated,V,,,M
+# Note: Name conflict with 3GPP TS 29.212 3GPP-PS-Data-Off-Status (2847).,,,,,,,
+# 3GPP TS 29.212 V14.3.0 (2017-03) CR 1559 added 3GPP-PS-Data-Off-Status (2847).,,,,,,,
+# 3GPP TS 32.299 V14.3.0 (2017-03) CR 0760 added 3GPP-PS-Data-Off-Status (4406).,,,,,,,
+# ,,,,,,,
+# Fix: 3GPP-PS-Data-Off-Status (4406) renamed to 3GPP-PS-Data-Off-Status-32.299 (4406).,,,,,,,
+3GPP-PS-Data-Off-Status-32.299,4406,,Enumerated,"V,M",,,
+Access-Network-Info-Change,4401,,Grouped,"V,M",,,
+Access-Network-Information,1263,,OctetString,"V,M",,,
+Access-Transfer-Information,2709,,Grouped,"V,M",,,
+Access-Transfer-Type,2710,,Enumerated,"V,M",,,
+Account-Expiration,2309,,Time,"V,M",,,
+Accumulated-Cost,2052,,Grouped,"V,M",,,
+Adaptations,1217,,Enumerated,"V,M",,,
+Additional-Content-Information,1207,,Grouped,"V,M",,,
+Additional-Exception-Reports,3936,,Enumerated,"V,M",,,
+Additional-Type-Information,1205,,UTF8String,"V,M",,,
+Address-Data,897,,UTF8String,"V,M",,,
+Address-Domain,898,,Grouped,"V,M",,,
+Addressee-Type,1208,,Enumerated,"V,M",,,
+Address-Type,899,,Enumerated,"V,M",,,
+AF-Correlation-Information,1276,,Grouped,"V,M",,,
+Alternate-Charged-Party-Address,1280,,UTF8String,"V,M",,,
+Announcement-Identifier,3905,,Unsigned32,"V,M",,,
+Announcement-Information,3904,,Grouped,"V,M",,,
+Announcement-Order,3906,,Unsigned32,"V,M",,,
+Announcing-PLMN-ID,4408,,UTF8String,"V,M",,,
+Announcing-UE-HPLMN-Identifier,3426,,UTF8String,"V,M",,,
+Announcing-UE-VPLMN-Identifier,3427,,UTF8String,"V,M",,,
+AoC-Cost-Information,2053,,Grouped,"V,M",,,
+AoC-Format,2310,,Enumerated,"V,M",,,
+AoC-Information,2054,,Grouped,"V,M",,,
+AoC-Request-Type,2055,,Enumerated,"V,M",,,
+AoC-Service,2311,,Grouped,"V,M",,,
+AoC-Service-Obligatory-Type,2312,,Enumerated,"V,M",,,
+AoC-Service-Type,2313,,Enumerated,"V,M",,,
+AoC-Subscription-Information,2314,,Grouped,"V,M",,,
+API-Content,1309,,UTF8String,V,,,M
+API-Direction,1310,,Enumerated,V,,,M
+API-Identifier,1311,,OctetString,V,,,M
+API-Invocation-Timestamp,1312,,Time,V,,,M
+API-Network-Service-Node,1315,,Enumerated,V,,,M
+API-Result-Code,1313,,Unsigned32,V,,,M
+API-Size,1314,,Unsigned64,V,,,M
+APN-Rate-Control,3933,,Grouped,"V,M",,,
+APN-Rate-Control-Downlink,3934,,Grouped,"V,M",,,
+APN-Rate-Control-Uplink,3935,,Grouped,"V,M",,,
+Applic-ID,1218,,UTF8String,"V,M",,,
+Application-Provided-Called-Party-Address,837,,UTF8String,"V,M",,,
+Application-Server,836,,UTF8String,"V,M",,,
+Application-Server-Information,850,,Grouped,"V,M",,,
+Application-Specific-Data,3458,,OctetString,"V,M",,,
+Associated-Party-Address,2035,,UTF8String,"V,M",,,
+Associated-URI,856,,UTF8String,"V,M",,,
+Authorised-QoS,849,,UTF8String,"V,M",,,
+Aux-Applic-Info,1219,,UTF8String,"V,M",,,
+Base-Time-Interval,1265,,Unsigned32,"V,M",,,
+Basic-Service-Code,3411,,Grouped,"V,M",,,
+Bearer-Capability,3412,,OctetString,"V,M",,,
+Bearer-Service,854,,OctetString,"V,M",,,
+BSSID,2716,,UTF8String,"V,M",,,
+Called-Asserted-Identity,1250,,UTF8String,"V,M",,,
+Called-Identity,3916,,UTF8String,"V,M",,,
+Called-Identity-Change,3917,,Grouped,"V,M",,,
+Called-Party-Address,832,,UTF8String,"V,M",,,
+Calling-Party-Address,831,,UTF8String,"V,M",,,
+Carrier-Select-Routing-Information,2023,,UTF8String,"V,M",,,
+Cause-Code,861,,Integer32,"V,M",,,
+Cellular-Network-Information,3924,,OctetString,"V,M",,,
+CG-Address,846,,Address,"V,M",,,
+Change-Condition,2037,,Integer32,"V,M",,,
+Change-Time,2038,,Time,"V,M",,,
+Charge-Reason-Code,2118,,Enumerated,"V,M",,,
+Charged-Party,857,,UTF8String,"V,M",,,
+Charging-Characteristics-Selection-Mode,2066,,Enumerated,"V,M",,,
+Charging-Per-IP-CAN-Session-Indicator,4400,,Enumerated,"V,M",,,
+Civic-Address-Information,1305,,UTF8String,V,,,M
+Class-Identifier,1214,,Enumerated,"V,M",,,
+Client-Address,2018,,Address,"V,M",,,
+CN-Operator-Selection-Entity,3421,,Enumerated,"V,M",,,
+Content-Class,1220,,Enumerated,"V,M",,,
+Content-Disposition,828,,UTF8String,"V,M",,,
+Content-Length,827,,Unsigned32,"V,M",,,
+Content-Size,1206,,Unsigned32,"V,M",,,
+Content-Type,826,,UTF8String,"V,M",,,
+Coverage-Info,3459,,Grouped,"V,M",,,
+Coverage-Status,3428,,Enumerated,"V,M",,,
+CP-CIoT-EPS-Optimisation-Indicator,3930,,Enumerated,"V,M",,,
+CPDT-Information,3927,,Grouped,"V,M",,,
+CSG-Access-Mode,2317,,Enumerated,"V,M",,,
+CSG-Membership-Indication,2318,,Enumerated,"V,M",,,
+CUG-Information,2304,,OctetString,"V,M",,,
+Current-Tariff,2056,,Grouped,"V,M",,,
+Data-Coding-Scheme,2001,,Integer32,"V,M",,,
+Deferred-Location-Event-Type,1230,,UTF8String,"V,M",,,
+Delivery-Report-Requested,1216,,Enumerated,"V,M",,,
+Destination-Interface,2002,,Grouped,"V,M",,,
+Diagnostics,2039,,Integer32,"V,M",,,
+Discoveree-UE-HPLMN-Identifier,4402,,UTF8String,"V,M",,,
+Discoveree-UE-VPLMN-Identifier,4403,,UTF8String,"V,M",,,
+Discoverer-UE-HPLMN-Identifier,4404,,UTF8String,"V,M",,,
+Discoverer-UE-VPLMN-Identifier,4405,,UTF8String,"V,M",,,
+Domain-Name,1200,,UTF8String,"V,M",,,
+DRM-Content,1221,,Enumerated,"V,M",,,
+Dynamic-Address-Flag,2051,,Enumerated,"V,M",,,
+Dynamic-Address-Flag-Extension,2068,,Enumerated,"V,M",,,
+Early-Media-Description,1272,,Grouped,"V,M",,,
+Enhanced-Diagnostics,3901,,Grouped,"V,M",,,
+Envelope,1266,,Grouped,"V,M",,,
+Envelope-End-Time,1267,,Time,"V,M",,,
+Envelope-Reporting,1268,,Enumerated,"V,M",,,
+Envelope-Start-Time,1269,,Time,"V,M",,,
+EPDG-Address,3425,,Address,"V,M",,,
+Event,825,,UTF8String,"V,M",,,
+Event-Charging-TimeStamp,1258,,Time,"V,M",,,
+Event-Type,823,,Grouped,"V,M",,,
+Expires,888,,Unsigned32,"V,M",,,
+Exposure-Function-API-Information,1316,,Grouped,V,,,M
+FE-Identifier-List,4413,,UTF8String,"V,M",,,
+File-Repair-Supported,1224,,Enumerated,"V,M",,,
+Forwarding-Pending,3415,,Enumerated,"V,M",,,
+From-Address,2708,,UTF8String,"V,M",,,
+GGSN-Address,847,,Address,"V,M",,,
+IMS-Application-Reference-Identifier,2601,,UTF8String,"V,M",,,
+IMS-Charging-Identifier,841,,UTF8String,"V,M",,,
+IMS-Communication-Service-Identifier,1281,,UTF8String,"V,M",,,
+IMS-Emergency-Indicator,2322,,Enumerated,"V,M",,,
+IMS-Information,876,,Grouped,"V,M",,,
+IMS-Visited-Network-Identifier,2713,,UTF8String,"V,M",,,
+IMSI-Unauthenticated-Flag,2308,,Enumerated,"V,M",,,
+Incoming-Trunk-Group-Id,852,,UTF8String,"V,M",,,
+Incremental-Cost,2062,,Grouped,"V,M",,,
+Initial-IMS-Charging-Identifier,2321,,UTF8String,"V,M",,,
+Instance-Id,3402,,UTF8String,"V,M",,,
+Interface-Id,2003,,UTF8String,"V,M",,,
+Interface-Port,2004,,UTF8String,"V,M",,,
+Interface-Text,2005,,UTF8String,"V,M",,,
+Interface-Type,2006,,Enumerated,"V,M",,,
+Inter-Operator-Identifier,838,,Grouped,"V,M",,,
+Inter-UE-Transfer,3902,,Enumerated,"V,M",,,
+IP-Realm-Default-Indication,2603,,Enumerated,"V,M",,,
+ISUP-Cause,3416,,Grouped,"V,M",,,
+ISUP-Cause-Diagnostics,3422,,OctetString,"V,M",,,
+ISUP-Cause-Location,3423,,Unsigned32,"V,M",,,
+ISUP-Cause-Value,3424,,Unsigned32,"V,M",,,
+ISUP-Location-Number,3414,,OctetString,"V,M",,,
+Language,3914,,UTF8String,"V,M",,,
+Layer-2-Group-ID,3429,,OctetString,"V,M",,,
+LCS-APN,1231,,UTF8String,"V,M",,,
+LCS-Client-Dialed-By-MS,1233,,UTF8String,"V,M",,,
+LCS-Client-External-ID,1234,,UTF8String,"V,M",,,
+LCS-Client-Id,1232,,Grouped,"V,M",,,
+LCS-Client-Name,1235,,Grouped,"V,M",,,
+LCS-Client-Type,1241,,Enumerated,"V,M",,,
+LCS-Data-Coding-Scheme,1236,,UTF8String,"V,M",,,
+LCS-Format-Indicator,1237,,Enumerated,"V,M",,,
+LCS-Information,878,,Grouped,"V,M",,,
+LCS-Name-String,1238,,UTF8String,"V,M",,,
+# Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed,,,,,,,
+# LCS-Requestor-Id (1239) to LCS-Requestor-ID (1239).,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: LCS-Requestor-Id (1239) renamed to LCS-Requestor-ID (1239).,,,,,,,
+LCS-Requestor-ID,1239,,Grouped,"V,M",,,
+# Note: 3GPP TS 32.299 V11.8.0 (2013-07) renamed,,,,,,,
+# LCS-Requestor-Id-String (1240) to LCS-Requestor-ID-String (1240).,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: LCS-Requestor-Id-String (1240) renamed to LCS-Requestor-ID-String (1240).,,,,,,,
+LCS-Requestor-ID-String,1240,,UTF8String,"V,M",,,
+Local-GW-Inserted-Indication,2604,,Enumerated,"V,M",,,
+Local-Sequence-Number,2063,,Unsigned32,"V,M",,,
+Location-Estimate,1242,,OctetString,"V,M",,,
+Location-Estimate-Type,1243,,Enumerated,"V,M",,,
+Location-Info,3460,,Grouped,"V,M",,,
+Location-Type,1244,,Grouped,"V,M",,,
+Low-Balance-Indication,2020,,Enumerated,"V,M",,,
+Low-Priority-Indicator,2602,,Enumerated,"V,M",,,
+MBMS-Charged-Party,2323,,Enumerated,"V,M",,,
+# Note: 3GPP TS 32.299 V11.8.0 (2013-07) Table 7.2 changed,,,,,,,
+# row MBMS-GW-Address (2307) to have a hyphen instead of space.,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: MBMSGW-Address (2307) renamed to MBMS-GW-Address (2307).,,,,,,,
+MBMS-GW-Address,2307,,Address,"V,M",,,
+MBMS-Information,880,,Grouped,"V,M",,,
+MBMS-User-Service-Type,1225,,Enumerated,"V,M",,,
+Media-Initiator-Flag,882,,Enumerated,"V,M",,,
+Media-Initiator-Party,1288,,UTF8String,"V,M",,,
+Message-Body,889,,Grouped,"V,M",,,
+Message-Class,1213,,Grouped,"V,M",,,
+Message-ID,1210,,UTF8String,"V,M",,,
+Message-Size,1212,,Unsigned32,"V,M",,,
+Message-Type,1211,,Enumerated,"V,M",,,
+MMBox-Storage-Requested,1248,,Enumerated,"V,M",,,
+MM-Content-Type,1203,,Grouped,"V,M",,,
+MMS-Information,877,,Grouped,"V,M",,,
+MMTel-Information,2030,,Grouped,"V,M",,,
+MMTel-SService-Type,2031,,Unsigned32,"V,M",,,
+Monitored-PLMN-Identifier,3430,,UTF8String,"V,M",,,
+Monitoring-Event-Configuration-Activity,3919,,Integer32,"V,M",,,
+Monitoring-Event-Functionality,3922,,Integer32,"V,M",,,
+Monitoring-Event-Information,3921,,Grouped,"V,M",,,
+Monitoring-Event-Report-Data,3920,,Grouped,"V,M",,,
+Monitoring-Event-Report-Number,3923,,Unsigned32,"V,M",,,
+Monitoring-UE-HPLMN-Identifier,3431,,UTF8String,"V,M",,,
+Monitoring-UE-Identifier,3432,,UTF8String,"V,M",,,
+Monitoring-UE-VPLMN-Identifier,3433,,UTF8String,"V,M",,,
+MSC-Address,3417,,OctetString,"V,M",,,
+MTC-IWF-Address,3406,,Address,"V,M",,,
+Neighbour-Node-Address,2705,,Address,"V,M",,,
+Network-Call-Reference-Number,3418,,OctetString,"V,M",,,
+Next-Tariff,2057,,Grouped,"V,M",,,
+NIDD-Submission,3928,,Grouped,"V,M",,,
+NNI-Information,2703,,Grouped,"V,M",,,
+NNI-Type,2704,,Enumerated,"V,M",,,
+Node-Functionality,862,,Enumerated,"V,M",,,
+Node-Id,2064,,UTF8String,"V,M",,,
+Number-Of-Diversions,2034,,Unsigned32,"V,M",,,
+Number-Of-Messages-Sent,2019,,Unsigned32,"V,M",,,
+Number-Of-Participants,885,,Unsigned32,"V,M",,,
+Number-Of-Received-Talk-Bursts,1282,,Unsigned32,"V,M",,,
+Number-Of-Talk-Bursts,1283,,Unsigned32,"V,M",,,
+Number-Portability-Routing-Information,2024,,UTF8String,"V,M",,,
+Offline-Charging,1278,,Grouped,"V,M",,,
+Online-Charging-Flag,2303,,Enumerated,"V,M",,,
+Originating-IOI,839,,UTF8String,"V,M",,,
+Originator,864,,Enumerated,"V,M",,,
+Originator-Address,886,,Grouped,"V,M",,,
+Originator-Interface,2009,,Grouped,"V,M",,,
+Originator-Received-Address,2027,,Grouped,"V,M",,,
+Originator-SCCP-Address,2008,,Address,"V,M",,,
+Outgoing-Session-Id,2320,,UTF8String,"V,M",,,
+Outgoing-Trunk-Group-Id,853,,UTF8String,"V,M",,,
+Participant-Access-Priority,1259,,Enumerated,"V,M",,,
+Participant-Action-Type,2049,,Enumerated,"V,M",,,
+Participant-Group,1260,,Grouped,"V,M",,,
+Participants-Involved,887,,UTF8String,"V,M",,,
+PC3-Control-Protocol-Cause,3434,,Integer32,"V,M",,,
+PC3-EPC-Control-Protocol-Cause,3435,,Integer32,"V,M",,,
+PC5-Radio-Technology,1300,,Enumerated,V,,,M
+PDN-Connection-Charging-ID,2050,,Unsigned32,"V,M",,,
+PDP-Address,1227,,Address,"V,M",,,
+PDP-Address-Prefix-Length,2606,,Unsigned32,"V,M",,,
+PDP-Context-Type,1247,,Enumerated,"V,M",,,
+# Change-1.4.0: PDG-Address (895) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+# Change-1.4.0: PDG-Charging-Id (896) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+Play-Alternative,3913,,Enumerated,"V,M",,,
+PoC-Change-Condition,1261,,Enumerated,"V,M",,,
+PoC-Change-Time,1262,,Time,"V,M",,,
+PoC-Controlling-Address,858,,UTF8String,"V,M",,,
+PoC-Event-Type,2025,,Enumerated,"V,M",,,
+PoC-Group-Name,859,,UTF8String,"V,M",,,
+PoC-Information,879,,Grouped,"V,M",,,
+PoC-Server-Role,883,,Enumerated,"V,M",,,
+PoC-Session-Id,1229,,UTF8String,"V,M",,,
+PoC-Session-Initiation-type,1277,,Enumerated,"V,M",,,
+PoC-Session-Type,884,,Enumerated,"V,M",,,
+PoC-User-Role,1252,,Grouped,"V,M",,,
+PoC-User-Role-IDs,1253,,UTF8String,"V,M",,,
+# Note: 3GPP TS 32.299 V13.1.0 (2015-06) renamed,,,,,,,
+# PoC-User-Role-info-Units (1254) to PoC-User-Role-Info-Units (1254).,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: PoC-User-Role-info-Units (1254) renamed to PoC-User-Role-Info-Units (1254).,,,,,,,
+PoC-User-Role-Info-Units,1254,,Enumerated,"V,M",,,
+Positioning-Data,1245,,UTF8String,"V,M",,,
+Preferred-AoC-Currency,2315,,Unsigned32,"V,M",,,
+Priority,1209,,Enumerated,"V,M",,,
+Privacy-Indicator,3915,,Enumerated,"V,M",,,
+ProSe-3rd-Party-Application-ID,3440,,UTF8String,"V,M",,,
+ProSe-Direct-Communication-Reception-Data-Container,3461,,Grouped,"V,M",,,
+ProSe-Direct-Communication-Transmission-Data-Container,3441,,Grouped,"V,M",,,
+ProSe-Direct-Discovery-Model,3442,,Enumerated,"V,M",,,
+ProSe-Event-Type,3443,,Enumerated,"V,M",,,
+ProSe-Function-IP-Address,3444,,Address,"V,M",,,
+ProSe-Function-PLMN-Identifier,3457,,UTF8String,"V,M",,,
+ProSe-Functionality,3445,,Enumerated,"V,M",,,
+ProSe-Group-IP-Multicast-Address,3446,,Address,"V,M",,,
+ProSe-Information,3447,,Grouped,"V,M",,,
+ProSe-Range-Class,3448,,Enumerated,"V,M",,,
+ProSe-Reason-For-Cancellation,3449,,Enumerated,"V,M",,,
+ProSe-Request-Timestamp,3450,,Time,"V,M",,,
+ProSe-Role-Of-UE,3451,,Enumerated,"V,M",,,
+ProSe-Source-IP-Address,3452,,Address,"V,M",,,
+ProSe-Target-Layer-2-ID,4410,,OctetString,"V,M",,,
+ProSe-UE-ID,3453,,OctetString,"V,M",,,
+ProSe-UE-to-Network-Relay-UE-ID,4409,,OctetString,"V,M",,,
+Proximity-Alert-Indication,3454,,Enumerated,"V,M",,,
+Proximity-Alert-Timestamp,3455,,Time,"V,M",,,
+Proximity-Cancellation-Timestamp,3456,,Time,"V,M",,,
+PS-Append-Free-Format-Data,867,,Enumerated,"V,M",,,
+PS-Free-Format-Data,866,,OctetString,"V,M",,,
+PS-Furnish-Charging-Information,865,,Grouped,"V,M",,,
+PS-Information,874,,Grouped,"V,M",,,
+Quota-Consumption-Time,881,,Unsigned32,"V,M",,,
+Quota-Holding-Time,871,,Unsigned32,"V,M",,,
+Quota-Indicator,3912,,Enumerated,"V,M",,,
+# Note: Name conflict with 3GPP TS 32.299 Radio-Frequency (3508),,,,,,,
+# 3GPP TS 29.468 V12.0.0 (2014-09) added Radio-Frequency (3508).,,,,,,,
+# 3GPP TS 32.299 V13.1.0 (2015-06) CR 0638 added Radio-Frequency (3462).,,,,,,,
+Radio-Frequency,3462,,OctetString,"V,M",,,
+Radio-Parameter-Set-Info,3463,,Grouped,"V,M",,,
+Radio-Parameter-Set-Values,3464,,OctetString,"V,M",,,
+Radio-Resources-Indicator,3465,,Integer32,"V,M",,,
+RAN-End-Time,1301,,Time,V,,,M
+RAN-Secondary-RAT-Usage-Report,1302,,Grouped,V,,,M
+RAN-Start-Time,1303,,Time,V,,,M
+Rate-Control-Max-Message-Size,3937,,Unsigned32,"V,M",,,
+Rate-Control-Max-Rate,3938,,Unsigned32,"V,M",,,
+Rate-Control-Time-Unit,3939,,Unsigned32,"V,M",,,
+Rate-Element,2058,,Grouped,"V,M",,,
+Read-Reply-Report-Requested,1222,,Enumerated,"V,M",,,
+Real-Time-Tariff-Information,2305,,Grouped,"V,M",,,
+Reason-Header,3401,,UTF8String,"V,M",,,
+Received-Talk-Burst-Time,1284,,Unsigned32,"V,M",,,
+Received-Talk-Burst-Volume,1285,,Unsigned32,"V,M",,,
+# Note: Name conflict with 3GPP TS 32.299 Recipient-Address (1201);,,,,,,,
+# 3GPP TS 29.140 V6.1.0 (2005-06) allocated Recipient-Address (1108).,,,,,,,
+# 3GPP TS 32.299 V6.4.0 (2005-09) CR 0028 added Recipient-Address (1201).,,,,,,,
+Recipient-Address,1201,,Grouped,"V,M",,,
+Recipient-Info,2026,,Grouped,"V,M",,,
+Recipient-Received-Address,2028,,Grouped,"V,M",,,
+Recipient-SCCP-Address,2010,,Address,"V,M",,,
+Refund-Information,2022,,OctetString,"V,M",,,
+Related-Change-Condition-Information,3925,,Grouped,"V,M",,,
+Related-Trigger,3926,,Grouped,"V,M",,,
+Related-IMS-Charging-Identifier,2711,,UTF8String,"V,M",,,
+Related-IMS-Charging-Identifier-Node,2712,,Address,"V,M",,,
+Relationship-Mode,2706,,Enumerated,"V,M",,,
+Relay-IP-address,4411,,Address,"V,M",,,
+Remaining-Balance,2021,,Grouped,"V,M",,,
+Reply-Applic-ID,1223,,UTF8String,"V,M",,,
+Reply-Path-Requested,2011,,Enumerated,"V,M",,,
+Reporting-Reason,872,,Enumerated,"V,M",,,
+Requested-Party-Address,1251,,UTF8String,"V,M",,,
+Requested-PLMN-Identifier,3436,,UTF8String,"V,M",,,
+Requestor-PLMN-Identifier,3437,,UTF8String,"V,M",,,
+Role-Of-Node,829,,Enumerated,"V,M",,,
+Role-Of-ProSe-Function,3438,,Enumerated,"V,M",,,
+Route-Header-Received,3403,,UTF8String,"V,M",,,
+Route-Header-Transmitted,3404,,UTF8String,"V,M",,,
+Scale-Factor,2059,,Grouped,"V,M",,,
+SCEF-Address,1317,,Address,V,,,M
+SCS-Address,3941,,Address,"V,M",,,
+SCS-AS-Address,3940,,Grouped,"V,M",,,
+SCS-Realm,3942,,DiameterIdentity,"V,M",,,
+SDP-Answer-Timestamp,1275,,Time,"V,M",,,
+SDP-Media-Component,843,,Grouped,"V,M",,,
+SDP-Media-Description,845,,UTF8String,"V,M",,,
+SDP-Media-Name,844,,UTF8String,"V,M",,,
+SDP-Offer-Timestamp,1274,,Time,"V,M",,,
+SDP-Session-Description,842,,UTF8String,"V,M",,,
+SDP-TimeStamps,1273,,Grouped,"V,M",,,
+SDP-Type,2036,,Enumerated,"V,M",,,
+Secondary-RAT-Type,1304,,OctetString,V,,,M
+Serving-Node-Identity,3929,,DiameterIdentity,"V,M",,,
+Served-Party-IP-Address,848,,Address,"V,M",,,
+Service-Data-Container,2040,,Grouped,"V,M",,,
+Service-Id,855,,UTF8String,"V,M",,,
+Service-Information,873,,Grouped,"V,M",,,
+Service-Mode,2032,,Unsigned32,"V,M",,,
+Service-Specific-Data,863,,UTF8String,"V,M",,,
+Service-Specific-Info,1249,,Grouped,"V,M",,,
+Service-Specific-Type,1257,,Unsigned32,"V,M",,,
+Serving-Node-Type,2047,,Enumerated,"V,M",,,
+Session-Direction,2707,,Enumerated,"V,M",,,
+SGi-PtP-Tunnelling-Method,3931,,Enumerated,"V,M",,,
+SGSN-Address,1228,,Address,"V,M",,,
+SGW-Address,2067,,Address,"V,M",,,
+SGW-Change,2065,,Enumerated,"V,M",,,
+SIP-Method,824,,UTF8String,"V,M",,,
+SIP-Request-Timestamp,834,,Time,"V,M",,,
+SIP-Request-Timestamp-Fraction,2301,,Unsigned32,"V,M",,,
+SIP-Response-Timestamp,835,,Time,"V,M",,,
+SIP-Response-Timestamp-Fraction,2302,,Unsigned32,"V,M",,,
+SM-Device-Trigger-Indicator,3407,,Enumerated,"V,M",,,
+SM-Device-Trigger-Information,3405,,Grouped,"V,M",,,
+SM-Discharge-Time,2012,,Time,"V,M",,,
+SM-Message-Type,2007,,Enumerated,"V,M",,,
+SM-Protocol-ID,2013,,OctetString,"V,M",,,
+SM-Sequence-Number,3408,,Unsigned32,"V,M",,,
+SM-Service-Type,2029,,Enumerated,"V,M",,,
+SM-Status,2014,,OctetString,"V,M",,,
+SM-User-Data-Header,2015,,OctetString,"V,M",,,
+SMS-Information,2000,,Grouped,"V,M",,,
+SMS-Node,2016,,Enumerated,"V,M",,,
+SMS-Result,3409,,Unsigned32,"V,M",,,
+SMSC-Address,2017,,Address,"V,M",,,
+Start-of-Charging,3419,,Time,"V,M",,,
+Start-Time,2041,,Time,"V,M",,,
+# Note: 3GPP TS 32.299 V11.10.0 (2013-12) CR 0566 renamed,,,,,,,
+# Status (2702) to Status-Code (2702).,,,,,,,
+# 3GPP TS 32.299 V11.14.0 (2014-12) CR 0617 renamed,,,,,,,
+# Status-Code (2702) to Status-AS-Code (2702).,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: Status (2702) renamed to Status-AS-Code (2702).,,,,,,,
+Status-AS-Code,2702,,Enumerated,"V,M",,,
+Stop-Time,2042,,Time,"V,M",,,
+Submission-Time,1202,,Time,"V,M",,,
+Subscriber-Role,2033,,Enumerated,"V,M",,,
+Supplementary-Service,2048,,Grouped,"V,M",,,
+TAD-Identifier,2717,,Enumerated,"V,M",,,
+Talk-Burst-Exchange,1255,,Grouped,"V,M",,,
+Talk-Burst-Time,1286,,Unsigned32,"V,M",,,
+Talk-Burst-Volume,1287,,Unsigned32,"V,M",,,
+Target-IP-Address,4412,,Address,VM,,,
+Tariff-Information,2060,,Grouped,"V,M",,,
+Tariff-XML,2306,,UTF8String,"V,M",,,
+Teleservice,3413,,OctetString,"V,M",,,
+Terminating-IOI,840,,UTF8String,"V,M",,,
+Time-First-Reception,3466,,Time,"V,M",,,
+Time-First-Transmission,3467,,Time,"V,M",,,
+Time-First-Usage,2043,,Time,"V,M",,,
+Time-Indicator,3911,,Unsigned32,"V,M",,,
+Time-Last-Usage,2044,,Time,"V,M",,,
+Time-Quota-Mechanism,1270,,Grouped,"V,M",,,
+Time-Quota-Threshold,868,,Unsigned32,"V,M",,,
+Time-Quota-Type,1271,,Enumerated,"V,M",,,
+Time-Stamps,833,,Grouped,"V,M",,,
+Time-Usage,2045,,Unsigned32,"V,M",,,
+TLTRI,1318,,Unsigned32,V,,,M
+Token-Text,1215,,UTF8String,"V,M",,,
+Traffic-Data-Volumes,2046,,Grouped,"V,M",,,
+Transcoder-Inserted-Indication,2605,,Enumerated,"V,M",,,
+Transit-IOI-List,2701,,UTF8String,"V,M",,,
+Transmitter-Info,3468,,Grouped,"V,M",,,
+Trigger,1264,,Grouped,"V,M",,,
+Trigger-Type,870,,Enumerated,"V,M",,,
+Trunk-Group-Id,851,,Grouped,"V,M",,,
+TWAG-Address,3903,,Address,"V,M",,,
+TWAN-User-Location-Info,2714,,Grouped,"V,M",,,
+Type-Number,1204,,Enumerated,"V,M",,,
+UNI-PDU-CP-Only-Flag,3932,,Enumerated,"V,M",,,
+Unit-Cost,2061,,Grouped,"V,M",,,
+Unit-Quota-Threshold,1226,,Unsigned32,"V,M",,,
+Unused-Quota-Timer,4407,,Unsigned32,"V,M",,,
+Usage-Information-Report-Sequence-Number,3439,,Integer32,"V,M",,,
+User-CSG-Information,2319,,Grouped,"V,M",,,
+User-Participating-Type,1279,,Enumerated,"V,M",,,
+User-Session-Id,830,,UTF8String,"V,M",,,
+UWAN-User-Location-Info,3918,,Grouped,"V,M",,,
+Variable-Part,3907,,Grouped,"V,M",,,
+Variable-Part-Order,3908,,Unsigned32,"V,M",,,
+Variable-Part-Type,3909,,Unsigned32,"V,M",,,
+Variable-Part-Value,3910,,UTF8String,"V,M",,,
+VCS-Information,3410,,Grouped,"V,M",,,
+VLR-Number,3420,,OctetString,"V,M",,,
+Volume-Quota-Threshold,869,,Unsigned32,"V,M",,,
+# Change-1.4.0: WAG-Address (890) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+# Change-1.4.0: WAG-PLMN-Id (891) OctetString removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+# Change-1.4.0: WLAN-Information (875) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+WLAN-Operator-Id,1306,,Grouped,V,,,M
+WLAN-Operator-Name,1307,,UTF8String,V,,,M
+WLAN-PLMN-Id,1308,,UTF8String,V,,,M
+# Change-1.4.0: WLAN-Radio-Container (892) Grouped removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+# Change-1.4.0: WLAN-Session-Id (1246) UTF8String removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+# Change-1.4.0: WLAN-Technology (893) Unsigned32 removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+# Change-1.4.0: WLAN-UE-Local-IPAddress (894) Address removed in 3GPP TS 32.299 V12.6.0 (2014-09).,,,,,,,
+#,,,,,,,
+,,,,,,,
+@standard,OMA DDS Charging Data,,,,,,
+#=,,,,,,,
+# OMA DDS Charging_Data V1.0 20110201-A,,,,,,,
+# Charging Data,,,,,,,
+# ,,,,,,,
+# From OMA OMA-DDS-Charging_Data-V1_0-20110201-A.pdf,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+Application-Server-Id,2101,8.4,UTF8String,"M,V",,,
+# Change-1.4.0: Application-Service-Type (2102) type changed from UTF8String to Enumerated.,,,,,,,
+Application-Service-Type,2102,8.4,Enumerated,"M,V",,,
+# Change-1.4.0: Application-Session-Id (2103) type changed from UTF8String to Unsigned32.,,,,,,,
+Application-Session-Id,2103,8.4,Unsigned32,"M,V",,,
+Content-ID,2116,8.4,UTF8String,"M,V",,,
+Content-provider-ID,2117,8.4,UTF8String,"M,V",,,
+DCD-Information,2115,8.5.5,Grouped,"M,V",,,
+Delivery-Status,2104,8.4,UTF8String,"M,V",,,
+IM-Information,2110,8.5.6,Grouped,"M,V",,,
+Number-Of-Messages-Successfully-Exploded,2111,8.4,Unsigned32,"M,V",,,
+Number-Of-Messages-Successfully-Sent,2112,8.4,Unsigned32,"M,V",,,
+Service-Generic-Information,1256,8.5.10,Grouped,"M,V",,,
+Total-Number-Of-Messages-Exploded,2113,8.4,Unsigned32,"M,V",,,
+Total-Number-Of-Messages-Sent,2114,8.4,Unsigned32,"M,V",,,
+,,,,,,,
+,,,,,,,
+@vendor,5535,,,,,,
+,,,,,,,
+@standard,X.S0057-0,,,,,,
+#=,,,,,,,
+# 3GPP2 X.S0057-0 v2.0,,,,,,,
+# E-UTRAN - eHRPD Connectivity and Interworking:,,,,,,,
+# Core Network Aspects,,,,,,,
+# ,,,,,,,
+# From 3GPP2 X.S0057-0_v2.0_091215.pdf,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+# ,,,,,,,
+# Change-1.4.0: 3GPP2-BSID (9010) type changed from OctetString to UTF8String.,,,,,,,
+# Change-1.4.0: 3GPP2-BSID (9010) flag M MUST.,,,,,,,
+3GPP2-BSID,9010,5.6.2.1.1,UTF8String,"M,V",P,,
diff --git a/extensions/dict_dcca_starent/CMakeLists.txt b/extensions/dict_dcca_starent/CMakeLists.txt
index 8152a02..c2ffa70 100644
--- a/extensions/dict_dcca_starent/CMakeLists.txt
+++ b/extensions/dict_dcca_starent/CMakeLists.txt
@@ -2,7 +2,7 @@
PROJECT("Diameter DCCA (Diameter Credit Control Application) Starent dictionary definitions " C)
# Compile as a module
-FD_ADD_EXTENSION(dict_dcca_starent dict_dcca_starent.c)
+FD_ADD_EXTENSION(dict_dcca_starent dict_dcca_starent.c add_avps.c)
####
diff --git a/extensions/dict_dcca_starent/add_avps.c b/extensions/dict_dcca_starent/add_avps.c
new file mode 100644
index 0000000..ab96364
--- /dev/null
+++ b/extensions/dict_dcca_starent/add_avps.c
@@ -0,0 +1,355 @@
+/*
+Generated by:
+ csv_to_fd -p fdc dict_dcca_starent.csv
+
+Do not modify; modify the source .csv files instead.
+*/
+
+#include <freeDiameter/extension.h>
+
+#define CHECK_dict_new( _type, _data, _parent, _ref ) \
+ CHECK_FCT( fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref)) );
+
+#define CHECK_dict_search( _type, _criteria, _what, _result ) \
+ CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
+
+int add_avps()
+{
+ struct dict_object * UTF8String_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
+
+ struct dict_object * Time_type = NULL;
+ CHECK_dict_search(DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
+
+ /*==================================================================*/
+ /* Cisco ASR 5000 Series AAA Interface */
+ /* Administration and Reference */
+ /* Release 8.x and 9.0 */
+ /* Last Updated June 30, 2010 */
+ /* updated using v15 docs from Jan 2014 */
+ /* www.cisco.com/c/dam/en/us/td/docs/wireless/asr_5000/15-0/15-0-AAA-Reference.pdf */
+ /*==================================================================*/
+
+ /* SN-Volume-Quota-Threshold, Unsigned32, code 501 */
+ {
+ struct dict_avp_data data = {
+ 501, /* Code */
+ 8164, /* Vendor */
+ "SN-Volume-Quota-Threshold", /* 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);
+ };
+
+ /* SN-Unit-Quota-Threshold, Unsigned32, code 502 */
+ {
+ struct dict_avp_data data = {
+ 502, /* Code */
+ 8164, /* Vendor */
+ "SN-Unit-Quota-Threshold", /* 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);
+ };
+
+ /* SN-Time-Quota-Threshold, Unsigned32, code 503 */
+ {
+ struct dict_avp_data data = {
+ 503, /* Code */
+ 8164, /* Vendor */
+ "SN-Time-Quota-Threshold", /* 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);
+ };
+
+ /* SN-Total-Used-Service-Unit, Grouped, code 504 */
+ {
+ struct dict_avp_data data = {
+ 504, /* Code */
+ 8164, /* Vendor */
+ "SN-Total-Used-Service-Unit", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SN-Absolute-Validity-Time, Time, code 505 */
+ {
+ struct dict_avp_data data = {
+ 505, /* Code */
+ 8164, /* Vendor */
+ "SN-Absolute-Validity-Time", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* SN-Bandwidth-Control, Enumerated, code 512 */
+ {
+ struct dict_avp_data data = {
+ 512, /* Code */
+ 8164, /* Vendor */
+ "SN-Bandwidth-Control", /* Name */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
+ AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Starent/SN-Bandwidth-Control)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SN-Transparent-Data, OctetString, code 513 */
+ {
+ struct dict_avp_data data = {
+ 513, /* Code */
+ 8164, /* Vendor */
+ "SN-Transparent-Data", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SN-Traffic-Policy, UTF8String, code 514 */
+ {
+ struct dict_avp_data data = {
+ 514, /* Code */
+ 8164, /* Vendor */
+ "SN-Traffic-Policy", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* SN-Firewall-Policy, UTF8String, code 515 */
+ {
+ struct dict_avp_data data = {
+ 515, /* Code */
+ 8164, /* Vendor */
+ "SN-Firewall-Policy", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* SN-Usage-Monitoring-Control, Grouped, code 517 */
+ {
+ struct dict_avp_data data = {
+ 517, /* Code */
+ 8164, /* Vendor */
+ "SN-Usage-Monitoring-Control", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SN-Monitoring-Key, Unsigned32, code 518 */
+ {
+ struct dict_avp_data data = {
+ 518, /* Code */
+ 8164, /* Vendor */
+ "SN-Monitoring-Key", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED32 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SN-Usage-Volume, Unsigned64, code 519 */
+ {
+ struct dict_avp_data data = {
+ 519, /* Code */
+ 8164, /* Vendor */
+ "SN-Usage-Volume", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_UNSIGNED64 /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SN-Service-Flow-Detection, Enumerated, code 520 */
+ {
+ struct dict_avp_data data = {
+ 520, /* Code */
+ 8164, /* Vendor */
+ "SN-Service-Flow-Detection", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Starent/SN-Service-Flow-Detection)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SN-Usage-Monitoring, Enumerated, code 521 */
+ {
+ struct dict_avp_data data = {
+ 521, /* Code */
+ 8164, /* Vendor */
+ "SN-Usage-Monitoring", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_INTEGER32 /* base type of data */
+ };
+ struct dict_object *type;
+ struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Starent/SN-Usage-Monitoring)", NULL, NULL, NULL };
+ CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
+ CHECK_dict_new(DICT_AVP, &data, type, NULL);
+ };
+
+ /* SN-Session-Start-Indicator, OctetString, code 522 */
+ {
+ struct dict_avp_data data = {
+ 522, /* Code */
+ 8164, /* Vendor */
+ "SN-Session-Start-Indicator", /* 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);
+ };
+
+ /* SN-Phase0-PSAPName, UTF8String, code 523 */
+ {
+ struct dict_avp_data data = {
+ 523, /* Code */
+ 8164, /* Vendor */
+ "SN-Phase0-PSAPName", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* SN-Charging-Id, OctetString, code 525 */
+ {
+ struct dict_avp_data data = {
+ 525, /* Code */
+ 8164, /* Vendor */
+ "SN-Charging-Id", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SN-Remaining-Service-Unit, Grouped, code 526 */
+ {
+ struct dict_avp_data data = {
+ 526, /* Code */
+ 8164, /* Vendor */
+ "SN-Remaining-Service-Unit", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_GROUPED /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
+ };
+
+ /* SN-Service-Start-Timestamp, Time, code 527 */
+ {
+ struct dict_avp_data data = {
+ 527, /* Code */
+ 8164, /* Vendor */
+ "SN-Service-Start-Timestamp", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
+ };
+
+ /* SN-Rulebase-Id, UTF8String, code 528 */
+ {
+ struct dict_avp_data data = {
+ 528, /* Code */
+ 8164, /* Vendor */
+ "SN-Rulebase-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);
+ };
+
+ /* SN-CF-Policy-ID, Unsigned32, code 529 */
+ {
+ struct dict_avp_data data = {
+ 529, /* Code */
+ 8164, /* Vendor */
+ "SN-CF-Policy-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);
+ };
+
+ /* SN-Charging-Collection-Function-Name, UTF8String, code 530 */
+ {
+ struct dict_avp_data data = {
+ 530, /* Code */
+ 8164, /* Vendor */
+ "SN-Charging-Collection-Function-Name", /* Name */
+ AVP_FLAG_VENDOR, /* Fixed flags */
+ AVP_FLAG_VENDOR, /* Fixed flag values */
+ AVP_TYPE_OCTETSTRING /* base type of data */
+ };
+ CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
+ };
+
+ /* SN-Fast-Reauth-Username, OctetString, code 11010 */
+ {
+ struct dict_avp_data data = {
+ 11010, /* Code */
+ 8164, /* Vendor */
+ "SN-Fast-Reauth-Username", /* 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);
+ };
+
+ /* SN-Pseudonym-Username, OctetString, code 11011 */
+ {
+ struct dict_avp_data data = {
+ 11011, /* Code */
+ 8164, /* Vendor */
+ "SN-Pseudonym-Username", /* 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);
+ };
+
+ return 0;
+} /* add_avps() */
diff --git a/extensions/dict_dcca_starent/dict_dcca_starent.c b/extensions/dict_dcca_starent/dict_dcca_starent.c
index 1617c19..7a1ea60 100644
--- a/extensions/dict_dcca_starent/dict_dcca_starent.c
+++ b/extensions/dict_dcca_starent/dict_dcca_starent.c
@@ -6,9 +6,6 @@
/* The content of this file follows the same structure as dict_base_proto.c */
-#define CHECK_dict_new( _type, _data, _parent, _ref ) \
- CHECK_FCT( fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref)) );
-
#define CHECK_dict_search( _type, _criteria, _what, _result ) \
CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
@@ -38,12 +35,12 @@ struct local_rules_definition {
(_rulearray)[__ar].avp_name, \
&__data.rule_avp, 0 ) ); \
if ( !__data.rule_avp ) { \
- TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_name ); \
+ LOG_E( "AVP Not found: '%s'", (_rulearray)[__ar].avp_name ); \
return ENOENT; \
} \
CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL), \
{ \
- TRACE_DEBUG(INFO, "Error on rule with AVP '%s'", \
+ LOG_E( "Error on rule with AVP '%s'", \
(_rulearray)[__ar].avp_name ); \
return EINVAL; \
} ); \
@@ -69,352 +66,8 @@ static int dict_dcca_starent_entry(char * conffile)
}
-
- struct dict_object * Address_type;
- struct dict_object * DiameterIdentity_type;
- struct dict_object * DiameterURI_type;
- struct dict_object * IPFilterRule_type;
- struct dict_object * Time_type;
- struct dict_object * UTF8String_type;
-
- CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_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, "IPFilterRule", &IPFilterRule_type);
- CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
- CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
-
- /* The following is created automatically. Do not modify. */
- /* Changes will be lost during the next update. Modify the source org file instead. */
-
- /* Cisco ASR 5000 Series AAA Interface */
- /* Administration and Reference */
- /* Release 8.x and 9.0 */
- /* Last Updated June 30, 2010 */
- /* updated using v15 docs from Jan 2014 */
- /* www.cisco.com/c/dam/en/us/td/docs/wireless/asr_5000/15-0/15-0-AAA-Reference.pdf */
- /* SN-Volume-Quota-Threshold */
- {
- struct dict_avp_data data = {
- 501, /* Code */
- 8164, /* Vendor */
- "SN-Volume-Quota-Threshold", /* 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);
- };
-
- /* SN-Unit-Quota-Threshold */
- {
- struct dict_avp_data data = {
- 502, /* Code */
- 8164, /* Vendor */
- "SN-Unit-Quota-Threshold", /* 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);
- };
-
- /* SN-Time-Quota-Threshold */
- {
- struct dict_avp_data data = {
- 503, /* Code */
- 8164, /* Vendor */
- "SN-Time-Quota-Threshold", /* 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);
- };
-
- /* SN-Total-Used-Service-Unit */
- {
- struct dict_avp_data data = {
- 504, /* Code */
- 8164, /* Vendor */
- "SN-Total-Used-Service-Unit", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SN-Absolute-Validity-Time */
- {
- struct dict_avp_data data = {
- 505, /* Code */
- 8164, /* Vendor */
- "SN-Absolute-Validity-Time", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
- };
-
- /* SN-Bandwidth-Control */
- {
- struct dict_avp_data data = {
- 512, /* Code */
- 8164, /* Vendor */
- "SN-Bandwidth-Control", /* Name */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */
- AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Starent/SN-Bandwidth-Control)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* SN-Transparent-Data */
- {
- struct dict_avp_data data = {
- 513, /* Code */
- 8164, /* Vendor */
- "SN-Transparent-Data", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SN-Traffic-Policy */
- {
- struct dict_avp_data data = {
- 514, /* Code */
- 8164, /* Vendor */
- "SN-Traffic-Policy", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* SN-Firewall-Policy */
- {
- struct dict_avp_data data = {
- 515, /* Code */
- 8164, /* Vendor */
- "SN-Firewall-Policy", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* SN-Usage-Monitoring-Control */
- {
- struct dict_avp_data data = {
- 517, /* Code */
- 8164, /* Vendor */
- "SN-Usage-Monitoring-Control", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SN-Monitoring-Key */
- {
- struct dict_avp_data data = {
- 518, /* Code */
- 8164, /* Vendor */
- "SN-Monitoring-Key", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED32 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SN-Usage-Volume */
- {
- struct dict_avp_data data = {
- 519, /* Code */
- 8164, /* Vendor */
- "SN-Usage-Volume", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_UNSIGNED64 /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SN-Service-Flow-Detection */
- {
- struct dict_avp_data data = {
- 520, /* Code */
- 8164, /* Vendor */
- "SN-Service-Flow-Detection", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Starent/SN-Service-Flow-Detection)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* SN-Usage-Monitoring */
- {
- struct dict_avp_data data = {
- 521, /* Code */
- 8164, /* Vendor */
- "SN-Usage-Monitoring", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_INTEGER32 /* base type of data */
- };
- struct dict_object *type;
- struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Starent/SN-Usage-Monitoring)", NULL, NULL, NULL };
- CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type);
- CHECK_dict_new(DICT_AVP, &data, type, NULL);
- };
-
- /* SN-Session-Start-Indicator */
- {
- struct dict_avp_data data = {
- 522, /* Code */
- 8164, /* Vendor */
- "SN-Session-Start-Indicator", /* 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);
- };
-
- /* SN-Phase0-PSAPName */
- {
- struct dict_avp_data data = {
- 523, /* Code */
- 8164, /* Vendor */
- "SN-Phase0-PSAPName", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* SN-Charging-Id */
- {
- struct dict_avp_data data = {
- 525, /* Code */
- 8164, /* Vendor */
- "SN-Charging-Id", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SN-Remaining-Service-Unit */
- {
- struct dict_avp_data data = {
- 526, /* Code */
- 8164, /* Vendor */
- "SN-Remaining-Service-Unit", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_GROUPED /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, NULL, NULL);
- };
-
- /* SN-Service-Start-Timestamp */
- {
- struct dict_avp_data data = {
- 527, /* Code */
- 8164, /* Vendor */
- "SN-Service-Start-Timestamp", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, Time_type, NULL);
- };
-
- /* SN-Rulebase-Id */
- {
- struct dict_avp_data data = {
- 528, /* Code */
- 8164, /* Vendor */
- "SN-Rulebase-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);
- };
-
- /* SN-CF-Policy-ID */
- {
- struct dict_avp_data data = {
- 529, /* Code */
- 8164, /* Vendor */
- "SN-CF-Policy-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);
- };
-
- /* SN-Charging-Collection-Function-Name */
- {
- struct dict_avp_data data = {
- 530, /* Code */
- 8164, /* Vendor */
- "SN-Charging-Collection-Function-Name", /* Name */
- AVP_FLAG_VENDOR, /* Fixed flags */
- AVP_FLAG_VENDOR, /* Fixed flag values */
- AVP_TYPE_OCTETSTRING /* base type of data */
- };
- CHECK_dict_new(DICT_AVP, &data, UTF8String_type, NULL);
- };
-
- /* SN-Fast-Reauth-Username */
- {
- struct dict_avp_data data = {
- 11010, /* Code */
- 8164, /* Vendor */
- "SN-Fast-Reauth-Username", /* 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);
- };
-
- /* SN-Pseudonym-Username */
- {
- struct dict_avp_data data = {
- 11011, /* Code */
- 8164, /* Vendor */
- "SN-Pseudonym-Username", /* 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);
- };
-
-
+ extern int add_avps();
+ CHECK_FCT( add_avps() );
/* Rules section */
diff --git a/extensions/dict_dcca_starent/dict_dcca_starent.csv b/extensions/dict_dcca_starent/dict_dcca_starent.csv
new file mode 100644
index 0000000..b26ba8a
--- /dev/null
+++ b/extensions/dict_dcca_starent/dict_dcca_starent.csv
@@ -0,0 +1,35 @@
+Attribute Name,AVP Code,Section defined,Value Type,MUST,MAY,SHOULD NOT,MUST NOT
+@vendor,8164,,,,,,
+#=,,,,,,,
+# Cisco ASR 5000 Series AAA Interface,,,,,,,
+# Administration and Reference,,,,,,,
+# Release 8.x and 9.0,,,,,,,
+"# Last Updated June 30, 2010",,,,,,,
+# updated using v15 docs from Jan 2014,,,,,,,
+# www.cisco.com/c/dam/en/us/td/docs/wireless/asr_5000/15-0/15-0-AAA-Reference.pdf,,,,,,,
+#=,,,,,,,
+#,,,,,,,
+SN-Volume-Quota-Threshold,501,,Unsigned32,"M,V",,,
+SN-Unit-Quota-Threshold,502,,Unsigned32,"M,V",,,
+SN-Time-Quota-Threshold,503,,Unsigned32,"M,V",,,
+SN-Total-Used-Service-Unit,504,,Grouped,V,,,
+SN-Absolute-Validity-Time,505,,Time,V,,,
+SN-Bandwidth-Control,512,,Enumerated,"M,V",,,
+SN-Transparent-Data,513,,OctetString,V,,,
+SN-Traffic-Policy,514,,UTF8String,V,,,
+SN-Firewall-Policy,515,,UTF8String,V,,,
+SN-Usage-Monitoring-Control,517,,Grouped,V,,,
+SN-Monitoring-Key,518,,Unsigned32,V,,,
+SN-Usage-Volume,519,,Unsigned64,V,,,
+SN-Service-Flow-Detection,520,,Enumerated,V,,,
+SN-Usage-Monitoring,521,,Enumerated,V,,,
+SN-Session-Start-Indicator,522,,OctetString,"M,V",,,
+SN-Phase0-PSAPName,523,,UTF8String,V,,,
+SN-Charging-Id,525,,OctetString,V,,,
+SN-Remaining-Service-Unit,526,,Grouped,V,,,
+SN-Service-Start-Timestamp,527,,Time,V,,,
+SN-Rulebase-Id,528,,UTF8String,"M,V",,,
+SN-CF-Policy-ID,529,,Unsigned32,"M,V",,,
+SN-Charging-Collection-Function-Name,530,,UTF8String,V,,,
+SN-Fast-Reauth-Username,11010,,OctetString,"M,V",,,
+SN-Pseudonym-Username,11011,,OctetString,"M,V",,,
diff --git a/extensions/dict_json/CMakeLists.txt b/extensions/dict_json/CMakeLists.txt
index 6b27d22..afa4df6 100644
--- a/extensions/dict_json/CMakeLists.txt
+++ b/extensions/dict_json/CMakeLists.txt
@@ -5,6 +5,7 @@ INCLUDE(FindPkgConfig)
# We use JSONCPP and JSON-Schema to parse and validate JSON files
PKG_CHECK_MODULES(JSONCPP REQUIRED jsoncpp)
+# https://github.com/nfotex/json-schema/
PKG_CHECK_MODULES(JSON_SCHEMA REQUIRED json-schema)
PKG_CHECK_MODULES(PCRECPP REQUIRED libpcrecpp)
@@ -15,7 +16,7 @@ SET(DICT_JSON_SRC
)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
-INCLUDE_DIRECTORIES(${JSONCPP_INCLUDE_DIR})
+INCLUDE_DIRECTORIES(${JSONCPP_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${JSON_SCHEMA_INCLUDE_DIR})
LINK_DIRECTORIES(${JSONCPP_LIBDIR})
diff --git a/extensions/dict_legacy_xml/dict_lxml_xml.c b/extensions/dict_legacy_xml/dict_lxml_xml.c
index 748c43f..3aa3807 100644
--- a/extensions/dict_legacy_xml/dict_lxml_xml.c
+++ b/extensions/dict_legacy_xml/dict_lxml_xml.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2017, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/dict_nasreq/dict_nasreq.c b/extensions/dict_nasreq/dict_nasreq.c
index a87907b..0878ae1 100644
--- a/extensions/dict_nasreq/dict_nasreq.c
+++ b/extensions/dict_nasreq/dict_nasreq.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2017, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/rt_default/rt_default.c b/extensions/rt_default/rt_default.c
index 239a89f..0fdfd44 100644
--- a/extensions/rt_default/rt_default.c
+++ b/extensions/rt_default/rt_default.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/rt_default/rt_default.h b/extensions/rt_default/rt_default.h
index 14bf934..b37e796 100644
--- a/extensions/rt_default/rt_default.h
+++ b/extensions/rt_default/rt_default.h
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2011, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/rt_default/rtd_conf.y b/extensions/rt_default/rtd_conf.y
index 928a454..e02303c 100644
--- a/extensions/rt_default/rtd_conf.y
+++ b/extensions/rt_default/rtd_conf.y
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/rt_default/rtd_rules.c b/extensions/rt_default/rtd_rules.c
index a7f1f44..c1cfe7f 100644
--- a/extensions/rt_default/rtd_rules.c
+++ b/extensions/rt_default/rtd_rules.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/rt_deny_by_size/rt_deny_by_size_conf.l b/extensions/rt_deny_by_size/rt_deny_by_size_conf.l
index ff8913b..03115e3 100644
--- a/extensions/rt_deny_by_size/rt_deny_by_size_conf.l
+++ b/extensions/rt_deny_by_size/rt_deny_by_size_conf.l
@@ -3,7 +3,7 @@
* Authors: Thomas Klausner <tk@giga.or.at> based on code by Sebastien Decugis <sdecugis@freediameter.net>*
* *
* Copyright (c) 2018, Thomas Klausner *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Written under contract by Effortel Technologies SA, http://effortel.com/ *
diff --git a/extensions/rt_deny_by_size/rt_deny_by_size_conf.y b/extensions/rt_deny_by_size/rt_deny_by_size_conf.y
index 12344e2..586a344 100644
--- a/extensions/rt_deny_by_size/rt_deny_by_size_conf.y
+++ b/extensions/rt_deny_by_size/rt_deny_by_size_conf.y
@@ -83,7 +83,7 @@ int rt_deny_by_size_conf_handle(char * conffile)
TRACE_ERROR( "Unable to parse the configuration file %s.", conffile);
return EINVAL;
} else {
- TRACE_DEBUG(FULL, "[rt__deny_by_size] MaximumSize: %d.", rt_deny_by_size_conf.maximum_size);
+ TRACE_DEBUG(FULL, "[rt_deny_by_size] MaximumSize: %d.", rt_deny_by_size_conf.maximum_size);
}
return 0;
diff --git a/extensions/rt_ereg/rtereg.c b/extensions/rt_ereg/rtereg.c
index 1af73ee..93a584d 100644
--- a/extensions/rt_ereg/rtereg.c
+++ b/extensions/rt_ereg/rtereg.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2020, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
@@ -93,7 +93,7 @@ static int proceed(char * value, size_t len, struct fd_list * candidates, int co
int err = 0;
struct fd_list * c;
- TRACE_DEBUG(ANNOYING, "Attempt pattern matching of '%.*s' with rule '%s'", (int)len, value, r->pattern);
+ LOG_D("[rt_ereg] attempting pattern matching of '%.*s' with rule '%s'", (int)len, value, r->pattern);
#ifdef HAVE_REG_STARTEND
{
@@ -118,7 +118,7 @@ static int proceed(char * value, size_t len, struct fd_list * candidates, int co
size_t bl;
/* Error while compiling the regex */
- TRACE_DEBUG(INFO, "Error while executing the regular expression '%s':", r->pattern);
+ LOG_E("[rt_ereg] error while executing the regular expression '%s':", r->pattern);
/* Get the error message size */
bl = regerror(err, &r->preg, NULL, 0);
@@ -128,7 +128,7 @@ static int proceed(char * value, size_t len, struct fd_list * candidates, int co
/* Get the error message content */
regerror(err, &r->preg, errstr, bl);
- TRACE_DEBUG(INFO, "\t%s", errstr);
+ LOG_E("\t%s", errstr);
/* Free the buffer, return the error */
free(errstr);
@@ -137,12 +137,7 @@ static int proceed(char * value, size_t len, struct fd_list * candidates, int co
}
/* From this point, the expression matched the AVP value */
- TRACE_DEBUG(FULL, "[rt_ereg] Match: '%s' to value '%.*s' => '%s' += %d",
- r->pattern,
- (int)len,
- value,
- r->server,
- r->score);
+ LOG_D("[rt_ereg] Match: '%s' to value '%.*s' => '%s' += %d", r->pattern, (int)len, value, r->server, r->score);
for (c = candidates->next; c != candidates; c = c->next) {
struct rtd_candidate * cand = (struct rtd_candidate *)c;
@@ -167,7 +162,7 @@ static int find_avp(msg_or_avp *where, int conf_index, int level, struct fd_list
/* iterate over all AVPs and try to find a match */
// for (i = 0; i<rtereg_conf[j].level; i++) {
if (level > rtereg_conf[conf_index].level) {
- TRACE_DEBUG(INFO, "internal error, dug too deep");
+ LOG_E("internal error, dug too deep");
return 1;
}
what = rtereg_conf[conf_index].avps[level];
@@ -178,11 +173,15 @@ static int find_avp(msg_or_avp *where, int conf_index, int level, struct fd_list
CHECK_FCT(fd_msg_avp_hdr(nextavp, &avp_hdr));
if ((avp_hdr->avp_code == dictdata.avp_code) && (avp_hdr->avp_vendor == dictdata.avp_vendor)) {
if (level != rtereg_conf[conf_index].level - 1) {
- TRACE_DEBUG(INFO, "[rt_ereg] found grouped AVP %d (vendor %d), digging deeper", avp_hdr->avp_code, avp_hdr->avp_vendor);
+ LOG_D("[rt_ereg] found grouped AVP %d (vendor %d), digging deeper", avp_hdr->avp_code, avp_hdr->avp_vendor);
CHECK_FCT(find_avp(nextavp, conf_index, level+1, candidates));
} else {
- TRACE_DEBUG(INFO, "[rt_ereg] found AVP %d (vendor %d)", avp_hdr->avp_code, avp_hdr->avp_vendor);
+ struct dictionary * dict;
+ LOG_D("[rt_ereg] found AVP %d (vendor %d)", avp_hdr->avp_code, avp_hdr->avp_vendor);
+ CHECK_FCT(fd_dict_getdict(what, &dict));
+ CHECK_FCT_DO(fd_msg_parse_dict(nextavp, dict, NULL), /* nothing */);
if (avp_hdr->avp_value != NULL) {
+ LOG_A("avp_hdr->avp_value NOT NULL, matching");
#ifndef HAVE_REG_STARTEND
int ret;
@@ -191,8 +190,12 @@ static int find_avp(msg_or_avp *where, int conf_index, int level, struct fd_list
/* Augment the buffer if needed */
if (avp_hdr->avp_value->os.len >= bufsz) {
- CHECK_MALLOC_DO( buf = realloc(buf, avp_hdr->avp_value->os.len + 1),
+ char *newbuf;
+ CHECK_MALLOC_DO( newbuf = realloc(buf, avp_hdr->avp_value->os.len + 1),
{ pthread_mutex_unlock(&mtx); return ENOMEM; } );
+ /* Update buffer and buffer size */
+ buf = newbuf;
+ bufsz = avp_hdr->avp_value->os.len + 1;
}
/* Copy the AVP value */
@@ -223,7 +226,7 @@ static int rtereg_out(void * cbdata, struct msg ** pmsg, struct fd_list * candid
msg_or_avp *where;
int j, ret;
- TRACE_ENTRY("%p %p %p", cbdata, *pmsg, candidates);
+ LOG_A("[rt_ereg] rtereg_out arguments: %p %p %p", cbdata, *pmsg, candidates);
CHECK_PARAMS(pmsg && *pmsg && candidates);
@@ -238,7 +241,7 @@ static int rtereg_out(void * cbdata, struct msg ** pmsg, struct fd_list * candid
for (j=0; j<rtereg_conf_size; j++) {
where = *pmsg;
- TRACE_DEBUG(INFO, "[rt_ereg] iterating over AVP group %d", j);
+ LOG_D("[rt_ereg] iterating over AVP group %d", j);
if ((ret=find_avp(where, j, 0, candidates)) != 0) {
break;
}
@@ -301,12 +304,12 @@ static void sig_hdlr(void)
/* entry point */
static int rtereg_entry(char * conffile)
{
- TRACE_ENTRY("%p", conffile);
+ LOG_A("[rt_ereg] started with conffile '%p'", conffile);
rt_ereg_config_file = conffile;
if (rtereg_init() != 0) {
- return 1;
+ return 1;
}
/* Register reload callback */
@@ -320,12 +323,11 @@ static int rtereg_entry(char * conffile)
static int rtereg_init_config(void)
{
/* Initialize the configuration */
- if ((rtereg_conf=malloc(sizeof(*rtereg_conf))) == NULL) {
- TRACE_DEBUG(INFO, "malloc failured");
- return 1;
+ if ((rtereg_conf=calloc(sizeof(*rtereg_conf), 1)) == NULL) {
+ LOG_E("[rt_ereg] malloc failured");
+ return 1;
}
rtereg_conf_size = 1;
- memset(rtereg_conf, 0, sizeof(*rtereg_conf));
/* Parse the configuration file */
CHECK_FCT( rtereg_conf_handle(rt_ereg_config_file) );
@@ -366,20 +368,29 @@ static int rtereg_init(void)
/* Unload */
static void rtereg_fini(void)
{
- TRACE_ENTRY();
-
/* Unregister the cb */
CHECK_FCT_DO( fd_rt_out_unregister ( rtereg_hdl, NULL ), /* continue */ );
- /* Destroy the data */
- rtereg_conf_free(rtereg_conf, rtereg_conf_size);
- rtereg_conf = NULL;
- rtereg_conf_size = 0;
#ifndef HAVE_REG_STARTEND
free(buf);
buf = NULL;
+ bufsz = 0;
#endif /* HAVE_REG_STARTEND */
+ if (pthread_rwlock_wrlock(&rte_lock) != 0) {
+ fd_log_error("%s: write-locking failed in fini, giving up", MODULE_NAME);
+ return;
+ }
+ /* Destroy the data */
+ rtereg_conf_free(rtereg_conf, rtereg_conf_size);
+ rtereg_conf = NULL;
+ rtereg_conf_size = 0;
+
+ if (pthread_rwlock_unlock(&rte_lock) != 0) {
+ fd_log_error("%s: write-unlocking failed in fini", MODULE_NAME);
+ return;
+ }
+
/* Done */
return ;
}
diff --git a/extensions/rt_ereg/rtereg.h b/extensions/rt_ereg/rtereg.h
index 4045f4a..741c314 100644
--- a/extensions/rt_ereg/rtereg.h
+++ b/extensions/rt_ereg/rtereg.h
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2011, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/rt_ereg/rtereg_conf.l b/extensions/rt_ereg/rtereg_conf.l
index 8a281a5..b0a6cb3 100644
--- a/extensions/rt_ereg/rtereg_conf.l
+++ b/extensions/rt_ereg/rtereg_conf.l
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
@@ -80,7 +80,7 @@ qstring \"[^\"\n]*\"
/* Match a quoted string. */
CHECK_MALLOC_DO( yylval->string = strdup(yytext+1),
{
- TRACE_DEBUG(INFO, "Unable to copy the string '%s': %s", yytext, strerror(errno));
+ LOG_E("[rt_ereg] unable to copy the string '%s': %s", yytext, strerror(errno));
return LEX_ERROR; /* trig an error in yacc parser */
} );
yylval->string[strlen(yytext) - 2] = '\0';
diff --git a/extensions/rt_ereg/rtereg_conf.y b/extensions/rt_ereg/rtereg_conf.y
index 7df1086..28174f8 100644
--- a/extensions/rt_ereg/rtereg_conf.y
+++ b/extensions/rt_ereg/rtereg_conf.y
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2013, WIDE Project and NICT *
+* Copyright (c) 2019, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
@@ -61,15 +61,13 @@ int rtereg_conf_handle(char * conffile)
extern FILE * rtereg_confin;
int ret;
- TRACE_ENTRY("%p", conffile);
-
- TRACE_DEBUG (FULL, "Parsing configuration file: %s...", conffile);
+ LOG_D("[rt_ereg] parsing configuration file '%s'", conffile);
rtereg_confin = fopen(conffile, "r");
if (rtereg_confin == NULL) {
ret = errno;
fd_log_debug("Unable to open extension configuration file %s for reading: %s", conffile, strerror(ret));
- TRACE_DEBUG (INFO, "rt_ereg: error occurred, message logged -- configuration file.");
+ LOG_E("[rt_ereg] error occurred, message logged -- configuration file.");
return ret;
}
@@ -79,19 +77,19 @@ int rtereg_conf_handle(char * conffile)
fclose(rtereg_confin);
if (rtereg_conf[rtereg_conf_size-1].finished == 0) {
- TRACE_DEBUG(INFO, "rt_ereg: configuration invalid, AVP ended without OCTETSTRING AVP");
+ LOG_E("[rt_ereg] configuration invalid, AVP ended without OCTETSTRING AVP");
return EINVAL;
}
if (ret != 0) {
- TRACE_DEBUG(INFO, "rt_ereg: unable to parse the configuration file.");
+ LOG_E("[rt_ereg] unable to parse the configuration file.");
return EINVAL;
} else {
int i, sum = 0;
for (i=0; i<rtereg_conf_size; i++) {
sum += rtereg_conf[i].rules_nb;
}
- TRACE_DEBUG(FULL, "[rt-ereg] Added %d rules successfully.", sum);
+ LOG_D("[rt-ereg] Added %d rules successfully.", sum);
}
return 0;
@@ -104,25 +102,25 @@ int avp_add(const char *name)
if (rtereg_conf[rtereg_conf_size-1].finished) {
if ((ret = realloc(rtereg_conf, sizeof(*rtereg_conf)*(rtereg_conf_size+1))) == NULL) {
- TRACE_DEBUG(INFO, "rt_ereg: realloc failed");
+ LOG_E("[rt_ereg] realloc failed");
return -1;
}
rtereg_conf_size++;
rtereg_conf = ret;
memset(&rtereg_conf[rtereg_conf_size-1], 0, sizeof(*rtereg_conf));
- TRACE_DEBUG(INFO, "rt_ereg: New AVP group found starting with %s", name);
+ LOG_D("[rt_ereg] New AVP group found starting with %s", name);
}
level = rtereg_conf[rtereg_conf_size-1].level + 1;
if ((ret = realloc(rtereg_conf[rtereg_conf_size-1].avps, sizeof(*rtereg_conf[rtereg_conf_size-1].avps)*level)) == NULL) {
- TRACE_DEBUG(INFO, "rt_ereg: realloc failed");
+ LOG_E("[rt_ereg] realloc failed");
return -1;
}
rtereg_conf[rtereg_conf_size-1].avps = ret;
CHECK_FCT_DO( fd_dict_search ( fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME_ALL_VENDORS, name, &rtereg_conf[rtereg_conf_size-1].avps[level-1], ENOENT ),
{
- TRACE_DEBUG(INFO, "rt_ereg: Unable to find '%s' AVP in the loaded dictionaries.", name);
+ LOG_E("[rt_ereg] Unable to find '%s' AVP in the loaded dictionaries.", name);
return -1;
} );
@@ -133,7 +131,7 @@ int avp_add(const char *name)
if (data.avp_basetype == AVP_TYPE_OCTETSTRING) {
rtereg_conf[rtereg_conf_size-1].finished = 1;
} else if (data.avp_basetype != AVP_TYPE_GROUPED) {
- TRACE_DEBUG(INFO, "rt_ereg: '%s' AVP is not an OCTETSTRING nor GROUPED AVP (%d).", name, data.avp_basetype);
+ LOG_E("[rt_ereg] '%s' AVP is not an OCTETSTRING nor GROUPED AVP (%d).", name, data.avp_basetype);
return -1;
}
}
@@ -147,7 +145,7 @@ int rtereg_conflex(YYSTYPE *lvalp, YYLTYPE *llocp);
/* Function to report the errors */
void yyerror (YYLTYPE *ploc, char * conffile, char const *s)
{
- TRACE_DEBUG(INFO, "rt_ereg: error in configuration parsing");
+ LOG_E("[rt_ereg] error in configuration parsing");
if (ploc->first_line != ploc->last_line)
fd_log_debug("%s:%d.%d-%d.%d : %s", conffile, ploc->first_line, ploc->first_column, ploc->last_line, ploc->last_column, s);
@@ -222,7 +220,7 @@ rule: QSTRING ':' QSTRING '+' '=' INTEGER ';'
size_t bl;
/* Error while compiling the regex */
- TRACE_DEBUG(INFO, "rt_ereg: error while compiling the regular expression '%s':", new->pattern);
+ LOG_E("[rt_ereg] error while compiling the regular expression '%s':", new->pattern);
/* Get the error message size */
bl = regerror(err, &new->preg, NULL, 0);
@@ -232,7 +230,7 @@ rule: QSTRING ':' QSTRING '+' '=' INTEGER ';'
/* Get the error message content */
regerror(err, &new->preg, buf, bl);
- TRACE_DEBUG(INFO, "\t%s", buf);
+ LOG_E("\t%s", buf);
/* Free the buffer, return the error */
free(buf);
diff --git a/extensions/rt_load_balance/rt_load_balance.c b/extensions/rt_load_balance/rt_load_balance.c
index 9883a67..c2316c4 100644
--- a/extensions/rt_load_balance/rt_load_balance.c
+++ b/extensions/rt_load_balance/rt_load_balance.c
@@ -30,9 +30,22 @@
*********************************************************************************************************/
#include <freeDiameter/extension.h>
+#include <limits.h>
+#include <time.h>
+
+struct best_candidate_entry {
+ long load;
+ struct rtd_candidate *cand;
+};
+
+static unsigned int seed;
+
+#define MODULE_NAME "rt_load_balance"
/*
- * Load balancing extension. Send request to least-loaded node.
+ * Load balancing extension. Send request to least-loaded node: Add a
+ * score of 1 to the least loaded candidates among those with highest
+ * score.
*/
/* The callback for load balancing the requests across the peers */
@@ -40,37 +53,82 @@ static int rt_load_balancing(void * cbdata, struct msg ** pmsg, struct fd_list *
{
struct fd_list *lic;
struct msg * msg = *pmsg;
-
+ int max_score = -1;
+ int max_score_count = 0;
+
TRACE_ENTRY("%p %p %p", cbdata, msg, candidates);
-
+
CHECK_PARAMS(msg && candidates);
-
+
+
/* Check if it is worth processing the message */
if (FD_IS_LIST_EMPTY(candidates))
return 0;
- /* load balancing */
+ /* find out maximal score and how many candidates have it */
for (lic = candidates->next; lic != candidates; lic = lic->next) {
struct rtd_candidate * cand = (struct rtd_candidate *) lic;
- struct peer_hdr *peer;
- long to_receive, to_send, load;
- int score;
- CHECK_FCT(fd_peer_getbyid(cand->diamid, cand->diamidlen, 0, &peer));
- CHECK_FCT(fd_peer_get_load_pending(peer, &to_receive, &to_send));
- load = to_receive + to_send;
- /* other routing mechanisms need to add to the
- * appropriate entries so their base value is high
- * enough that they are considered */
-
- /* logarithmic scaling */
- int load_log = 0;
- while (load > 0) {
- load_log++;
- load /= 2;
- }
- score = cand->score;
- cand->score -= load_log;
- TRACE_DEBUG(FULL, "evaluated peer `%.*s', score was %d, now %d", (int)cand->diamidlen, cand->diamid, score, cand->score);
+ if (max_score < cand->score) {
+ max_score = cand->score;
+ max_score_count = 1;
+ }
+ else if (cand->score == max_score) {
+ max_score_count++;
+ }
+ }
+
+ if (max_score_count > 0) {
+ /* find out minimum load among those with maximal
+ * score, and how many candidates have it */
+ struct best_candidate_entry best_candidates[max_score_count];
+ long min_load = LONG_MAX;
+ int min_load_count = 0;
+ int j;
+
+ for (j = 0, lic = candidates->next; lic != candidates; lic = lic->next) {
+ struct rtd_candidate * cand = (struct rtd_candidate *) lic;
+ if (cand->score == max_score) {
+ long to_receive, to_send, load;
+ struct peer_hdr *peer;
+ CHECK_FCT(fd_peer_getbyid(cand->diamid, cand->diamidlen, 0, &peer));
+ CHECK_FCT(fd_peer_get_load_pending(peer, &to_receive, &to_send));
+ load = to_receive + to_send;
+
+ best_candidates[j].cand = cand;
+ best_candidates[j].load = load;
+ j++;
+
+ if (min_load > load) {
+ min_load = load;
+ min_load_count = 1;
+ } else if (min_load == load) {
+ min_load_count++;
+ }
+ }
+ }
+
+ /* increase score by 1 for all entries with minimum
+ * load, and further increase by 1 for one randomly
+ * chosen candidate */
+ if (min_load_count > 0) {
+ int lucky_candidate = rand_r(&seed) % min_load_count;
+ int i;
+ for (j = 0, i = 0; j < max_score_count; j++) {
+ struct best_candidate_entry *entry = best_candidates+j;
+ if (entry->load == min_load) {
+ struct rtd_candidate *cand = entry->cand;
+ int old_score = cand->score;
+ cand->score++;
+ TRACE_DEBUG(FULL, "%s: boosting peer `%.*s', score was %d, now %d; load was %ld", MODULE_NAME, (int)cand->diamidlen, cand->diamid, old_score, cand->score, entry->load);
+
+ if (i == lucky_candidate) {
+ cand->score++;
+ TRACE_DEBUG(FULL, "%s: boosting lucky peer `%.*s', score was %d, now %d; load was %ld", MODULE_NAME, (int)cand->diamidlen, cand->diamid, old_score, cand->score, entry->load);
+ }
+ i++;
+ }
+ }
+ }
}
return 0;
@@ -85,6 +143,8 @@ static int rt_load_balance_entry(char * conffile)
/* Register the callback */
CHECK_FCT(fd_rt_out_register(rt_load_balancing, NULL, 10, &rt_load_balancing_hdl));
+ seed = (unsigned int)time(NULL);
+
TRACE_DEBUG(INFO, "Extension 'Load Balancing' initialized");
return 0;
}
@@ -97,4 +157,4 @@ void fd_ext_fini(void)
return ;
}
-EXTENSION_ENTRY("rt_load_balance", rt_load_balance_entry);
+EXTENSION_ENTRY(MODULE_NAME, rt_load_balance_entry);
diff --git a/extensions/rt_randomize/rt_randomize.c b/extensions/rt_randomize/rt_randomize.c
index a606451..38e677b 100644
--- a/extensions/rt_randomize/rt_randomize.c
+++ b/extensions/rt_randomize/rt_randomize.c
@@ -46,11 +46,11 @@ static int rt_randomizing(void * cbdata, struct msg ** pmsg, struct fd_list * ca
struct msg * msg = *pmsg;
int max_score = -1;
int max_score_count = 0;
-
+
TRACE_ENTRY("%p %p %p", cbdata, msg, candidates);
-
+
CHECK_PARAMS(msg && candidates);
-
+
/* Check if it is worth processing the message */
if (FD_IS_LIST_EMPTY(candidates))
return 0;
diff --git a/extensions/rt_rewrite/rt_rewrite.c b/extensions/rt_rewrite/rt_rewrite.c
index 7da26ec..dbceabe 100644
--- a/extensions/rt_rewrite/rt_rewrite.c
+++ b/extensions/rt_rewrite/rt_rewrite.c
@@ -86,6 +86,7 @@ static void store_free(struct store *store)
return;
}
+/* TODO: convert to fd_msg_search_avp ? */
static int fd_avp_search_avp(msg_or_avp *where, struct dict_object *what, struct avp **avp)
{
struct avp *nextavp;
@@ -391,26 +392,40 @@ static int rt_rewrite(void * cbdata, struct msg **msg)
return 0;
}
- if ((store=store_new()) == NULL) {
- fd_log_error("%s: malloc failure");
- return ENOMEM;
+ if (pthread_rwlock_wrlock(&rt_rewrite_lock) != 0) {
+ fd_log_error("%s: locking failed, aborting message rewrite", MODULE_NAME);
+ return errno;
}
+
if ((ret = fd_msg_parse_dict(*msg, fd_g_config->cnf_dict, NULL)) != 0) {
fd_log_notice("%s: error parsing message", MODULE_NAME);
- free(store);
+ pthread_rwlock_unlock(&rt_rewrite_lock);
return ret;
}
if ((ret=fd_msg_browse(*msg, MSG_BRW_FIRST_CHILD, &avp, NULL)) != 0) {
fd_log_notice("internal error: message has no child");
- free(store);
+ pthread_rwlock_unlock(&rt_rewrite_lock);
return ret;
}
+ if ((store=store_new()) == NULL) {
+ fd_log_error("%s: malloc failure");
+ pthread_rwlock_unlock(&rt_rewrite_lock);
+ return ENOMEM;
+ }
if (replace_avps(*msg, avp, avp_match_start->children, store) != 0) {
fd_log_error("%s: replace AVP function failed", MODULE_NAME);
store_free(store);
+ pthread_rwlock_unlock(&rt_rewrite_lock);
return -1;
}
- return store_apply(*msg, &store);
+ ret = store_apply(*msg, &store);
+
+ if (pthread_rwlock_unlock(&rt_rewrite_lock) != 0) {
+ fd_log_error("%s: unlocking failed, returning error", MODULE_NAME);
+ return errno;
+ }
+
+ return ret;
}
/* entry point */
diff --git a/extensions/rt_rewrite/rt_rewrite_conf.y b/extensions/rt_rewrite/rt_rewrite_conf.y
index 851bdbf..d648a78 100644
--- a/extensions/rt_rewrite/rt_rewrite_conf.y
+++ b/extensions/rt_rewrite/rt_rewrite_conf.y
@@ -107,7 +107,11 @@ static void compare_avp_type(const char *source, const char *dest)
fd_dict_getval(model_source, &dictdata_source);
fd_dict_getval(model_dest, &dictdata_dest);
if (dictdata_source.avp_basetype != dictdata_dest.avp_basetype) {
- fd_log_notice("rt_rewrite: type mismatch: %s (type %s) mapped to %s (type %s) (continuing anyway)", source, type_base_name[dictdata_source.avp_basetype], dest, type_base_name[dictdata_dest.avp_basetype]);
+ if (dictdata_source.avp_basetype == AVP_TYPE_OCTETSTRING) {
+ fd_log_error("rt_rewrite: type mismatch: %s (type %s) mapped to %s (type %s): OctetString cannot be mapped to non-OctetString type", source, type_base_name[dictdata_source.avp_basetype], dest, type_base_name[dictdata_dest.avp_basetype]);
+ return;
+ }
+ fd_log_error("rt_rewrite: type mismatch: %s (type %s) mapped to %s (type %s) (continuing anyway)", source, type_base_name[dictdata_source.avp_basetype], dest, type_base_name[dictdata_dest.avp_basetype]);
}
return;
}
diff --git a/extensions/test_app/ta_cli.c b/extensions/test_app/ta_cli.c
index 686338a..76a457a 100644
--- a/extensions/test_app/ta_cli.c
+++ b/extensions/test_app/ta_cli.c
@@ -2,7 +2,7 @@
* Software License Agreement (BSD License) *
* Author: Sebastien Decugis <sdecugis@freediameter.net> *
* *
-* Copyright (c) 2015, WIDE Project and NICT *
+* Copyright (c) 2016, WIDE Project and NICT *
* All rights reserved. *
* *
* Redistribution and use of this software in source and binary forms, with or without modification, are *
diff --git a/extensions/test_cc/test_cc.c b/extensions/test_cc/test_cc.c
index ed5a940..959e72e 100644
--- a/extensions/test_cc/test_cc.c
+++ b/extensions/test_cc/test_cc.c
@@ -35,9 +35,31 @@
struct disp_hdl *ccr_handler_hdl;
+struct dict_object * aai_avp_do; /* cache the Auth-Application-Id dictionary object */
+struct dict_object * crn_avp_do; /* cache the CC-Request-Number dictionary object */
+struct dict_object * crt_avp_do; /* cache the CC-Request-Type dictionary object */
+
+#define MODULE_NAME "test_cc"
+
+struct statistics {
+ uint64_t sent;
+ time_t first;
+ time_t last;
+} statistics;
+
+void print_statistics(void) {
+ if (statistics.first == 0 || statistics.last == 0 || statistics.last == statistics.first) {
+ return;
+ }
+
+ fd_log_error("%s: %lld CCA messages sent in %llds (%.2f messages/second)", fd_g_config->cnf_diamid,
+ (long long)statistics.sent, (long long)(statistics.last-statistics.first), (float)statistics.sent / (statistics.last-statistics.first));
+}
+
static int ccr_handler(struct msg ** msg, struct avp * avp, struct session * sess, void * data, enum disp_action * act)
{
struct msg_hdr *hdr = NULL;
+ time_t now;
TRACE_ENTRY("%p %p %p %p", msg, avp, sess, act);
@@ -50,24 +72,93 @@ static int ccr_handler(struct msg ** msg, struct avp * avp, struct session * ses
struct msg *answer;
os0_t s;
size_t sl;
+ struct avp *avp;
+ union avp_value val;
+ struct avp *avp_data;
+ struct avp_hdr *ahdr;
+ uint32_t crt, crn;
+
+ /* get some necessary information from request */
+ if (fd_msg_search_avp(*msg, crt_avp_do, &avp_data) < 0 || avp_data == NULL) {
+ fd_log_error("[%s] CC-Request-Type not found in CCR", MODULE_NAME);
+ return 0;
+ }
+ if (fd_msg_avp_hdr(avp_data, &ahdr) < 0) {
+ fd_log_error("[%s] error parsing CC-Request-Type in CCR", MODULE_NAME);
+ return 0;
+ }
+ crt = ahdr->avp_value->i32;
+ if (fd_msg_search_avp(*msg, crn_avp_do, &avp_data) < 0 || avp_data == NULL) {
+ fd_log_error("[%s] CC-Request-Number not found in CCR", MODULE_NAME);
+ return 0;
+ }
+ if (fd_msg_avp_hdr(avp_data, &ahdr) < 0) {
+ fd_log_error("[%s] error parsing CC-Request-Type in CCR", MODULE_NAME);
+ return 0;
+ }
+ crn = ahdr->avp_value->i32;
/* Create the answer message */
CHECK_FCT(fd_msg_new_answer_from_req(fd_g_config->cnf_dict, msg, 0));
answer = *msg;
- /* TODO copy/fill in AVPs in the answer */
+
+ /* TODO copy/fill in more AVPs in the answer */
+
+ /* Auth-Application-Id */
+ fd_msg_avp_new(aai_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.i32 = 4;
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(answer);
+ fd_log_error("can't set value for 'Auth-Application-Id' for 'Credit-Control-Request' message");
+ return 0;
+ }
+ fd_msg_avp_add(answer, MSG_BRW_LAST_CHILD, avp);
+
+ /* CC-Request-Type */
+ fd_msg_avp_new(crt_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.i32 = crt;
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(answer);
+ fd_log_error("can't set value for 'CC-Request-Type' for 'Credit-Control-Request' message");
+ return 0;
+ }
+ fd_msg_avp_add(answer, MSG_BRW_LAST_CHILD, avp);
+
+ /* CC-Request-Number */
+ fd_msg_avp_new(crn_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.i32 = crn;
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(answer);
+ fd_log_error("can't set value for 'CC-Request-Number' for 'Credit-Control-Request' message");
+ return 0;
+ }
+ fd_msg_avp_add(answer, MSG_BRW_LAST_CHILD, avp);
+
/* TODO make result configurable (depending on an AVP?) */
CHECK_FCT(fd_msg_rescode_set(answer, "DIAMETER_SUCCESS", NULL, NULL, 1));
- fd_log_notice("--------------Received the following Credit Control Request:--------------");
+ fd_log_debug("--------------Received the following Credit Control Request:--------------");
CHECK_FCT(fd_sess_getsid(sess, &s, &sl));
- fd_log_notice("Session: %.*s",(int)sl, s);
+ fd_log_debug("Session: %.*s",(int)sl, s);
- fd_log_notice("----------------------------------------------------------------------");
+ fd_log_debug("----------------------------------------------------------------------");
/* Send the answer */
CHECK_FCT(fd_msg_send(msg, NULL, NULL));
-
+ now = time(NULL);
+ if (!statistics.first) {
+ statistics.first = now;
+ }
+ if (statistics.last != now) {
+ print_statistics();
+ }
+ statistics.last = now;
+ statistics.sent++;
+ fd_log_debug("reply sent");
} else {
/* We received an answer message, just discard it */
CHECK_FCT(fd_msg_free(*msg));
@@ -84,6 +175,13 @@ static int cc_entry(char * conffile)
TRACE_ENTRY("%p", conffile);
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Auth-Application-Id", &aai_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Auth-Application-Id' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "CC-Request-Number", &crn_avp_do, ENOENT),
+ { LOG_E("Unable to find 'CC-Request-Number' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "CC-Request-Type", &crt_avp_do, ENOENT),
+ { LOG_E("Unable to find 'CC-Request-Type' AVP in the loaded dictionaries."); });
+
memset(&data, 0, sizeof(data));
/* Advertise the support for the Diameter Credit Control application in the peer */
@@ -97,4 +195,19 @@ static int cc_entry(char * conffile)
return 0;
}
-EXTENSION_ENTRY("test_cc", cc_entry);
+/* And terminate it */
+void fd_ext_fini(void)
+{
+ /* Unregister the callbacks */
+ if (ccr_handler_hdl) {
+ CHECK_FCT_DO( fd_disp_unregister(&ccr_handler_hdl, NULL), );
+ ccr_handler_hdl = NULL;
+ }
+
+ print_statistics();
+
+ return;
+}
+
+
+EXTENSION_ENTRY(MODULE_NAME, cc_entry);
diff --git a/extensions/test_ccload/CMakeLists.txt b/extensions/test_ccload/CMakeLists.txt
new file mode 100644
index 0000000..405331d
--- /dev/null
+++ b/extensions/test_ccload/CMakeLists.txt
@@ -0,0 +1,13 @@
+# The test_ccload extension
+PROJECT("Credit Control load generator server" C)
+
+FD_ADD_EXTENSION(test_ccload test_ccload.c)
+
+
+####
+## INSTALL section ##
+
+INSTALL(TARGETS test_ccload
+ LIBRARY DESTINATION ${INSTALL_EXTENSIONS_SUFFIX}
+ COMPONENT freeDiameter-debug-tools)
+
diff --git a/extensions/test_ccload/test_ccload.c b/extensions/test_ccload/test_ccload.c
new file mode 100644
index 0000000..3c80bb7
--- /dev/null
+++ b/extensions/test_ccload/test_ccload.c
@@ -0,0 +1,444 @@
+/**********************************************************************************************************
+ * Software License Agreement(BSD License) *
+ * Author: Thomas Klausner <tk@giga.or.at> *
+ * *
+ * Copyright(c) 2019, Thomas Klausner *
+ * All rights reserved. *
+ * *
+ * Written under contract by nfotex IT GmbH, http://nfotex.com/ *
+ * *
+ * Redistribution and use of this software in source and binary forms, with or without modification, are *
+ * permitted provided that the following conditions are met: *
+ * *
+ * * Redistributions of source code must retain the above *
+ * copyright notice, this list of conditions and the *
+ * following disclaimer. *
+ * *
+ * * Redistributions in binary form must reproduce the above *
+ * copyright notice, this list of conditions and the *
+ * following disclaimer in the documentation and/or other *
+ * materials provided with the distribution. *
+ * *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT *
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
+ * TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ **********************************************************************************************************/
+
+/* This extension waits for a signal (SIGUSR2). When it gets it, it
+ * generates messages as quickly as possible to the configured target
+ * host; a second SIGUSR2 signal will stop this.
+ * If the target host starts with "REALM:", send to that Destination-Realm instead
+ * of a particular host. */
+
+#include <freeDiameter/extension.h>
+
+#include <pthread.h>
+#include <signal.h>
+
+#define MODULE_NAME "test_ccload"
+
+static pthread_t gen_thr = (pthread_t)NULL;
+struct disp_hdl *ccr_local_hdl;
+struct fd_rt_fwd_hdl *ccr_fwd_hdl;
+volatile int do_generate = 0;
+
+const char *target = NULL;
+
+struct dict_object * aai_avp_do; /* cache the Auth-Application-Id dictionary object */
+struct dict_object * crn_avp_do; /* cache the CC-Request-Number dictionary object */
+struct dict_object * crt_avp_do; /* cache the CC-Request-Type dictionary object */
+struct dict_object * dh_avp_do; /* cache the Destination-Host dictionary object */
+struct dict_object * dr_avp_do; /* cache the Destination-Realm dictionary object */
+struct dict_object * rc_avp_do; /* cache the Result-Code dictionary object */
+struct dict_object * sci_avp_do; /* cache the Service-Context-Id dictionary object */
+struct dict_object * si_avp_do; /* cache the Session-Id dictionary object */
+struct dict_object * pi_avp_do; /* cache the Proxy-Info dictionary object */
+struct dict_object * ph_avp_do; /* cache the Proxy-Host dictionary object */
+struct dict_object * ps_avp_do; /* cache the Proxy-State dictionary object */
+
+struct dict_object * ccr_do; /* cache the Credit-Control-Request command dictionary object */
+
+struct statistics {
+ uint64_t sent;
+ uint64_t success;
+ uint64_t error;
+ time_t first;
+ time_t first_reply;
+ time_t last;
+ time_t last_reply;
+} statistics;
+
+void print_statistics(void) {
+ uint64_t missing, received;
+
+ if (statistics.first == 0 || statistics.last == 0 || statistics.last == statistics.first) {
+ return;
+ }
+
+ received = statistics.error + statistics.success;
+ missing = statistics.sent - received;
+
+ fd_log_error("%s: %lld CCR messages sent in %llds (%.2f messages/second), %lld CCA messages received in %llds (%.2f messages/second), %lld success (%.2f%%), %lld errors (%.2f%%), %lld missing (%.2f%%)",
+ fd_g_config->cnf_diamid,
+ (long long)statistics.sent, (long long)(statistics.last-statistics.first), (float)statistics.sent / (statistics.last-statistics.first),
+ (long long)received, (long long)(statistics.last_reply-statistics.first_reply), (float)received / (statistics.last_reply-statistics.first_reply),
+ (long long)statistics.success,
+ 100*(float)statistics.success/statistics.sent, (long long)statistics.error, 100*(float)statistics.error/statistics.sent,
+ missing, 100*(float)missing/statistics.sent);
+}
+
+static int handle_message(struct msg **msg) {
+ struct msg_hdr *hdr = NULL;
+ struct avp_hdr *ahdr = NULL;
+ struct avp *rc;
+
+ if (msg == NULL) {
+ fd_log_error("[%s] NULL CCA message", MODULE_NAME);
+ return -1;
+ }
+
+ CHECK_FCT(fd_msg_hdr(*msg, &hdr));
+ /* handle CCAs only */
+ if ((hdr->msg_code != 272) || (hdr->msg_flags & CMD_FLAG_REQUEST)) {
+ fd_log_error("[%s] invalid message type (type %d, flags 0x%x)", MODULE_NAME, hdr->msg_code, hdr->msg_flags);
+ return -1;
+ }
+
+ if (statistics.first_reply == 0) {
+ statistics.first_reply = time(NULL);
+ }
+ /* Answer received, check it */
+ if (fd_msg_search_avp(*msg, rc_avp_do, &rc) < 0 || rc == NULL) {
+ fd_log_error("[%s] Result-Code not found in CCA", MODULE_NAME);
+ return -1;
+ }
+
+ if (fd_msg_avp_hdr(rc, &ahdr) < 0) {
+ fd_log_error("[%s] error parsing Result-Code in CCA", MODULE_NAME);
+ return -1;
+ }
+ statistics.last_reply = time(NULL);
+ fd_log_debug("Credit-Control-Answer with Result-Code %d received", ahdr->avp_value->i32);
+ switch (ahdr->avp_value->i32/1000) {
+ case 2:
+ statistics.success++;
+ break;
+ default:
+ statistics.error++;
+ break;
+ }
+ if (statistics.sent - statistics.error - statistics.success == 0) {
+ print_statistics();
+ }
+
+ return 0;
+}
+
+static int ccr_local_handler(struct msg ** msg, struct avp * avp, struct session * sess, void * data, enum disp_action * act)
+{
+ fd_log_debug("[%s] CCR local handler called", MODULE_NAME);
+
+ if (handle_message(msg) < 0) {
+ fd_log_error("dropping message");
+ CHECK_FCT(fd_msg_free(*msg));
+ *msg = NULL;
+ return 0;
+ }
+
+ CHECK_FCT(fd_msg_free(*msg));
+ *msg = NULL;
+ return 0;
+}
+
+static int ccr_fwd_handler(void *cb_data, struct msg **msg)
+{
+ fd_log_debug("[%s] CCR FWD handler called", MODULE_NAME);
+
+ if (handle_message(msg) < 0) {
+ return 0;
+ }
+
+ return 0;
+}
+
+/* create message to send */
+struct msg *create_message(const char *destination)
+{
+ struct msg *msg;
+ struct avp *avp, *avp1;
+ union avp_value val;
+ struct msg_hdr *msg_hdr;
+ const char *realm;
+ char session_id[800];
+ const char *service_context_id = "version2.clci.ipc@vodafone.com";
+ const char *proxy_host = "Dummy-Proxy-Host-to-Increase-Package-Size";
+ const char *proxy_state = "This is just data to increase the package size\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
+
+ if (fd_msg_new(ccr_do, MSGFL_ALLOC_ETEID, &msg) != 0) {
+ fd_log_error("can't create new 'Credit-Control-Request' message");
+ return NULL;
+ }
+
+ /* Application Id in header needs to be set to for since this Credit-Control-Request is for Diameter Credit Control */
+ if (fd_msg_hdr(msg, &msg_hdr) != 0) {
+ fd_log_error("can't get message header for 'Credit-Control-Request' message");
+ fd_msg_free(msg);
+ return NULL;
+ }
+ msg_hdr->msg_appl = 4;
+
+ if (fd_msg_add_origin(msg, 0) != 0) {
+ fd_log_error("can't set Origin for 'Credit-Control-Request' message");
+ fd_msg_free(msg);
+ return NULL;
+ }
+
+ if (strncmp("REALM:", target, 6) != 0) {
+ /* Destination-Host */
+ fd_msg_avp_new(dh_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.os.data = (uint8_t *)target;
+ val.os.len = strlen(target);
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'Destination-Host' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp);
+
+ if ((realm = strchr(target, '.')) == NULL) {
+ fd_msg_free(msg);
+ fd_log_error("can't extract realm from host '%s'", target);
+ return NULL;
+ }
+ /* skip dot */
+ realm++;
+ } else {
+ realm = target + 6; /* skip "REALM:" */
+ }
+ /* Destination-Realm */
+ fd_msg_avp_new(dr_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.os.data = (uint8_t *)realm;
+ val.os.len = strlen(realm);
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'Destination-Realm' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp);
+
+ /* Session-Id */
+ snprintf(session_id, sizeof(session_id), "session %ld", random());
+ fd_msg_avp_new(si_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.os.data = (uint8_t *)session_id;
+ val.os.len = strlen(session_id);
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'Session-Id' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(msg, MSG_BRW_FIRST_CHILD, avp);
+
+ /* Auth-Application-Id */
+ fd_msg_avp_new(aai_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.i32 = 4;
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'Auth-Application-Id' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp);
+
+ /* Service-Context-Id */
+ fd_msg_avp_new(sci_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.os.data = (uint8_t *)service_context_id;
+ val.os.len = strlen(service_context_id);
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'Service-Context-Id' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp);
+
+ /* CC-Request-Type */
+ fd_msg_avp_new(crt_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.i32 = 1; /* Initial */
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'CC-Request-Type' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp);
+
+ /* CC-Request-Number */
+ fd_msg_avp_new(crn_avp_do, 0, &avp);
+ memset(&val, 0, sizeof(val));
+ val.i32 = 1;
+ if (fd_msg_avp_setvalue(avp, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'CC-Request-Number' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp);
+
+ /* Proxy-Info */
+ fd_msg_avp_new(pi_avp_do, 0, &avp);
+ /* Proxy-Host */
+ fd_msg_avp_new(ph_avp_do, 0, &avp1);
+ memset(&val, 0, sizeof(val));
+ val.os.data = (uint8_t *)proxy_host;
+ val.os.len = strlen(proxy_host);
+ if (fd_msg_avp_setvalue(avp1, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'Proxy-Host' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, avp1);
+ /* Proxy-State */
+ fd_msg_avp_new(ps_avp_do, 0, &avp1);
+ memset(&val, 0, sizeof(val));
+ val.os.data = (uint8_t *)proxy_state;
+ val.os.len = strlen(proxy_state);
+ if (fd_msg_avp_setvalue(avp1, &val) != 0) {
+ fd_msg_free(msg);
+ fd_log_error("can't set value for 'Proxy-State' for 'Credit-Control-Request' message");
+ return NULL;
+ }
+ fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, avp1);
+ fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp);
+
+ return msg;
+}
+
+/* The thread that handles expired entries cleanup. */
+void * gen_thr_fct(void * arg)
+{
+ struct msg *msg;
+ fd_log_threadname ( "Loadtest/Generator" );
+
+ do {
+ if (do_generate) {
+ time_t now;
+ if (statistics.first == 0) {
+ statistics.first = time(NULL);
+ }
+ msg = create_message(target);
+ fd_msg_send(&msg, NULL, NULL);
+ fd_log_debug("[%s] sent message", MODULE_NAME);
+ now = time(NULL);
+ if (statistics.last != now) {
+ print_statistics();
+ }
+ statistics.last = time(NULL);
+ statistics.sent++;
+ } else {
+ sleep(1);
+ }
+ } while (1);
+}
+
+/* signal handler */
+static void sig_hdlr(void)
+{
+ if (do_generate) {
+ do_generate = 0;
+ } else {
+ do_generate = 1;
+ }
+ fd_log_notice("%s: switched generation of CCRs %s", MODULE_NAME, do_generate ? "on" : "off");
+}
+
+/* entry hook: register callback */
+static int cc_entry(char * conffile)
+{
+ struct disp_when data;
+
+ /* initialize random number generator for session IDs */
+ srandom(time(NULL) | (unsigned int)getpid());
+ if ((target = conffile) == NULL) {
+ fd_log_error("invalid conffile");
+ return EINVAL;
+ }
+
+ memset(&data, 0, sizeof(data));
+
+ /* Advertise the support for the Diameter Credit Control application in the peer */
+ CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, DICT_APPLICATION, APPLICATION_BY_NAME, "Diameter Credit Control Application", &data.app, ENOENT) );
+ CHECK_FCT( fd_disp_app_support ( data.app, NULL, 1, 0 ) );
+
+ /* the handling of requests is different if it might be locally handled or not */
+ /* for possibly locally handled requests, fd_rt_fwd_register is not called, so we need to add handlers for both cases */
+ /* register forward handler for CCR -- needs to look at all requests */
+ CHECK_FCT(fd_rt_fwd_register(ccr_fwd_handler, NULL, RT_FWD_REQ, &ccr_fwd_hdl));
+ /* register local handler for CCR - if not Destination-Host is set, or the local host is used */
+ memset(&data, 0, sizeof(data));
+ CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Answer", &data.command, ENOENT));
+ CHECK_FCT(fd_disp_register(ccr_local_handler, DISP_HOW_CC, &data, NULL, &ccr_local_hdl));
+
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Auth-Application-Id", &aai_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Auth-Application-Id' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "CC-Request-Number", &crn_avp_do, ENOENT),
+ { LOG_E("Unable to find 'CC-Request-Number' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "CC-Request-Type", &crt_avp_do, ENOENT),
+
+ { LOG_E("Unable to find 'CC-Request-Type' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Destination-Host", &dh_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Destination-Host' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Destination-Realm", &dr_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Destination-Realm' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Result-Code", &rc_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Result-Code' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Session-Id", &si_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Session-Id' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Service-Context-Id", &sci_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Service-Context-Id' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Proxy-Info", &pi_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Proxy-Info' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Proxy-Host", &ph_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Proxy-Host' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP, AVP_BY_NAME, "Proxy-State", &ps_avp_do, ENOENT),
+ { LOG_E("Unable to find 'Proxy-State' AVP in the loaded dictionaries."); });
+ CHECK_FCT_DO(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Request", &ccr_do, ENOENT),
+ { LOG_E("Unable to find 'Credit-Control-Request' command in the loaded dictionaries."); });
+
+ /* Start the generator thread */
+ CHECK_POSIX( pthread_create( &gen_thr, NULL, gen_thr_fct, NULL ) );
+
+ /* Register generator callback */
+ CHECK_FCT(fd_event_trig_regcb(SIGUSR2, MODULE_NAME, sig_hdlr));
+
+ return 0;
+}
+
+/* And terminate it */
+void fd_ext_fini(void)
+{
+ /* stop sending */
+ do_generate = 0;
+
+ /* Stop the expiry thread */
+ CHECK_FCT_DO( fd_thr_term(&gen_thr), );
+
+ /* Unregister the callbacks */
+ if (ccr_local_hdl) {
+ CHECK_FCT_DO( fd_disp_unregister(&ccr_local_hdl, NULL), );
+ ccr_local_hdl = NULL;
+ }
+
+ print_statistics();
+
+ return;
+}
+
+
+EXTENSION_ENTRY(MODULE_NAME, cc_entry);
diff --git a/extensions/test_sip/multimediaauth.c b/extensions/test_sip/multimediaauth.c
index b1edb8d..6dc101e 100644
--- a/extensions/test_sip/multimediaauth.c
+++ b/extensions/test_sip/multimediaauth.c
@@ -335,7 +335,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
//CHECK_FCT(fd_msg_browse ( avp, MSG_BRW_WALK, &avp, NULL) );
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
if(a2!=NULL)
found_cnonce=1;
@@ -472,7 +472,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
char * digest_username=NULL, *digest_uri=NULL, *digest_response=NULL, *digest_realm=NULL, *digest_nonce=NULL, *digest_method=NULL, *digest_qop=NULL, *digest_algorithm=NULL, *digest_cnonce=NULL, *digest_noncecount=NULL;
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Nonce, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Nonce, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -501,7 +501,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Response, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Response, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -515,7 +515,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Realm, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Realm, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -529,7 +529,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Method, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Method, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -545,7 +545,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
else
digest_method="";
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_URI, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_URI, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -559,7 +559,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
}
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_QOP, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_QOP, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -574,7 +574,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
else
digest_qop=NULL;
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Algorithm, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Algorithm, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -589,7 +589,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
else
digest_algorithm=NULL;
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_CNonce, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -604,7 +604,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
else
digest_cnonce="";
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Nonce_Count, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Nonce_Count, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );
@@ -619,7 +619,7 @@ int test_sip_MAA_cb( struct msg ** msg, struct avp * paramavp, struct session *
}
else
digest_noncecount="";
- CHECK_FCT(fd_avp_search_avp (avp, sip_dict.Digest_Username, &a2 ));
+ CHECK_FCT(fd_msg_search_avp (avp, sip_dict.Digest_Username, &a2 ));
if(a2!=NULL)
{
CHECK_FCT( fd_msg_avp_hdr( a2, &digestheader ) );