Mercurial > hg > freeDiameter
comparison extensions/dict_dcca_3gpp/add_avps.c @ 1504:4dff34cd2d3d
Add 3GPP TS 29.215 V15.2.0 (2019-09)
Add AVPs:
- DRA-Deployment, Enumerated, code 2206, section 5.3.7
- Multiple-BBERF-Action, Enumerated, code 2204, section 5.3.6
- Subsession-Decision-Info, Grouped, code 2200, section 5.3.1
- Subsession-Enforcement-Info, Grouped, code 2201, section 5.3.2
- Subsession-Id, Unsigned32, code 2202, section 5.3.3
- Subsession-Operation, Enumerated, code 2203, section 5.3.4
- DRA-Binding, Enumerated, code 2208, section 5.3.x
- PCRF-Address, DiameterIdentity, code 2207, section A.7.3.1.1
- UE-Local-IPv6-Prefix, OctetString, code 2205, section A.8.3.1
author | Luke Mewburn <luke@mewburn.net> |
---|---|
date | Fri, 03 Apr 2020 16:50:00 +1100 |
parents | b526a9899931 |
children | b382cbd1a710 |
comparison
equal
deleted
inserted
replaced
1503:b526a9899931 | 1504:4dff34cd2d3d |
---|---|
5967 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); | 5967 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); |
5968 CHECK_dict_new(DICT_AVP, &data, type, NULL); | 5968 CHECK_dict_new(DICT_AVP, &data, type, NULL); |
5969 }; | 5969 }; |
5970 | 5970 |
5971 /*==================================================================*/ | 5971 /*==================================================================*/ |
5972 /* 3GPP TS 29.215 V15.2.0 (2019-09) */ | |
5973 /* Policy and Charging Control (PCC) over S9 reference point; */ | |
5974 /* Stage 3 */ | |
5975 /* */ | |
5976 /* From 3GPP 29215-f20.doc */ | |
5977 /*==================================================================*/ | |
5978 | |
5979 /*==================================================================*/ | |
5980 /* 3GPP TS 29.215 Table 5.3.0.1: S9 specific Diameter AVPs */ | |
5981 /*==================================================================*/ | |
5982 | |
5983 /* DRA-Deployment, Enumerated, code 2206, section 5.3.7 */ | |
5984 { | |
5985 struct dict_avp_data data = { | |
5986 2206, /* Code */ | |
5987 10415, /* Vendor */ | |
5988 "DRA-Deployment", /* Name */ | |
5989 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
5990 AVP_FLAG_VENDOR, /* Fixed flag values */ | |
5991 AVP_TYPE_INTEGER32 /* base type of data */ | |
5992 }; | |
5993 struct dict_object *type; | |
5994 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRA-Deployment)", NULL, NULL, NULL }; | |
5995 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); | |
5996 CHECK_dict_new(DICT_AVP, &data, type, NULL); | |
5997 }; | |
5998 | |
5999 /* Multiple-BBERF-Action, Enumerated, code 2204, section 5.3.6 */ | |
6000 { | |
6001 struct dict_avp_data data = { | |
6002 2204, /* Code */ | |
6003 10415, /* Vendor */ | |
6004 "Multiple-BBERF-Action", /* Name */ | |
6005 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6006 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ | |
6007 AVP_TYPE_INTEGER32 /* base type of data */ | |
6008 }; | |
6009 struct dict_object *type; | |
6010 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Multiple-BBERF-Action)", NULL, NULL, NULL }; | |
6011 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); | |
6012 CHECK_dict_new(DICT_AVP, &data, type, NULL); | |
6013 }; | |
6014 | |
6015 /* Subsession-Decision-Info, Grouped, code 2200, section 5.3.1 */ | |
6016 { | |
6017 struct dict_avp_data data = { | |
6018 2200, /* Code */ | |
6019 10415, /* Vendor */ | |
6020 "Subsession-Decision-Info", /* Name */ | |
6021 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6022 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ | |
6023 AVP_TYPE_GROUPED /* base type of data */ | |
6024 }; | |
6025 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); | |
6026 }; | |
6027 | |
6028 /* Subsession-Enforcement-Info, Grouped, code 2201, section 5.3.2 */ | |
6029 { | |
6030 struct dict_avp_data data = { | |
6031 2201, /* Code */ | |
6032 10415, /* Vendor */ | |
6033 "Subsession-Enforcement-Info", /* Name */ | |
6034 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6035 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ | |
6036 AVP_TYPE_GROUPED /* base type of data */ | |
6037 }; | |
6038 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); | |
6039 }; | |
6040 | |
6041 /* Subsession-Id, Unsigned32, code 2202, section 5.3.3 */ | |
6042 { | |
6043 struct dict_avp_data data = { | |
6044 2202, /* Code */ | |
6045 10415, /* Vendor */ | |
6046 "Subsession-Id", /* Name */ | |
6047 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6048 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ | |
6049 AVP_TYPE_UNSIGNED32 /* base type of data */ | |
6050 }; | |
6051 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); | |
6052 }; | |
6053 | |
6054 /* Subsession-Operation, Enumerated, code 2203, section 5.3.4 */ | |
6055 { | |
6056 struct dict_avp_data data = { | |
6057 2203, /* Code */ | |
6058 10415, /* Vendor */ | |
6059 "Subsession-Operation", /* Name */ | |
6060 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6061 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ | |
6062 AVP_TYPE_INTEGER32 /* base type of data */ | |
6063 }; | |
6064 struct dict_object *type; | |
6065 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/Subsession-Operation)", NULL, NULL, NULL }; | |
6066 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); | |
6067 CHECK_dict_new(DICT_AVP, &data, type, NULL); | |
6068 }; | |
6069 | |
6070 /* DRA-Binding, Enumerated, code 2208, section 5.3.x */ | |
6071 { | |
6072 struct dict_avp_data data = { | |
6073 2208, /* Code */ | |
6074 10415, /* Vendor */ | |
6075 "DRA-Binding", /* Name */ | |
6076 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6077 AVP_FLAG_VENDOR, /* Fixed flag values */ | |
6078 AVP_TYPE_INTEGER32 /* base type of data */ | |
6079 }; | |
6080 struct dict_object *type; | |
6081 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(3GPP/DRA-Binding)", NULL, NULL, NULL }; | |
6082 CHECK_dict_new(DICT_TYPE, &tdata, NULL, &type); | |
6083 CHECK_dict_new(DICT_AVP, &data, type, NULL); | |
6084 }; | |
6085 | |
6086 /*==================================================================*/ | |
6087 /* Table A.7.3.1.1: S9a specific Diameter AVPs */ | |
6088 /*==================================================================*/ | |
6089 | |
6090 /* PCRF-Address, DiameterIdentity, code 2207, section A.7.3.1.1 */ | |
6091 { | |
6092 struct dict_avp_data data = { | |
6093 2207, /* Code */ | |
6094 10415, /* Vendor */ | |
6095 "PCRF-Address", /* Name */ | |
6096 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6097 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ | |
6098 AVP_TYPE_OCTETSTRING /* base type of data */ | |
6099 }; | |
6100 CHECK_dict_new(DICT_AVP, &data, DiameterIdentity_type, NULL); | |
6101 }; | |
6102 | |
6103 /*==================================================================*/ | |
6104 /* Table A.8.3.1.1: S9a* specific Diameter AVPs */ | |
6105 /*==================================================================*/ | |
6106 | |
6107 /* UE-Local-IPv6-Prefix, OctetString, code 2205, section A.8.3.1 */ | |
6108 { | |
6109 struct dict_avp_data data = { | |
6110 2205, /* Code */ | |
6111 10415, /* Vendor */ | |
6112 "UE-Local-IPv6-Prefix", /* Name */ | |
6113 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flags */ | |
6114 AVP_FLAG_VENDOR |AVP_FLAG_MANDATORY, /* Fixed flag values */ | |
6115 AVP_TYPE_OCTETSTRING /* base type of data */ | |
6116 }; | |
6117 CHECK_dict_new(DICT_AVP, &data, NULL, NULL); | |
6118 }; | |
6119 | |
6120 /*==================================================================*/ | |
5972 /* 3GPP TS 29.229 V15.2.0 (2019-09) */ | 6121 /* 3GPP TS 29.229 V15.2.0 (2019-09) */ |
5973 /* Cx and Dx interfaces based on the Diameter protocol; */ | 6122 /* Cx and Dx interfaces based on the Diameter protocol; */ |
5974 /* Protocol details */ | 6123 /* Protocol details */ |
5975 /* */ | 6124 /* */ |
5976 /* From 3GPP 29229-f20.doc */ | 6125 /* From 3GPP 29229-f20.doc */ |