From 4176c6b073bdff2b471be546a0c84ec586e2cc2b Mon Sep 17 00:00:00 2001
From: erititan <elemer.lelik@ericsson.com>
Date: Tue, 19 Jun 2018 09:46:47 +0200
Subject: [PATCH] R40A -> R55A

---
 demo/DIAMETER_Types.ttcn                      |    6 +-
 ...rotocolModule_Generator_CNL113462_1551.doc |  Bin 397312 -> 419840 bytes
 ...ProtocolModule_Generator_CNL113462_PRI.doc |  Bin 164864 -> 204288 bytes
 src/AAAInterface_3GPP_TS29272_940.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29272_950.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29272_970.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29272_a30.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29272_a60.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29272_b60.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29272_bd0.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29272_d70.ddf         | 1177 ++++++++
 src/AAAInterface_3GPP_TS29272_f10.ddf         | 1055 +++++++
 src/AAAInterface_3GPP_TS29273_840.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29273_940.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29273_b30.ddf         |    2 +-
 src/AAAInterface_3GPP_TS29273_d60.ddf         |  114 +
 src/AAAInterface_3GPP_TS29273_f00.ddf         |  211 ++
 src/AVP.awk                                   |    0
 src/AVP.sh                                    |    7 +-
 src/AVP_encdec.awk                            |   42 +-
 src/Acision_Specific.ddf                      |    2 +-
 src/Alcatel_Lucent_Specific_AVPs.ddf          |    2 +-
 src/BaseTypes_IETF_RFC3588.ddf                |   20 +-
 src/Base_IETF_RFC3588.ddf                     |  118 +-
 src/CLCInterface_Vodafone_Rev2.ddf            |    2 +-
 src/ChargingApplications_3GPP_TS32299_850.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_870.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_900.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_940.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_9b0.ddf |    2 +-
 ...plications_3GPP_TS32299_AdviceOfCharge.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_a60.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_be0.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_c60.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_d40.ddf |    2 +-
 src/ChargingApplications_3GPP_TS32299_d70.ddf | 2457 ++++++++++++++++
 src/ChargingApplications_3GPP_TS32299_d90.ddf | 2473 +++++++++++++++++
 src/CreditControl_IETF_RFC4006.ddf            |    2 +-
 src/CxDxInterface_3GPP_TS29229_6a0.ddf        |    2 +-
 src/CxDxInterface_3GPP_TS29229_840.ddf        |    2 +-
 src/CxDxInterface_3GPP_TS29229_880.ddf        |    2 +-
 src/CxDxInterface_3GPP_TS29229_920.ddf        |    2 +-
 src/CxDxInterface_3GPP_TS29229_c30.ddf        |    2 +-
 ...terface_Ericsson_1551_FAY301_0059_PC26.ddf |    2 +-
 src/DIAMETER_EncDec.cc                        |   32 +-
 src/DIAMETER_EncDec.tpl                       |  374 +--
 src/DOIC_RFC7683.ddf                          |   61 +
 src/DelegatedIPv6Prefix_IETF_RFC4818.ddf      |    2 +-
 ...terRoutingMessagePriority_IETF_RFC7944.ddf |   46 +
 src/DigestAuthentication_IETF_RFC5090.ddf     |    2 +-
 src/EricssonSCAPv1_1553APR_10148.ddf          |    2 +-
 src/Ericsson_Specific_AVPs.ddf                |  303 +-
 ...bleAuthenticationProtocol_IETF_RFC4072.ddf |    2 +-
 src/GiInterface_3GPP_TS29061_770.ddf          |    2 +-
 src/GiSGiInterface_3GPP_TS29061_810.ddf       |    2 +-
 src/GiSGiInterface_3GPP_TS29061_930.ddf       |    2 +-
 ...nterface_3GPP_TS29061_930_QoS_Detailed.ddf |    2 +-
 src/GiSGiInterface_3GPP_TS29061_980.ddf       |    2 +-
 src/GiSGiInterface_3GPP_TS29061_b90.ddf       |    2 +-
 ...nterface_3GPP_TS29061_b90_QoS_Detailed.ddf |    2 +-
 src/GiSGiInterface_3GPP_TS29061_d70.ddf       |  220 ++
 src/GmbInterface_3GPP_TS29061_6f0.ddf         |    2 +-
 src/GmbInterface_3GPP_TS29061_720.ddf         |    2 +-
 src/GmbInterface_3GPP_TS29061_810.ddf         |    2 +-
 src/GmbInterface_3GPP_TS29061_930.ddf         |    2 +-
 src/GmbInterface_3GPP_TS29061_970.ddf         |    2 +-
 src/GmbInterface_3GPP_TS29061_980.ddf         |    2 +-
 src/GmbInterface_3GPP_TS29061_d70.ddf         |  224 ++
 src/GqInterface_PC_3GPP_TS29209_670.ddf       |    2 +-
 src/GqInterface_S3_ETSI_TS183017_231.ddf      |    2 +-
 src/GxInterface_CRP_3GPP_TS29210_670.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_740.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_820.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_830.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_840.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_8a0.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_8b1.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_910.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_930.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_970.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_9b0.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_aa0.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_c52.ddf      |    2 +-
 src/GxInterface_PCC_3GPP_TS29212_d70.ddf      | 1099 ++++++++
 src/GxInterface_PCC_3GPP_TS29212_e00.ddf      | 1073 +++++++
 src/GxInterface_PCC_3GPP_TS29212_f10.ddf      | 1128 ++++++++
 src/GxaInterface_3GPP2_X_S0057_0_300.ddf      |    2 +-
 src/MobileIPv4_Application_IETF_RFC4004.ddf   |    2 +-
 src/MobileIPv6_HAAA_IETF_RFC5779.ddf          |    2 +-
 src/MobileIPv6_HA_IETF_RFC5778.ddf            |    2 +-
 src/MobileIPv6_NAS_IETF_RFC5447.ddf           |    2 +-
 src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf |    2 +-
 src/NetworkAccessServer_IETF_RFC4005.ddf      |    2 +-
 src/RqInterface_ETSI_ES283026_241.ddf         |    2 +-
 src/RxInterface_PCC_3GPP_TS29214_830.ddf      |    2 +-
 src/RxInterface_PCC_3GPP_TS29214_8a0.ddf      |    2 +-
 src/RxInterface_PCC_3GPP_TS29214_990.ddf      |    2 +-
 src/RxInterface_PCC_3GPP_TS29214_a70.ddf      |    2 +-
 src/RxInterface_PCC_3GPP_TS29214_c10.ddf      |    2 +-
 src/RxInterface_PCC_3GPP_TS29214_d10.ddf      |    2 +-
 src/RxInterface_PCC_3GPP_TS29214_f20.ddf      |  437 +++
 src/S6Interfaces_3GPP_TS29336_f00.ddf         |  324 +++
 src/S6cInterface_3GPP_TS29338_f00.ddf         |  113 +
 src/S9Interface_3GPP_TS29215_b40.ddf          |    2 +-
 src/SGdGddInterface_3GPP_TS29338_f00.ddf      |   99 +
 src/SGmbInterface_3GPP_TS29061_940.ddf        |    2 +-
 src/SGmbInterface_3GPP_TS29061_980.ddf        |    2 +-
 src/SGmbInterface_3GPP_TS29061_b90.ddf        |    2 +-
 src/SGmbInterface_3GPP_TS29061_d70.ddf        |   91 +
 src/SKT_Specific_AVPs.ddf                     |   10 +-
 src/SLgInterface_3GPP_TS29172_d10.ddf         |    2 +-
 src/SLhInterface_3GPP_TS29173_d00.ddf         |    2 +-
 src/ShInterface_3GPP_TS29329_620.ddf          |    2 +-
 src/ShInterface_3GPP_TS29329_750.ddf          |    2 +-
 src/ShInterface_3GPP_TS29329_820.ddf          |    2 +-
 src/ShInterface_3GPP_TS29329_a30.ddf          |    2 +-
 src/ShInterface_3GPP_TS29329_a50.ddf          |    2 +-
 src/SyInterface_3GPP_TS29219_b30.ddf          |    2 +-
 src/T6Interfaces_3GPP_TS29128_f00.ddf         |  130 +
 src/TCOM_Specific_AVPs.ddf                    |    2 +-
 src/Verizon_Specific_AVPs.ddf                 |   10 +-
 src/Vimpelcom_Specific.ddf                    |    7 +-
 src/Vodafone_Specific.ddf                     |    2 +-
 src/WgInterface_3GPP_TS29234_910.ddf          |    2 +-
 src/a2Interface_ETSI_ES183059_1_211.ddf       |    2 +-
 src/a4Interface_ETSI_ES183066_211.ddf         |    2 +-
 src/e2Interface_ETSI_ES283035_121.ddf         |    2 +-
 src/e4Interface_ETSI_ES283034_220.ddf         |    2 +-
 128 files changed, 13229 insertions(+), 422 deletions(-)
 create mode 100644 src/AAAInterface_3GPP_TS29272_d70.ddf
 create mode 100644 src/AAAInterface_3GPP_TS29272_f10.ddf
 create mode 100644 src/AAAInterface_3GPP_TS29273_d60.ddf
 create mode 100644 src/AAAInterface_3GPP_TS29273_f00.ddf
 mode change 100644 => 100755 src/AVP.awk
 mode change 100644 => 100755 src/AVP.sh
 create mode 100644 src/ChargingApplications_3GPP_TS32299_d70.ddf
 create mode 100644 src/ChargingApplications_3GPP_TS32299_d90.ddf
 create mode 100644 src/DOIC_RFC7683.ddf
 create mode 100644 src/DiameterRoutingMessagePriority_IETF_RFC7944.ddf
 create mode 100644 src/GiSGiInterface_3GPP_TS29061_d70.ddf
 create mode 100644 src/GmbInterface_3GPP_TS29061_d70.ddf
 create mode 100644 src/GxInterface_PCC_3GPP_TS29212_d70.ddf
 create mode 100644 src/GxInterface_PCC_3GPP_TS29212_e00.ddf
 create mode 100644 src/GxInterface_PCC_3GPP_TS29212_f10.ddf
 create mode 100644 src/RxInterface_PCC_3GPP_TS29214_f20.ddf
 create mode 100644 src/S6Interfaces_3GPP_TS29336_f00.ddf
 create mode 100644 src/S6cInterface_3GPP_TS29338_f00.ddf
 create mode 100644 src/SGdGddInterface_3GPP_TS29338_f00.ddf
 create mode 100644 src/SGmbInterface_3GPP_TS29061_d70.ddf
 create mode 100644 src/T6Interfaces_3GPP_TS29128_f00.ddf

diff --git a/demo/DIAMETER_Types.ttcn b/demo/DIAMETER_Types.ttcn
index 571e45d..66f83d2 100644
--- a/demo/DIAMETER_Types.ttcn
+++ b/demo/DIAMETER_Types.ttcn
@@ -40,7 +40,7 @@ module DIAMETER_Types {
 //
 //  File:               BaseTypes_IETF_RFC3588.ddf
 //  Description:	DDF for the Diameter base types
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
@@ -273,7 +273,7 @@ command_code, application_id, hop_by_hop_id, end_to_end_id, avps)";
 //
 //  File:               Base_IETF_RFC3588.ddf
 //  Description:	DDF for the Diameter base AVPs
-//  Rev:                <RnXnn>
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
@@ -666,7 +666,7 @@ type AVP_Grouped BASE_NONE_Vendor_Specific_Application_Id
 //
 //  File:               Ericsson_Specific_AVPs.ddf
 //  Description:        Ericsson specific AVP definitions
-//  Rev:                <RnXnn>
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 //  Reference:          http://snmp.ericsson.se/diameter-assignments.html
 //
diff --git a/doc/DIAMETER_ProtocolModule_Generator_CNL113462_1551.doc b/doc/DIAMETER_ProtocolModule_Generator_CNL113462_1551.doc
index f7f7e5f3ac337619eec6e20b6a1c8d0f6a4bdc23..00d0beab04100e566f14144ad895a4e59aa26b20 100644
GIT binary patch
delta 53766
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
bH`Uy#$Mm%P+m5EXwtAN@Y@#+hn{59F!3)f=

delta 44615
zcmc%S1%MM*+rayoWV6@`whJsQEEL!Eh2k!yK#R7xJ1kZx7NEF83PW4m+Ty;r7k4jG
z+@)xtbPM<YWHL!M8`}5%zI(sR^2<zSP9|rb=gb+24LOlz$lT16!;7z075!gYMcKu;
z+<o`{{d<|XoI5M9607hVx|$T_Jy!Raq)r)<YN{!lDOWaIcGE{e+006b1*w~eFVj(y
zfBQ|gDL%orE~cs0COqa$K}A_;QIvA|?Q@lzyA`D!)BA-h%KQw95>iP~PB7~ML;2@9
z%w9!N?u03dPkTifpGr|C$1BPKA4O@!a#)PghN1lPGUS;(X5{96^<NZa1CM;aUr{nL
z9L)lPsB(tXg&kFF)JN7JmprrlGlq@&==Y7`=-swNb9SpyVST2)0?~wG7RwE0V#@yd
z9M7RFW;*4JXEm1Nd0$r4{hzTM$26_X47ET}qfQ?xEDuU=CL8M&CEBb-%us7s`)}13
zVLUMnz}^Dl+YTs|;@(L;n-npoKlw^8pK_C;lyN+}3~Euqj11Q@B&qfc%k(Ogi{?2q
z9FlvAB9EWRQsw?YMe$Xn0_CJG6>Dr}v^Qmpvi1jXV+5n<Hbn`e6&dSk42@tI_wA|6
zo6B`qUyyNMaxMQz-4vg^ma+X5Ww5rZv*n|YjS`+iX|D3mbGqxkEnAA&kw(2;lmG2u
zvfgFVCojLYRLVi7OwloMQ6*v`B8uk<Q!_@Ss@|=4&+cvdw6^sK&XCGE&-N&FcIUkk
zwhU<sy4`b|7a4BrnkLei$36FX5w_!L3OVORB$*d!E9jTUIWIEFyeOO1FQ;=}RFZko
zwiA9iob#e>HT<3RjEu46@XzI(7n5XOtgVNC0q49}TVR0eadEao{-vDr;*!iOZi@}5
zl-3cK$l_s5IuNy3+h_inoDV2rTN04Z?Oypn=c1#+ZE9egF^_xh^CD~=0-aTgibygq
z(zYwmxhheSGB1Op5>Zi-xTvC$MWa*MhSmtReVjJXs9;o-Ucut-6^x3ueVsO^vq-eJ
zA~Ci@X+LrniSbq>))t!1wUk)BNQop*6ld#}E}L^Hao&m)w{1@6dLl<WlP;x%%|CtK
zl*ZcHT4V?_0vH``Ym>gH+r5?<oNXaG!nP-UxN}~F&3#^^Eq8`!=e)=y^P+5HGSqO+
zi%K#t+UCP1;;2e=bdq^7wssk-JLknDnHOujma$+u<8h8yMMSs<D>}|rGUy{`8Aq@@
z$`rRv3M%C+<A|0=nG&|dAm`Q@UBXr@*cp?Ua9hLRB1Rp#H^FUQgl&DWv)RT(B$*d!
z^Uvhms$(K;vopDt8D)#l<lJ&&qLR#uw(ZOGk&(I>TVNJv>SAJSA(`_!s}f^No5i(A
zHqOkhr;AN8FV1!*bCmOOaWc;cNQ}J;i!K_K%C>7|8Qb72fv!1v+lx#R@|Y5~?OEzN
z%am|0V{Bcq;j(qH%%YL0Y~@zvv~>+}E;TmX{Sii;Vk2zJL#i6BJ~qNp##YBab1_E?
zh>etm#-^&=uVvTxE^T|I$`DqkeAUXISFRG)yk7U#&Qi9&L!3d0jk5L1>Wnk@KFR8u
z7i~M3HMg?@(MjgT*s^EKZLDOhV^fYy(j&yi+InRx?tFZ#?UQV-WyjerXUpY$yrW&x
zJ-KyxvBho0LY-|l*3m9K%9OBu6I$5097nK|mWd0uT?_r#C==%huSb~(+b7wbjUz6?
z);QEz*SJXAitNsAl6&s+qHJmoXY-4Tl6fT@k&cU&e3VG_dE0hvd$#S?`a>CsbM%!_
zQEP|gxYKU!w<A0G*iMhjvbMswMe5qL6B?S=o}c`+YHMxFvUc)RAIsWz+GLZ>JTG)@
z+z)@LYn#sc+`RU|{E4-KBa20pC>|COSES<SHNzqzqUJ`1hZl>nJ$lwCWpsF0{kGjw
zrO~WCEfv;Id_Jp)_IZAFZ~BO!u>2XC)T;lfw3NDG8Kc9s`~}pO>8n*OU-!$fs@Gd}
z?-^FNf6Fc{J8It-P-kbUQ@wJ93Khy%tPs|?MxQPnTXyT#GVJpg{d=|4Y8F%rTk2J-
zT(Pb;xS(1vMQoAqxFV5p+RB1zA+>(O<$`J+RSRokeyOR2)yLN6ex;Q9DODvyP=^iS
zC6wR}G9kQ1aiv2_C5I{HP;;j*Inwe?sd~=mL7DCIuW*3E{B$XY>JOHsr8jqy!<Hn|
zQaSJC4(jkAWrF>=)KXfvB5Hx!NuQfVr1gA0C5ygH&*_v+9o*sPe2tW5HB8jRUJ32k
z7E_jl_eE5bIhAwKTIvWjq_nZZ`pVVfu=1Z)?xZZzwQ^d^2sLAzbBXpqQ33r)6(xD4
z-B#7UrXkvj5^AcV$(Hbs0ZaHhLJc&BC9QcWU(cFrg=5qZXF~P$tH7bI_w_UC{Nb?b
z>HURMB)16I8_Pe`HYd&J-@`y|VpJd1EjNB~YDkx)YZ#vLLv`0{wl>9oRWmB)JsWPd
z*dC{5Dv&HW$=62@Uc$RLH9+;qOZGILwblxkP(x}ZUANq+Jxl#h+fu<~)pc!X9(mHP
zmrygAsYt?KB~)Mc=%+53tmUNl|F;_IS(xVczsZ79yM|f$3@vMDUl&mWD<zNhha0Hg
z#53y^aO)SeKT4`^WIeTKrPPdW=?y5YhGaAnk<I-PrAn(g|M%PVf0c{UMlMRLDcy77
zS2o#}@G{+pa-rv-uRh<|!TwiWuv@?67OL%K)l7MkH7%plaL-c0+p=nU&#mAF=kZDV
z9j$QrWLv>KF54t6^?$Mzls6(@-eW7Mm~1OJ$Ay=FuA!cRFZ6Q%!wmetuoYYm@~mjW
z9~ISL&%Er-;#o{9Tsc`@4rTT%^?#C=%6eY3zbdQu+?wK}D#_BaG3&ooP)|!qz1)A1
z7WbBIUuk`(kwQOQ(YKYf?p=oz(&o~!Cf{%9{nPdk&$=f3QB@80+@CMb?paJL{D~S;
z%IL22g)Iy9EajP*f8EEeV5yPDQa$z%_Px7n|KT2tgtwolsgm?lpC(Jo_hJ85J3TF-
zdb$51E$(aOxwY62sY)m7tMq`)&GDfsC0)5sllNhxKk|I2R=9SuZDnFE&r+TlaepGW
zCgt9u?5pr!?LBH6eOPUeKJ2q(Ss9q;-)g95<vka*|BE9%kK-xNto#r5<iqp|xb2q{
z{`f3;AJ&Ph>q+}$t#I9Bd5O>GS?d2JFLjN))b+?q{bYG*R`B0ysORN+f&ZWL(nha9
zlDyPUo|l?MJl97n+%Q>QJ}>N9>i;A!4UK(E!=(F`MjtvN4EaLM*)&<FVjKYJnb}kH
zf0G$G^9}hQY$jFoXHAlhFOsLDXryPLwZe^)HNxl!&r+W0`0(+!9)tv5s`)RvjsN%r
zv9ZSqV$)=Y#krzCRCm2*i=zIknt60+_Vn00X18OJ?M=Py=#%&G#tCB6<R^$}<2-Av
z6>gqvGYO9MEajP(<WK6plXTVozuK)dH@dIpYR)Rw4#O3tGvd($qc9p1FcFin2J5jI
zTW|(vaSoSo8NVSBf8!l8jZl=#$d3Xjj3Ow8&+s|wj!=pziO=pQ-oJg}*oA$&<!}Ac
z^$X^FyI{_OIivc;cWK!ro<GKd?AM`IG|_hcpyt(fK2(cqs~($tO$!@qFBhw`w4*<&
zkpX!t^TbskD>Es<e~Id^n#O)PJ<wcC`(&EB-hUF)Wrbu#uE>0|s-<17rZ#12>?{;;
zg_*K8vL;1GBm~@1{Zv!VCVByjX@kFGEo2RP8}kb_buPflYAIdN72VJiz0e05X5c%l
z!CLIWUL3$d9L8PT!xQ|Dlp_@-6;dMrfk=mJD2iy5M3s?BTcrUbjnE9u(GOpvKdcyn
zVfYdD@F!kAdOvY@B8f=6yz%n=#N{$Jclz9^mp4woJa(#e?9{P|z2s`2>z}q_n;H_V
zr=@jEdqWQHFuwLkIlR=~tx{{6jx^V5u2%D#b~n?SO;W39_pX}Krqmy>v8m)SD6n8}
zR!zbpAvt8kGNzd`mH~&DA@Ptnq#fx<M%m`h0{&@P2ML4(;Nt}Ujgs=}E%f=j)D8Yj
zmbgeLhVu9&s)>|uA?4>Bg|?{c1BNnJ0`e0M8P9U9rM{G->IMm#%=;O;u?Kr`00(gx
z5Ag_(;X6uEQXnP#;EzB=A_~#?6tz$rbx{uu&=Y;o9|Q0$tkbxej_>gUW?>VyVi$Jf
z5-#HkuHy!7K^e`PA7DmW1R)s3@a+EWi}!EezkPK3{o8Aek)P}%vya}tZF7uexqo}K
zV^k)yOg)d&+G#_6P&1mwwbfHSw2gkhZ)-i}_D!^FD}AFaK1mG?j5$PjBwP}zfKiTw
zK4_(f`X&jZ#u6$CQ+;Fp%ht|>2h?YV#7W{a(<tz+jb303n<vvHJQ9|h#{87+Tno6#
z42g@xA#Svz2I<>73s@yE;fO#CVo@CR&=5_~6ur<JU!y+;Vi}fW1@_|r4&oS&<0PKr
z1zy5`3}HZa<iJN`luwo1jO0aCR6}*NLTkKybnnr<OD8WK{6+pYE_HU6kM4D4&ZB#y
z`aQbW%1BU+&U!-1b#f&{jny6>Q0HmCjZ#x;51OfI^Xkc*)84Ta%Y}Biyp%VN3d)Mh
z3J)MsOQa{v)<KU{XF|<%S!r3}6OQ>>$Wir9zzL?vs>*8S8RLlY+K&1oV|XNMB5NpX
z*WZ}Gt&=|gFdH1xd!aY_;cE=QOw7V;Bw!;pVH>t%CobYLZr~;o@i*SVG?wiE7UV!q
z<V8N@M|o6$wIVlFQ4Q5m18vX_UC<RHF$$wG9uqJTlduMBu?|O(_>#Z77hWbFwU6w%
z`!aE(V=Qsm!l}y^E?by*SEi0)>cYe#Qq<MiIySeS-IHeMBl}LVLpN>nRkf0%Yi-t5
z-xTY0arU~I1NyV-5<Ust4#K_L<gcoooh?3K2h$~V5;C8$j&z;u;ws?7DoD&EPSuS9
zm%6$N7%`IAOf(AI?&d0B1V(~#+bHmRcfCMm(*`TkkKs35#ZBD89i$mYHwu5`MLxu#
zI7*>3%Az&epe+W&ib<G^Z!rxTwqPr^;T+DxdY7Afc!bCJ9T~>+ZY2bvD2gE*(TG7D
z8lwrC;w$t;KMcemynK3(ze`8%J>BIT+u$5qYK&!hI#<fsF5P=Nnh|FgyRMH`<)K>C
zw4}GbCC}}p4=4B3ha-D9^PDNKqn!-oZEqZ|>o1wfmK<~25lM++nFRkkvX}fb-kBZ$
zGEA2UO7x~X=9_yu=ck*_bcviq?FmL{wHukUXpI}0{k76F)C*eRW7T5v@1+GlRv!dN
z2??KsE_S@5IfeFiE-oOJ84^2*+hC(WzCL<^E9?ZAZpA|EGv-Hp<y?SO0xJb(I|?mg
zxE(vN6MOLs_Tvs7;t?LhcLF<Sq=X;*5s0FQLNsDf3$;-P^-v!T@zn&ystjOcAO>MN
zG|a$E%)%UO#~$p(FZc~taSgX{8+VarA{Bu@@*?s1?JJ3=t|VSz<oT7v{m!wi##nIT
zYGX8Uv5b8;_6psF+i~%o{(AGc{Ixzj)lVND=&PkYYYI}o(vG!OvupJpsv+9e*J{?l
z*nNaX!X;q}nBYiS$-a8bWyefSB}@{Y2FCo#{hT=oXuu4KkA!8mQK0tMt^%`}A#ss-
z+%XD#(O)mnlAQw6B_0xsG7}v&Xg$EW0ILKiAL39PrBE7W(Hd>g7K35M5Ddo%jKV@J
z#!@W9a_qx?9KaDA#c@2s6THAnyqZYX111pzq(w#qArqnzi&7|!255*zXo_ZNfgu=*
zVfX<vu?)-M)=$_wj0EX2mbpgf-3z0CxRgK#G2K3u+2iaTg=4GFHB?KxlGF~-GaX>n
z(r#0O)WQ1x;O#(HKatPzh^GTQ`ia;wtf@p(B017XLDzxK6a<W9hJ;eWcg!fzcaW>V
zF=j~oBxb>r97!BHSTFD^&4^W%kV&YT8}r9mT?=T=42hM*X{}LU+7M>}s|0H`)?gjZ
z;4IGJcRa;2yuu%NgDjJI^Dv?ijY_DD>ZpO5Xp8pfg0AR>Q5cOen1G3sX$6xR`58;G
z8f$PEM{pFUa2jXv2VUb1k{kiN<b2D10I>1y(wB*I9iuN3r^(pp0lkz!b0;|f2=36e
z&s;ei%N*3<;@2mX;OzDZwQKnBnyL?Pi16V&JIFrGUQ}zbngjA0BlJd4Zn*3{^2;Wk
zQ9ogh{YIZtc$lj_1QuCKj3ky4$Ja*C=M2?@zCh2K5ywv^JF@!oFn#`aY`UzT#8Bck
z$(X<P8)wo2CNV?eCh<CB6xcRgFYtxF0Ew5xDrAb|2xWxx@m7gnx+%Ob85xinS&$W_
zP#R^>5RLE!nxQ#bVgLqW8m410e#BBN!wMY737o_OJj5eBouYJAo-y(Q8K<(@BN)XH
zjtImc7R6B;b<h!x^XudH6ZgtVb;8P}bC<5<Z#rY+jFBNS(re{X$>hpZnY781jC2hg
ztEa2y7=1JDFj`Kg3TO=<s-f0qoW<Dp^Bzs)pIZo5@!i^vXEW2!1?tI3tQ<i&mdv#-
z87mS(1SI4V?iMO}vR@oIIntS^fELU#0>0cRaA}mQz;X&mv?bEdjRLnvy9zvKhD2JT
z95>bR6u*yg6^LVo5$35zfj`GO3s@!YozNNG(F0>K4&yNyQ((g?tj7i%#|fOoS)9WK
z{0)<hGY4ctD6%6LK0+Q;LUq)z(L=Omqz&4lBRXLMCSnqP!p~TO6<CFXIE2GEjuUu^
zR|xo){SNFWe^=xz@7%#h_qH1&YmJeg>?4^U-J2yNQ{{#eLPu}EW{TdFewwTg3ps{4
zC+YVyO|%b#WjE}8^yq4nK|w(ses6Q0K1ogy9g8)Ox1ZiSP9jHg*ysLWwhMwMftDbj
zH?lQkyfa$?=b0f<mI&vzIr2Srf~!DoW=M!7yq%2#-%fND=*)~Rkno-~3e2A5DsYk+
zry%i+`_}Okd8RlESS7e=krBZthHyk62C?`OjnNx@@D=)F00v<eW+MR`u?gF-9XoLq
z*YGFa;xD|1GL05vnx-fPQ3#b#8LwZwesNE3Uca~^H>dV(U$$@izEkt2O&Bn3!nAqu
z(<U^NU4(ub*l@Z%@<AOwPLbJ>A@&+wtA+aXLPq!L#ze;>Kb@A^@z4{>YHjaT^<yi=
z8Fwtkqj*K?Op4u0*q<nvCkpln&>KfrM&+)O$=HoKt|}NaJf6W(TJL>Is5ZSx7Mp5s
zTWOWtaXe{pND>Ab8C*8inZba8%rLUB!zi%9<|?p*0!A9tX^u9q^IKN|m5>{0sA&{9
zG|gGSDmkfw8u$b?@hRG)Bf6nG;xPteF%FY38B;J7%drCcaR3K#6vuEJC-4l<@dAEi
z)_=Mjeln6C8ITb{h(jrqMsu{l*XWM{c=7PX!)vDxp1$_tVS;^p$%}_G>?7YYHcTIT
zc<tL45943x4ax5ZM}E8adgR`an&>S_FVyEdN1^h8J=_cFW!PQVdkDR3=NXQ&bK0j$
zUY72K>GoY-9=&`^%~9Ucvs?1=>9r}7)C}6>tDL#aY-~#9FVEy`qT0EuYJtGQMrtG-
zQ;b}mneNPGfO{^E8wGyTTm_6oND?wmcQluKGh79dCcshP`FE}Y?pYaXEW!G{UVy7-
zR<a|8U?_%R0TyBrwqpl&VlRHdKJ3SRJb;-{`M`oyNDV*uqYw%s0+EP9O?--4uzt=>
zUDQK;^v3{vi)omS@9_iPJbH8e%IQaMc0IC>J$kd!J~IFG{40;%Otz0(AHC_yh^t46
zp5w@4@xE`9=P@izP=^Zbcjz;;CtsR^bL;6ZINR~CkdULvA7)Q{VZCJ7EJsP7PirPG
zsh0_!DObm`sg7oI;<cJGg`@A$&R<pYNrMRtENCP^g1^s5)|ek$*>sP*pXNxnZKkV$
z5q1f6J)^*^S*`-^VV-Fe_;I#g;5)8)^1zvxh3(jZo%j_OaS2y(4cBo4f8s6vLOM3H
z^vHn9sDV$=5#7)olQ9j`u?d^81!vIeEH~$H5tncoSMU}p+xwfxH_sh<v+>ZILyRT;
zzv$+y?<UUrZq}Q}gF8zDaQnwAmNCu#Bt4tIZmjL>V+!%j?i$zLwc<s*R159hd<sWV
zZS^)aShKb^r7ET8u*_UXo;w$5n>^3S_b_@Vq<0baGau<E3MJ_$oVzK#Y(69K67=gv
za#qiAWiM&O9r@of*Hs{C8XN_x&2tq<nj1%fvu*{FCd^Tw)qK|yl4j9S;CEMn^q#4`
zJVOf@W-6c+4d6Q6oJHoGTDci&ckSsJHK%r^rzw-)ch=q<&~RAQX5a$-dAgg{r#BL>
zkaS6W?(bwV*|efPO-r=2(^QN7!Db$;UFvDd;zwp3OBuP)xfH8B(uAzYhEU|fN63vl
zsE!)=1U1nX?a&^b(FI-64U;e#KVu1&VkK7N5Dw!APT<scN*?7QBaS1eD~A%6&e2B9
z(dKCV56#g!%SaQs;iH`yt)ceo=nH?ew=(BdQ)8c^&&~INxgN(cdUJ9dScNWjwA*Oa
zOHbx(g4)%qY7VWOYR;_H>0?TzE#M4Z>)OYZUR%43G1(BbnarpyaW-n@IQq`8$WdvT
z$6*+IUVAp2r*)3$N|+IHBivn$q{f@}xsvMEA|@|#<}$!N2QTdpyyNvT-!FEyR;z^n
z5gy|?Uf?BOA^3Z)0wEj`h(s*nP#h)jB^skQ`rs?{#{dk(Ak4-b%*7^b#un`OUP+<s
zWMtR(+Q|N<f;q}A^`2b1oU+vhDXuO@d(xk9I|E-x?}1{LI5H`PleG{Qa=QJWj)l}8
zU<&jr^t0>fwD<w0AlDM@sZ4&*lD~-F&T{_bdZZ-OneUwLu`8~n>t-tG+@yzi-K1y#
z<V=RYdr$}dClCJVXV-&`XiKDb{U;Azv&8k_T|8(v?jn_zF5VQX742qnbw}RozICZ{
z30C(d++!&!2dE~Pkpd}^3aL>Dg;5z*P!*q`CO$<iv_fmNL0gQ#Sd7C$EW%<e#j+oi
zG|F;DR^ZeR+Qi|e+!>9%8+l*Os|3MvJAH&HL~Ay{<eTNe3hx=rt~au;HItuPYZyGj
z<eQ`Ja_<k}2?k^?>)tx0c#7)F?8UWTuBs(ur|D{Z-)W}wA?`c6T<(GS^gj;&zGZs&
z3z#;@>3~Gd9<l#;0VkF_^XG5GSz^5WKVCx96|N;12{_FX{`ilV(0-+J3D#3QQXYK<
zkMRV*<0W3<54=W(nOs{$7K9)Q(TKsvD2Y-ijk>6Zr?)O2y><E4<=t!Mj33gk<B)zs
z`ZcRn!DuA*A#XG0pYuq?Kld>AZJPrkrq~aT?7c(tnI&7fI(ofdc(=;YL}Z>@zrbE3
zNonVEc$9OtRi@k9YLiK(RA%ltkI9U2dlkNrhVATo^eVhu>8OItOIn2_rJYsqD936t
zg(uGv7;MB_;#_K`9A0?eq4Zeg%wd3g+`syV#|&8Qe2i7{(-qy&9lg;9U!gC;IN2zH
zk5L1)(E@GJ4pt1oPz=WijKYuj3A?Zxr*InQaRC?c_iUxE@}3ckoCqNY!jKbrkQZ<6
zUwL!o&8cJik8N4DW!b`G-z_}0@YvXe$E*w%9*f@+zwlUF#%MkIwUM>!wfKXkNYl^j
zwD^?_=d9IV$@_kbDOOvx(3Ha}jmw!iXD&RNoSxB?YaAK%m`kH_UrIhBS}G@8Iancy
zS`;L5yt3^2H-Hx*3okJ}F^yQG=U^#^lSX_cwi4Hov$cSYT*EH9jNJgQ9xt=+y;9f@
zL({L-AGh4JK42tejadIW+i|#?ZJl1=G_M&jU*as`%{Rv}Kks^d{%RJGj~V&#IleIp
zgl}*buu1}q0(BYhg02{Z!5E5R7>?ywft5IbgE)j^IF6Heg5QyHE_)<oK?t%V2Xdk~
z%Ao9AuIMyk<O_U>W@wI<7=e+PgSl9R)mV=W*of=6fxnRW_;%vO#M}HG-f=r|os2N$
zXZw^LjLnuQlWr#tw@+b$BLC9cZ|ygF<GQ_BZ&a5y>DS**Zq$eS6SRd_O_j86t5sjq
zwhelVJG9c2UEV~LA~50`)>&dC@i}1x`r`y=paV`Y!w68=Tt})ZZFCg~o2y4hBGbYs
zP-~N`KnrFVkx4KLG}`PckU#+=Ea~Sto}$$jX924{P89N+$Mq4UMLJ|a1yn>6G(}f*
zLl5*sZ%o7Yn1i|4gw5E39oUK8xQTmsj3-Djp9V2sX{V%O#2*1ji_$2AvS@@a&=H-`
z4c*ZL`YXe~-g|n?{$`OKYj@mx`jfl_Y#*B?V-wfjd-{!iE+;fO9d8B7v{UaY{CDVC
zG;fzI7SM*SH04b3=T`fsukBiC%BP*!V#*%&`xZxMAjc1M?@E#M)ZU0rFC(N~wmL%^
z(2D{R8VSiRqrg|&oCW-MF+*Y^u?W=CE#sJVo1b}`+Xg>myQ_2{D=UGKpu~GEJ$8q)
zbh>y-Nq8n;2fV*0<=dTF@KMtPt5I?yC4a<E*oaNohV9si7kG(R2v|U^kpp4KjXcPQ
zil~I9Xolu!jW%e9DVU0-Shj#oeJdl|uoJtm2WN2(=kXNJ@Em{OHU5O(LRt+1kPq^f
zP2RD2|MsyR_iwM$$L`<$S*9>ywmxCf{oBK3%A{lVcWZjt)NB8uH;&4C^~O<hk3Njp
zt&QJeZ0h-T*)Pm!H4d6W10y8J5+Vst-UW^=Y~e0vMgsCuT_ZMajRGrny9%_WfDxSC
zMuClcTm^PhKmsE{d1DmVy;m=Ai7ub%5)=tY*@ccO9Qnn$0INhOKZ>ISN}~+Qp)Ts7
zE4pDYtoR1QF%sY5d#uGe?8PrQh{L#r+jxaP@D_jJZ*VSdRWfoy9)zMOhO#J!N~nyg
zXpAQ4gRd|Wqc9HRF%k1HA6wwj0niidv2W`e?YBSE15CA#{dzC+(@~DGr;7cb-mm){
z)|318pj$uw^ngCGmt)v^zjXeE_0HgneIA`bbXnHWh~fw%^yl{Jq2FcNke2yI1QQwe
zzByjoZ{HjPq=dvw!c}FFBavMX>Px##qM2@lYJxGp?;&TR113<wh|_7Kz|h0a0#*s!
zRvf`moWv=d!F@b{nF};N$cP|hK?t%T2C=A(I%t8GXp45}02{u=a;(61?7*JIw1mBk
z?8kGwfFD<o{1J-m$c2xP2X*inI-xTLU?7HID89jmTEUuoPk*#0{rh`QCmAEd)7!_~
z+CaIJdb(pzXrmvSil!)hT;BnleQYY2%5iX+>zMu)qN8ptA>fEdONct{7R9WK9l0BK
z#2Na4tgNjO!uCdiX-8cJ+Ec)Y-#(+joMWy6`zT<<F87a)r}+7}t3Yl7VgzoOQDE%}
zSAk)UsI6mo$0)Gvq_cokLb?`GU_FlEIIiLvZs9gEa_J`sMNtf8Q4SSR2@^OO-;6ET
zinBO}JGhI7c!UO=<2S-0Y+X+K*v80Z<mGxne$2%@tiwiZ!Ug2wv@17eViwk*1ZRUE
zqZwM^kNelJoVs$|{<q(LyOZ1X_Oazx7JWZutaa?7u~){*@Ctw5FVecH=3uS=pQZ+d
z^giO`>7;q~3+nL2C%oUt{k8sj+Oq?uAXAM~vRf#im8I!?6nTdr-9;^~c}>6p9L4Xb
zOn_D`(L$DR^|;JS(`D2CQ+ftonbx;k#ms%Uh8GCn8r?^zj(Cj5670hjyg_;*83Bp<
zV@O0hV<09#qAP)wfR;gv722*pOii^Df0$~?jlY)twdqEK7R>4oiMhmC;#(3;(H9cu
zweTgjSs}4*jbpe4IU7&6noCV6kM@|jTAnJKR(gc$pJ07!8md|)HS(}wI0AWiEzY@?
z;xLZj1Ww{9K3>b&FjinCHeoZets^qXgL2q{tvH6`IE^!Sfzs<~qo}=}Hdcp`&k&E^
z=!35?36n7e(=Z)BU?#R;2X<l?F5(g{;~K8x2Gk8)TEnMkiPmV34j6~=8|sk{Mi%4M
zBaT|m-F|h<KB5n}H71;6-no6}w(R3ZA6><$ly%%)<mjQQoz;7>!)NqituywMk<5;Z
z>GJ(REo%gmI7hp6HuIQ<<tLJ)#W;Xl_zS^AJsh<$8_OWskSx?fH;lndNG2o$<<Ssx
zv1*;(zH0w%3Q0JcXo^y6tzxnyM-n25kQ_+7Bu*W%9GMf?*`NrDq9=OcH(bSQ<lji=
zvniq0JJTA~Dlz;KOR)^HkRu4Dpe&#^>fkeULT7YAJbFMDJ{6ZCPw))>JV8F3#;?e*
zNuH424#8N2#n`clmb8<RUD%6XFrM>=*_ew}c!Uhw*piSJQ8<RvIE#zOww=!cq7dW_
zEe~$KIM3jSV|?3-HA@yOS@U8h)27I@G2e{&#(p!#m$5P5C|XamId_T*=j=U|w%lya
zqzxRPMr(emIk)MTvs$ET&MSRdn0BL?nz@A%C95N=QXTs@(`j>#GY<;2EsP?Ln#WMP
zskn^g)GqT5=Ivx7M8Gay9!I9#Y&+PF!h5hcp_z|)zG{`#DUO{uhLgC4r+9-jEG!tG
zpgzW7BGzLg9^wy#@nnTi8P)J9>R>n~Lc<))#Yy~%CcDT@J8HKFM{o@1@dAG#H?=K_
zVHk(`SdP_Lj}6$0l&n!I<ibbDjRGhLS=+BL7&CsMQ^uR;#^1-cd7JtL$nAyaho2wb
z#k>p7`7(ZC*M;W^&zB@{v-rEkREu|gysi6Mf1~4&6y^Zaj&s`N6lCvI0dtUr>*^WD
z>od!l&9!TnD!i9`pf?6#Fjim{Zs9KKQLCo7iRbX!&l+ME4&e^69bj`fqz&z-(oYvv
z{k2*BcpJ$V1<n2mvs0Q|sa9FF-8hdwkZK>z8Kv+iRL8;&GrWPDxP{wzj3@BnNi6V1
z3S>nwRKQS-#$?REX`I0WJUl=y|6(K&=7TH<7Gy;}48{mdz%*D6bI}A{FdFNRu%<YT
zU-1%uA?PTPLE>}%?j_zxyl`sU+6#$G?SH4{*#9n^ntJL&V#YBS9QXC9_D5)m+02<u
z>#k_Qq2_}2k8xTum^+m^ul?z3{zAK!!kks>UchXT)MeCogGGu$u{{p4kD*58cy_7H
zD+E)6+>V-bVb}wMj!G^HXhX)c&urmmo~v4=qJuCP({U4TQT!M^GA7_><T%b@5JFDS
zz_AgjPZB7M!<AF?a;SWoqXaZXFRa6Q9K&&3#Wmc*?bBSQdBMm_q&Y(yf<FQfj7%tk
zq9}%NR6-;C`RaG)-|bhoFWi20_|<m)HoRJj4X@_?Fmm8L``Ct8KX92QgG8~;4Xtvh
zxw+}|b^W5+-cWOhFB`{aty0_Dzl<-=vQXa^?C)jRp2O^y-`KtR>ASg@ltY`O99qN(
z+c-z)ZXDHebo2i5e~Mx3Bicm#wm8tNroZ6`^K(b2<Bt8y<BsT$iz5w^mMW0cjQ_XC
zwZCeAzVVcmG%kRoGW+p=c|OxM`{S~cZb^HTBlWxf?Qyg0k1Mc?^1ER)l~#`Ca+cwJ
zN3+RKlNqSh$;_vk%H%eOXiYMk=bMUOU!29Pek}8<p)1B?2kz2Bq@@Is`O1iAr({0Q
z0RpO^9wwaEdgL|7Cd7xBC#zOzBb~7TORxr;k^3x<LP?ZDO?--asE-ENjC1heSu&v*
zieo!YL!LPma-$F`V*-|A1@@h%YYDzU<Ha7_M~+`9jL+~nPU1T5;3+a+WPvDvI6TIJ
zOKg#NhQgOQVns<*!eG37B7e7@oPTob^r2h!J2K()&ePd<p5AnNEq^=L@^^Z%<8SBb
z@0q#tG#f-_ZF~-M3vE~$bNaMK1J7cAYsT%n+RQZOycHbZ0$Hbqh0RfK`toLWxo><J
zqPVQ~Ow5C^`djo6C_xvrRbSEFl#~~s{rmFnFJ69Vrf&<a?j>9cGl!|^g9wd;Di0)F
zoi6-K>-_tkw9Y)8DBBql-U|pLgc8<~&>Z1&wXmJ08TS|GF{?Ess;P-)4wOR+jKD&i
z$7@Jrk0QerHZ(lNm%p*cKq3OKvXi(fjg77}FRhmwe{BMts#fF^#`?ZveeV@C=hH69
z495KRvA}%hXI5GISjRJ5b398Xo*@q+AkWwkZP5kt?0!6})Sv?%Kx*<Aq&5N6Mrssd
zuN9po!(xa;d-TV4>_@3<G|WcVIDW)q{E4?neVrZ{SrCH4D1uMX23;@%3$Yy+QSb)y
z(FWZx4GWO=CdV}xh~fD777h6Ev&X+ZK7+_JGJ0swnGN>8J^IvVkM+CUuA-Ry>BGeg
zX{_0_$Zyn)sa@Yos-@3iE~D=Q>*O$J_tjglHn@N}$0wz-vZ@jSS#4I?zNWI4vWBvD
z#+r3=TZ?#V{seDfq1Hjv`r}&(H42(Hs5N92zCb_B#AaN;BXqpY)i*4{Zd`?WhaEDy
z-{pJ;zvC(Xx+|?Fn>IF{wlblhIV531VRJ9l>TUVw9nX=2<>bRp*n~nXr!Xp`3L2mx
zzC>e;y3gSWuHiafqwoV(>LDwIU}Qm7G)Ievw25Af^ua|u!3(s0L~gMF3$Y02@bdb(
zm)8&P-^Sni{Y$WZ|3drUto^(vasRX_`$r98TF>=eXjgi-Azy#%IHg=gRop+ake(7+
z&0^+!alxM*wx3B(9Mr%*9OzSkmLJri#pe;mbrDzojm1Sh(3)LUi|B_$TfgBm_J8Cz
zckEp7FCvi$%RSD~(H0%h30=_*Jun92F#(ft0hi!Q)KVce{1J%sh(R36qXO#OPnZ%;
zKc>wMXM4XQmprydm@71>!@Ta0Osv8lNH*R;vQZowW?%s%J7mJ1fC2=$IxZmZW3HrQ
zG`2m~KJ%mXaOCFi^`_Qjj_Y<tn#-wHNz{4AGX7+^jmJO3bG$%?C!BpE8$wYKg%E|(
zXpauqj@@{Rcli7%^+7$<$1KdoTV#F4^3eSmEvhFYQ(?nG{D}QHfM0PLiTE1<&j~Qn
zB0auDV{}FrbVWC8KmzvT01o01(!XGZ@DcK%;EOLg1!LqJ%*I-*!|NCKU)*?c<I)TL
z?~L3r{`PEjjvA9ZhwERgU-3d4A7`$c>ig`4^hT+rEN0H0URp7)<5jE?WdG9SmNkO3
zYt8s-D5a7FUIHFX@Fbw~aUEHIXVZlZ2atvUR&WcZ1hP54#X-D-#6;F#)>T$3|4UX2
zWnK{z^!tNk!S6K*QTUf|A=;cp)viUG8*A4}ntiN3Axir;Qd1>V;^D`G{gDr{urinq
z4Xd#h@&tQv5QmV9C;AAbAx~Tjbx{w?upCmEOYoyI{-}y-u=eFfYIzbDkd>O|LOnD<
zTXex}%*9G<z&$*`pHSYgb3-(0U@$8E$<<jj$7md6^$%g&Uo>Id!tKA5s><(-WJ#3M
zhd*CE;pWLJ{_J=3!PV39XP+u_oPT>ay;{THl2=O>E_pRet5(9?g?CNQD#1088zs!4
z+NC&ih_#8elB1_8BPoy-l9iB(OJ${^J7J=NQsFT;gfvvNCg$P}^$VeXeQ*Mnzd7PV
zx_9hF@XLEP6-8C%;w;jrs?r{7kT5mcTwK*wRN|1NX$|^_$I;x7_b{uhvMe?i@*pn?
zpb)|liCBD$k|+<U!XOO6P>jGxjKc&>feqhc8m40=JgXh?j_x3mx_3ZFe2Zz=j4e2U
zlXwDI$8@Y?dQ?Mo^h7Vrz<1aSiNhIOf<JMPnB+zt%z?xw@s;rxV2tQP?LsNDd|$ME
z_tLZ1EG=y@uFlsfZC+_DB@bMW4LFT6kU-zXeLTb?q$1!F{H(}^P-I6t_?uNF7d}EG
ze1VSWgwE)K?%0n5xPf9msuJ#FRh3eV^h19Pz(8!oCN%VA0a%8e$dHOBLIE_!X*|F~
zsHs(@EUJUH{_4R^{w_bzoAlXNXZ5CijLX9NUhR0bZr{><Oi829UifO^cT+g*3eoD7
zH`g?cc&N=UZ!Vq6`5`qepftz6SL4jVR>J3K^U=}<{Y=ynt6^caWYvGiW@_KhqAIb}
zdK|7{b_#tBno`@jj#`(awxdur4IxK0KUEoyJ6P<mD$me9fcB2dFux5{6Q)F)TiAQK
zkYv4_to=y0Wj17)jqnA&L=&__d+fkYT!cKgiRbh|8dOC~NL_B@SL*T9QJ22dV*mzY
zHLP2>xdf?TBB-O1HLa@b!gctjSCv|*jqZrYD2&EZyn1~9hW>Zy{-ygT9`8S~^Zus$
zYwj=57L30?;{IU!U*G%j^2Y(v&)r8E2T0uG?bS^ynkV=%s(%uM?q17So@+_R%A0em
z0a`Hz9STdGq&`2Sqdi0F5|M%ChNz6RSIj{oqJmf#_ywy<SSFH!VVMbF76OQ-XpR<W
zh1O_`cI<n|O>OCtCN;Sz8=Ud)|K&Th)r`~kntilQmCaSGStN+da2t1!o|VdgkB}ST
zkd-Zu%BY3`kd+^c@tBM$m<k&r2t*_*p)#tVDypLf+M@$HW@IBCz{o%hf)ztB3lh;E
zu?#D*8f&l?>#+fUL82Z&#GU=tor`ylCtl?C;+_3Fw{Bd$b@kRITN4-0;cv#`DHHU+
zkrReVd@c4MYm=**Kli5<^vETjAx_MHO40l)noDcLDw=Cs-P(-f<Uc~5FA(XF0T~ei
z$$mvtMio>=b<{;YjK(Ca#X1~=w3gdQLyK{5H60u+$2#B9d>YeCr1><1G@q7`=F<i=
zAEg62q7$ZJI=;jA_yIF<00(gqm*Ci)>mA(PSMqoB^34lpjvhREaMw2bpLN@&mGi%w
z|J}q<+zy^k!1(e<`3h(K7dI-_$Y|d;=u><K#&f!1?(`LhaYiYb#=EwhkCOZLM>)UT
z)Ad-HPFa2s#5pa$QYz(8nNINSi)Sdm;Nkin3c1IFw2!NrKW(n3uu7BD_7fxfki_a;
zuiT4}P_>5<E{*XSkWfjOE+btC8v>%h5rymDU)t&xY8GvfoRr4P%>}tJ?uKaN<kG$U
zhU+)AwSu+H=~Fb83!1)<wc54KE4786m~&ZKo|=|}8OeY=-4&R5Djx(QEsQE;U_2Dr
zkpp4Kg^y4KMG=k&NOjwy9ol0eCSd^<Vi6XHs8;11Bj@oDkMIQPv(lE45v5TEjnM>6
z(G0^e0^=|q6EG30u?Da2{dVunz29E%f4zS@?6(Ok_RrZr8OFWW)^D6MnMg1^8iJ(W
z(Gd8ubG;!L)4Enue7d1mwG2LrbFR^(lFapJaDL8aYIQUuX8~j3o)s|`>)s-zY)QRA
zy0=neS~mSt<wmt-369b%#Ifb%V$(4e9VI!7MoSpETNI)Ne{P;&p8kiTy=}lD>dw#2
zW6Zg@SF^5pU3N+1V@TFs<2`(ceoCaznvlJoxuj~&{#wzR)Hg2-G4d)olzeT+0|aH$
zLK>K_nAg2l5_l3{wS#1EE4D#O?Z6$}#Xa1IJn|tjWTT}Z2*JpN5M)Idav~RAKe*1H
zetZ4G$)o#@?%tk|u8BFLYGpf?ukMiT+P*!rnd-Tg*f_U#rphNxTq$$ivv(rSBpMO@
zha@`7%Jam@!!x?qKQr~s0%JY0F&>KS$N_!5w8%#0by;Ky9NHqCzA=9zTlugzO2T^%
zW7Sl~`oB%c`IGsPn$mtY8PjZk!rx8JM@;FWl^7*XiBd{1jNq@h_E{@)mk&%1^eC;V
z-Ob&+PV`tnq!R9JxyEFVMMP>5?UOB6pO|d9k=~c9PfoVn9wWUhS0*M~ZnXF1>XVZ#
zcivzx%k?_3b}KI>y-qy&m6wt-F<D)`<}A{Y%4Bu*lCwyAB0ZKH<vnM{WRK-WdCQqT
zG1+px<}8X&;7ij>wp=eci_*O0EK2d3Gh=eH<$6g^l;(A!m-IwwUMG6VS(N4_XHnj_
zGh=eHx_Zf3l((Ekd(W9M*<-oU-g2f-^vGGXBRL<KoNT#Xau)3^XVKnsW=u}DTrcT~
z_Lj3~Z|V8KL@zmu_Lj3~?>RFjC#$QMoJD)fS&a9b8I#kv^|{*IDwZx<xt3;M?^8X}
z6XQK=#$=Bg$Ji6(bz-vRdfn1u9LY?!2rpTSv1iTSZQb}1juS1-@m?k+Tb`GU#n?0E
z@!;}pk}XdrC0m}COvQN1RIK+*8IwJpy;%EX&n}ZZVj1f_N5*82y2g6Tkv`Gm+2?jl
z_Utk#+48*PCe~YS(sfC;Jeibid0ui8>uqa_^}aP3lRehveYa%KE|WZB8RtDe#$=DW
z#(C@g^obtN9^WI`v&*Dp%k$Ff#n}_)vApZOk}YrW40C)!uNmfFQu)X)$7`kLn|rHQ
zwTK1g43;$<-R;p1&Ns&e$UITk#H-;ZEntB;SN@~SmTAWsp1?_*!fBkrS=g7^Xn{Ff
zh>ZP>YfQb48@P#Esy1<fIj_$X#<h)<^!Y=^E-WyIa>Y-1FLx3bnB!9!KWDyM>$A{o
zO)-fX?fGE;UklBHdB<4)MdnU{bFa6x|Kho$sP<x!xrcM2W2V+?v3aPvHsRG`vo)u>
zSL<`YY*mkGuVipe>vPcDJ#g;l9qfy73=>`)G>?e3bYs<vYJ=XH<1Df+Rkcm;%sKR+
zU4CcIW}jG2`}>_at9`Vd7W&?t$y$p?)kYnBhR-1npU7|m8lWK>;R}3;#%Ka5*NkCv
zv_MO=LTj{v%x}lAJvyKxI-xVVfce?&G4IZuc=SL|^g?g+(N4ZM=iqnBdAR}FoA>70
zYQ^={e46CYCP({p)F#*R@ky8+=2I*{D_6;<vo<%*Cw0Q<Vm|vV&ij4|^J9J5rAe4m
z(dVF#HaFJNIiW>$pAG5t0#Cp2@k_|v%;(os3F$idj7=en?VB*Cr_W$N?OIn}sSm4Q
zxv0&_=#x?VI9R`XS=(94l3Gjq+~S*H&1bpns|{I9n+!|nGsLI6nmjo}eTHUJi)npk
z`&dnJChd;{w1=`<pE*8W5;@0bXt-J}q0b4gOFHQ@D44Hk?QzeikaY;n%a@azjSN#T
zyv#5q!>0^WG4vr`=^3VFC@&6#Gfcy<6hqFlm1+$A8P;PMz)<oR$WZdcg%5i=GBE7N
zef}%Ae0Z-F!$zo7y}Xw7zR#w@nYmNBUh*HIWwO0+IK%qA+V%{q+Nb06**?A1`dXg{
zgrTV;3~jYO4}Gk@HlAS8p@g>&eSFhySmo1EP3ZXEN6S7v(I;c&k<1%~(HMiV7>DtY
z_BDm!R7`f<mubFcUY6nhG)%_=?TbX8V(KJqOrlTK0_&Nw0SVZMP1uYr*otk~jvd;c
z@~FdFfxmr@r&L&`bPw9~zUI%huwb8*2|J2eQmP5tidnu5NipQStaHVLMl~${X;OT9
zL%-Lhz9n6n6q~uyCi8~3unbHi-=foadKXJSb(QvY7s~)&ji;)aReRgT(y8KP|E})+
z1F3ZV`&GHZ*ZW`MC7ej*0_UW4l*&p)r6$9wN^RvN<CVCrt^L^5QabxTEvQXfEk!p=
z9<5L}OD<D=MXTM-5@`yL)yiI_mwU7ze{pSjH%nOPmn)-E+&ihV+Dd-N@M&&+*y)j0
zZofHXLwAd+Y7z04keo>lSEyiw;}Ip5VEZG}Y1!f}#gY}1_8|){sRY@FX}lGS;1oP*
zF^j#J$39NZ&>!`%#O3_AMwwZQ=w`_zZQ0&NY1c}9$GB`jv}gHo<beA=?f8ZwONOkD
zUr0{gq8)+EYhO$l53NwE@&|u-xvAEum*p4j)8Uq}Z2cF8Tk>!C$`WYO0!LXQv~v9{
z4RTeAh^kO2s&ZVBh$<B;7l{s!s#v6W1#V)aDnx`AkE$45S=-ppawTO3d#FmQT4=oG
zBW>r`mU4>+TIksZTk<F5pJBORo<78KHcMJxd$EG_4HDt&tfmaV_S2pWv8*ty%A(C4
zYRP5&CKFu+)8{ahEA49;O1E;Fp>!)R7)n&$Gn8&6kmyQx(w(7nCj%HtcQT2gbSL{6
zN_X-*L+MUZWYN2m3=FvpqZDH(-BLw{bT5UJx{Ppnn(Mt>j%L`4VK750L!MKyF=ScF
zoGb~QhFN}AgHlqe16ziyjfq<sR?zYfx2#mlCJ@($DnA;%ccf)f>XJNz%&l(^RZ)Hp
z%KeH?oD$7EnQxS<{ef~(9_6Zkpj@O!xr!es=h`^jQ<=PeuB{`zy`FJimlx}{dFbUL
zK2WZ>vwnKHLLVp>=TVLy1gEKa)-P6x^(dF)1La~o%JDjy*X6nLq1P|N2g<qfp_lXj
zKsi@F^l~XaP|lSPy&RpI)X$^0;$+6T9_j4)_{&>w72}o;z1S=7#a!9Yi~a7sm@652
zvHRYOxpJWwyXn1{D;0XNE8dH_GNBhc@4c8S5qhzc-ix{Npcgyry_hQvda+-;7jtDH
ztvw4nycLUf%Yt5PllNk-Ea=77dN1b6f?jO7_hPOr=*52YUd)vRz1TeO#avm?i~Zoe
zm@5l<v1#6mxw4=ao8-NiD+_wDG2V;0vXIH1g>SqSlZ)p@7poT=<h__H3wp7>-ix`i
zpcm`my_hQtda=&li@CC(7i;Uim@5l<vF6^3xw4=a`@(xMR~GbQb-fpJWkE0YsrO>8
zEa-<>RlOC9bjyNXti1PPt}N)qN_sEm%7R`j#(ObW7W87pycct2K`&OoUMy?UeRZVU
zzB*V7j<>{kbk32yP-C<-eL11_<-~X{#}$9QSSH8A7}(pf90TRpFw+tqmNFObTHxR#
zn^t_QC4Z2d5$wcn?8QDD)cS0-jI#e`-;X0Xwi(T-?-<@~KbE(ejpuD?6M6sOB;MgS
znN#1X91nfV(d9IbnWpRCiz{DpDPMFb-%%&uF(%(Pm3I#BtDei5@O<9KxR8^QMfwN$
z<<r3OIZpY!pnT3uKItSM3gP|tk@okb%UfjSO_1{5xVgOSC2tjyH;%~rAml}CdF4=E
z?V~=*6s^0(H&|;t+Z?3zo^38{UBbj=SP7m)*^I5&hMm}lBRGlkxPlwFhu`rEywy)p
zIWCinBD|GI;kgyw7QtJ|SSu7jQA8mYrBDIYc=wP}i;;S0jOJ*CHfRSq*o#LW^uquQ
z0&h%F<Scj?hGPUqVVtJ!une$H8csb?bOhHDa0v2)e;-4Bvrm3ZE?^W#hnR_*kRL4@
z0Qm{BJY-US`$~S_%7=`~uT;qoQOVCC$xj~1&l<^(70K@r4Tk&%PQU~%n1ElavGOxD
z6r>5r&z{IHn*<Yj`GFGoy^PoRgk~W>ZE*(j+X(XO2l4|4@*4*7GX?VH_wxPrxouoA
z!AZzhnaj78%NLTXG^LuD0{O;i`BG{5-sqv&H=TDd$hQj17YEDt)5=%S%D2qQ7s<+Z
z#md*g$~V5s*R|%R4a%2v%9ljScRk8iHcFe6um6+pJ(Ta@lW)<J?_DcJ8<lVLDlwZC
z!>`Cko0V^Ik}qlso6CwI!OD$%2T(8ULLd!VzI8{w2u8l^r7h$eTi!sv9%KaMi#@6=
z;<^*$iz4K^Amr;F<QpC2OB;qkzA->P{NG}Qd}^NYb@~U7<x`&W$wB!Xn|vnCDjzVD
z4~xkMzvM$)@<FT#=Q+u^ARo)oKanIKt&mSE$ouQ%J?`@MW_hoxy!TJuQYLRikyroa
z<$QUOUS5heUN$Cc3fWO+;b$zxa!@a271yeEuyq9`aAzYnVGG!Lxvuc{Y~E<wd$%RG
zR%s3&dtAntdQ&^O+mbKn2?d_w8J>eJT6w9RoWlch@3HU>H%*<(c+EYQ+&Ot0mqH(<
zu!SqUGfCmyND38Js4Q>fl%A`{T=Peke2nJT=FK%{2r9;CI3f^<XvApmQ}|}m5?T86
zd1jw<6`58El~Dy%wa|IyOzCPfS_hxubJW#7ooCJ(+Jw=jXoePOiPmU~_S&p@<{a9>
zy_U>HzUF>^48&jz#Wxs<(HMiV7>@}Fm4C4u_qE0kWP`>8Y{pq!!r#b0h)*8ib96;d
z%)lNTz!Rhz%od4e_!?IHggrQbM@V5M<A_2n)J1<xv$6$$&&V!Z#&rY@A$*8I6ZFE@
zSdIfYh8M^_lsA>58hW80W?>_?;RgPOX&4(1DxfO5U=+q<?J%D3H%4y4?;AFKltLR!
z!nfFpyLg0*!`TBN8com_1F;Z0uosVzVg$=WG-{(B210&ab|&`XDsEZ1@uQQBLn*X@
z{Fv!*EW>^r!Ak^=q5>#|hG>eRSccU&i>G*nEOf4wP#s+{8WXS@M{o+SVNFlZn;E6i
z2+bhBM7S7BaRLwV6hZXL;fO(PbV7H;V;m-9Jx<^(O!VBL$c5^VAFu0(iTD{S#*zP(
zj2yyoyhI>fy!<X*5ag%)V(=yUpg(3|Bevlx-r_w9PGECF4Rps?Ou}*;z)?Jh{D@n6
zG)Mo5<loB3LhQg^+=malj#P-mr}!NGF%92i2QK0&Hq%MTFC$%qI)xqqx$p_vp))37
z307hi4&ww)TDg&*Fp~XIFg;xaV(}&Vpg-ndGj`xE<abz7pb)Cy6O6?oEX8R&f&7?C
z7WQG$_!xE34ZYEp{nrp!hja5IPT@S{hYG@w2lD#^gD?~;a1h7v1X*UV38D<XKr@WM
zDy+wK__41`iwcl^Uk}W|X6yi8JZ)7{vJ>=28FWN9Ou$BL!%O5~r<fZR(G2ocw^Ohc
zJ8=%rAUjY0ne1R;d;#oW#=pUL*o%WWgjaYwll*6##m*6x&=?~z4)bsXCvhJcXS3Fb
zf$<HbHpaJO51u1*4!K7i48Rbq!&Tfu#`!!KDq_n*cC_;KW)IP4IhzlrVJ9x(8pf?)
zQ^Zo#SxI9;JQl5{9QGpR7J5Pyz@Z)Ve7J?j@Y%_wMx4f9@YzL$4pSlALW39Fq&Y&^
z5R4)y2Kgd@ny8OLS1E`u(fSr!3(i44OttL=3qr9())*U+D`UdjQ<j20TDfzU%vy!>
zmciPIbCz0K*ab_ygoPI@A*#0bS4*Ah)m0iVWPddUn;@?SswU18P!JJ_g1kH?FMG*L
zUh=YpymTfnN5~5c2eqabEtyjc&k&OFebDfPffp^!R5e1objecE%k}Ggmo2;6COu`5
ztKa@gbETfrU1`l}kozS}-X-=A^CJFXUL@ZeZ^@#yyJ9I=#B-TZ|M0kIZQB*g7?0O?
zBeh*uEumV^-z=4q&55|i)BN_ErCPE%^JGq~tClv&=A^sMoQqezJZ9*1o~PEeWX}_&
zJ(D@xz0GNPgE>X7dwI-BnKPR?9+`;Z=T2T+w=_>SIa+Id!_wTNzEQIFS+oZ?EY&<-
z%~l_>{3bUo1(Q93br03n-1JhX&#qdsYGJp$Jm%B8Jm#xgmi!(|;~gh=c>aC2ENPR?
z$$86?b^2{ffXAB1o0f7u<cU7MZSk`v&3`m!(jRJXy!+@M=EeNOyx0%Vv+^#>4?kh?
zf0*~-4THA`eeiMeZcf+pMJn2(tGt?9>yD*xv80jU-9T;yJ?9Z6t;KhoKySZesaD8y
z?uX+Pqc@itcat@5-e&Y0IoWzQS@L7FmiH}L6Vl$ZEHr749$1=qBsxa3H=CXhEd@O?
z&DCga`NL#QS>Biv`p8nzBlodMLX&izc;C$jqY?WLZ6=mBlZO6F-a^a!O_bu?mnHLl
z7A1{#^^s+SN0nnaBkA+l(mh$-KHP?4|Dg%V^SILOxlSK$LUBIQhO{gheX`d5(BtF&
zAzpF+5HH?VEd6LE?a`BD+a@ndC8YV?^3Xq_;5*9&)p}tdC)tP}#Lj52ZV*GU4_k+F
zXuwgmI698w$MMYLFtGziZK9)t`~aS)H7}_N+&3I$++DYo90YNr1hXrzw~aj@*0bxD
z-MFVaOuOsYW6NG!1mgT@j>;}_K!XdH*}Y%kAeg<isBoRLxEmZ4VFng>u-vqAKyy=f
zk)bHS?p;)ed~HGA+Z;b)w3}^=N8izPU?}F}I<ns7kO4LvK$?40#9=nWw`hK!6D(on
z<{;jo@dK`FAj3nh@Oa4oh=UiDdCZ9s`aRLfr_KF-*U1N@=OUUD{J{=88JeDPgoiOW
zgftwx)Wlp^<>n3tF(Tw8M`Jhv%PWqYQ4;C?;4&P3c}>XQ@IageZ$DDj!0#;wDOe55
zUmO%eK03Ua1EPL^b5#G1qd8o|?Dwo7mp__flu5NJRn2_70M&f>a0%{Uv4zhrqP;H{
z7I7JGx$w6uB_Gh?vyYEZn+uR4g3lffL=>Mh?1(u?L=+bZFT;<I6ozrFr5c8Df#V~&
zq`^PAH7VMbt>)|rwamU|la`N5m8HvZB2bQle1(H}`Hdmvd;Gw(nV5yyn1i`Yr#&n4
z8DD^f&?e6|hv(eH)U{a6lr;?3VFT84KY`&!?fPskZR}xm7j|Md_Tm@p$388~9CHrq
z2}Y0OBu;^*uAIXeoW*%uz^}Lnn!Nqm=_Q723d(P|hU=i|E3{^X7Ov2G`FJi#2QAco
zot1{iM|C+Q2MtW2VQC3-%wtl?WuSCOuT`IGE~^&RM$9!Av)C{7BxFtLdr7rQ|8WsL
z2I>8V^c{m8_A``g5=}<wj*TP#<C#w%V)PxIrf@=y8aCbdc^v4v+0VG)3FGd%OCQ3G
zQjKso*~ZBbcJ4^te@K6lVkhS+hxNY0=tIJfaPmZ8|0IAu1n!|DaH9#PsC}JF6a-Jh
zd`KT+CW!L2C(Y49`jB5`0@2M6={q7(4f3@ld5HGs7>TWT?hr-vOQSvJLHdtt2q7c&
zF%|ofn*O3ZX5mkVtYpuI1Nd9|kS|G}*nsq;a2D1fA1Ph!P@1%gedtSicOeb^g{Y4?
zxQ{{f8Da<2XS#|EN8=z;(`9^uIk5L3w_oV}M;7{x-Z%~)`VHwn($a5;C)i8>5kS8&
z2WOC)zGF4yBmE7q3O@834e<n<5~=9loOZrrKCWWcd(uqbF-Pw|lqzQWkUR7rRp>Xq
z!EG#}?|6!K^c$;j34hXm?4<wrp1wmq@m-6)Bb<I?03zrwI$$>bLL~jhC8VM6$U(nR
z)zN<prT_SXZNcb6Qm~y2SG3ImzWuFVGQA0!qB&Zi6<VV$+My$+Lq0})373(U7c$Z#
z47m`2c36l-cm(-0ZWA<xeA;#bwqZN&<3R@1PsvEf76vM(MFjYk)S9L9O{sMW@ICOq
zu3Jm$;8~|9O!MKn|AV@vwbw1!t$xP?edDy>0)727-?YAm?DdoQN$iBg>i^?-*{dXZ
zG%G$@OaRp(T&WW#r}HiEV=?iST_){ZkZ*k&(PuSOEj-v5O&A;OyQZ}2tCg<jTb5s&
zdtA@AZOkXx>-P%{4=qM>;9mumX3Q`p*w*d;$}=s73+JzL@)_y!W@T<uvo^23FNgQ_
zeZ#fq^?eH$9hWXdX;C~xc{eyjc^s5gIaoYYDPK8M32qZggUYUaRw%oYP&T`gSR=bq
zsioGUfp2iZ>!oumR~qJ4j#tm4^bO0)*B=y6(uEdODt%Q@xtynv(mJY;Qa-kjV)fOw
zHt-Dz%vLE<nU*R_S)4ms`94jo_N;+#ku;sYDyx)>FQ+W)TS1Fx=o^u*e1WRUfzay8
z52b4;(`(e=f^`jLUf3s!PxG3}krcI*ALDB)bq3egzH8`Px{#&F7mEClo2__LrAOLk
z%9M1?l}SZgC=DvKP%71Ip~!FjD4(=a)DCU5oQ-_5q>0JbQHkx+QMuW>llEyN-_Qo(
zMdKCu=w7yBJ(L5@dn$Q~_fl@;@2xb7=&i_)0M4k?M`;-Pl``eizRKajeU*v+{gjQ>
z`Y9)x^iz&i|60*f4^T$;7@+jYIZ&xpd!Uke;6TNcLwnlDH{<mFmW&B|`&&w>Q--W6
zJxr-nY?yL7-#1E%awC*yRYxl0YmZdq!`;65#weo;jZye&Po;3_@yhBJ;}!XZpk^&5
zE2GO#Q7(3xqWwQhjAT<ax+y)E!7OAh!vyDf3|9X082Esf#uRcbU;u4nJSV)6K}~fb
z!vuqc3||ZuF}#&s%&<&y`h`d~x#^!G*+h(9Wvpe$iC)L>*m(oP|FjJZa-16(`b#!3
zEaKkGFjapG!>80OzzKq_46z*B7(n|Wm*`Fph+>lycS_&S(CKiHVP^6{hA#7C48To<
z3^o!cr%#Mx({xIVInPj{dVxWg<06B;`bCBXrWYAN+t=NAFEfC4JHM{K#vmJeouM@L
z2E&Wen+%U-Z!w$<xXlp9c8B4O@?C}?gXuESY<9x=#;+Ov+r4H8_kYXK8S|Fmo8Y_Y
zjnQnrO8kDm7~XsQW?;$v&CnF|hhb6hABLcMU{MSNkV0?zpJ+BqR?vL*iS1S~Y^Rxw
z58rlAFLBx2mc=j$nD9aCI<tV4kOp{}APWPt0BG4Ds;Jg>i+DDFMlm51u)%Pm5?CBp
z@@$`*z?Q=#sta66S<H~iP{g1BT$NhNkjaq3kUHHUnaxvE1h`x^guw$S?8p$z5CvB7
gkRb^;ss&OU%uvOU$dCiXncEj6vxzV*OJidK0M8M}%K!iX

diff --git a/doc/DIAMETER_ProtocolModule_Generator_CNL113462_PRI.doc b/doc/DIAMETER_ProtocolModule_Generator_CNL113462_PRI.doc
index c68861af6d3aebdec82dc3d44529b08da84ea95e..7ae08b098f39fdfff65b9c01265e422ad7f1aa7f 100644
GIT binary patch
literal 204288
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%0DM(M$$#4
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

literal 164864
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
G;Qs?9vJ9XA

diff --git a/src/AAAInterface_3GPP_TS29272_940.ddf b/src/AAAInterface_3GPP_TS29272_940.ddf
index c7f0a69..8accb60 100644
--- a/src/AAAInterface_3GPP_TS29272_940.ddf
+++ b/src/AAAInterface_3GPP_TS29272_940.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29272_940.ddf
 //  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V9.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/AAAInterface_3GPP_TS29272_950.ddf b/src/AAAInterface_3GPP_TS29272_950.ddf
index 2f6bb07..584b858 100644
--- a/src/AAAInterface_3GPP_TS29272_950.ddf
+++ b/src/AAAInterface_3GPP_TS29272_950.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29272_950.ddf
 //  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V9.5.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 
 
diff --git a/src/AAAInterface_3GPP_TS29272_970.ddf b/src/AAAInterface_3GPP_TS29272_970.ddf
index 2b97450..e35c46f 100644
--- a/src/AAAInterface_3GPP_TS29272_970.ddf
+++ b/src/AAAInterface_3GPP_TS29272_970.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29272_970.ddf
 //  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V9.7.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 
 
diff --git a/src/AAAInterface_3GPP_TS29272_a30.ddf b/src/AAAInterface_3GPP_TS29272_a30.ddf
index 0f71f85..f6693df 100644
--- a/src/AAAInterface_3GPP_TS29272_a30.ddf
+++ b/src/AAAInterface_3GPP_TS29272_a30.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29272_a30.ddf
 //  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V10.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 
 
diff --git a/src/AAAInterface_3GPP_TS29272_a60.ddf b/src/AAAInterface_3GPP_TS29272_a60.ddf
index 90d61d0..6ff3e0c 100644
--- a/src/AAAInterface_3GPP_TS29272_a60.ddf
+++ b/src/AAAInterface_3GPP_TS29272_a60.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29272_a60.ddf
 //  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V10.6.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 
 
diff --git a/src/AAAInterface_3GPP_TS29272_b60.ddf b/src/AAAInterface_3GPP_TS29272_b60.ddf
index b4b0dff..a6ee726 100644
--- a/src/AAAInterface_3GPP_TS29272_b60.ddf
+++ b/src/AAAInterface_3GPP_TS29272_b60.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29272_b60.ddf
 //  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V11.6.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 
 
diff --git a/src/AAAInterface_3GPP_TS29272_bd0.ddf b/src/AAAInterface_3GPP_TS29272_bd0.ddf
index e928eec..9005564 100644
--- a/src/AAAInterface_3GPP_TS29272_bd0.ddf
+++ b/src/AAAInterface_3GPP_TS29272_bd0.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29272_bd0.ddf
 //  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V11.13.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 
 
diff --git a/src/AAAInterface_3GPP_TS29272_d70.ddf b/src/AAAInterface_3GPP_TS29272_d70.ddf
new file mode 100644
index 0000000..b52e099
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_d70.ddf
@@ -0,0 +1,1177 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder - initial implementation and initial documentation
+*   Kalman Mikecz
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_d70.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V13.7.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V13_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V13.7.0 - Evolved Packet System (EPS); Mobility Management Entity (MME) and Serving GPRS Support Node (SGSN) related interfaces based on Diameter protocol
+
+// 3GPP TS 29.272 V13.7.0
+// 7.2.2
+type enumerated Command_Code 
+{
+  Update_Location            (316),
+  Cancel_Location            (317),
+  Authentication_Information (318),
+  Insert_Subscriber_Data     (319),
+  Delete_Subscriber_Data     (320),
+  Purge_UE                   (321),
+  Reset                      (322),
+  Notify                     (323),
+  ME_Identity_Check          (324),
+  Update_VCSG_Location   (8388638),
+  Cancel_VCSG_Location   (8388642)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.2
+// AVP: Subscription-Data (1400) 3GPP (10415)
+type AVP_Grouped Subscription_Data;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.3
+// AVP: Terminal-Information (1401) 3GPP (10415)
+type AVP_Grouped Terminal_Information;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.4
+// AVP: IMEI (1402) 3GPP (10415)
+type AVP_UTF8String IMEI;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.5
+// AVP: Software-Version (1403) 3GPP (10415)
+type AVP_UTF8String Software_Version;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.77
+// AVP: QoS-Subscribed (1404) 3GPP (10415)
+type AVP_OctetString QoS_Subscribed;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.7
+// AVP: ULR-Flags (1405) 3GPP (10415)
+type AVP_Unsigned32 ULR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.8
+// AVP: ULA-Flags (1406) 3GPP (10415)
+type AVP_Unsigned32 ULA_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.9
+// AVP: Visited-PLMN-Id (1407) 3GPP (10415) 
+type AVP_OctetString Visited_PLMN_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.11
+// AVP: Requested-EUTRAN-Authentication-Info (1408) 3GPP (10415)
+type AVP_Grouped Requested_EUTRAN_Authentication_Info;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.12
+// AVP: Requested-UTRAN-GERAN-Authentication-Info (1409) 3GPP (10415)
+type AVP_Grouped Requested_UTRAN_GERAN_Authentication_Info;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.14
+// AVP: Number-Of-Requested-Vectors (1410) 3GPP (10415)
+type AVP_Unsigned32 Number_Of_Requested_Vectors;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.15
+// AVP: Re-Synchronization-Info (1411) 3GPP (10415)
+type AVP_OctetString Re_Synchronization_Info;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.16
+// AVP: Immediate-Response-Preferred (1412) 3GPP (10415)
+type AVP_Unsigned32 Immediate_Response_Preferred;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.17
+// AVP: Authentication-Info (1413) 3GPP (10415)
+type AVP_Grouped Authentication_Info;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.18
+// AVP: E-UTRAN-Vector (1414) 3GPP (10415)
+type AVP_Grouped E_UTRAN_Vector;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.19
+// AVP: UTRAN-Vector (1415) 3GPP (10415)
+type AVP_Grouped UTRAN_Vector;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.20
+// AVP: GERAN-Vector (1416) 3GPP (10415)
+type AVP_Grouped GERAN_Vector;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.21
+// AVP: Network-Access-Mode (1417) 3GPP (10415)
+type enumerated Network_Access_Mode
+{
+  PACKET_AND_CIRCUIT (0),
+  Reserved           (1),
+  ONLY_PACKET        (2)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.22
+// AVP: HPLMN-ODB (1418) 3GPP (10415)
+type AVP_Unsigned32 HPLMN_ODB;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.23
+// AVP: Item-Number (1419) 3GPP (10415)
+type AVP_Unsigned32 Item_Number;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.24
+// AVP: Cancellation-Type (1420) 3GPP (10415)
+type enumerated Cancellation_Type
+{
+  MME_UPDATE_PROCEDURE     (0),
+  SGSN_UPDATE_PROCEDURE    (1),
+  SUBSCRIPTION_WITHDRAWAL  (2),
+  UPDATE_PROCEDURE_IWF     (3),
+  INITIAL_ATTACH_PROCEDURE (4)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.25
+// AVP: DSR-Flags (1421) 3GPP (10415)
+type AVP_Unsigned32 DSR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.26
+// AVP: DSA-Flags (1422) 3GPP (10415)
+type AVP_Unsigned32 DSA_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.29
+// AVP: Subscriber-Status (1424) 3GPP (10415)
+type enumerated Subscriber_Status
+{
+  SERVICE_GRANTED             (0),
+  OPERATOR_DETERMINED_BARRING (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.30
+// AVP: Operator-Determined-Barring (1425) 3GPP (10415)
+type AVP_Unsigned32 Operator_Determined_Barring;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.31
+// AVP: Access-Restriction-Data (1426) 3GPP (10415)
+type AVP_Unsigned32 Access_Restriction_Data;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.32
+// AVP: APN-OI-Replacement (1427) 3GPP (10415)
+type AVP_UTF8String APN_OI_Replacement;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.33
+// AVP: All-APN-Configurations-Included-Indicator (1428) 3GPP (10415)
+type enumerated All_APN_Configurations_Included_Indicator
+{
+  All_APN_CONFIGURATIONS_INCLUDED            (0),
+  MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.34
+// AVP: APN-Configuration-Profile (1429) 3GPP (10415)
+type AVP_Grouped APN_Configuration_Profile;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.35
+// AVP: APN-Configuration (1430) 3GPP (10415)
+type AVP_Grouped APN_Configuration;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.38
+// AVP: VPLMN-Dynamic-Address-Allowed (1432) 3GPP (10415)
+type enumerated VPLMN_Dynamic_Address_Allowed
+{
+  NOTALLOWED (0),
+  ALLOWED    (1)  
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.39
+// AVP: STN-SR (1433) 3GPP (10415)
+type AVP_OctetString STN_SR;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.83
+// AVP: Alert-Reason (1434) 3GPP (10415)
+type enumerated Alert_Reason;
+{
+  UE_PRESENT          (0),
+  UE_MEMORY_AVAILABLE (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.78
+// AVP: CSG-Subscription-Data (1436) 3GPP (10415)
+type AVP_Grouped CSG_Subscription_Data;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.79
+// AVP: CSG-Id (1437) 3GPP (10415)
+type AVP_Unsigned32 CSG_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.44
+// AVP: PDN-GW-Allocation-Type (1438) 3GPP (10415)
+type enumerated PDN_GW_Allocation_Type
+{
+  STATIC  (0),
+  DYNAMIC (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.80
+// AVP: Expiration-Date (1439) 3GPP (10415)
+type AVP_Time Expiration_Date;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.46
+// AVP: RAT-Frequency-Selection-Priority-ID (1440) 3GPP (10415)
+type AVP_Unsigned32 RAT_Frequency_Selection_Priority_ID;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.47
+// AVP: IDA-Flags (1441) 3GPP (10415)
+type AVP_Unsigned32 IDA_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.48
+// AVP: PUA-Flags (1442) 3GPP (10415)
+type AVP_Unsigned32 PUA_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.49
+// AVP: NOR-Flags (1443) 3GPP (10415)
+type AVP_Unsigned32 NOR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.50
+// AVP: User-Id (1444) 3GPP (10415)
+type AVP_UTF8String User_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.51
+// AVP: Equipment-Status (1445) 3GPP (10415)
+type enumerated Equipment_Status
+{
+  WHITELISTED (0),
+  BLACKLISTED (1),
+  GREYLISTED  (2)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.52
+// AVP: Regional-Subscription-Zone-Code (1446) 3GPP (10415)
+type AVP_OctetString Regional_Subscription_Zone_Code;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.53
+// AVP: RAND (1447) 3GPP (10415)
+type AVP_OctetString RAND;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.54
+// AVP: XRES (1448) 3GPP (10415)
+type AVP_OctetString XRES;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.55
+// AVP: AUTN (1449) 3GPP (10415)
+type AVP_OctetString AUTN;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.56
+// AVP: KASME (1450) 3GPP (10415)
+type AVP_OctetString KASME;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.98
+// AVP: Trace-Collection-Entity (1452) 3GPP (10415)
+type AVP_Address Trace_Collection_Entity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.59
+// AVP: Kc (1453) 3GPP (10415)
+type AVP_OctetString Kc;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.60
+// AVP: SRES (1454) 3GPP (10415)
+type AVP_OctetString SRES;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.62
+// AVP: PDN-Type (1456) 3GPP (10415)
+type enumerated PDN_Type;
+{
+  IPv4 (0),
+  IPv6 (1),
+  IPv4v6 (2),
+  IPv4_OR_IPv6 (3)  
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.81
+// AVP: Roaming-Restricted-Due-To-Unsupported-Feature (1457) 3GPP (10415)
+type enumerated Roaming_Restricted_Due_To_Unsupported_Feature
+{
+  Roaming_Restricted_Due_To_Unsupported_Feature (0)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.63
+// AVP: Trace-Data (1458) 3GPP (10415)
+type AVP_Grouped Trace_Data;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.64
+// AVP: Trace-Reference (1459) 3GPP (10415)
+type AVP_OctetString Trace_Reference;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.67
+// AVP: Trace-Depth (1462) 3GPP (10415)
+// FS 3.3.2.10
+type AVP_Unsigned32 Trace_Depth;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.68
+// AVP: Trace-NE-Type-List (1463) 3GPP (10415)
+type AVP_OctetString Trace_NE_Type_List;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.69
+// AVP: Trace-Interface-List (1464) 3GPP (10415)
+type AVP_OctetString Trace_Interface_List;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.70
+// AVP: Trace-Event-List (1465) 3GPP (10415)
+type AVP_OctetString Trace_Event_List;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.71
+// AVP: OMC-Id (1466) 3GPP (10415)
+type AVP_OctetString OMC_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.72
+// AVP: GPRS-Subscription-Data (1467) 3GPP (10415)
+type AVP_Grouped GPRS_Subscription_Data;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.73
+// AVP: Complete-Data-List-Included-Indicator (1468) 3GPP (10415)
+type enumerated Complete_Data_List_Included_Indicator
+{
+  All_PDP_CONTEXTS_INCLUDED            (0),
+  MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.74
+// AVP: PDP-Context (1469) 3GPP (10415)
+type AVP_Grouped PDP_Context;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.75
+// AVP: PDP-Type (1470) 3GPP (10415)
+type AVP_OctetString PDP_Type;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.6
+// AVP: 3GPP2-MEID (1471) 3GPP (10415)
+type AVP_OctetString 3GPP2_MEID;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.82
+// AVP: Specific-APN-Info (1472) 3GPP (10415)
+type AVP_Grouped Specific_APN_Info;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.84
+// AVP: LCS-Info (1473) 3GPP (10415)
+type AVP_Grouped LCS_Info;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.85
+// AVP: GMLC-Number (1474) 3GPP (10415)
+type AVP_OctetString GMLC_Number;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.86
+// AVP: LCS-PrivacyException (1475) 3GPP (10415)
+type AVP_Grouped LCS_PrivacyException;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.87
+// AVP: SS-Code (1476) 3GPP (10415)
+type AVP_OctetString SS_Code;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.88
+// AVP: SS-Status (1477) 3GPP (10415)
+type AVP_OctetString SS_Status;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.89
+// AVP: Notification-To-UE-User (1478) 3GPP (10415)
+type enumerated Notification_To_UE_User
+{
+  NOTIFY_LOCATION_ALLOWED                             (0),
+  NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE     (1),
+  NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE (2),
+  LOCATION_NOT_ALLOWED                                (3)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.90
+// AVP: External-Client (1479) 3GPP (10415)
+type AVP_Grouped External_Client;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.91
+// AVP: Client-Identity (1480) 3GPP (10415)
+type AVP_OctetString Client_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.92
+// AVP: GMLC-Restriction (1481) 3GPP (10415)
+type enumerated GMLC_Restriction
+{
+  GMLC_LIST    (0),
+  HOME_COUNTRY (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.93
+// AVP: PLMN-Client (1482) 3GPP (10415)
+type enumerated PLMN_Client
+{
+  BROADCAST_SERVICE            (0),
+  O_AND_M_HPLMN                (1),
+  O_AND_M_VPLMN                (2),
+  ANONYMOUS_LOCATION           (3),
+  TARGET_UE_SUBSCRIBED_SERVICE (4)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.94
+// AVP: Service-Type (1483) 3GPP (10415)
+type AVP_Grouped Service_Type;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.95
+// AVP: ServiceTypeIdentity (1484) 3GPP (10415)
+type AVP_Unsigned32 ServiceTypeIdentity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.96
+// AVP: MO-LR (1485) 3GPP (10415)
+type AVP_Grouped MO_LR;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.99
+// AVP: Teleservice-List (1486) 3GPP (10415)
+type AVP_Grouped Teleservice_List;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.100
+// AVP: TS-Code (1487) 3GPP (10415)
+type AVP_OctetString TS_Code;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.101
+// AVP: Call-Barring-Info (1488) 3GPP (10415)
+type AVP_Grouped Call_Barring_Info;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.102
+// AVP: SGSN-Number (1489) 3GPP (10415)
+type AVP_OctetString SGSN_Number;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.103
+// AVP: IDR-Flags (1490) 3GPP (10415)
+type AVP_Unsigned32 IDR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.104
+// AVP: ICS-Indicator (1491) 3GPP (10415)
+type enumerated ICS_Indicator
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.106
+// AVP: IMS-Voice-Over-PS-Sessions-Supported (1492) 3GPP (10415)
+type enumerated IMS_Voice_Over_PS_Sessions_Supported
+{
+  NOT_SUPPORTED (0),
+  SUPPORTED     (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.107
+// AVP: Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions (1493) 3GPP (10415)
+type enumerated Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions
+{
+  NOT_SUPPORTED (0),
+  SUPPORTED     (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.108
+// AVP: Last-UE-Activity-Time (1494) 3GPP (10415)
+type AVP_Time Last_UE_Activity_Time;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.110
+// AVP: EPS-User-State (1495) 3GPP (10415)
+type AVP_Grouped EPS_User_State;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.111
+// AVP: EPS-Location-Information (1496) 3GPP (10415)
+type AVP_Grouped EPS_Location_Information;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.112
+// AVP: MME-User-State (1497) 3GPP (10415)
+type AVP_Grouped MME_User_State;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.113
+// AVP: SGSN-User-State (1498) 3GPP (10415)
+type AVP_Grouped SGSN_User_State;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.114
+// AVP: User-State (1499) 3GPP (10415)
+type enumerated User_State
+{
+  DETACHED                           (0),
+  ATTACHED_NOT_REACHABLE_FOR_PAGING  (1),
+  ATTACHED_REACHABLE_FOR_PAGING      (2),
+  CONNECTED_NOT_REACHABLE_FOR_PAGING (3),
+  CONNECTED_REACHABLE_FOR_PAGING     (4),
+  NETWORK_DETERMINED_NOT_REACHABLE   (5)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.115
+// AVP: MME-Location-Information (1600) 3GPP (10415)
+type AVP_Grouped MME_Location_Information;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.116
+// AVP: SGSN-Location-Information (1601) 3GPP (10415)
+type AVP_Grouped SGSN_Location_Information;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.117
+// AVP: E-UTRAN-Cell-Global-Identity (1602) 3GPP (10415)
+type AVP_OctetString E_UTRAN_Cell_Global_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.118
+// AVP: Tracking-Area-Identity (1603) 3GPP (10415)
+type AVP_OctetString Tracking_Area_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.119
+// AVP: Cell-Global-Identity (1604) 3GPP (10415)
+type AVP_OctetString Cell_Global_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.120
+// AVP: Routing-Area-Identity (1605) 3GPP (10415)
+type AVP_OctetString Routing_Area_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.121
+// AVP: Location-Area-Identity (1606) 3GPP (10415)
+type AVP_OctetString Location_Area_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.122
+// AVP: Service-Area-Identity (1607) 3GPP (10415)
+type AVP_OctetString Service_Area_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.123
+// AVP: Geographical-Information (1608) 3GPP (10415)
+type AVP_OctetString Geographical_Information;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.124
+// AVP: Geodetic-Information (1609) 3GPP (10415)
+type AVP_OctetString Geodetic_Information;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.125
+// AVP: Current-Location-Retrieved (1610) 3GPP (10415)
+type enumerated Current_Location_Retrieved
+{
+  ACTIVE_LOCATION_RETRIEVAL (0)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.126
+// AVP: Age-Of-Location-Information (1611) 3GPP (10415)
+type AVP_Unsigned32 Age_Of_Location_Information;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.127
+// AVP: Active-APN (1612) 3GPP (10415)
+type AVP_Grouped Active_APN;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.128
+// AVP: Error-Diagnostic (1614) 3GPP (10415)
+type enumerated Error_Diagnostic
+{
+  GPRS_DATA_SUBSCRIBED    (0),
+  NO_GPRS_DATA_SUBSCRIBED (1),
+  ODB_ALL_APN (2),
+  ODB_HPLMN_APN (3),
+  ODB_VPLMN_APN (4)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.129
+// AVP: Ext-PDP-Address (1621) 3GPP (10415)
+type AVP_Address Ext_PDP_Address;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.130
+// AVP: UE-SRVCC-Capability (1615) 3GPP (10415)
+type enumerated UE_SRVCC_Capability
+{
+  UE_SRVCC_NOT_SUPPORTED	(0),
+  UE_SRVCC_SUPPORTED	 	(1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.131
+// AVP: MPS-Priority (1616) 3GPP (10415)
+type AVP_Unsigned32 MPS_Priority;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.132
+// AVP: VPLMN-LIPA-Allowed (1617) 3GPP (10415)
+type enumerated VPLMN_LIPA_Allowed
+{
+  LIPA_NOTALLOWED (0),
+  LIPA_ALLOWED (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.133
+// AVP: LIPA-Permission (1618) 3GPP (10415)
+type enumerated LIPA_Permission
+{
+  LIPA_PROHIBITED (0),
+  LIPA_ONLY (1),
+  LIPA_CONDITIONAL (2)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.134
+// AVP: Subscribed-Periodic-RAU-TAU-Timer (1619) 3GPP (10415)
+type AVP_Unsigned32 Subscribed_Periodic_RAU_TAU_Timer;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.75A
+// AVP: Ext-PDP-Type (1620) 3GPP (10415)
+type AVP_OctetString Ext_PDP_Type;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.135
+// AVP: SIPTO-Permission (1613) 3GPP (10415)
+type enumerated SIPTO_Permission
+{
+  SIPTO_ALLOWED    (0),
+  SIPTO_NOTALLOWED (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.136
+// AVP: MDT-Configuration (1622) 3GPP (10415)
+type AVP_Grouped MDT_Configuration;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.137
+// AVP: Job-Type (1623) 3GPP (10415)
+type enumerated Job_Type 
+{
+  IMMEDIATE_MDT_ONLY 		(0),
+  LOGGED_MDT_ONLY 		(1),
+  TRACE_ONLY 			(2),
+  IMMEDIATE_MDT_AND_TRACE 	(3)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.138
+// AVP: Area-Scope (1624) 3GPP (10415)
+type AVP_Grouped Area_Scope;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.139
+// AVP: List-Of-Measurements (1625) 3GPP (10415)
+type AVP_Unsigned32 List_Of_Measurements;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.140
+// AVP: Reporting-Trigger (1626) 3GPP (10415)
+type AVP_Unsigned32 Reporting_Trigger;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.141
+// AVP: Report-Interval (1627) 3GPP (10415)
+type enumerated Report_Interval
+{
+  RI_UMTS_250ms		(0), 
+  RI_UMTS_500ms		(1), 
+  RI_UMTS_1000ms 	(2), 
+  RI_UMTS_2000ms	(3), 
+  RI_UMTS_3000ms 	(4),
+  RI_UMTS_4000ms 	(5), 
+  RI_UMTS_6000ms 	(6), 
+  RI_UMTS_8000ms 	(7), 
+  RI_UMTS_12000ms 	(8), 
+  RI_UMTS_16000ms	(9), 
+  RI_UMTS_20000ms 	(10), 
+  RI_UMTS_24000ms 	(11), 
+  RI_UMTS_28000ms	(12), 
+  RI_UMTS_32000ms 	(13), 
+  RI_UMTS_64000ms 	(14),
+  RI_LTE_120ms		(15), 
+  RI_LTE_240ms		(16), 
+  RI_LTE_480ms 		(17), 
+  RI_LTE_640ms 		(18), 
+  RI_LTE_1024ms 	(19), 
+  RI_LTE_2048ms 	(20), 
+  RI_LTE_5120ms 	(21), 
+  RI_LTE_10240ms 	(22), 
+  RI_LTE_1min 		(23), 
+  RI_LTE_6min 		(24), 
+  RI_LTE_12min 		(25), 
+  RI_LTE_30min 		(26), 
+  RI_LTE_60min 		(27)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.142
+// AVP: Report-Amount (1628) 3GPP (10415)
+type enumerated Report_Amount 
+{
+  ONE 		(0), 
+  TWO 		(1),
+  FOUR 		(2), 
+  EIGHT 	(3), 
+  SIXTEEN 	(4),
+  THIRTYTWO	(5),
+  SIXTYFOUR 	(6),
+  INFINITY_AMOUNT	(7)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.143
+// AVP: Event-Threshold-RSRP (1629) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRP;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.144
+// AVP: Event-Threshold-RSRQ (1630) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRQ;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.145
+// AVP: Logging-Interval (1631) 3GPP (10415)
+type enumerated Logging_Interval
+{
+  LI_128	(0),
+  LI_256	(1), 
+  LI_512	(2), 
+  LI_1024	(3),
+  LI_2048	(4), 
+  LI_3072	(5),
+  LI_4096	(6), 
+  LI_6144	(7)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.146
+// AVP: Logging-Duration (1632) 3GPP (10415)
+type enumerated Logging_Duration
+{
+  LD_600_SEC  (0), 
+  LD_1200_SEC (1), 
+  LD_2400_SEC (2), 
+  LD_3600_SEC (3), 
+  LD_5400_SEC (4), 
+  LD_7200_SEC (5)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.147
+// AVP: Relay-Node-Indicator (1633) 3GPP (10415)
+type enumerated Relay_Node_Indicator
+{
+  NOT_RELAY_NODE (0),
+  RELAY_NODE	 (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.148
+// AVP: MDT-User-Consent (1634) 3GPP (10415)
+type enumerated MDT_User_Consent 
+{
+  CONSENT_NOT_GIVEN 	(0),
+  CONSENT_GIVEN 	(1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.149
+// AVP: PUR-Flags (1635) 3GPP (10415)
+type AVP_Unsigned32 PUR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.150
+// AVP: Subscribed-VSRVCC (1636) 3GPP (10415)
+type enumerated Subscribed_VSRVCC
+{
+  VSRVCC_SUBSCRIBED  (0) 
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.151
+// AVP: Equivalent-PLMN-List (1637) 3GPP (10415)
+type AVP_Grouped Equivalent_PLMN_List;
+
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.152
+// AVP: CLR-Flags (1638) 3GPP (10415)
+type AVP_Unsigned32 CLR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.153
+// AVP: UVR-Flags (1639) 3GPP (10415)
+type AVP_Unsigned32 UVR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.154
+// AVP: UVA-Flags (1640) 3GPP (10415)
+type AVP_Unsigned32 UVA_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.155
+// AVP: VPLMN-CSG-Subscription-Data (1641) 3GPP (10415)
+type AVP_Grouped VPLMN_CSG_Subscription_Data;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.156
+// AVP: Local-Time-Zone (1649) 3GPP (10415)
+type AVP_Grouped Local_Time_Zone;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.157
+// AVP: A-MSISDN (1643) 3GPP (10415)
+type AVP_OctetString A_MSISDN;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.159
+// AVP: MME-Number-for-MT-SMS (1645) 3GPP (10415)
+type AVP_OctetString MME_Number_for_MT_SMS;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.162
+// AVP: SMS-Register-Request (1648) 3GPP (10415)
+type enumerated SMS_Register_Request
+{
+  SMS_REGISTRATION_REQUIRED      (0),
+  SMS_REGISTRATION_NOT_PREFERRED (1),
+  NO_PREFERENCE                  (2)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.163
+// AVP: Time-Zone (1642) 3GPP (10415)
+type AVP_UTF8String Time_Zone;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.164
+// AVP: Daylight-Saving-Time (1650) 3GPP (10415)
+type enumerated Daylight_Saving_Time
+{
+  NO_ADJUSTMENT             (0),
+  PLUS_ONE_HOUR_ADJUSTMENT  (1),
+  PLUS_TWO_HOURS_ADJUSTMENT (2)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.165
+// AVP: Subscription-Data-Flags (1654) 3GPP (10415)
+type AVP_Unsigned32 Subscription_Data_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.166
+// AVP: Measurement-Period-LTE (1656) 3GPP (10415)
+type enumerated Measurement_Period_LTE
+{
+  PERIOD_1024_ms  (0),
+  PERIOD_1280_ms  (1),
+  PERIOD_2048_ms  (2),
+  PERIOD_2560_ms  (3),
+  PERIOD_5120_ms  (4),
+  PERIOD_10240_ms (5),
+  PERIOD_1_min    (6)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.167
+// AVP: Measurement-Period-UMTS (1655) 3GPP (10415)
+type enumerated Measurement_Period_UMTS
+{
+  PERIOD_250_ms   (0),
+  PERIOD_500_ms   (1),
+  PERIOD_1000_ms  (2),
+  PERIOD_2000_ms  (3),
+  PERIOD_3000_ms  (4),
+  PERIOD_4000_ms  (5),
+  PERIOD_6000_ms  (6),
+  PERIOD_8000_ms  (7),
+  PERIOD_12000_ms (8),
+  PERIOD_16000_ms (9),
+  PERIOD_20000_ms (10),
+  PERIOD_24000_ms (11),
+  PERIOD_28000_ms (12),
+  PERIOD_32000_ms (13),
+  PERIOD_64000_ms (14)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.168
+// AVP: Collection-Period-RRM-LTE (1657) 3GPP (10415)
+type enumerated Collection_Period_RRM_LTE
+{
+  PERIOD_1024_ms  (0),
+  PERIOD_1280_ms  (1),
+  PERIOD_2048_ms  (2),
+  PERIOD_2560_ms  (3),
+  PERIOD_5120_ms  (4),
+  PERIOD_10240_ms (5),
+  PERIOD_1_min    (6)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.169
+// AVP: Collection-Period-RRM-UMTS (1658) 3GPP (10415)
+type enumerated Collection_Period_RRM_UMTS
+{
+  PERIOD_250_ms   (0),
+  PERIOD_500_ms   (1),
+  PERIOD_1000_ms  (2),
+  PERIOD_2000_ms  (3),
+  PERIOD_3000_ms  (4),
+  PERIOD_4000_ms  (5),
+  PERIOD_6000_ms  (6),
+  PERIOD_8000_ms  (7),
+  PERIOD_12000_ms (8),
+  PERIOD_16000_ms (9),
+  PERIOD_20000_ms (10),
+  PERIOD_24000_ms (11),
+  PERIOD_28000_ms (12),
+  PERIOD_32000_ms (13),
+  PERIOD_64000_ms (14)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.170
+// AVP: Positioning-Method (1659) 3GPP (10415)
+type AVP_OctetString Positioning_Method;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.171
+// AVP: Measurement_Quantity (1660) 3GPP (10415)
+type AVP_OctetString Measurement_Quantity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.172
+// AVP: Event-Threshold-Event-1F (1661) 3GPP (10415)
+type AVP_Integer32 Event_Threshold_Event_1F;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.173
+// AVP: Event-Threshold-Event-1I (1662) 3GPP (10415)
+type AVP_Integer32 Event_Threshold_Event_1I;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.174
+// AVP: Restoration-Priority (1663) 3GPP (10415)
+type AVP_Unsigned32 Restoration_Priority;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.175
+// AVP: SGs-MME-Identity (1664) 3GPP (10415)
+type AVP_UTF8String SGs_MME_Identity;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.176
+// AVP: SIPTO-Local-Network-Permission (1665) 3GPP (10415)
+type AVP_Unsigned32 SIPTO_Local_Network_Permission;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.177
+// AVP: Coupled-Node-Diameter-ID (1666) 3GPP (10415)
+type AVP_DiameterIdentity Coupled_Node_Diameter_ID;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.181
+// AVP: WLAN-offloadability (1667) 3GPP (10415)
+type AVP_Grouped WLAN_offloadability;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.182
+// AVP: WLAN-offloadability-EUTRAN (1668) 3GPP (10415)
+type AVP_Unsigned32 WLAN_offloadability_EUTRAN;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.183
+// AVP: WLAN-offloadability-UTRAN (1669) 3GPP (10415)
+type AVP_Unsigned32 WLAN_offloadability_UTRAN;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.184
+// AVP: Reset-ID (1670) 3GPP (10415)
+type AVP_OctetString Reset_ID;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.185
+// AVP: MDT-Allowed-PLMN-Id (1671) 3GPP (10415)
+type AVP_OctetString MDT_Allowed_PLMN_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.186
+// AVP: Adjacent-PLMNs (1672) 3GPP (10415)
+type AVP_Grouped Adjacent_PLMNs;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.187
+// AVP: Adjacent-Access-Restriction-Data (1673) 3GPP (10415)
+type AVP_Grouped Adjacent_Access_Restriction_Data;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.188
+// AVP: DL-Buffering-Suggested-Packet-Count (1674) 3GPP (10415)
+type AVP_Integer32 DL_Buffering_Suggested_Packet_Count;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.189
+// AVP: IMSI-Group-Id (1675) 3GPP (10415)
+type AVP_Grouped IMSI_Group_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.190
+// AVP: Group-Service-Id (1676) 3GPP (10415)
+type AVP_Unsigned32 Group_Service_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.191
+// AVP: Group-PLMN-Id (1677) 3GPP (10415)
+type AVP_OctetString Group_PLMN_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.192
+// AVP: Local-Group-Id (1678) 3GPP (10415)
+type AVP_OctetString Local_Group_Id;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.201
+// AVP: AIR-Flags (1679) 3GPP (10415)
+type AVP_Unsigned32 AIR_Flags;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.202
+// AVP: UE-Usage-Type (1680) 3GPP (10415)
+type AVP_Unsigned32 UE_Usage_Type;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.204
+// AVP: Non-IP-PDN-Type-Indicator (1681) 3GPP (10415)
+type enumerated Non_IP_PDN_Type_Indicator
+{
+  FALSE_VALUE    (0),
+  TRUE_VALUE (1)
+}
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.205
+// AVP: Non-IP-Data-Delivery-Mechanism (1682) 3GPP (10415)
+type AVP_Unsigned32 Non_IP_Data_Delivery_Mechanism;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.206
+// AVP: Additional-Context-ID (1683) 3GPP (10415)
+type AVP_Unsigned32 Additional_Context_ID;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.207
+// AVP: SCEF-Realm (1684) 3GPP (10415)
+type AVP_DiameterIdentity SCEF_Realm;
+
+// 3GPP TS 29.272 V13.7.0
+// 7.3.209
+// AVP: Preferred-Data-Mode (1686) 3GPP (10415)
+type AVP_Unsigned32 Preferred_Data_Mode;
diff --git a/src/AAAInterface_3GPP_TS29272_f10.ddf b/src/AAAInterface_3GPP_TS29272_f10.ddf
new file mode 100644
index 0000000..b18539c
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_f10.ddf
@@ -0,0 +1,1055 @@
+/******************************************************************************
+* Copyright (c) 2004, 2015  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder - initial implementation and initial documentation
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_f10.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V15.1.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V15_1_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V15.1.0 - Evolved Packet System (EPS); Mobility Management Entity (MME) and Serving GPRS Support Node (SGSN) related interfaces based on Diameter protocol
+
+// 7.2.2
+type enumerated Command_Code 
+{
+  Update_Location            (316),
+  Cancel_Location            (317),
+  Authentication_Information (318),
+  Insert_Subscriber_Data     (319),
+  Delete_Subscriber_Data     (320),
+  Purge_UE                   (321),
+  Reset                      (322),
+  Notify                     (323),
+  ME_Identity_Check          (324),
+  Update_VCSG_Location   (8388638),
+  Cancel_VCSG_Location   (8388642)
+}
+
+// 7.3.2
+// AVP: Subscription-Data (1400) 3GPP (10415)
+type AVP_Grouped Subscription_Data;
+
+// 7.3.3
+// AVP: Terminal-Information (1401) 3GPP (10415)
+type AVP_Grouped Terminal_Information;
+
+// 7.3.4
+// AVP: IMEI (1402) 3GPP (10415)
+type AVP_UTF8String IMEI;
+
+// 7.3.5
+// AVP: Software-Version (1403) 3GPP (10415)
+type AVP_UTF8String Software_Version;
+
+// 7.3.77
+// AVP: QoS-Subscribed (1404) 3GPP (10415)
+type AVP_OctetString QoS_Subscribed;
+
+// 7.3.7
+// AVP: ULR-Flags (1405) 3GPP (10415)
+type AVP_Unsigned32 ULR_Flags;
+
+// 7.3.8
+// AVP: ULA-Flags (1406) 3GPP (10415)
+type AVP_Unsigned32 ULA_Flags;
+
+// 7.3.9
+// AVP: Visited-PLMN-Id (1407) 3GPP (10415) 
+type AVP_OctetString Visited_PLMN_Id;
+
+// 7.3.11
+// AVP: Requested-EUTRAN-Authentication-Info (1408) 3GPP (10415)
+type AVP_Grouped Requested_EUTRAN_Authentication_Info;
+
+// 7.3.12
+// AVP: Requested-UTRAN-GERAN-Authentication-Info (1409) 3GPP (10415)
+type AVP_Grouped Requested_UTRAN_GERAN_Authentication_Info;
+
+// 7.3.14
+// AVP: Number-Of-Requested-Vectors (1410) 3GPP (10415)
+type AVP_Unsigned32 Number_Of_Requested_Vectors;
+
+// 7.3.15
+// AVP: Re-Synchronization-Info (1411) 3GPP (10415)
+type AVP_OctetString Re_Synchronization_Info;
+
+// 7.3.16
+// AVP: Immediate-Response-Preferred (1412) 3GPP (10415)
+type AVP_Unsigned32 Immediate_Response_Preferred;
+
+// 7.3.17
+// AVP: Authentication-Info (1413) 3GPP (10415)
+type AVP_Grouped Authentication_Info;
+
+// 7.3.18
+// AVP: E-UTRAN-Vector (1414) 3GPP (10415)
+type AVP_Grouped E_UTRAN_Vector;
+
+// 7.3.19
+// AVP: UTRAN-Vector (1415) 3GPP (10415)
+type AVP_Grouped UTRAN_Vector;
+
+// 7.3.20
+// AVP: GERAN-Vector (1416) 3GPP (10415)
+type AVP_Grouped GERAN_Vector;
+
+// 7.3.21
+// AVP: Network-Access-Mode (1417) 3GPP (10415)
+type enumerated Network_Access_Mode
+{
+  PACKET_AND_CIRCUIT (0),
+  Reserved           (1),
+  ONLY_PACKET        (2)
+}
+
+// 7.3.22
+// AVP: HPLMN-ODB (1418) 3GPP (10415)
+type AVP_Unsigned32 HPLMN_ODB;
+
+// 7.3.23
+// AVP: Item-Number (1419) 3GPP (10415)
+type AVP_Unsigned32 Item_Number;
+
+// 7.3.24
+// AVP: Cancellation-Type (1420) 3GPP (10415)
+type enumerated Cancellation_Type
+{
+  MME_UPDATE_PROCEDURE     (0),
+  SGSN_UPDATE_PROCEDURE    (1),
+  SUBSCRIPTION_WITHDRAWAL  (2),
+  UPDATE_PROCEDURE_IWF     (3),
+  INITIAL_ATTACH_PROCEDURE (4)
+}
+
+// 7.3.25
+// AVP: DSR-Flags (1421) 3GPP (10415)
+type AVP_Unsigned32 DSR_Flags;
+
+// 7.3.26
+// AVP: DSA-Flags (1422) 3GPP (10415)
+type AVP_Unsigned32 DSA_Flags;
+
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier;
+
+// 7.3.29
+// AVP: Subscriber-Status (1424) 3GPP (10415)
+type enumerated Subscriber_Status
+{
+  SERVICE_GRANTED             (0),
+  OPERATOR_DETERMINED_BARRING (1)
+}
+
+// 7.3.30
+// AVP: Operator-Determined-Barring (1425) 3GPP (10415)
+type AVP_Unsigned32 Operator_Determined_Barring;
+
+// 7.3.31
+// AVP: Access-Restriction-Data (1426) 3GPP (10415)
+type AVP_Unsigned32 Access_Restriction_Data;
+
+// 7.3.32
+// AVP: APN-OI-Replacement (1427) 3GPP (10415)
+type AVP_UTF8String APN_OI_Replacement;
+
+// 7.3.33
+// AVP: All-APN-Configurations-Included-Indicator (1428) 3GPP (10415)
+type enumerated All_APN_Configurations_Included_Indicator
+{
+  All_APN_CONFIGURATIONS_INCLUDED            (0),
+  MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED (1)
+}
+
+// 7.3.34
+// AVP: APN-Configuration-Profile (1429) 3GPP (10415)
+type AVP_Grouped APN_Configuration_Profile;
+
+// 7.3.35
+// AVP: APN-Configuration (1430) 3GPP (10415)
+type AVP_Grouped APN_Configuration;
+
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile;
+
+// 7.3.38
+// AVP: VPLMN-Dynamic-Address-Allowed (1432) 3GPP (10415)
+type enumerated VPLMN_Dynamic_Address_Allowed
+{
+  NOTALLOWED (0),
+  ALLOWED    (1)  
+}
+
+// 7.3.39
+// AVP: STN-SR (1433) 3GPP (10415)
+type AVP_OctetString STN_SR;
+
+// 7.3.83
+// AVP: Alert-Reason (1434) 3GPP (10415)
+type enumerated Alert_Reason;
+{
+  UE_PRESENT          (0),
+  UE_MEMORY_AVAILABLE (1)
+}
+
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR;
+
+// 7.3.78
+// AVP: CSG-Subscription-Data (1436) 3GPP (10415)
+type AVP_Grouped CSG_Subscription_Data;
+
+// 7.3.79
+// AVP: CSG-Id (1437) 3GPP (10415)
+type AVP_Unsigned32 CSG_Id;
+
+// 7.3.44
+// AVP: PDN-GW-Allocation-Type (1438) 3GPP (10415)
+type enumerated PDN_GW_Allocation_Type
+{
+  STATIC  (0),
+  DYNAMIC (1)
+}
+
+// 7.3.80
+// AVP: Expiration-Date (1439) 3GPP (10415)
+type AVP_Time Expiration_Date;
+
+// 7.3.46
+// AVP: RAT-Frequency-Selection-Priority-ID (1440) 3GPP (10415)
+type AVP_Unsigned32 RAT_Frequency_Selection_Priority_ID;
+
+// 7.3.47
+// AVP: IDA-Flags (1441) 3GPP (10415)
+type AVP_Unsigned32 IDA_Flags;
+
+// 7.3.48
+// AVP: PUA-Flags (1442) 3GPP (10415)
+type AVP_Unsigned32 PUA_Flags;
+
+// 7.3.49
+// AVP: NOR-Flags (1443) 3GPP (10415)
+type AVP_Unsigned32 NOR_Flags;
+
+// 7.3.50
+// AVP: User-Id (1444) 3GPP (10415)
+type AVP_UTF8String User_Id;
+
+// 7.3.51
+// AVP: Equipment-Status (1445) 3GPP (10415)
+type enumerated Equipment_Status
+{
+  WHITELISTED (0),
+  BLACKLISTED (1),
+  GREYLISTED  (2)
+}
+
+// 7.3.52
+// AVP: Regional-Subscription-Zone-Code (1446) 3GPP (10415)
+type AVP_OctetString Regional_Subscription_Zone_Code;
+
+// 7.3.53
+// AVP: RAND (1447) 3GPP (10415)
+type AVP_OctetString RAND;
+
+// 7.3.54
+// AVP: XRES (1448) 3GPP (10415)
+type AVP_OctetString XRES;
+
+// 7.3.55
+// AVP: AUTN (1449) 3GPP (10415)
+type AVP_OctetString AUTN;
+
+// 7.3.56
+// AVP: KASME (1450) 3GPP (10415)
+type AVP_OctetString KASME;
+
+// 7.3.98
+// AVP: Trace-Collection-Entity (1452) 3GPP (10415)
+type AVP_Address Trace_Collection_Entity;
+
+// 7.3.59
+// AVP: Kc (1453) 3GPP (10415)
+type AVP_OctetString Kc;
+
+// 7.3.60
+// AVP: SRES (1454) 3GPP (10415)
+type AVP_OctetString SRES;
+
+// 7.3.62
+// AVP: PDN-Type (1456) 3GPP (10415)
+type enumerated PDN_Type;
+{
+  IPv4 (0),
+  IPv6 (1),
+  IPv4v6 (2),
+  IPv4_OR_IPv6 (3)  
+}
+
+// 7.3.81
+// AVP: Roaming-Restricted-Due-To-Unsupported-Feature (1457) 3GPP (10415)
+type enumerated Roaming_Restricted_Due_To_Unsupported_Feature
+{
+  Roaming_Restricted_Due_To_Unsupported_Feature (0)
+}
+
+// 7.3.63
+// AVP: Trace-Data (1458) 3GPP (10415)
+type AVP_Grouped Trace_Data;
+
+// 7.3.64
+// AVP: Trace-Reference (1459) 3GPP (10415)
+type AVP_OctetString Trace_Reference;
+
+// 7.3.67
+// AVP: Trace-Depth (1462) 3GPP (10415)
+// FS 3.3.2.10
+type AVP_Unsigned32 Trace_Depth;
+
+// 7.3.68
+// AVP: Trace-NE-Type-List (1463) 3GPP (10415)
+type AVP_OctetString Trace_NE_Type_List;
+
+// 7.3.69
+// AVP: Trace-Interface-List (1464) 3GPP (10415)
+type AVP_OctetString Trace_Interface_List;
+
+// 7.3.70
+// AVP: Trace-Event-List (1465) 3GPP (10415)
+type AVP_OctetString Trace_Event_List;
+
+// 7.3.71
+// AVP: OMC-Id (1466) 3GPP (10415)
+type AVP_OctetString OMC_Id;
+
+// 7.3.72
+// AVP: GPRS-Subscription-Data (1467) 3GPP (10415)
+type AVP_Grouped GPRS_Subscription_Data;
+
+// 7.3.73
+// AVP: Complete-Data-List-Included-Indicator (1468) 3GPP (10415)
+type enumerated Complete_Data_List_Included_Indicator
+{
+  All_PDP_CONTEXTS_INCLUDED            (0),
+  MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED (1)
+}
+
+// 7.3.74
+// AVP: PDP-Context (1469) 3GPP (10415)
+type AVP_Grouped PDP_Context;
+
+// 7.3.75
+// AVP: PDP-Type (1470) 3GPP (10415)
+type AVP_OctetString PDP_Type;
+
+// 7.3.6
+// AVP: 3GPP2-MEID (1471) 3GPP (10415)
+type AVP_OctetString 3GPP2_MEID;
+
+// 7.3.82
+// AVP: Specific-APN-Info (1472) 3GPP (10415)
+type AVP_Grouped Specific_APN_Info;
+
+// 7.3.84
+// AVP: LCS-Info (1473) 3GPP (10415)
+type AVP_Grouped LCS_Info;
+
+// 7.3.85
+// AVP: GMLC-Number (1474) 3GPP (10415)
+type AVP_OctetString GMLC_Number;
+
+// 7.3.86
+// AVP: LCS-PrivacyException (1475) 3GPP (10415)
+type AVP_Grouped LCS_PrivacyException;
+
+// 7.3.87
+// AVP: SS-Code (1476) 3GPP (10415)
+type AVP_OctetString SS_Code;
+
+// 7.3.88
+// AVP: SS-Status (1477) 3GPP (10415)
+type AVP_OctetString SS_Status;
+
+// 7.3.89
+// AVP: Notification-To-UE-User (1478) 3GPP (10415)
+type enumerated Notification_To_UE_User
+{
+  NOTIFY_LOCATION_ALLOWED                             (0),
+  NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE     (1),
+  NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE (2),
+  LOCATION_NOT_ALLOWED                                (3)
+}
+
+// 7.3.90
+// AVP: External-Client (1479) 3GPP (10415)
+type AVP_Grouped External_Client;
+
+// 7.3.91
+// AVP: Client-Identity (1480) 3GPP (10415)
+type AVP_OctetString Client_Identity;
+
+// 7.3.92
+// AVP: GMLC-Restriction (1481) 3GPP (10415)
+type enumerated GMLC_Restriction
+{
+  GMLC_LIST    (0),
+  HOME_COUNTRY (1)
+}
+
+// 7.3.93
+// AVP: PLMN-Client (1482) 3GPP (10415)
+type enumerated PLMN_Client
+{
+  BROADCAST_SERVICE            (0),
+  O_AND_M_HPLMN                (1),
+  O_AND_M_VPLMN                (2),
+  ANONYMOUS_LOCATION           (3),
+  TARGET_UE_SUBSCRIBED_SERVICE (4)
+}
+
+// 7.3.94
+// AVP: Service-Type (1483) 3GPP (10415)
+type AVP_Grouped Service_Type;
+
+// 7.3.95
+// AVP: ServiceTypeIdentity (1484) 3GPP (10415)
+type AVP_Unsigned32 ServiceTypeIdentity;
+
+// 7.3.96
+// AVP: MO-LR (1485) 3GPP (10415)
+type AVP_Grouped MO_LR;
+
+// 7.3.99
+// AVP: Teleservice-List (1486) 3GPP (10415)
+type AVP_Grouped Teleservice_List;
+
+// 7.3.100
+// AVP: TS-Code (1487) 3GPP (10415)
+type AVP_OctetString TS_Code;
+
+// 7.3.101
+// AVP: Call-Barring-Info (1488) 3GPP (10415)
+type AVP_Grouped Call_Barring_Info;
+
+// 7.3.102
+// AVP: SGSN-Number (1489) 3GPP (10415)
+type AVP_OctetString SGSN_Number;
+
+// 7.3.103
+// AVP: IDR-Flags (1490) 3GPP (10415)
+type AVP_Unsigned32 IDR_Flags;
+
+// 7.3.104
+// AVP: ICS-Indicator (1491) 3GPP (10415)
+type enumerated ICS_Indicator
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// 7.3.106
+// AVP: IMS-Voice-Over-PS-Sessions-Supported (1492) 3GPP (10415)
+type enumerated IMS_Voice_Over_PS_Sessions_Supported
+{
+  NOT_SUPPORTED (0),
+  SUPPORTED     (1)
+}
+
+// 7.3.107
+// AVP: Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions (1493) 3GPP (10415)
+type enumerated Homogeneous_Support_of_IMS_Voice_Over_PS_Sessions
+{
+  NOT_SUPPORTED (0),
+  SUPPORTED     (1)
+}
+
+// 7.3.108
+// AVP: Last-UE-Activity-Time (1494) 3GPP (10415)
+type AVP_Time Last_UE_Activity_Time;
+
+// 7.3.110
+// AVP: EPS-User-State (1495) 3GPP (10415)
+type AVP_Grouped EPS_User_State;
+
+// 7.3.111
+// AVP: EPS-Location-Information (1496) 3GPP (10415)
+type AVP_Grouped EPS_Location_Information;
+
+// 7.3.112
+// AVP: MME-User-State (1497) 3GPP (10415)
+type AVP_Grouped MME_User_State;
+
+// 7.3.113
+// AVP: SGSN-User-State (1498) 3GPP (10415)
+type AVP_Grouped SGSN_User_State;
+
+// 7.3.114
+// AVP: User-State (1499) 3GPP (10415)
+type enumerated User_State
+{
+  DETACHED                           (0),
+  ATTACHED_NOT_REACHABLE_FOR_PAGING  (1),
+  ATTACHED_REACHABLE_FOR_PAGING      (2),
+  CONNECTED_NOT_REACHABLE_FOR_PAGING (3),
+  CONNECTED_REACHABLE_FOR_PAGING     (4),
+  NETWORK_DETERMINED_NOT_REACHABLE   (5)
+}
+
+// 7.3.115
+// AVP: MME-Location-Information (1600) 3GPP (10415)
+type AVP_Grouped MME_Location_Information;
+
+// 7.3.116
+// AVP: SGSN-Location-Information (1601) 3GPP (10415)
+type AVP_Grouped SGSN_Location_Information;
+
+// 7.3.117
+// AVP: E-UTRAN-Cell-Global-Identity (1602) 3GPP (10415)
+type AVP_OctetString E_UTRAN_Cell_Global_Identity;
+
+// 7.3.118
+// AVP: Tracking-Area-Identity (1603) 3GPP (10415)
+type AVP_OctetString Tracking_Area_Identity;
+
+// 7.3.119
+// AVP: Cell-Global-Identity (1604) 3GPP (10415)
+type AVP_OctetString Cell_Global_Identity;
+
+// 7.3.120
+// AVP: Routing-Area-Identity (1605) 3GPP (10415)
+type AVP_OctetString Routing_Area_Identity;
+
+// 7.3.121
+// AVP: Location-Area-Identity (1606) 3GPP (10415)
+type AVP_OctetString Location_Area_Identity;
+
+// 7.3.122
+// AVP: Service-Area-Identity (1607) 3GPP (10415)
+type AVP_OctetString Service_Area_Identity;
+
+// 7.3.123
+// AVP: Geographical-Information (1608) 3GPP (10415)
+type AVP_OctetString Geographical_Information;
+
+// 7.3.124
+// AVP: Geodetic-Information (1609) 3GPP (10415)
+type AVP_OctetString Geodetic_Information;
+
+// 7.3.125
+// AVP: Current-Location-Retrieved (1610) 3GPP (10415)
+type enumerated Current_Location_Retrieved
+{
+  ACTIVE_LOCATION_RETRIEVAL (0)
+}
+
+// 7.3.126
+// AVP: Age-Of-Location-Information (1611) 3GPP (10415)
+type AVP_Unsigned32 Age_Of_Location_Information;
+
+// 7.3.127
+// AVP: Active-APN (1612) 3GPP (10415)
+type AVP_Grouped Active_APN;
+
+// 7.3.128
+// AVP: Error-Diagnostic (1614) 3GPP (10415)
+type enumerated Error_Diagnostic
+{
+  GPRS_DATA_SUBSCRIBED    (0),
+  NO_GPRS_DATA_SUBSCRIBED (1),
+  ODB_ALL_APN (2),
+  ODB_HPLMN_APN (3),
+  ODB_VPLMN_APN (4)
+}
+
+// 7.3.129
+// AVP: Ext-PDP-Address (1621) 3GPP (10415)
+type AVP_Address Ext_PDP_Address;
+
+// 7.3.130
+// AVP: UE-SRVCC-Capability (1615) 3GPP (10415)
+type enumerated UE_SRVCC_Capability
+{
+  UE_SRVCC_NOT_SUPPORTED	(0),
+  UE_SRVCC_SUPPORTED	 	(1)
+}
+
+// 7.3.131
+// AVP: MPS-Priority (1616) 3GPP (10415)
+type AVP_Unsigned32 MPS_Priority;
+
+// 7.3.132
+// AVP: VPLMN-LIPA-Allowed (1617) 3GPP (10415)
+type enumerated VPLMN_LIPA_Allowed
+{
+  LIPA_NOTALLOWED (0),
+  LIPA_ALLOWED (1)
+}
+
+// 7.3.133
+// AVP: LIPA-Permission (1618) 3GPP (10415)
+type enumerated LIPA_Permission
+{
+  LIPA_PROHIBITED (0),
+  LIPA_ONLY (1),
+  LIPA_CONDITIONAL (2)
+}
+
+// 7.3.134
+// AVP: Subscribed-Periodic-RAU-TAU-Timer (1619) 3GPP (10415)
+type AVP_Unsigned32 Subscribed_Periodic_RAU_TAU_Timer;
+
+// 7.3.75A
+// AVP: Ext-PDP-Type (1620) 3GPP (10415)
+type AVP_OctetString Ext_PDP_Type;
+
+// 7.3.135
+// AVP: SIPTO-Permission (1613) 3GPP (10415)
+type enumerated SIPTO_Permission
+{
+  SIPTO_ALLOWED    (0),
+  SIPTO_NOTALLOWED (1)
+}
+
+// 7.3.136
+// AVP: MDT-Configuration (1622) 3GPP (10415)
+type AVP_Grouped MDT_Configuration;
+
+// 7.3.137, TS 32.422 v15.0.0 - 5.9a
+// AVP: Job-Type (1623) 3GPP (10415)
+type enumerated Job_Type 
+{
+  IMMEDIATE_MDT_ONLY 		(0),
+  LOGGED_MDT_ONLY 		(1),
+  TRACE_ONLY 			(2),
+  IMMEDIATE_MDT_AND_TRACE 	(3),
+  RLF_REPORTS_ONLY (4),
+  RCEF_REPORTS_ONLY (5),
+  LOGGED_MBSFN_MDT (6)
+}
+
+// 7.3.138
+// AVP: Area-Scope (1624) 3GPP (10415)
+type AVP_Grouped Area_Scope;
+
+// 7.3.139
+// AVP: List-Of-Measurements (1625) 3GPP (10415)
+type AVP_Unsigned32 List_Of_Measurements;
+
+// 7.3.140
+// AVP: Reporting-Trigger (1626) 3GPP (10415)
+type AVP_Unsigned32 Reporting_Trigger;
+
+// 7.3.141, TS 32.422 v15.0.0  -  5.10.5
+// AVP: Report-Interval (1627) 3GPP (10415)
+type enumerated Report_Interval
+{
+  RI_UMTS_250ms		(0), 
+  RI_UMTS_500ms		(1), 
+  RI_UMTS_1000ms 	(2), 
+  RI_UMTS_2000ms	(3), 
+  RI_UMTS_3000ms 	(4),
+  RI_UMTS_4000ms 	(5), 
+  RI_UMTS_6000ms 	(6), 
+  RI_UMTS_8000ms 	(7), 
+  RI_UMTS_12000ms (8), 
+  RI_UMTS_16000ms	(9), 
+  RI_UMTS_20000ms (10), 
+  RI_UMTS_24000ms (11), 
+  RI_UMTS_28000ms	(12), 
+  RI_UMTS_32000ms (13), 
+  RI_UMTS_64000ms (14),
+  RI_LTE_120ms		(15), 
+  RI_LTE_240ms		(16), 
+  RI_LTE_480ms 		(17), 
+  RI_LTE_640ms 		(18), 
+  RI_LTE_1024ms 	(19), 
+  RI_LTE_2048ms 	(20), 
+  RI_LTE_5120ms 	(21), 
+  RI_LTE_10240ms 	(22), 
+  RI_LTE_1min 		(23), 
+  RI_LTE_6min 		(24), 
+  RI_LTE_12min 		(25), 
+  RI_LTE_30min 		(26), 
+  RI_LTE_60min 		(27)
+}
+
+// 7.3.142, TS 32.422 v15.0.0 - 5.10.6
+// AVP: Report-Amount (1628) 3GPP (10415)
+type enumerated Report_Amount 
+{
+  ONE 		(0), 
+  TWO 		(1),
+  FOUR 		(2), 
+  EIGHT 	(3), 
+  SIXTEEN 	(4),
+  THIRTYTWO	(5),
+  SIXTYFOUR 	(6),
+  INFINITY_AMOUNT	(7)
+}
+
+// 7.3.143
+// AVP: Event-Threshold-RSRP (1629) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRP;
+
+// 7.3.144
+// AVP: Event-Threshold-RSRQ (1630) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRQ;
+
+// 7.3.145, TS 32.422 v15.0.0 - 5.10.8
+// AVP: Logging-Interval (1631) 3GPP (10415)
+type enumerated Logging_Interval
+{
+  LI_128	(0),
+  LI_256	(1), 
+  LI_512	(2), 
+  LI_1024	(3),
+  LI_2048	(4), 
+  LI_3072	(5),
+  LI_4096	(6), 
+  LI_6144	(7)
+}
+
+// 7.3.146, TS 32.422 v15.0.0 - 5.10.9
+// AVP: Logging-Duration (1632) 3GPP (10415)
+type enumerated Logging_Duration
+{
+  LD_600_SEC  (0), 
+  LD_1200_SEC (1), 
+  LD_2400_SEC (2), 
+  LD_3600_SEC (3), 
+  LD_5400_SEC (4), 
+  LD_7200_SEC (5)
+}
+
+// 7.3.147
+// AVP: Relay-Node-Indicator (1633) 3GPP (10415)
+type enumerated Relay_Node_Indicator
+{
+  NOT_RELAY_NODE (0),
+  RELAY_NODE	 (1)
+}
+
+// 7.3.148
+// AVP: MDT-User-Consent (1634) 3GPP (10415)
+type enumerated MDT_User_Consent 
+{
+  CONSENT_NOT_GIVEN 	(0),
+  CONSENT_GIVEN 	(1)
+}
+
+// 7.3.149
+// AVP: PUR-Flags (1635) 3GPP (10415)
+type AVP_Unsigned32 PUR_Flags;
+
+// 7.3.150
+// AVP: Subscribed-VSRVCC (1636) 3GPP (10415)
+type enumerated Subscribed_VSRVCC
+{
+  VSRVCC_SUBSCRIBED  (0) 
+}
+
+// 7.3.151
+// AVP: Equivalent-PLMN-List (1637) 3GPP (10415)
+type AVP_Grouped Equivalent_PLMN_List;
+
+
+// 7.3.152
+// AVP: CLR-Flags (1638) 3GPP (10415)
+type AVP_Unsigned32 CLR_Flags;
+
+// 7.3.153
+// AVP: UVR-Flags (1639) 3GPP (10415)
+type AVP_Unsigned32 UVR_Flags;
+
+// 7.3.154
+// AVP: UVA-Flags (1640) 3GPP (10415)
+type AVP_Unsigned32 UVA_Flags;
+
+// 7.3.155
+// AVP: VPLMN-CSG-Subscription-Data (1641) 3GPP (10415)
+type AVP_Grouped VPLMN_CSG_Subscription_Data;
+
+// 7.3.156
+// AVP: Local-Time-Zone (1649) 3GPP (10415)
+type AVP_Grouped Local_Time_Zone;
+
+// 7.3.157
+// AVP: A-MSISDN (1643) 3GPP (10415)
+type AVP_OctetString A_MSISDN;
+
+// 7.3.159
+// AVP: MME-Number-for-MT-SMS (1645) 3GPP (10415)
+type AVP_OctetString MME_Number_for_MT_SMS;
+
+// 7.3.162
+// AVP: SMS-Register-Request (1648) 3GPP (10415)
+type enumerated SMS_Register_Request
+{
+  SMS_REGISTRATION_REQUIRED      (0),
+  SMS_REGISTRATION_NOT_PREFERRED (1),
+  NO_PREFERENCE                  (2)
+}
+
+// 7.3.163
+// AVP: Time-Zone (1642) 3GPP (10415)
+type AVP_UTF8String Time_Zone;
+
+// 7.3.164
+// AVP: Daylight-Saving-Time (1650) 3GPP (10415)
+type enumerated Daylight_Saving_Time
+{
+  NO_ADJUSTMENT             (0),
+  PLUS_ONE_HOUR_ADJUSTMENT  (1),
+  PLUS_TWO_HOURS_ADJUSTMENT (2)
+}
+
+// 7.3.165
+// AVP: Subscription-Data-Flags (1654) 3GPP (10415)
+type AVP_Unsigned32 Subscription_Data_Flags;
+
+// 7.3.166, TS 32.422 v15.0.0 - 5.10.23
+// AVP: Measurement-Period-LTE (1656) 3GPP (10415)
+type enumerated Measurement_Period_LTE
+{
+  PERIOD_1024_ms  (0),
+  PERIOD_1280_ms  (1),
+  PERIOD_2048_ms  (2),
+  PERIOD_2560_ms  (3),
+  PERIOD_5120_ms  (4),
+  PERIOD_10240_ms (5),
+  PERIOD_1_min    (6)
+}
+
+// 7.3.167, TS 32.422 v15.0.0 - 5.10.22
+// AVP: Measurement-Period-UMTS (1655) 3GPP (10415)
+type enumerated Measurement_Period_UMTS
+{
+  PERIOD_250_ms   (0),
+  PERIOD_500_ms   (1),
+  PERIOD_1000_ms  (2),
+  PERIOD_2000_ms  (3),
+  PERIOD_3000_ms  (4),
+  PERIOD_4000_ms  (5),
+  PERIOD_6000_ms  (6),
+  PERIOD_8000_ms  (7),
+  PERIOD_12000_ms (8),
+  PERIOD_16000_ms (9),
+  PERIOD_20000_ms (10),
+  PERIOD_24000_ms (11),
+  PERIOD_28000_ms (12),
+  PERIOD_32000_ms (13),
+  PERIOD_64000_ms (14)
+}
+
+// 7.3.168, TS 32.422 v15.0.0 - 5.10.20
+// AVP: Collection-Period-RRM-LTE (1657) 3GPP (10415)
+type enumerated Collection_Period_RRM_LTE
+{
+  PERIOD_1024_ms  (0),
+  PERIOD_1280_ms  (1),
+  PERIOD_2048_ms  (2),
+  PERIOD_2560_ms  (3),
+  PERIOD_5120_ms  (4),
+  PERIOD_10240_ms (5),
+  PERIOD_1_min    (6)
+}
+
+// 7.3.169, TS 32.422 v15.0.0 - 5.10.22
+// AVP: Collection-Period-RRM-UMTS (1658) 3GPP (10415)
+type enumerated Collection_Period_RRM_UMTS
+{
+  PERIOD_250_ms   (0),
+  PERIOD_500_ms   (1),
+  PERIOD_1000_ms  (2),
+  PERIOD_2000_ms  (3),
+  PERIOD_3000_ms  (4),
+  PERIOD_4000_ms  (5),
+  PERIOD_6000_ms  (6),
+  PERIOD_8000_ms  (7),
+  PERIOD_12000_ms (8),
+  PERIOD_16000_ms (9),
+  PERIOD_20000_ms (10),
+  PERIOD_24000_ms (11),
+  PERIOD_28000_ms (12),
+  PERIOD_32000_ms (13),
+  PERIOD_64000_ms (14)
+}
+
+// 7.3.170
+// AVP: Positioning-Method (1659) 3GPP (10415)
+type AVP_OctetString Positioning_Method;
+
+// 7.3.171
+// AVP: Measurement_Quantity (1660) 3GPP (10415)
+type AVP_OctetString Measurement_Quantity;
+
+// 7.3.172
+// AVP: Event-Threshold-Event-1F (1661) 3GPP (10415)
+type AVP_Integer32 Event_Threshold_Event_1F;
+
+// 7.3.173
+// AVP: Event-Threshold-Event-1I (1662) 3GPP (10415)
+type AVP_Integer32 Event_Threshold_Event_1I;
+
+// 7.3.174
+// AVP: Restoration-Priority (1663) 3GPP (10415)
+type AVP_Unsigned32 Restoration_Priority;
+
+// 7.3.175
+// AVP: SGs-MME-Identity (1664) 3GPP (10415)
+type AVP_UTF8String SGs_MME_Identity;
+
+// 7.3.176
+// AVP: SIPTO-Local-Network-Permission (1665) 3GPP (10415)
+type AVP_Unsigned32 SIPTO_Local_Network_Permission;
+
+// 7.3.177
+// AVP: Coupled-Node-Diameter-ID (1666) 3GPP (10415)
+type AVP_DiameterIdentity Coupled_Node_Diameter_ID;
+
+// 7.3.181
+// AVP: WLAN-offloadability (1667) 3GPP (10415)
+type AVP_Grouped WLAN_offloadability;
+
+// 7.3.182
+// AVP: WLAN-offloadability-EUTRAN (1668) 3GPP (10415)
+type AVP_Unsigned32 WLAN_offloadability_EUTRAN;
+
+// 7.3.183
+// AVP: WLAN-offloadability-UTRAN (1669) 3GPP (10415)
+type AVP_Unsigned32 WLAN_offloadability_UTRAN;
+
+// 7.3.184
+// AVP: Reset-ID (1670) 3GPP (10415)
+type AVP_OctetString Reset_ID;
+
+// 7.3.185
+// AVP: MDT-Allowed-PLMN-Id (1671) 3GPP (10415)
+type AVP_OctetString MDT_Allowed_PLMN_Id;
+
+// 7.3.186
+// AVP: Adjacent-PLMNs (1672) 3GPP (10415)
+type AVP_Grouped Adjacent_PLMNs;
+
+// 7.3.187
+// AVP: Adjacent-Access-Restriction-Data (1673) 3GPP (10415)
+type AVP_Grouped Adjacent_Access_Restriction_Data;
+
+// 7.3.188
+// AVP: DL-Buffering-Suggested-Packet-Count (1674) 3GPP (10415)
+type AVP_Integer32 DL_Buffering_Suggested_Packet_Count;
+
+// 7.3.189
+// AVP: IMSI-Group-Id (1675) 3GPP (10415)
+type AVP_Grouped IMSI_Group_Id;
+
+// 7.3.190
+// AVP: Group-Service-Id (1676) 3GPP (10415)
+type AVP_Unsigned32 Group_Service_Id;
+
+// 7.3.191
+// AVP: Group-PLMN-Id (1677) 3GPP (10415)
+type AVP_OctetString Group_PLMN_Id;
+
+// 7.3.192
+// AVP: Local-Group-Id (1678) 3GPP (10415)
+type AVP_OctetString Local_Group_Id;
+
+// 7.3.201
+// AVP: AIR-Flags (1679) 3GPP (10415)
+type AVP_Unsigned32 AIR_Flags;
+
+// 7.3.202
+// AVP: UE-Usage-Type (1680) 3GPP (10415)
+type AVP_Unsigned32 UE_Usage_Type;
+
+// 7.3.204
+// AVP: Non-IP-PDN-Type-Indicator (1681) 3GPP (10415)
+type enumerated Non_IP_PDN_Type_Indicator
+{
+  FALSE_VALUE (0),
+  TRUE_VALUE  (1)
+}
+
+// 7.3.205
+// AVP: Non-IP-Data-Delivery-Mechanism (1682) 3GPP (10415)
+type AVP_Unsigned32 Non_IP_Data_Delivery_Mechanism;
+
+// 7.3.206
+// AVP: Additional-Context-ID (1683) 3GPP (10415)
+type AVP_Unsigned32 Additional_Context_ID;
+
+// 7.3.207
+// AVP: SCEF-Realm (1684) 3GPP (10415)
+type AVP_DiameterIdentity SCEF_Realm;
+
+// 7.3.208
+// AVP: Subscription-Data-Deletion (1685) 3GPP (10415)
+type AVP_Grouped Subscription_Data_Deletion;
+
+// 7.3.209
+// AVP: Preferred-Data-Mode (1686) 3GPP (10415)
+type AVP_Grouped Preferred_Data_Mode;
+
+// 7.3.210
+// AVP: Emergency-Info (1687) 3GPP (10415)
+type AVP_Grouped Emergency_Info;
+
+// 7.3.212
+// AVP: V2X-Subscription-Data (1688) 3GPP (10415)
+type AVP_Grouped V2X_Subscription_Data;
+
+// 7.3.213
+// AVP: V2X-Permission (1689) 3GPP (10415)
+type AVP_Unsigned32 V2X_Permission;
+
+// 7.3.214
+// AVP: PDN-Connection-Continuity (1690) 3GPP (10415)
+type AVP_Unsigned32 PDN_Connection_Continuity;
+
+// 7.3.215
+// AVP: eDRX-Cycle-Length (1691) 3GPP (10415)
+type AVP_Grouped eDRX_Cycle_Length;
+
+// 7.3.216
+// AVP: eDRX-Cycle-Length-Value (1692) 3GPP (10415)
+type AVP_OctetString eDRX_Cycle_Length_Value;
+
+// 7.3.217
+// AVP: UE-PC5-AMBR (1693) 3GPP (10415)
+type AVP_Unsigned32 UE_PC5_AMBR;
+
+// 7.3.219
+// AVP: MBSFN-Area (1694) 3GPP (10415)
+type AVP_Grouped MBSFN_Area;
+
+// 7.3.220
+// AVP: MBSFN-Area-ID (1695) 3GPP (10415)
+type AVP_Unsigned32 MBSFN_Area_ID;
+
+// 7.3.221
+// AVP: Carrier-Frequency (1696) 3GPP (10415)
+type AVP_Unsigned32 Carrier_Frequency;
+
+// 7.3.222
+// AVP: RDS-Indicator (1697) 3GPP (10415)
+type enumerated RDS_Indicator
+{
+  DISABLED (0),
+  ENABLED  (1)
+}
+
diff --git a/src/AAAInterface_3GPP_TS29273_840.ddf b/src/AAAInterface_3GPP_TS29273_840.ddf
index bf7a049..50d0d42 100644
--- a/src/AAAInterface_3GPP_TS29273_840.ddf
+++ b/src/AAAInterface_3GPP_TS29273_840.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29273_840.ddf
 //  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V8.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/AAAInterface_3GPP_TS29273_940.ddf b/src/AAAInterface_3GPP_TS29273_940.ddf
index c36fa2c..a3adf2e 100644
--- a/src/AAAInterface_3GPP_TS29273_940.ddf
+++ b/src/AAAInterface_3GPP_TS29273_940.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29273_940.ddf
 //  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V9.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/AAAInterface_3GPP_TS29273_b30.ddf b/src/AAAInterface_3GPP_TS29273_b30.ddf
index 16675a4..468ecea 100644
--- a/src/AAAInterface_3GPP_TS29273_b30.ddf
+++ b/src/AAAInterface_3GPP_TS29273_b30.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               AAAInterface_3GPP_TS29273_940.ddf
 //  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V11.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/AAAInterface_3GPP_TS29273_d60.ddf b/src/AAAInterface_3GPP_TS29273_d60.ddf
new file mode 100644
index 0000000..2a2151b
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29273_d60.ddf
@@ -0,0 +1,114 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29273_940.ddf
+//  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V13.6.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V13_6_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.273 V13.6.0 - EPS AAA interfaces based on the Diameter protocol
+// Statement of Compiance  X/174 02-AXB 250 20 Uen PA4
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Access Server Application
+
+// 3GPP TS 29.273 V13.6.0  9.2.2
+type enumerated Command_Code {  
+  AA                     (265),
+  Session_Termination    (275), 
+  Abort_Session          (274)  
+}
+
+// 3GPP 29.273 V13.6.0
+// AVP: Non-3GPP-User-Data (1500) 3GPP (10415)
+// 8.2.3.1
+type AVP_Grouped Non_3GPP_User_Data
+
+// 3GPP 29.273 V13.6.0
+// AVP: Non-3GPP-IP-Access (1501) 3GPP (10415)
+// 8.2.3.3
+type enumerated Non_3GPP_IP_Access {
+  NON_3GPP_SUBSCRIPTION_ALLOWED      (0),
+  NON_3GPP_SUBSCRIPTION_BARRED       (1)
+}
+
+// 3GPP 29.273 V13.6.0
+// AVP: Non-3GPP-IP-Access-APN (1502) 3GPP (10415)
+// 8.2.3.4
+type enumerated Non_3GPP_IP_Access_APN {
+  NON_3GPP_APNS_ENABLE               (0),
+  NON_3GPP_APNS_DISABLE              (1)
+}
+
+// 3GPP 29.273 V13.6.0
+// AVP: AN-Trusted (1503) 3GPP (10415)
+// 5.2.3.9
+type enumerated AN_Trusted {
+  TRUSTED                            (0),
+  UNTRUSTED                          (1)
+}
+
+// 3GPP 29.273 V13.6.0
+// AVP: ANID (1504) 3GPP (10415)
+// 5.2.3.7
+type AVP_UTF8String ANID
+
+// 3GPP 29.273 V13.6.0
+// AVP: Trace-Info (1505) 3GPP (10415)
+// 8.2.3.13
+type AVP_Grouped Trace_Info
+
+// 3GPP 29.273 V13.6.0
+// AVP: MIP-FA-RK (1506) 3GPP (10415)
+// 5.2.3.12
+type AVP_OctetString MIP_FA_RK
+
+// 3GPP 29.273 V13.6.0
+// AVP: MIP-FA-RK-SPI (1507) 3GPP (10415)
+// 5.2.3.13
+type AVP_Unsigned32 MIP_FA_RK_SPI
+
+
+
+
+// 3GPP 29.273 V13.6.0
+// AVP: Trust-Relationship-Update (1515) 3GPP (10415)
+// 9.2.3.1.4
+type enumerated Trust_Relationship_Update {
+  REQUEST_UPDATE          (1)
+}
+
+// 3GPP 29.273 V13.6.0
+// AVP: RAR-Flags (1522) 3GPP (10415)
+// 9.2.3.1.5
+type AVP_Unsigned32 RAR_Flags
+
+
+
+// 3GPP 29.273 V13.6.0
+// AVP: Origination-Time-Stamp (1536) 3GPP (10415)
+// 9.2.3.2.6
+type AVP_Unsigned64 Origination_Time_Stamp
+
+// 3GPP 29.273 V13.6.0
+// AVP: Maximum-Wait-Time (1537) 3GPP (10415)
+// 9.2.3.2.7
+type AVP_Unsigned32 Maximum_Wait_Time
+
+
+
diff --git a/src/AAAInterface_3GPP_TS29273_f00.ddf b/src/AAAInterface_3GPP_TS29273_f00.ddf
new file mode 100644
index 0000000..c4616f6
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29273_f00.ddf
@@ -0,0 +1,211 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29273_f00.ddf
+//  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V15.0.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V15_0_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.273 V15.0.0 - EPS AAA interfaces based on the Diameter protocol
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Access Server Application
+
+// 9.2.2
+type enumerated Command_Code {  
+  AA                     (265),
+  Session_Termination    (275), 
+  Abort_Session          (274)  
+}
+
+// 8.2.3.1
+// AVP: Non-3GPP-User-Data (1500) 3GPP (10415)
+type AVP_Grouped Non_3GPP_User_Data;
+
+// 8.2.3.3
+// AVP: Non-3GPP-IP-Access (1501) 3GPP (10415)
+type enumerated Non_3GPP_IP_Access {
+  NON_3GPP_SUBSCRIPTION_ALLOWED      (0),
+  NON_3GPP_SUBSCRIPTION_BARRED       (1)
+}
+
+// 8.2.3.4
+// AVP: Non-3GPP-IP-Access-APN (1502) 3GPP (10415)
+type enumerated Non_3GPP_IP_Access_APN {
+  NON_3GPP_APNS_ENABLE               (0),
+  NON_3GPP_APNS_DISABLE              (1)
+}
+
+// 5.2.3.9
+// AVP: AN-Trusted (1503) 3GPP (10415)
+type enumerated AN_Trusted {
+  TRUSTED                            (0),
+  UNTRUSTED                          (1)
+}
+
+// 5.2.3.7
+// AVP: ANID (1504) 3GPP (10415)
+type AVP_UTF8String ANID;
+
+// 8.2.3.13
+// AVP: Trace-Info (1505) 3GPP (10415)
+type AVP_Grouped Trace_Info;
+
+// 5.2.3.12
+// AVP: MIP-FA-RK (1506) 3GPP (10415)
+type AVP_OctetString MIP_FA_RK;
+
+// 5.2.3.13
+// AVP: MIP-FA-RK-SPI (1507) 3GPP (10415)
+type AVP_Unsigned32 MIP_FA_RK_SPI;
+
+// 5.2.3.17
+// AVP: PPR-Flags (1508) 3GPP (10415)
+type AVP_Unsigned32 PPR_Flags;
+
+// 5.2.3.18
+// AVP: WLAN-Identifier (1509) 3GPP (10415)
+type AVP_Grouped WLAN_Identifier;
+
+// 8.2.3.19
+// AVP: TWAN-Access-Info (1510) 3GPP (10415)
+type AVP_Grouped TWAN_Access_Info;
+
+// 8.2.3.20
+// AVP: Access-Authorization-Flags (1511) 3GPP (10415)
+type AVP_Unsigned32 Access_Authorization_Flags;
+
+// 8.2.3.18
+// AVP: TWAN-Default-APN-Context-Id (1512) 3GPP (10415)
+type AVP_Unsigned32 TWAN_Default_APN_Context_Id;
+
+// 9.2.3.1.4
+// AVP: Trust-Relationship-Update (1515) 3GPP (10415)
+type enumerated Trust_Relationship_Update {
+  REQUEST_UPDATE          (1)
+}
+
+// 5.2.3.14
+// AVP: Full-Network-Name (1516) 3GPP (10415)
+type AVP_OctetString Full_Network_Name;
+
+// 5.2.3.15
+// AVP: Short-Network-Name (1517) 3GPP (10415)
+type AVP_OctetString Short_Network_Name;
+
+// 8.2.3.21
+// AVP: AAA-Failure-Indication (1518) 3GPP (10415)
+type AVP_Unsigned32 AAA_Failure_Indication;
+
+// 5.2.3.19
+// AVP: Transport-Access-Type (1519) 3GPP (10415)
+type enumerated Transport_Access_Type
+{
+  BBF  (0)
+}
+
+// 5.2.3.20
+// AVP: DER-Flags (1520) 3GPP (10415)
+type AVP_Unsigned32 DER_Flags;
+
+// 5.2.3.21
+// AVP: DEA-Flags (1521) 3GPP (10415)
+type AVP_Unsigned32 DEA_Flags;
+
+// 9.2.3.1.5
+// AVP: RAR-Flags (1522) 3GPP (10415)
+type AVP_Unsigned32 RAR_Flags;
+
+// 9.2.3.7
+// AVP: DER-S6b-Flags (1523) 3GPP (10415)
+type AVP_Unsigned32 DER_S6b_Flags;
+
+// 5.2.3.22
+// AVP: SSID (1524) 3GPP (10415)
+type AVP_UTF8String SSID;
+
+// 5.2.3.23
+// AVP: HESSID (1525) 3GPP (10415)
+type AVP_UTF8String HESSID;
+
+
+// 5.2.3.24
+// AVP: Access-Network-Info (1526) 3GPP (10415)
+type AVP_Grouped Access_Network_Info;
+
+// 5.2.3.25
+// AVP: TWAN-Connection-Mode (1527) 3GPP (10415)
+type AVP_Unsigned32 TWAN_Connection_Mode;
+
+// 5.2.3.26
+// AVP: TWAN-Connectivity-Parameters (1528) 3GPP (10415)
+type AVP_Grouped TWAN_Connectivity_Parameters;
+
+// 5.2.3.27
+// AVP: Connectivity-Flags (1529) 3GPP (10415)
+type AVP_Unsigned32 Connectivity_Flags;
+
+// 5.2.3.28
+// AVP: TWAN-PCO (1530) 3GPP (10415)
+type AVP_Grouped TWAN_PCO;
+
+// 5.2.3.29
+// AVP: TWAG-CP-Address (1531) 3GPP (10415)
+type AVP_Address TWAG_CP_Address;
+
+// 5.2.3.30
+// AVP: TWAG-UP-Address  (1532) 3GPP (10415)
+type AVP_UTF8String TWAG_UP_Address;
+
+// 5.2.3.31
+// AVP: TWAN-S2a-Failure-Cause (1533) 3GPP (10415)
+type AVP_Unsigned32 TWAN_S2a_Failure_Cause;
+
+// 5.2.3.33
+// AVP: SM-Back-Off-Timer (1534) 3GPP (10415)
+type AVP_Unsigned32 SM_Back_Off_Timer;
+
+// 5.2.3.33
+// AVP: WLCP-Key (1535) 3GPP (10415)
+type AVP_OctetString WLCP_Key;
+
+// 9.2.3.2.6
+// AVP: Origination-Time-Stamp (1536) 3GPP (10415)
+type AVP_Unsigned64 Origination_Time_Stamp;
+
+// 9.2.3.2.7
+// AVP: Maximum-Wait-Time (1537) 3GPP (10415)
+type AVP_Unsigned32 Maximum_Wait_Time;
+
+// 7.2.3.5
+// AVP: Emergency-Services (1538) 3GPP (10415)
+type AVP_Unsigned32 Emergency_Services;
+
+// 7.2.3.5
+// AVP: AAR-Flags (1539) 3GPP (10415)
+type AVP_Unsigned32 AAR_Flags;
+
+// 5.2.3.35
+// AVP: IMEI-Check-In-VPLMN-Result (1540) 3GPP (10415)
+type AVP_Unsigned32 IMEI_Check_In_VPLMN_Result;
+
+// 8.2.3.27
+// AVP: ERP-Authorization (1541) 3GPP (10415)
+type AVP_Unsigned32 ERP_Authorization;
+
+
diff --git a/src/AVP.awk b/src/AVP.awk
old mode 100644
new mode 100755
diff --git a/src/AVP.sh b/src/AVP.sh
old mode 100644
new mode 100755
index 877a74a..6744c92
--- a/src/AVP.sh
+++ b/src/AVP.sh
@@ -145,7 +145,12 @@ while [ $# -ge 1 ]; do
      comm_name=`which $0`
      comm_dir_name=`dirname $comm_name`
      if [ -f "${comm_dir_name}/${AVPSCRIPT}" ]; then
-       echo "// Generated with command:" > ${TTCN3FILE}".ttcn"
+       echo "///////////////////////////////////////////////////" > ${TTCN3FILE}".ttcn"
+       echo "//                                               //" >> ${TTCN3FILE}".ttcn"
+       echo "// !!!!     Generated file, do not edit     !!!! //" >> ${TTCN3FILE}".ttcn"
+       echo "//                                               //" >> ${TTCN3FILE}".ttcn"
+       echo "///////////////////////////////////////////////////" >> ${TTCN3FILE}".ttcn"
+       echo "// Generated with command:" >> ${TTCN3FILE}".ttcn"
        echo "// AVP.sh ${AWKARGS}"  >> ${TTCN3FILE}".ttcn"
        gawk -f ${comm_dir_name}/${AVPSCRIPT} ${AWKARGS} >> ${TTCN3FILE}".ttcn"
      else
diff --git a/src/AVP_encdec.awk b/src/AVP_encdec.awk
index 45bdd41..0833594 100644
--- a/src/AVP_encdec.awk
+++ b/src/AVP_encdec.awk
@@ -78,9 +78,8 @@ BEGIN {
   } 
 
 
-  print "int encode_AVP_Grouped(unsigned char* & p, const AVP__Grouped& avp){" 
-  print "  int avp_len=0;"
-  print "  unsigned char* start =p;"
+  print "int encode_AVP_Grouped(TTCN_Buffer & p, const AVP__Grouped& avp){" 
+  print "   size_t start_len =p.get_len();"
   print " 	for (int count = 0; count < avp.size_of(); count++) {"
   print "    switch(avp[count].get_selection()){"
   print "      case GenericAVP::ALT_avp__undefined:{"
@@ -107,20 +106,9 @@ BEGIN {
   print "          const AVP& avptype=avp[count].avp();"
   print "          const AVP__Header& avphdr=avptype.avp__header();"
 	        
-  print "          encode_int_4byte(p, get_AVP_code_val(avphdr.avp__code()));"
-  print "#ifdef DPMG_USE_DETAILED_BITS"
-  print "          encode_bits_1byte(p, avphdr.V__bit(), avphdr.M__bit(), avphdr.P__bit(),"
-  print "	 		                         avphdr.r__bits());"
-  print "#else"
-  print "          encode_octets(p, bit2oct(avphdr.VMPxxxxx()));"
-  print "#endif "         
-  print "          unsigned char* length_field=p;"
-  print "          p+=3;"
-  print "          if (avphdr.vendor__id().ispresent()){"
-  print "             encode_int_4byte(p, avphdr.vendor__id()());"
-  print "          }"
           
   print "          int encoded_octets=0;"
+  print "          TTCN_Buffer avp_buffer;"
   print "          switch(avptype.avp__data().get_selection()){"
 
 
@@ -182,20 +170,20 @@ BEGIN {
    if($2 == "enumerated") {
       if(enum_2_Unsigned32 || ((new_avp_code SP new_avp_vendor_id_code) in enum_replace_list)) {
         AVP_type[new_avp_code SP new_avp_vendor_id_code] = "AVP_Unsigned32"
-        BUFFER = "(p, "
+        BUFFER = "(avp_buffer, "
         TYPE = "AVP_Unsigned32"
         printCaseCommand(BUFFER, TYPE)
 
       } else {
         AVP_type[new_avp_code SP new_avp_vendor_id_code] = "enumerated"
-        BUFFER = "(p,(int)"
+        BUFFER = "(avp_buffer,(int)"
         TYPE = "AVP_enumerated"
         printCaseCommand(BUFFER, TYPE)
       }
       next
     } else {
         AVP_type[new_avp_code SP new_avp_vendor_id_code] = $2
-        BUFFER = "(p,"
+        BUFFER = "(avp_buffer,"
         TYPE = $2
         printCaseCommand(BUFFER, TYPE)
     }
@@ -206,9 +194,19 @@ END {
   print "            default:"
   print "              break;"
   print "          }"
-  print "          int avphdr_size = 8 + 4 * (avphdr.vendor__id().ispresent());"
-  print "          avp_len=avphdr_size+encoded_octets;"
-  print "          encode_int_3byte(length_field, (unsigned int) avp_len);"
+
+  print "          encode_int_4byte(p, get_AVP_code_val(avphdr.avp__code()));"
+  print "#ifdef DPMG_USE_DETAILED_BITS"
+  print "          encode_bits_1byte(p, avphdr.V__bit(), avphdr.M__bit(), avphdr.P__bit(),"
+  print "	 		                         avphdr.r__bits());"
+  print "#else"
+  print "          encode_octets(p, bit2oct(avphdr.VMPxxxxx()));"
+  print "#endif "         
+  print "          encode_int_3byte(p, (unsigned int) (8 + 4 * (avphdr.vendor__id().ispresent())+encoded_octets));"
+  print "          if (avphdr.vendor__id().ispresent()){"
+  print "             encode_int_4byte(p, avphdr.vendor__id()());"
+  print "          }"
+  print "          p.put_buf(avp_buffer);"
   print "   "       
   print "        }"
   print "        break;"
@@ -218,7 +216,7 @@ END {
   print "    }"
   print "	} // for AVPs"
   print " "
-  print "return p-start;" 
+  print "return p.get_len()-start_len;" 
   print "}"
   print ""
   print "int get_AVP_code_val(const AVP__Code& avpcodes){"
diff --git a/src/Acision_Specific.ddf b/src/Acision_Specific.ddf
index 8887e9b..ff5b915 100644
--- a/src/Acision_Specific.ddf
+++ b/src/Acision_Specific.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               Acision_Specific.ddf
 //  Description:        Acision specific AVP definitions
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 //  Reference:          
 //
diff --git a/src/Alcatel_Lucent_Specific_AVPs.ddf b/src/Alcatel_Lucent_Specific_AVPs.ddf
index f0c9f40..b988828 100644
--- a/src/Alcatel_Lucent_Specific_AVPs.ddf
+++ b/src/Alcatel_Lucent_Specific_AVPs.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               Alcatel_Lucent_Specific_AVPs.ddf
 //  Description:        Alcatel Lucent (ALU) specific AVP definitions
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/BaseTypes_IETF_RFC3588.ddf b/src/BaseTypes_IETF_RFC3588.ddf
index dd0a763..5aa6284 100644
--- a/src/BaseTypes_IETF_RFC3588.ddf
+++ b/src/BaseTypes_IETF_RFC3588.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               BaseTypes_IETF_RFC3588.ddf
 //  Description:	DDF for the Diameter base types
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
@@ -60,7 +60,7 @@ external function f_DIAMETER_GetAVPByListOfCodesFromGroupedAVP(in octetstring pl
 
 function f_get_R_bit(in PDU_DIAMETER pl_pdu) return boolean
 {
-!3   return pl_pdu.RPETxxxx[7]=='1'B;
+!3   return pl_pdu.RPETxxxx[0]=='1'B;
 !4   return pl_pdu.R_bit=='1'B;
 }
 
@@ -169,14 +169,14 @@ type charstring QoSFilterRule;
 // 4.2. Basic AVP Data Formats
 //
 
-type octetstring AVP_OctetString;
-type INT32 AVP_Integer32;
-type INT64 AVP_Integer64;
-type UINT32 AVP_Unsigned32;
-type UINT64 AVP_Unsigned64;
-type FLOAT32 AVP_Float32;
-type FLOAT64 AVP_Float64;
-type AVP_list AVP_Grouped;
+type octetstring AVP_OctetString with {variant ""};
+type INT32 AVP_Integer32 with {variant ""};
+type INT64 AVP_Integer64 with {variant ""};
+type UINT32 AVP_Unsigned32 with {variant ""};
+type UINT64 AVP_Unsigned64 with {variant ""};
+type FLOAT32 AVP_Float32 with {variant ""};
+type FLOAT64 AVP_Float64 with {variant ""};
+type AVP_list AVP_Grouped with {variant ""};
 
 //
 // 4.3. Derived AVP Data Formats
diff --git a/src/Base_IETF_RFC3588.ddf b/src/Base_IETF_RFC3588.ddf
index d367fea..bba3fcb 100644
--- a/src/Base_IETF_RFC3588.ddf
+++ b/src/Base_IETF_RFC3588.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               Base_IETF_RFC3588.ddf
 //  Description:	DDF for the Diameter base AVPs
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
@@ -49,7 +49,7 @@
 //
 
 // RFC 3588 3.1
-type enumerated Command_Code 
+type enumerated Command_Code
 {
   Abort_Session         (274),
   Accounting            (271),
@@ -59,15 +59,15 @@ type enumerated Command_Code
   Re_Auth               (258),
   Session_Termination   (275)
 }
-   
 
 
-// RFC 3588 
+
+// RFC 3588
 // AVP: Acct-Interim-Interval (85)
 // 9.8.2
 type AVP_Unsigned32 Acct_Interim_Interval;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Accounting-Realtime-Required (483)
 // 9.8.7
 type enumerated Accounting_Realtime_Required
@@ -75,19 +75,19 @@ type enumerated Accounting_Realtime_Required
   DELIVER_AND_GRANT (1),
   GRANT_AND_STORE   (2),
   GRANT_AND_LOSE    (3)
-} 
+}
 
-// RFC 3588 
+// RFC 3588
 // AVP: Acct-Multi-Session-Id (50)
 // 9.8.5
 type AVP_UTF8String Acct_Multi_Session_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Accounting-Record-Number (485)
 // 9.8.3
 type AVP_Unsigned32 Accounting_Record_Number;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Accounting-Record-Type (480)
 // 9.8.1
 type enumerated Accounting_Record_Type
@@ -98,28 +98,28 @@ type enumerated Accounting_Record_Type
   STOP_RECORD                    (4)
 }
 
-// RFC 3588 
+// RFC 3588
 // AVP: Accounting-Session-Id (44)
 // 9.8.4
 type AVP_OctetString Accounting_Session_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Accounting-Sub-Session-Id (287)
 // 9.8.6
 type AVP_Unsigned64 Accounting_Sub_Session_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Acct-Application-Id (259)
 // 6.9
 type AVP_Unsigned32 Acct_Application_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Auth-Application-Id (258)
 // 6.8
 type AVP_Unsigned32 Auth_Application_Id;
 
-// RFC 3588 
-// AVP: Auth-Request-Type (274) 
+// RFC 3588
+// AVP: Auth-Request-Type (274)
 // 8.7
 type enumerated Auth_Request_Type
 {
@@ -128,17 +128,17 @@ type enumerated Auth_Request_Type
   AUTHORIZE_AUTHENTICATE    (3)
 }
 
-// RFC 3588 
+// RFC 3588
 // AVP: Authorization-Lifetime (291)
 // 8.9
 type AVP_Unsigned32 Authorization_Lifetime;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Auth-Grace-Period (276)
 // 8.10
 type AVP_Unsigned32 Auth_Grace_Period;
-     
-// RFC 3588 
+
+// RFC 3588
 // AVP: Auth-Session-State (277)
 // 8.11
 type enumerated Auth_Session_State
@@ -147,8 +147,8 @@ type enumerated Auth_Session_State
   NO_STATE_MAINTAINED      (1)
 }
 
-// RFC 3588 
-// AVP: Re-Auth-Request-Type (285) 
+// RFC 3588
+// AVP: Re-Auth-Request-Type (285)
 // 8.12
 type enumerated Re_Auth_Request_Type
 {
@@ -156,22 +156,22 @@ type enumerated Re_Auth_Request_Type
   AUTHORIZE_AUTHENTICATE (1)
 }
 
-// RFC 3588 
+// RFC 3588
 // AVP: Class (25)
 // 8.20
 type AVP_OctetString Class;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Destination-Host (293)
 // 6.5
 type AVP_DiameterIdentity Destination_Host;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Destination-Realm (283)
 // 6.6
 type AVP_DiameterIdentity Destination_Realm;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Disconnect-Cause (273)
 // 5.4.3
 type enumerated Disconnect_Cause
@@ -181,102 +181,102 @@ type enumerated Disconnect_Cause
   DO_NOT_WANT_TO_TALK_TO_YOU (2)
 }
 
-// RFC 3588 
+// RFC 3588
 // AVP: E2E-Sequence (300)
 // 6.15
 type AVP_Grouped E2E_Sequence;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Error-Message (281)
 // 7.3
 type AVP_UTF8String Error_Message;
 
-// RFC 3588 
-// AVP: Error-Reporting-Host (294) 
+// RFC 3588
+// AVP: Error-Reporting-Host (294)
 // 7.4
 type AVP_DiameterIdentity Error_Reporting_Host;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Event-Timestamp (55)
 // 8.21
 type AVP_Time Event_Timestamp;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Experimental-Result (297)
 // 7.6
 type AVP_Grouped Experimental_Result;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Experimental-Result-Code (298)
 // 7.7
 type AVP_Unsigned32 Experimental_Result_Code;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Failed-AVP (279)
 // 7.5
 type AVP_Grouped Failed_AVP;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Firmware-Revision (267)
 // 5.3.4
 type AVP_Unsigned32 Firmware_Revision;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Host-IP-Address (257)
 // 5.3.5
 type AVP_Address Host_IP_Address;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Inband-Security-Id (299)
 // 6.10
 type AVP_Unsigned32 Inband_Security_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Multi-Round-Time-Out (272)
 // 8.19
 type AVP_Unsigned32 Multi_Round_Time_Out;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Origin-Host (264)
 // 6.3
 type AVP_DiameterIdentity Origin_Host;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Origin-Realm (296)
 // 6.4
 type AVP_DiameterIdentity Origin_Realm;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Origin-State-Id (278)
 // 8.16
 type AVP_Unsigned32 Origin_State_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Product-Name (269)
 // 5.3.7
 type AVP_UTF8String Product_Name;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Proxy-Host (280)
 // 6.7.3
 type AVP_DiameterIdentity Proxy_Host;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Proxy-Info (284)
 // 6.7.2
 type AVP_Grouped Proxy_Info;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Proxy-State (33)
 // 6.7.4
 type AVP_OctetString Proxy_State;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Redirect-Host (292)
 // 6.12
 type AVP_DiameterURI Redirect_Host;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Redirect-Host-Usage (261)
 // 6.13
 type enumerated Redirect_Host_Usage
@@ -290,37 +290,37 @@ type enumerated Redirect_Host_Usage
   ALL_USER              (6)
 }
 
-// RFC 3588 
+// RFC 3588
 // AVP: Redirect-Max-Cache-Time (262)
 // 6.14
 type AVP_Unsigned32 Redirect_Max_Cache_Time;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Result-Code (268)
 // 7.1
 type AVP_Unsigned32 Result_Code;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Route-Record (282)
 // 6.7.1
 type AVP_DiameterIdentity Route_Record;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Session-Id (263)
 // 8.8
 type AVP_UTF8String Session_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Session-Timeout (27)
 // 8.13
 type AVP_Unsigned32 Session_Timeout;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Session-Binding (270)
 // 8.17
 type AVP_Unsigned32 Session_Binding;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Session-Server-Failover (271)
 // 8.18
 type enumerated Session_Server_Failover
@@ -331,12 +331,12 @@ type enumerated Session_Server_Failover
   TRY_AGAIN_ALLOW_SERVICE        (3)
 }
 
-// RFC 3588 
+// RFC 3588
 // AVP: Supported-Vendor-Id (265)
 // 5.3.6
 type AVP_Unsigned32 Supported_Vendor_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Termination-Cause (295)
 // 8.15
 type enumerated Termination_Cause
@@ -351,17 +351,17 @@ type enumerated Termination_Cause
   DIAMETER_SESSION_TIMEOUT       (8)
 }
 
-// RFC 3588 
+// RFC 3588
 // AVP: User-Name (1)
 // 8.14
-type AVP_UTF8String User_Name;			
+type AVP_UTF8String User_Name;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Vendor-Id (266)
 // 5.3.3
 type AVP_Unsigned32 Vendor_Id;
 
-// RFC 3588 
+// RFC 3588
 // AVP: Vendor-Specific-Application-Id (260)
 // 6.11
 type AVP_Grouped Vendor_Specific_Application_Id;
diff --git a/src/CLCInterface_Vodafone_Rev2.ddf b/src/CLCInterface_Vodafone_Rev2.ddf
index 650e20b..99662a2 100644
--- a/src/CLCInterface_Vodafone_Rev2.ddf
+++ b/src/CLCInterface_Vodafone_Rev2.ddf
@@ -39,7 +39,7 @@
 //  Description:        DDF for CLC according to Intelligent Packet Core
 //                      Vodafone Diameter CCA Specification for the CLCI 
 //                      Version 2
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_850.ddf b/src/ChargingApplications_3GPP_TS32299_850.ddf
index 3e2db61..341bff9 100644
--- a/src/ChargingApplications_3GPP_TS32299_850.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_850.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplication_3GPP_TS32299_850.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V8.5.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_870.ddf b/src/ChargingApplications_3GPP_TS32299_870.ddf
index 5ca0966..02e46ce 100644
--- a/src/ChargingApplications_3GPP_TS32299_870.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_870.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplication_3GPP_TS32299_870.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V8.7.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_900.ddf b/src/ChargingApplications_3GPP_TS32299_900.ddf
index e56d38f..779687a 100644
--- a/src/ChargingApplications_3GPP_TS32299_900.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_900.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplication_3GPP_TS32299_900.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V9.0.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_940.ddf b/src/ChargingApplications_3GPP_TS32299_940.ddf
index 16439d1..f00db1b 100644
--- a/src/ChargingApplications_3GPP_TS32299_940.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_940.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplications_3GPP_TS32299_940.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V9.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_9b0.ddf b/src/ChargingApplications_3GPP_TS32299_9b0.ddf
index 02b16a6..d9c06d2 100644
--- a/src/ChargingApplications_3GPP_TS32299_9b0.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_9b0.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplications_3GPP_TS32299_9110.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V9.11.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_AdviceOfCharge.ddf b/src/ChargingApplications_3GPP_TS32299_AdviceOfCharge.ddf
index 1670d22..cc6f793 100644
--- a/src/ChargingApplications_3GPP_TS32299_AdviceOfCharge.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_AdviceOfCharge.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplication_3GPP_TS32299_AdviceOfCharge.ddf
 //  Description:        DDF for Diameter Charging Application
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_a60.ddf b/src/ChargingApplications_3GPP_TS32299_a60.ddf
index 9953ae6..5d0d997 100644
--- a/src/ChargingApplications_3GPP_TS32299_a60.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_a60.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplications_3GPP_TS32299_a60.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V10.6.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_be0.ddf b/src/ChargingApplications_3GPP_TS32299_be0.ddf
index 3994569..d37256d 100644
--- a/src/ChargingApplications_3GPP_TS32299_be0.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_be0.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               ChargingApplications_3GPP_TS32299_be0.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 11.15.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_c60.ddf b/src/ChargingApplications_3GPP_TS32299_c60.ddf
index bbb7b70..4221e4d 100644
--- a/src/ChargingApplications_3GPP_TS32299_c60.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_c60.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ChargingApplications_3GPP_TS32299_a60.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V12.6.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_d40.ddf b/src/ChargingApplications_3GPP_TS32299_d40.ddf
index 2207a80..c1df493 100644
--- a/src/ChargingApplications_3GPP_TS32299_d40.ddf
+++ b/src/ChargingApplications_3GPP_TS32299_d40.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               ChargingApplications_3GPP_TS32299_a60.ddf
 //  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V13.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ChargingApplications_3GPP_TS32299_d70.ddf b/src/ChargingApplications_3GPP_TS32299_d70.ddf
new file mode 100644
index 0000000..ee2fcf3
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_d70.ddf
@@ -0,0 +1,2457 @@
+/******************************************************************************
+* Copyright (c) 2004, 2016  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder - initial implementation and initial documentation
+*   Gabor Szalai
+******************************************************************************/
+//
+//  File:               ChargingApplications_3GPP_TS32299_a60.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V13.7.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V13_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 V13.7.0 - Telecommunication management; Charging management;
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588   - Diameter Base Protocol
+// RFC 4006 - Diameter Credit Control Application
+//
+// Notes:
+//
+
+
+// 3GPP TS 32.299 V13.7.0 
+type enumerated Command_Code 
+{  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.1
+type AVP_OctetString Access_Network_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Access-Transfer-Information (2709) 3GPP (10415)
+// 7.2.1A
+type AVP_Grouped Access_Transfer_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Access-Transfer-Type (2710) 3GPP (10415)
+// 7.2.1.B
+type enumerated Access_Transfer_Type
+{
+  PS_to_CS_Transfer (0),
+  CS_to_PS_Transfer (1),
+  PS_to_PS_Transfer (2),
+  CS_to_CS_Transfer (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Account-Expiration  (2309) 3GPP (10415)
+// 7.2.2
+type AVP_Time Account_Expiration;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Accumulated-Cost (2052) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Accumulated_Cost;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.4
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.5
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Additional-Exception-Reports  (3936) 3GPP (10415)
+// 7.2.5A
+type enumerated Additional_Exception_Reports
+{
+  NOT_ALLOWED (0),
+  ALLOWED  (1)
+}
+
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.6
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.7
+type AVP_UTF8String Address_Data;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.8
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Address-Type (899) 3GPP (10415)
+// 7.2.9
+type enumerated Address_Type
+{
+  E_MAIL_ADDRESS         (0),
+  MSISDN                 (1),
+  IPV4_ADDRESS           (2),
+  IPV6_ADDRESS           (3),
+  NUMERIC_SHORTCODE      (4),
+  ALPHANUMERIC_SHORTCODE (5),
+  OTHER                  (6),
+  IMSI                   (7)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.10
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Announcement-Identifier (3905) 3GPP (10415)
+// 7.2.12aA
+type AVP_Unsigned32 Announcement_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Announcement-Information (3904) 3GPP (10415)
+// 7.2.12aB
+type AVP_Grouped Announcement_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Announcement-Order (3906) 3GPP (10415)
+// 7.2.12aC
+type AVP_Unsigned32 Announcement_Order;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Announcing-UE-HPLMN-Identifier (3426) 3GPP (10415)
+// 7.2.12A
+type AVP_UTF8String Announcing_UE_HPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Announcing-UE-VPLMN-Identifier (3427) 3GPP (10415)
+// 7.2.12B
+type AVP_UTF8String Announcing_UE_VPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Cost-Information (2053) 3GPP (10415)
+// 7.2.13
+type AVP_Grouped AoC_Cost_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Format (2310) 3GPP (10415)
+// 7.2.14
+type enumerated AoC_Format
+{
+  MONETARY (0),
+  NON_MONETARY  (1),
+  CAI (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Information (2054) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped AoC_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Request-Type (2055) 3GPP (10415)
+// 7.2.16
+type enumerated AoC_Request_Type
+{
+  AoC_NOT_REQUESTED     (0),
+  AoC_FULL              (1),
+  AoC_COST_ONLY         (2),
+  AoC_TARIFF_ONLY       (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Service (2311) 3GPP (10415)
+// 7.2.17
+type AVP_Grouped AoC_Service;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Service-Obligatory-Type (2312) 3GPP (10415)
+// 7.2.18
+type enumerated AoC_Service_Obligatory_Type
+{
+  NON_BINDING   (0),
+  BINDING       (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Service-Type (2313) 3GPP (10415)
+// 7.2.19
+type enumerated AoC_Service_Type
+{
+  NONE   (0),
+  AOC_S  (1),
+  AOC_D  (2),
+  AOC_E  (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: AoC-Subscription-Information (2314) 3GPP (10415)
+// 7.2.20
+type AVP_Grouped AoC_Subscription_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: APN-Rate-Control (3933) 3GPP (10415)
+// 7.2.20A
+type AVP_Grouped APN_Rate_Control;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: APN-Rate-Control-Downlink (3934) 3GPP (10415)
+// 7.2.20B
+type AVP_Grouped APN_Rate_Control_Downlink;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: APN-Rate-Control-Uplink (3935) 3GPP (10415)
+// 7.2.20B
+type AVP_Grouped APN_Rate_Control_Uplink;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Application-provided-Called-Party-Address (837) 3GPP (10415)
+// 7.2.22
+type AVP_UTF8String Application_provided_Called_Party_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.24
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Application-Specific-Data (3458) 3GPP (10415)
+// 7.2.24A
+type AVP_OctetString Application_Specific_Data;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.25
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.27
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.28
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.29
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Basic-Service-Code (3411) 3GPP (10415)
+// 7.2.29A
+type AVP_Grouped Basic_Service_Code;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Bearer-Capability (3412) 3GPP (10415)
+// 7.2.29B
+type AVP_OctetString Bearer_Capability;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.30
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: BSSID (2716) 3GPP (10415)
+// 7.2.30A
+type AVP_UTF8String BSSID;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.31
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Called-Identity (3916) 3GPP (10415)
+// 7.2.31A
+type AVP_UTF8String Called_Identity;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Called-Identity-Change (3917) 3GPP (10415)
+// 7.2.31B
+type AVP_Grouped Called_Identity_Change;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.32
+type AVP_UTF8String Called_Party_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Calling_Party_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.34
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.35
+type AVP_Integer32 Cause_Code;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.36
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Change-Condition  (2037) 3GPP (10415)
+// 7.2.37
+type AVP_Integer32 Change_Condition;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Change-Time  (2038) 3GPP (10415)
+// 7.2.38
+type AVP_Time Change_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Charge-Reason-Code (2118) 3GPP (10415)
+// 7.2.38A
+type enumerated Charge_Reason_Code
+{
+  UNKNOWN (0),
+  USAGE (1),
+  COMMUNICATION_ATTEMPT_CHARGE (2),
+  SETUP_CHARGE (3),
+  ADD_ON_CHARGE (4)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.39
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Charging-Characteristics-Selection-Mode (2066) 3GPP (10415)
+// 7.2.39A
+type enumerated Charging_Characteristics_Selection_Mode
+{
+  SERVING_NODE_SUPPLIED (0),
+  SUBSCRIPTION_SPECIFIC (1),
+  APN_SPECIFIC (2),
+  HOME_DEFAULT (3),
+  ROAMING_DEFAULT (4),
+  VISITING_DEFAULT (5)
+}
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Class-Identifier (1214) 3GPP (10415)
+// 7.2.40
+type enumerated Class_Identifier
+{
+  PERSONAL      (0),
+  ADVERTISMENT  (1),
+  INFORMATIONAL (2),
+  AUTO          (3)
+}
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.41
+type AVP_Address Client_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: CN-Operator-Selection-Entity (3421) 3GPP (10415)
+// 7.2.41A
+type enumerated CN_Operator_Selection_Entity
+{
+  SN_selected_by_UE (0),
+  SN_selected_by_network (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Content-Class (1220) 3GPP (10415)
+// 7.2.42
+type enumerated Content_Class
+{
+  TEXT          (0),
+  IMAGE_BASIC   (1),
+  IMAGE_RICH    (2),
+  VIDEO_BASIC   (3),
+  VIDEO_RICH    (4),
+  MEGAPIXEL     (5),
+  CONTENT_BASIC (6),
+  CONTENT_RICH  (7)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.43
+type AVP_UTF8String Content_Disposition;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.44
+type AVP_Unsigned32 Content_Length;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.45
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.46
+type AVP_UTF8String Content_Type;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Coverage-Status (3428) 3GPP (10415)
+// 7.2.46aA
+type enumerated Coverage_Status
+{
+  OUT_OF_COVERAGE (0),
+  IN_COVERAGE (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Coverage-Info (3459) 3GPP (10415)
+// 7.2.46aaA
+type AVP_Grouped Coverage_Info;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: CP-CIoT-EPS-Optimisation-Indicator (3930) 3GPP (10415)
+// 7.2.46abA
+type enumerated CP_CIoT_EPS_Optimisation_Indicator
+{
+  NOT_APPLY (0),
+  APPLY (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: CPDT-Information (3927) 3GPP (10415)
+// 7.2.46acA
+type AVP_Grouped CPDT_Information;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: CSG-Access-Mode (2317) 3GPP (10415)
+// 7.2.46A
+type enumerated CSG_Access_Mode
+{
+  CLOSED_MODE (0),
+  HYBRID_MODE (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: CSG-Membership-Indication (2318) 3GPP (10415)
+// 7.2.46B
+type enumerated CSG_Membership_Indication
+{
+  NOT_CSG_MEMBER (0),
+  CSG_MEMBER (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Current-Tariff (2056) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Current_Tariff;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: CUG-Information (2304) 3GPP (10415)
+// 7.2.48
+type AVP_OctetString CUG_Information;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 7.2.49
+type AVP_Integer32 Data_Coding_Scheme;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: DCD-Information (2115) 3GPP (10415)
+// 7.2.50
+type AVP_Grouped DCD_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Deferred-Location-Event-Type (1230) 3GPP (10415)
+// 7.2.51
+type AVP_UTF8String Deferred_Location_Event_Type;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.52
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.53
+type AVP_Grouped Destination_Interface;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Diagnostics (2039) 3GPP (10415)
+// 7.2.54
+type AVP_Integer32 Diagnostics;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.55
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.56
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Dynamic-Address-Flag (2051) 3GPP (10415)
+// 7.2.57
+type enumerated Dynamic_Address_Flag
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Dynamic-Address-Flag-Extension (2068) 3GPP (10415)
+// 7.2.57A
+type enumerated Dynamic_Address_Flag_Extension
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Enhanced-Diagnostics (3901) 3GPP (10415)
+// 7.2.58A
+type AVP_Grouped Enhanced_Diagnostics;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.59
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.60
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Envelope-Reporting (1268) 3GPP (10415)
+// 7.2.61
+type enumerated Envelope_Reporting
+{
+  DO_NOT_REPORT_ENVELOPES                 (0),
+  REPORT_ENVELOPES                        (1),
+  REPORT_ENVELOPES_WITH_VOLUME            (2),
+  REPORT_ENVELOPES_WITH_EVENTS            (3),
+  REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS (4)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.62
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ePDG-Address (3425) 3GPP (10415)
+// 7.2.62A
+type AVP_Address ePDG_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String Event;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.64
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped Event_Type;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.66
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: File-Repair-Supported (1224) 3GPP (10415)
+// 7.2.67
+type enumerated File_Repair_Supported
+{
+  SUPPORTED     (1),
+  NOT_SUPPORTED (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: From-Address (2708) 3GPP (10415)
+// 7.2.67A
+type AVP_UTF8String From_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Forwarding-Pending (3415) 3GPP (10415)
+// 7.2.67aA
+type enumerated Forwarding_Pending
+{
+  Forwarding_not_Pending (0),
+  Forwarding_Pending (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.68
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped IM_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Incremental-Cost (2062) 3GPP (10415)
+// 7.2.70
+type AVP_Grouped Incremental_Cost;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Instance-Id (3402) 3GPP (10415)
+// 7.2.70A
+type AVP_UTF8String Instance_Id;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.71
+type AVP_UTF8String Interface_Id;		
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String Interface_Port;		
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Interface_Text;		
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Interface-Type (2006) 3GPP (10415)
+// 7.2.74
+type enumerated Interface_Type	
+{
+  UNKNOWN                 (0),
+  MOBILE_ORIGINATING      (1),
+  MOBILE_TERMINATING      (2),
+  APPLICATION_ORIGINATING (3),
+  APPLICATION_TERMINATION (4)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IMS-Application-Reference-Identifier (2601) 3GPP (10415)
+// 7.2.74A
+type AVP_UTF8String IMS_Application_Reference_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Inter-UE-Transfer (3902) 3GPP (10415)
+// 7.2.74aA
+type enumerated Inter_UE_Transfer	
+{
+  INTRA_UE_TRANSFER (0),
+  INTER_UE_TRANSFER (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.75
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.76
+type AVP_UTF8String IMS_Communication_Service_Identifier;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IMS-Emergency-Indicator (2322) 3GPP (10415)
+// 7.2.76A
+type enumerated IMS_Emergency_Indicator
+{
+  Non_Emergency (0),
+  Emergency (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IMS-Visited-Network-Identifier (2713) 3GPP (10415)
+// 7.2.77A
+type AVP_UTF8String IMS_Visited_Network_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IMSI-Unauthenticated-Flag (2308) 3GPP (10415)
+// 7.2.78
+type enumerated IMSI_Unauthenticated_Flag	
+{
+  AUTHENTICATED    (0),
+  UNAUTHENTICATED  (1)
+}
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.79
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Initial-IMS-Charging-Identifier (2321) 3GPP (10415)
+// 7.2.79A
+type AVP_UTF8String Initial_IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.80
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: IP-Realm-Default-Indication (2603) 3GPP (10415)
+// 7.2.80A
+type enumerated IP_Realm_Default_Indication	
+{
+  DEFAULT_IP_REALM_NOT_USED    (0),
+  DEFAULT_IP_REALM_USED        (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ISUP-Cause (3416) 3GPP (10415)
+// 7.2.80B
+type AVP_Grouped ISUP_Cause;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ISUP-Cause-Diagnostics (3422) 3GPP (10415)
+// 7.2.80C
+type AVP_OctetString ISUP_Cause_Diagnostics;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ISUP-Cause-Location (3423) 3GPP (10415)
+// 7.2.80D
+type AVP_Unsigned32 ISUP_Cause_Location;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ISUP-Cause-Value (3424) 3GPP (10415)
+// 7.2.80E
+type AVP_Unsigned32 ISUP_Cause_Value;	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ISUP-Location-Number (3414) 3GPP (10415)
+// 7.2.80F
+type AVP_OctetString ISUP_Location_Number;	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Language (3914) 3GPP (10415)
+// 7.2.80Fa
+type AVP_UTF8String Language;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Layer-2-Group-ID (3429) 3GPP (10415)
+// 7.2.80G
+type AVP_OctetString Layer_2_Group_ID;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.81
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Client-Dialed-By-MS (1233) 3GPP (10415)
+// 7.2.82
+type AVP_UTF8String LCS_Client_Dialed_By_MS;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.84
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.85
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Client-Type (1241) 3GPP (10415)
+// 7.2.86
+type enumerated LCS_Client_Type
+{
+  EMERGENCY_SERVICES        (0),
+  VALUE_ADDED_SERVICES      (1),
+  PLMN_OPERATOR_SERVICES    (2),
+  LAWFUL_INTERCEPT_SERVICES (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.87
+type AVP_UTF8String LCS_Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Format-Indicator (1237) 3GPP (10415)
+// 7.2.88
+type enumerated LCS_Format_Indicator
+{
+  LOGICAL_NAME   (0),
+  EMAIL_ADDRESS  (1),
+  MSISDN         (2),
+  URL		 (3),
+  SIP_URL        (4)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.89
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.90
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.91
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.92
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Local-GW-Inserted-Indication (2604) 3GPP (10415)
+// 7.2.92A
+type enumerated Local_GW_Inserted_Indication 
+{
+  LOCAL_GW_NOT_INSERTED            (0),
+  LOCAL_GW_INSERTED                (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Local-Sequence-Number (2063) 3GPP (10415)
+// 7.2.93
+type AVP_Unsigned32 Local_Sequence_Number;
+
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.94
+type AVP_OctetString Location_Estimate;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Location-Estimate-Type (1243) 3GPP (10415)
+// 7.2.95
+type enumerated Location_Estimate_Type 
+{
+  CURRENT_LOCATION            (0),
+  CURRENT_LAST_KNOWN_LOCATION (1),
+  INITIAL_LOCATION            (2),
+  ACTIVATE_DEFERRED_LOCATION  (3),
+  CANCEL_DEFERRED_LOCATION    (4)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Location-Info (3460) 3GPP (10415)
+// 7.2.95A
+type AVP_Grouped Location_Info;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Location_Type;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Low-Balance-Indication (2020) 3GPP (10415)
+// 7.2.97
+type enumerated Low_Balance_Indication
+{
+  NOT_APPLICABLE (0),
+  YES            (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Low-Priority-Indicator (2602) 3GPP (10415)
+// 7.2.97A
+type enumerated Low_Priority_Indicator
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MBMS-Charged-Party (2323) 3GPP (10415)
+// 7.2.97B
+type enumerated MBMS_Charged_Party
+{
+  CONTENT_PROVIDER  (0),
+  SUBSCRIBER (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MBMS-GW-Address (2307) 3GPP (10415)
+// 7.2.98
+type AVP_Address MBMS_GW_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.99
+type AVP_Grouped MBMS_Information;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MBMS-User-Service-Type (1225) 3GPP (10415)
+// 7.2.100
+type enumerated MBMS_User_Service_Type
+{
+  DOWNLOAD  (1),
+  STREAMING (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Media-Initiator-Flag (882) 3GPP (10415)
+// 7.2.101
+type enumerated Media_Initiator_Flag
+{
+  CALLED_PARTY   (0),
+  CALLING_PARTY  (1),
+  UNKNOWN        (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.102
+type AVP_UTF8String Media_Initiator_Party;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.103
+type AVP_Grouped Message_Body;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.104
+type AVP_Grouped Message_Class;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.105
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.106
+type AVP_Unsigned32 Message_Size;	 	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Message-Type (1211) 3GPP (10415)
+// 7.2.107
+type enumerated Message_Type
+{
+  M_SEMD_REQ          (1),
+  M_SEMD_CONF         (2),
+  M_NOTIFICATION_IND  (3),
+  M_NOTIFYRESP_IND    (4),
+  M_RETRIEVE_CONF     (5),
+  M_ACKNOWLEDGE_IND   (6),
+  M_DELIVERY_IND      (7),
+  M_READ_REC_IND      (8),
+  M_READ_ORIG_IND     (9),
+  M_FORWARD_REQ      (10),
+  M_FORWARD_CONF     (11),
+  M_MBOX_STORE_CONF  (12),
+  M_MBOX_VIEW_CONF   (13),
+  M_MBOX_UPLOAD_CONF (14),
+  M_MBOX_DELETE_CONF (15)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.108
+type AVP_Grouped MM_Content_Type;
+
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.109
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+// 3GPP TS 32.299 V13.7.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.110
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MMTel-Information (2030) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped MMTel_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MMTel-SService-Type (2031) 3GPP (10415)
+// 7.2.111A
+type AVP_Unsigned32 MMTel_SService_Type;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitored-PLMN-Identifier (3430) 3GPP (10415)
+// 7.2.111Aa
+type AVP_UTF8String Monitored_PLMN_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-Event-Configuration-Activity (3919) 3GPP (10415)
+// 7.2.111AaA
+type enumerated Monitoring_Event_Configuration_Activity
+{
+  CREATE (0),
+  TRANSFER (1),
+  UPDATE (2),
+  DELETE (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-Event-Funtionality (3922) 3GPP (10415)
+// 7.2.111AaB
+type enumerated Monitoring_Event_Funtionality
+{
+  CONFIGURATION (0),
+  REPORTING (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-Event-Information (3921) 3GPP (10415)
+// 7.2.111AaC
+type AVP_Grouped Monitoring_Event_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-Event-Report-Data (3920) 3GPP (10415)
+// 7.2.111AaD
+type AVP_Grouped Monitoring_Event_Report_Data;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-Event-Report-Number (3923) 3GPP (10415)
+// 7.2.111AaE
+type AVP_Unsigned32 Monitoring_Event_Report_Number;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-UE-HPLMN-Identifier (3431) 3GPP (10415)
+// 7.2.111Ab
+type AVP_UTF8String Monitoring_UE_HPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-UE-Identifier (3432) 3GPP (10415)
+// 7.2.111Ac
+type AVP_UTF8String Monitoring_UE_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Monitoring-UE-VPLMN-Identifier (3433) 3GPP (10415)
+// 7.2.111Ad
+type AVP_UTF8String Monitoring_UE_VPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MSC-Address (3417) 3GPP (10415)
+// 7.2.111B
+type AVP_OctetString MSC_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: MTC-IWF-Address (3406) 3GPP (10415)
+// 7.2.111C
+type AVP_Address MTC_IWF_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Neighbour-Node-Address (2705) 3GPP (10415)
+// 7.2.111D
+type AVP_Address Neighbour_Node_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Network-Call-Reference-Number (3418) 3GPP (10415)
+// 7.2.111E
+type AVP_OctetString Network_Call_Reference_Number;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Next-Tariff (2057) 3GPP (10415)
+// 7.2.112
+type AVP_Grouped Next_Tariff;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: NNI-Information (2703) 3GPP (10415)
+// 7.2.112A
+type AVP_Grouped NNI_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: NIDD-Submission (3928) 3GPP (10415)
+// 7.2.112aA
+type AVP_Grouped NIDD_Submission;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: NNI-Type (2704) 3GPP (10415)
+// 7.2.112B
+type enumerated NNI_Type
+{
+  Non_Roaming (0),
+  Roaming_Without_Loopback (1),
+  Roaming_With_Loopback (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Node-Functionality (862) 3GPP (10415)
+// 7.2.113
+type enumerated Node_Functionality
+{
+  S_CSCF  (0),
+  P_CSCF  (1),
+  I_CSCF  (2),
+  MRFC    (3),
+  MGCF    (4),
+  BGCF    (5),
+  AS      (6),
+  IBCF    (7),
+  S_GW    (8),
+  P_GW    (9),
+  HSGW    (10),
+  E_CSCF  (11),
+  MME     (12),
+  TRF     (13),
+  TF      (14),
+  ATCF    (15),
+  Proxy_Function (16),
+  ePDG    (17),
+  TDF     (18),
+  TWAG    (19),
+  SCEF    (20),
+  IWK_SCEF (21)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Node-Id (2064) 3GPP (10415)
+// 7.2.114
+type AVP_UTF8String Node_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Number-Of-Diversions (2034) 3GPP (10415)
+// 7.2.115
+type AVP_Unsigned32 Number_Of_Diversions;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.116
+type AVP_Unsigned32 Number_of_Messages_Sent;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.117
+type AVP_Unsigned32 Number_Of_Participants;
+			
+// 3GPP TS 32.299 V13.7.0
+// AVP: Number-Of-Received-Talk-Bursts (1282) 3GPP (10415)
+// 7.2.118
+type AVP_Unsigned32 Number_Of_Received_Talk_Bursts;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.119
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.120
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.121
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Online-Charging-Flag (2303) 3GPP (10415)
+// 7.2.122
+type enumerated Online_Charging_Flag
+{
+  ECF_ADDRESS_NOT_PROVIDED  (0),
+  ECF_ADDRESS_PROVIDED  (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.123
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.124
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.125
+type AVP_Grouped Originator_Address;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.126
+type AVP_Grouped Originator_Interface;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.127 
+type AVP_Grouped Originator_Received_Address;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.128
+type AVP_Address Originating_SCCP_Address;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Outgoing-Session-Id (2320) 3GPP (10415)
+// 7.2.128A
+type AVP_UTF8String Outgoing_Session_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.129
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.130
+type AVP_UTF8String Participants_Involved;	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.131
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Participant-Access-Priority (1259) 3GPP (10415)
+// 7.2.132
+type enumerated Participant_Access_Priority
+{
+  PRE_EMPTIVE_PRIORITY (1),
+  HIGH_PRIORITY        (2),
+  NORMAL_PRIORITY      (3),
+  LOW_PRIORITY         (4)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Participant-Action-Type (2049) 3GPP (10415)
+// 7.2.133
+type enumerated Participant_Action_Type
+{
+  CREATE_CONF       (0),
+  JOIN_CONF         (1),
+  INVITE_INTO_CONF  (2),
+  QUIT_CONF         (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PC3-Control-Protocol-Cause (3434) 3GPP (10415)
+// 7.2.135A
+type AVP_Integer32 PC3_Control_Protocol_Cause;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PC3-EPC-Control-Protocol-Cause (3435) 3GPP (10415)
+// 7.2.135B
+type AVP_Integer32 PC3_EPC_Control_Protocol_Cause;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PDN-Connection-Charging-ID (2050) 3GPP (10415)
+// 7.2.136
+type AVP_Unsigned32 PDN_Connection_Charging_ID;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.137
+type AVP_Address PDP_Address;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PDP-Address-Prefix-Length (2606) 3GPP (10415)
+// 7.2.137A
+type AVP_Unsigned32 PDP_Address_Prefix_Length;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.138
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Play-Alternative (3913) 3GPP (10415)
+// 7.2.138A
+type enumerated Play_Alternative
+{
+  SERVED_PARTY   (0),
+  REMOTE_PARTY (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Change-Conditions (1261) 3GPP (10415)
+// 7.2.139
+type enumerated PoC_Change_Conditions
+{
+  SERVICE_CHANGE                 (0),
+  VOLUME_LIMIT                   (1),
+  TIME_LIMIT                     (2),
+  NUMBER_OF_TALK_BURST_LIMIT     (3),
+  NUMBER_OF_ACTIVE_PARTICIPANTS  (4),
+  TARIFF_TIME                    (5)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.140
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String PoC_Controlling_Address;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Event-Type (2025) 3GPP (10415)
+// 7.2.142
+type enumerated PoC_Event_Type
+{
+  NORMAL                         (0),
+  INSTANT_PERSONAL_ALERT_EVENT   (1),
+  POC_GROUP_ADVERTISEMENT_EVENT  (2),
+  EARLY_SESSION_SETTING_UP_EVENT (3),
+  POC_TALK_BURST                 (4)
+}
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.143
+type AVP_UTF8String PoC_Group_Name;	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.144
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Server-Role	 (883) 3GPP (10415)
+// 7.2.145
+type enumerated PoC_Server_Role	
+{
+  PARTICIPATING_POC_SERVER  (0),
+  CONTROLLING_POC_SERVER    (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.146
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Session-Initiation-Type (1277) 3GPP (10415)
+// 7.2.147
+type enumerated PoC_Session_Initiation_Type
+{
+  PRE_ESTABLISHED (0),
+  ON_DEMAND       (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-Session-Type (884) 3GPP (10415)
+// 7.2.148
+type enumerated PoC_Session_Type
+{
+  ONE_TO_ONE_POC_SESSION         (0),
+  CHAT_POC_GROUP_SESSION         (1),
+  PRE_ARRANGED_POC_GROUP_SESSION (2),
+  AD_HOC_POC_GROUP_SESSION       (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PoC-User-Role-info-Units (1254) 3GPP (10415)
+// 7.2.151
+type enumerated PoC_User_Role_info_Units
+{
+  MODERATOR           (1),
+  DISPATCHER          (2),
+  SESSION_OWNER       (3),
+  SESSION_PARTICIPANT (4)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.152
+type AVP_UTF8String Positioning_Data;		 	
+
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Preferred-AoC-Currency (2315) 3GPP (10415)
+// 7.2.153
+type AVP_Unsigned32 Preferred_AoC_Currency;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.154
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Privacy-Indicator (3915) 3GPP (10415)
+// 7.2.154aA
+type enumerated Privacy_Indicator
+{
+  NOT_PRIVATE    (0),
+  PRIVATE (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-3rd-Party-Application-ID (3440) 3GPP (10415)
+// 7.2.154A
+type AVP_UTF8String ProSe_3rd_Party_Application_ID;		 	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Direct-Communication-Reception-Data-Container (3461) 3GPP (10415)
+// 7.2.154Aa
+type AVP_Grouped ProSe_Direct_Communication_Reception_Data_Container;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Direct-Communication-Transmission-Data-Container (3441) 3GPP (10415)
+// 7.2.154B
+type AVP_Grouped ProSe_Direct_Communication_Transmission_Data_Container;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Direct-Discovery-Model (3442) 3GPP (10415)
+// 7.2.154C
+type enumerated ProSe_Direct_Discovery_Model 
+{
+  MODEL_A (0),
+  MODEL_B (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Event-Type (3443) 3GPP (10415)
+// 7.2.154D
+type enumerated ProSe_Event_Type 
+{
+  ANNOUNCING (0),
+  MONITORING (1),
+  MATCH_REPORT (2)
+}
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Function-IP-Address (3444) 3GPP (10415)
+// 7.2.154E
+type AVP_Address ProSe_Function_IP_Address;		
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Function-PLMN-Identifier (3457) 3GPP (10415)
+// 7.2.154F
+type AVP_UTF8String ProSe_Function_PLMN_Identifier;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Functionality (3445) 3GPP (10415)
+// 7.2.154G
+type enumerated ProSe_Functionality
+{
+  DIRECT_DISCOVERY (0),
+  EPC_LEVEL_DISCOVERY (1),
+  DIRECT_COMMUNICATION (2)
+}
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Group-IP-Multicast-Address (3446) 3GPP (10415)
+// 7.2.154H
+type AVP_Address ProSe_Group_IP_Multicast_Address;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Information (3447) 3GPP (10415)
+// 7.2.154I
+type AVP_Grouped ProSe_Information;
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Range-Class (3448) 3GPP (10415)
+// 7.2.154J
+type AVP_Unsigned32 ProSe_Range_Class;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Reason-For-Cancellation (3449) 3GPP (10415)
+// 7.2.154K
+type enumerated ProSe_Reason_For_Cancellation
+{
+  PROXIMITY_ALERT_SENT (0),
+  TIME_EXPIRED_WITH_NO_RENEWAL (1),
+  REQUESTOR_CANCELLATION (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Request-Timestamp (3450) 3GPP (10415)
+// 7.2.154L
+type AVP_Time ProSe_Request_Timestamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Role-Of-UE (3451) 3GPP (10415)
+// 7.2.154M
+type enumerated ProSe_Role_Of_UE
+{
+  ANNOUNCING_UE (0),
+  MONITORING_UE (1),
+  REQUESTOR_UE (2),
+  REQUESTED_UE (3)
+}
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-Source-IP-Address (3452) 3GPP (10415)
+// 7.2.154N
+type AVP_Address ProSe_Source_IP_Address;		
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: ProSe-UE-ID (3453) 3GPP (10415)
+// 7.2.154O
+type AVP_OctetString ProSe_UE_ID;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Proximity-Alert-Indication (3454) 3GPP (10415)
+// 7.2.154P
+type enumerated Proximity_Alert_Indication
+{
+  ALERT (0),
+  NO_ALERT (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Proximity-Alert-Timestamp (3455) 3GPP (10415)
+// 7.2.154Q
+type AVP_Time Proximity_Alert_Timestamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Proximity-Cancellation-Timestamp (3456) 3GPP (10415)
+// 7.2.154R
+type AVP_Time Proximity_Cancellation_Timestamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PS-Append-Free-Format-Data (867) 3GPP (10415)
+// 7.2.155
+type enumerated PS_Append_Free_Format_Data
+{
+  APPEND    (0),
+  OVERWRITE (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.156
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.157
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.158
+type AVP_Grouped PS_Information;
+				
+// 3GPP TS 32.299 V13.7.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.159
+type AVP_Unsigned32 Quota_Consumption_Time;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.160
+type AVP_Unsigned32 Quota_Holding_Time;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Quota-Indicator (3912) 3GPP (10415)
+// 7.2.160aA
+type enumerated Quota_Indicator
+{
+  QUOTA_IS_NOT_USED_DURING_PLAYBACK (0),
+  QUOTA_IS_USED_DURING_PLAYBACK (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Radio-Frequency (3462) 3GPP (10415)
+// 7.2.160A
+type AVP_OctetString Radio_Frequency;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Radio-Parameter-Set-Info (3463) 3GPP (10415)
+// 7.2.160B
+type AVP_Grouped Radio_Parameter_Set_Info;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Radio-Parameter-Set-Values (3464) 3GPP (10415)
+// 7.2.160C
+type AVP_OctetString Radio_Parameter_Set_Values;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Radio-Resources-Indicator (3465) 3GPP (10415)
+// 7.2.160D
+type AVP_Integer32 Radio_Resources_Indicator;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Rate-Control-Max-Message-Size (3937) 3GPP (10415)
+// 7.2.160E
+type AVP_Integer32 Rate_Control_Max_Message_Size;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Rate-Control-Max-Rate (3938) 3GPP (10415)
+// 7.2.160F
+type AVP_Integer32 Rate_Control_Max_Rate;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Rate-Control-Time-Unit (3939) 3GPP (10415)
+// 7.2.160G
+type AVP_Integer32 Rate_Control_Time_Unit;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Rate-Element (2058) 3GPP (10415)
+// 7.2.161
+type AVP_Grouped Rate_Element;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Read-Reply-Report-Requested (1222) 3GPP (10415)
+// 7.2.162
+type enumerated Read_Reply_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Real-Time-Tariff-Information (2305) 3GPP (10415)
+// 7.2.164
+type AVP_Grouped Real_Time_Tariff_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Reason-Header (3401) 3GPP (10415)
+// 7.2.164A
+type AVP_UTF8String Reason_Header;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.165
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.166
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.167
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Recipient-Info (2026) 3GPP (10415)
+// 7.2.168
+type AVP_Grouped Recipient_Info;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.169
+type AVP_Grouped Recipient_Received_Address;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.170
+type AVP_Address Recipient_SCCP_Address;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.171
+type AVP_OctetString Refund_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Relationship-Mode (2706) 3GPP (10415)
+// 7.2.171A
+type enumerated Relationship_Mode
+{
+  Trusted (0),
+  Non_Trusted (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Related-Change-Condition-Information (3925) 3GPP (10415)
+// 7.2.171Aa
+type AVP_Grouped Related_Change_Condition_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Related-Trigger (3926) 3GPP (10415)
+// 7.2.171Ab
+type AVP_Grouped Related_Trigger;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Related-IMS-Charging-Identifier (2711) 3GPP (10415)
+// 7.2.171B
+type AVP_UTF8String Related_IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Related-IMS-Charging-Identifier-Node (2712) 3GPP (10415)
+// 7.2.171C
+type AVP_Address Related_IMS_Charging_Identifier_Node;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Remaining-Balance (2021) 3GPP (10415)
+// 7.2.172
+type AVP_Grouped Remaining_Balance;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Applic-ID (1223) 3GPP (10415)
+// 7.2.173
+type AVP_UTF8String Reply_Applic_ID;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Reply-Path-Requested (2011) 3GPP (10415)
+// 7.2.174
+type enumerated Reply_Path_Requested
+{
+  NO_REPLY_PATH_SET (0),
+  REPLY_PATH_SET    (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Reporting-Reason (872) 3GPP (10415)
+// 7.2.175
+type enumerated Reporting_Reason
+{
+  THRESHOLD                (0),
+  QHT                      (1),
+  FINAL                    (2),
+  QUOTA_EXHAUSTED          (3),
+  VALIDITY_TIME            (4),
+  OTHER_QUOTA_TYPE         (5),
+  RATING_CONDITION_CHANGE  (6),
+  FORCED_REAUTHORISATION   (7),
+  POOL_EXHAUSTED           (8)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.176
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Requested-PLMN-Identifier (3436) 3GPP (10415)
+// 7.2.176A
+type AVP_UTF8String Requested_PLMN_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Requestor-PLMN-Identifier (3437) 3GPP (10415)
+// 7.2.176B
+type AVP_UTF8String Requestor_PLMN_Identifier;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Role-Of-Node (829) 3GPP (10415)
+// Note: not compatible with V9.2.0 or before (see spec.)
+// 7.2.177
+type enumerated Role_Of_Node
+{
+  ORIGINATING_ROLE  (0),
+  TERMINATING_ROLE  (1),
+  FORWARDING_ROLE   (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Role-Of-ProSe-Function (3438) 3GPP (10415)
+// 7.2.177aA
+type enumerated Role_Of_ProSe_Function
+{
+  HPLMN  (0),
+  VPLMN  (1),
+  LOCAL_PLMN (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Route-Header-Received (3403) 3GPP (10415)
+// 7.2.177A
+type AVP_UTF8String Route_Header_Received;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Route-Header-Transmitted (3404) 3GPP (10415)
+// 7.2.177B
+type AVP_UTF8String Route_Header_Transmitted;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Scale-Factor (2059) 3GPP (10415)
+// 7.2.178
+type AVP_Grouped Scale_Factor;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.179
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.180
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String SDP_Media_Description;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.182
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.183
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.184
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.186
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Session-Direction	(2707) 3GPP (10415)
+// 7.2.186A
+type enumerated Session_Direction
+{
+  Inbound (0),
+  Outbound (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Served-Party-IP-Address	(848) 3GPP (10415)
+// 7.2.187
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Data-Container (2040) 3GPP (10415)
+// 7.2.189
+type AVP_Grouped Service_Data_Container;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.190
+type AVP_UTF8String Service_Id;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.191
+type AVP_Grouped Service_Generic_Information;	 			
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.192
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Mode (2032) 3GPP (10415)
+// 7.2.193
+type AVP_Unsigned32 Service_Mode;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.194
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.195
+type AVP_Grouped Service_Specific_Info;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.196
+type AVP_Unsigned32 Service_Specific_Type;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Serving-Node-Identity (3929) 3GPP (10415)
+// 7.2.197A
+type AVP_DiameterIdentity Serving_Node_Identity;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Serving-Node-Type (2047) 3GPP (10415)
+// 7.2.198
+type enumerated Serving_Node_Type
+{
+  SGSN      (0),
+  PMIPSGW   (1),
+  GTPSGW    (2),
+  ePDG      (3),
+  hSGW      (4),
+  MME       (5),
+  TWAN      (6)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP:  SGi-PtP-Tunnelling-Method (3931) 3GPP (10415)
+// 7.2.198A
+type enumerated SGi_PtP_Tunnelling_Method
+{
+  UDP_IP_BASED      (0),
+  Others            (1)
+}
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.199
+type AVP_Address SGSN_Address;
+
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SGW-Address (2067) 3GPP (10415)
+// 7.2.199A
+type AVP_Address SGW_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SGW-Change (2065) 3GPP (10415)
+// 7.2.200
+type enumerated SGW_Change
+{
+  ACR_Start_NOT_due_to_SGW_Change      (0),
+  ACR_Start_due_to_SGW_Change          (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.201
+type AVP_UTF8String SIP_Method;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.202
+type AVP_Time SIP_Request_Timestamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SIP-Request-Timestamp-Fraction (2301) 3GPP (10415)
+// 7.2.203
+type AVP_Unsigned32 SIP_Request_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.204
+type AVP_Time SIP_Response_Timestamp;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SIP-Response-Timestamp-Fraction (2302) 3GPP (10415)
+// 7.2.205
+type AVP_Unsigned32 SIP_Response_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Device-Trigger-Indicator (3407) 3GPP (10415)
+// 7.2.205A
+type enumerated SM_Device_Trigger_Indicator
+{
+  Not_Device_Trigger (0),
+  Device_Trigger (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Device-Trigger-Information (3405) 3GPP (10415)
+// 7.2.205B
+type AVP_Grouped SM_Device_Trigger_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.206
+type AVP_Time SM_Discharge_Time;		
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Message-Type (2007) 3GPP (10415)
+// 7.2.207
+type enumerated SM_Message_Type
+{
+  SUBMISSION         (0),
+  DELIVERY_REPORT    (1),
+  SM_SERVICE_REQUEST (2)
+}		
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.208
+type AVP_OctetString SM_Protocol_ID;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Sequence-Number (3408) 3GPP (10415)
+// 7.2.208A
+type AVP_Unsigned32 SM_Sequence_Number;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.209
+type AVP_OctetString SM_Status;		
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.210
+type AVP_OctetString SM_User_Data_Header;		
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.211
+type AVP_Grouped SMS_Information;		
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: SMS-Node (2016) 3GPP (10415)
+// 7.2.212
+type enumerated SMS_Node
+{
+  SMS_ROUTER              (0),
+  IP_SM_GW                (1),
+  SMS_ROUTER_AND_IP_SM_GW (2),
+  SMS_SC                  (3)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: SMS-Result (3409) 3GPP (10415)
+// 7.2.212A
+type AVP_Unsigned32 SMS_Result;
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V13.7.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.213
+type AVP_Unsigned32 SM_Service_Type;
+	
+// 3GPP TS 32.299 V13.7.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.214
+type AVP_Address SMSC_Address;	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Start-Of-Charging (3419) 3GPP (10415)
+// 7.2.214A
+type AVP_Time Start_Of_Charging;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Start-Time (2041) 3GPP (10415)
+// 7.2.215
+type AVP_Time Start_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Status-AS-Code (2702) 3GPP (10415)
+// 7.2.215A
+type enumerated Status_AS_Code
+{
+  code_4xx (0),
+  code_5xx (1),
+  Timeout (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Stop-Time (2042) 3GPP (10415)
+// 7.2.216
+type AVP_Time Stop_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.217
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.218
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Supplementary-Service (2048) 3GPP (10415)
+// 7.2.219
+type AVP_Grouped Supplementary_Service;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: TAD-Identifier (2717) 3GPP (10415)
+// 7.2.219A
+type enumerated TAD_Identifier
+{
+  CS (0),
+  PS (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.220
+type AVP_Grouped Talk_Burst_Exchange;	 	
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.221
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.222
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Tariff-Information (2060) 3GPP (10415)
+// 7.2.223
+type AVP_Grouped Tariff_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Tariff-XML (2306) 3GPP (10415)
+// 7.2.224
+type AVP_UTF8String Tariff_XML;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Teleservice (3413) 3GPP (10415)
+// 7.2.224A
+type AVP_OctetString Teleservice;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.225
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-First-Reception (3466) 3GPP (10415)
+// 7.2.225A
+type AVP_Time Time_First_Reception;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-First-Transmission (3467) 3GPP (10415)
+// 7.2.225B
+type AVP_Time Time_First_Transmission;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-First-Usage (2043) 3GPP (10415)
+// 7.2.226
+type AVP_Time Time_First_Usage;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-Indicator (3911) 3GPP (10415)
+// 7.2.226A
+type AVP_Unsigned32 Time_Indicator;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-Last-Usage (2044) 3GPP (10415)
+// 7.2.227
+type AVP_Time Time_Last_Usage;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.228
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.229
+type AVP_Unsigned32 Time_Quota_Threshold;		
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-Quota-Type (1271) 3GPP (10415)
+// 7.2.230
+type enumerated Time_Quota_Type
+{
+  DISCRETE_TIME_PERIOD    (0),
+  CONTINUOUS_TIME_PERIOD  (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.231
+type AVP_Grouped Time_Stamps;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Time-Usage (2045) 3GPP (10415)
+// 7.2.232
+type AVP_Unsigned32 Time_Usage;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Traffic-Data-Volumes (2046) 3GPP (10415)
+// 7.2.233
+type AVP_Grouped Traffic_Data_Volumes;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Transcoder-Inserted-Indication (2605) 3GPP (10415)
+// 7.2.233A
+type enumerated Transcoder_Inserted_Indication
+{
+  TRANSCODER_NOT_INSERTED    (0),
+  TRANSCODER_INSERTED        (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Transit-IOI-List (2701) 3GPP (10415)
+// 7.2.233B
+type AVP_UTF8String Transit_IOI_List;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Transmitter-Info (3468) 3GPP (10415)
+// 7.2.233C
+type AVP_Grouped Transmitter_Info;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.234
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.235
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Trigger-Type (870) 3GPP (10415)
+// 7.2.236
+type enumerated Trigger_Type 
+{
+  CHANGE_IN_SGSN_IP_ADDRESS                     (1),
+  CHANGE_IN_QOS                                 (2),
+  CHANGE_IN_LOCATION                            (3),
+  CHANGE_IN_RAT                                 (4),
+  CHANGE_IN_UE_TIMEZONE                         (5),
+  CHANGEINQOS_TRAFFIC_CLASS                    (10),
+  CHANGEINQOS_RELIABILITY_CLASS                (11),
+  CHANGEINQOS_DELAY_CLASS                      (12),
+  CHANGEINQOS_PEAK_THROUGHPUT                  (13),
+  CHANGEINQOS_PRECEDENCE_CLASS                 (14),
+  CHANGEINQOS_MEAN_THROUGHPUT                  (15),
+  CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK      (16),
+  CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK    (17),
+  CHANGEINQOS_RESIDUAL_BER                     (18),
+  CHANGEINQOS_SDU_ERROR_RATIO                  (19),
+  CHANGEINQOS_TRANSFER_DELAY                   (20),
+  CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY        (21),
+  CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK   (22),
+  CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK (23),
+  CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE   (24),
+  CHANGEINLOCATION_MCC                         (30),
+  CHANGEINLOCATION_MNC                         (31),
+  CHANGEINLOCATION_RAC                         (32),
+  CHANGEINLOCATION_LAC                         (33),
+  CHANGEINLOCATION_CellId                      (34),
+  CHANGEINLOCATION_TAC                         (35),
+  CHANGEINLOCATION_ECGI                        (36),
+  CHANGE_IN_MEDIA_COMPOSITION                  (40),
+  CHANGE_IN_PARTICIPANTS_NMB                   (50),
+  CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB        (51),
+  CHANGE_IN_USER_PARTICIPATING_TYPE            (52),
+  CHANGE_IN_SERVICE_CONDITION                  (60),
+  CHANGE_IN_SERVING_NODE                       (61),
+  CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW     (62),
+  CHANGE_IN_USER_CSG_INFORMATION               (70),
+  CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION (71),
+  CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION (72),
+  CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA (73),
+  CHANGE_IN_SERVING_PLMN_RATE_CONTROL          (74),
+  CHANGE_IN_APN_RATE_CONTROL                   (75)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.237
+type AVP_Grouped Trunk_Group_Id;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: TWAG-Address (3903) 3GPP (10415)
+// 7.2.237Ba
+type AVP_Address TWAG_Address;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: TWAN-User-Location-Info (2714) 3GPP (10415)
+// 7.2.237C
+type AVP_Grouped TWAN_User_Location_Info;
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V13.7.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.238
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: UNI-PDU-CP-Only-Flag (3932) 3GPP (10415)
+// 7.2.238A
+type enumerated UNI_PDU_CP_Only_Flag
+{
+  UNI_PDU_both_UP_CP     (0),
+  UNI_PDU_CP_Only        (1)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Unit-Cost (2061) 3GPP (10415)
+// 7.2.239
+type AVP_Grouped Unit_Cost;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.240
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: User-CSG-Information (2319) 3GPP (10415)
+// 7.2.240A
+type AVP_Grouped User_CSG_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Usage-Information-Report-Sequence-Number (3439) 3GPP (10415)
+// 7.2.240B
+type AVP_Integer32 Usage_Information_Report_Sequence_Number;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: User-Participating-Type (1279) 3GPP (10415)
+// 7.2.241
+type enumerated User_Participating_Type
+{
+  NORMAL     (0),
+  NW_POC_BOX (1),
+  UE_POC_BOX (2)
+}
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.242
+type AVP_UTF8String User_Session_Id;
+
+// 3GPP TS 32.299 V13.7.0 CR0716
+// AVP: UWAN-User-Location-Info (3918) 3GPP (10415)
+// 7.2.242aaA
+type AVP_Grouped UWAN_User_Location_Info;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Variable-Part (3907) 3GPP (10415)
+// 7.2.242aA
+type AVP_Grouped Variable_Part;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Variable-Part-Order (3908) 3GPP (10415)
+// 7.2.242aB
+type AVP_Unsigned32 Variable_Part_Order;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Variable-Part-Type (3909) 3GPP (10415)
+// 7.2.242aC
+type AVP_Unsigned32 Variable_Part_Type;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: Variable-Part-Value (3910) 3GPP (10415)
+// 7.2.242aD
+type AVP_UTF8String Variable_Part_Value;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: VCS-Information (3410) 3GPP (10415)
+// 7.2.242A
+type AVP_Grouped VCS_Information;
+
+// 3GPP TS 32.299 V13.7.0
+// AVP: VLR-Number (3420) 3GPP (10415)
+// 7.2.242B
+type AVP_OctetString VLR_Number;
+		
+// 3GPP TS 32.299 V13.7.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.243
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+
diff --git a/src/ChargingApplications_3GPP_TS32299_d90.ddf b/src/ChargingApplications_3GPP_TS32299_d90.ddf
new file mode 100644
index 0000000..a3e759f
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_d90.ddf
@@ -0,0 +1,2473 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Akos Makovics - initial implementation and initial documentation
+*   Gabor Szalai
+*   Timea Moder
+******************************************************************************/
+//
+//  File:               ChargingApplications_3GPP_TS32299_d90.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V13.9.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V13_9_0
+
+// AVP implementations according to:
+// 3GPP TS 32.299 V13.9.0 - Telecommunication management; Charging management;
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588   - Diameter Base Protocol
+// RFC 4006 - Diameter Credit Control Application
+//
+// Notes:
+//
+
+
+// 3GPP TS 32.299 V13.9.0
+type enumerated Command_Code
+{
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.1
+type AVP_OctetString Access_Network_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Access-Transfer-Information (2709) 3GPP (10415)
+// 7.2.1A
+type AVP_Grouped Access_Transfer_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Access-Transfer-Type (2710) 3GPP (10415)
+// 7.2.1.B
+type enumerated Access_Transfer_Type
+{
+  PS_to_CS_Transfer (0),
+  CS_to_PS_Transfer (1),
+  PS_to_PS_Transfer (2),
+  CS_to_CS_Transfer (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Account-Expiration  (2309) 3GPP (10415)
+// 7.2.2
+type AVP_Time Account_Expiration;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Accumulated-Cost (2052) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Accumulated_Cost;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.4
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.5
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Additional-Exception-Reports  (3936) 3GPP (10415)
+// 7.2.5A
+type enumerated Additional_Exception_Reports
+{
+  NOT_ALLOWED (0),
+  ALLOWED  (1)
+}
+
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.6
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.7
+type AVP_UTF8String Address_Data;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.8
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Address-Type (899) 3GPP (10415)
+// 7.2.9
+type enumerated Address_Type
+{
+  E_MAIL_ADDRESS         (0),
+  MSISDN                 (1),
+  IPV4_ADDRESS           (2),
+  IPV6_ADDRESS           (3),
+  NUMERIC_SHORTCODE      (4),
+  ALPHANUMERIC_SHORTCODE (5),
+  OTHER                  (6),
+  IMSI                   (7)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.10
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Announcement-Identifier (3905) 3GPP (10415)
+// 7.2.12aA
+type AVP_Unsigned32 Announcement_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Announcement-Information (3904) 3GPP (10415)
+// 7.2.12aB
+type AVP_Grouped Announcement_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Announcement-Order (3906) 3GPP (10415)
+// 7.2.12aC
+type AVP_Unsigned32 Announcement_Order;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Announcing-UE-HPLMN-Identifier (3426) 3GPP (10415)
+// 7.2.12A
+type AVP_UTF8String Announcing_UE_HPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Announcing-UE-VPLMN-Identifier (3427) 3GPP (10415)
+// 7.2.12B
+type AVP_UTF8String Announcing_UE_VPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Cost-Information (2053) 3GPP (10415)
+// 7.2.13
+type AVP_Grouped AoC_Cost_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Format (2310) 3GPP (10415)
+// 7.2.14
+type enumerated AoC_Format
+{
+  MONETARY (0),
+  NON_MONETARY  (1),
+  CAI (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Information (2054) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped AoC_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Request-Type (2055) 3GPP (10415)
+// 7.2.16
+type enumerated AoC_Request_Type
+{
+  AoC_NOT_REQUESTED     (0),
+  AoC_FULL              (1),
+  AoC_COST_ONLY         (2),
+  AoC_TARIFF_ONLY       (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Service (2311) 3GPP (10415)
+// 7.2.17
+type AVP_Grouped AoC_Service;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Service-Obligatory-Type (2312) 3GPP (10415)
+// 7.2.18
+type enumerated AoC_Service_Obligatory_Type
+{
+  NON_BINDING   (0),
+  BINDING       (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Service-Type (2313) 3GPP (10415)
+// 7.2.19
+type enumerated AoC_Service_Type
+{
+  NONE   (0),
+  AOC_S  (1),
+  AOC_D  (2),
+  AOC_E  (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: AoC-Subscription-Information (2314) 3GPP (10415)
+// 7.2.20
+type AVP_Grouped AoC_Subscription_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: APN-Rate-Control (3933) 3GPP (10415)
+// 7.2.20A
+type AVP_Grouped APN_Rate_Control;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: APN-Rate-Control-Downlink (3934) 3GPP (10415)
+// 7.2.20B
+type AVP_Grouped APN_Rate_Control_Downlink;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: APN-Rate-Control-Uplink (3935) 3GPP (10415)
+// 7.2.20B
+type AVP_Grouped APN_Rate_Control_Uplink;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Application-provided-Called-Party-Address (837) 3GPP (10415)
+// 7.2.22
+type AVP_UTF8String Application_provided_Called_Party_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.24
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Application-Specific-Data (3458) 3GPP (10415)
+// 7.2.24A
+type AVP_OctetString Application_Specific_Data;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.25
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.27
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.28
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.29
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Basic-Service-Code (3411) 3GPP (10415)
+// 7.2.29A
+type AVP_Grouped Basic_Service_Code;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Bearer-Capability (3412) 3GPP (10415)
+// 7.2.29B
+type AVP_OctetString Bearer_Capability;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.30
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: BSSID (2716) 3GPP (10415)
+// 7.2.30A
+type AVP_UTF8String BSSID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.31
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Called-Identity (3916) 3GPP (10415)
+// 7.2.31A
+type AVP_UTF8String Called_Identity;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Called-Identity-Change (3917) 3GPP (10415)
+// 7.2.31B
+type AVP_Grouped Called_Identity_Change;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.32
+type AVP_UTF8String Called_Party_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Calling_Party_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.34
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.35
+type AVP_Integer32 Cause_Code;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.36
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Change-Condition  (2037) 3GPP (10415)
+// 7.2.37
+type AVP_Integer32 Change_Condition;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Change-Time  (2038) 3GPP (10415)
+// 7.2.38
+type AVP_Time Change_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Charge-Reason-Code (2118) 3GPP (10415)
+// 7.2.38A
+type enumerated Charge_Reason_Code
+{
+  UNKNOWN (0),
+  USAGE (1),
+  COMMUNICATION_ATTEMPT_CHARGE (2),
+  SETUP_CHARGE (3),
+  ADD_ON_CHARGE (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.39
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Charging-Characteristics-Selection-Mode (2066) 3GPP (10415)
+// 7.2.39A
+type enumerated Charging_Characteristics_Selection_Mode
+{
+  SERVING_NODE_SUPPLIED (0),
+  SUBSCRIPTION_SPECIFIC (1),
+  APN_SPECIFIC (2),
+  HOME_DEFAULT (3),
+  ROAMING_DEFAULT (4),
+  VISITING_DEFAULT (5)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Class-Identifier (1214) 3GPP (10415)
+// 7.2.40
+type enumerated Class_Identifier
+{
+  PERSONAL      (0),
+  ADVERTISMENT  (1),
+  INFORMATIONAL (2),
+  AUTO          (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.41
+type AVP_Address Client_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: CN-Operator-Selection-Entity (3421) 3GPP (10415)
+// 7.2.41A
+type enumerated CN_Operator_Selection_Entity
+{
+  SN_selected_by_UE (0),
+  SN_selected_by_network (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Content-Class (1220) 3GPP (10415)
+// 7.2.42
+type enumerated Content_Class
+{
+  TEXT          (0),
+  IMAGE_BASIC   (1),
+  IMAGE_RICH    (2),
+  VIDEO_BASIC   (3),
+  VIDEO_RICH    (4),
+  MEGAPIXEL     (5),
+  CONTENT_BASIC (6),
+  CONTENT_RICH  (7)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.43
+type AVP_UTF8String Content_Disposition;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.44
+type AVP_Unsigned32 Content_Length;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.45
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.46
+type AVP_UTF8String Content_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Coverage-Status (3428) 3GPP (10415)
+// 7.2.46aA
+type enumerated Coverage_Status
+{
+  OUT_OF_COVERAGE (0),
+  IN_COVERAGE (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Coverage-Info (3459) 3GPP (10415)
+// 7.2.46aaA
+type AVP_Grouped Coverage_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: CP-CIoT-EPS-Optimisation-Indicator (3930) 3GPP (10415)
+// 7.2.46abA
+type enumerated CP_CIoT_EPS_Optimisation_Indicator
+{
+  NOT_APPLY (0),
+  APPLY (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: CPDT-Information (3927) 3GPP (10415)
+// 7.2.46acA
+type AVP_Grouped CPDT_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: CSG-Access-Mode (2317) 3GPP (10415)
+// 7.2.46A
+type enumerated CSG_Access_Mode
+{
+  CLOSED_MODE (0),
+  HYBRID_MODE (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: CSG-Membership-Indication (2318) 3GPP (10415)
+// 7.2.46B
+type enumerated CSG_Membership_Indication
+{
+  NOT_CSG_MEMBER (0),
+  CSG_MEMBER (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Current-Tariff (2056) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Current_Tariff;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: CUG-Information (2304) 3GPP (10415)
+// 7.2.48
+type AVP_OctetString CUG_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 7.2.49
+type AVP_Integer32 Data_Coding_Scheme;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: DCD-Information (2115) 3GPP (10415)
+// 7.2.50
+type AVP_Grouped DCD_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Deferred-Location-Event-Type (1230) 3GPP (10415)
+// 7.2.51
+type AVP_UTF8String Deferred_Location_Event_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.52
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.53
+type AVP_Grouped Destination_Interface;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Diagnostics (2039) 3GPP (10415)
+// 7.2.54
+type AVP_Integer32 Diagnostics;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.55
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.56
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Dynamic-Address-Flag (2051) 3GPP (10415)
+// 7.2.57
+type enumerated Dynamic_Address_Flag
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Dynamic-Address-Flag-Extension (2068) 3GPP (10415)
+// 7.2.57A
+type enumerated Dynamic_Address_Flag_Extension
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Enhanced-Diagnostics (3901) 3GPP (10415)
+// 7.2.58A
+type AVP_Grouped Enhanced_Diagnostics;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.59
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.60
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Envelope-Reporting (1268) 3GPP (10415)
+// 7.2.61
+type enumerated Envelope_Reporting
+{
+  DO_NOT_REPORT_ENVELOPES                 (0),
+  REPORT_ENVELOPES                        (1),
+  REPORT_ENVELOPES_WITH_VOLUME            (2),
+  REPORT_ENVELOPES_WITH_EVENTS            (3),
+  REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.62
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ePDG-Address (3425) 3GPP (10415)
+// 7.2.62A
+type AVP_Address ePDG_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String Event;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.64
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped Event_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.66
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: File-Repair-Supported (1224) 3GPP (10415)
+// 7.2.67
+type enumerated File_Repair_Supported
+{
+  SUPPORTED     (1),
+  NOT_SUPPORTED (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: From-Address (2708) 3GPP (10415)
+// 7.2.67A
+type AVP_UTF8String From_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Forwarding-Pending (3415) 3GPP (10415)
+// 7.2.67aA
+type enumerated Forwarding_Pending
+{
+  Forwarding_not_Pending (0),
+  Forwarding_Pending (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.68
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped IM_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Incremental-Cost (2062) 3GPP (10415)
+// 7.2.70
+type AVP_Grouped Incremental_Cost;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Instance-Id (3402) 3GPP (10415)
+// 7.2.70A
+type AVP_UTF8String Instance_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.71
+type AVP_UTF8String Interface_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String Interface_Port;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Interface_Text;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Interface-Type (2006) 3GPP (10415)
+// 7.2.74
+type enumerated Interface_Type
+{
+  UNKNOWN                 (0),
+  MOBILE_ORIGINATING      (1),
+  MOBILE_TERMINATING      (2),
+  APPLICATION_ORIGINATING (3),
+  APPLICATION_TERMINATION (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IMS-Application-Reference-Identifier (2601) 3GPP (10415)
+// 7.2.74A
+type AVP_UTF8String IMS_Application_Reference_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Inter-UE-Transfer (3902) 3GPP (10415)
+// 7.2.74aA
+type enumerated Inter_UE_Transfer
+{
+  INTRA_UE_TRANSFER (0),
+  INTER_UE_TRANSFER (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.75
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.76
+type AVP_UTF8String IMS_Communication_Service_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IMS-Emergency-Indicator (2322) 3GPP (10415)
+// 7.2.76A
+type enumerated IMS_Emergency_Indicator
+{
+  Non_Emergency (0),
+  Emergency (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IMS-Visited-Network-Identifier (2713) 3GPP (10415)
+// 7.2.77A
+type AVP_UTF8String IMS_Visited_Network_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IMSI-Unauthenticated-Flag (2308) 3GPP (10415)
+// 7.2.78
+type enumerated IMSI_Unauthenticated_Flag
+{
+  AUTHENTICATED    (0),
+  UNAUTHENTICATED  (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.79
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Initial-IMS-Charging-Identifier (2321) 3GPP (10415)
+// 7.2.79A
+type AVP_UTF8String Initial_IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.80
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: IP-Realm-Default-Indication (2603) 3GPP (10415)
+// 7.2.80A
+type enumerated IP_Realm_Default_Indication
+{
+  DEFAULT_IP_REALM_NOT_USED    (0),
+  DEFAULT_IP_REALM_USED        (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ISUP-Cause (3416) 3GPP (10415)
+// 7.2.80B
+type AVP_Grouped ISUP_Cause;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ISUP-Cause-Diagnostics (3422) 3GPP (10415)
+// 7.2.80C
+type AVP_OctetString ISUP_Cause_Diagnostics;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ISUP-Cause-Location (3423) 3GPP (10415)
+// 7.2.80D
+type AVP_Unsigned32 ISUP_Cause_Location;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ISUP-Cause-Value (3424) 3GPP (10415)
+// 7.2.80E
+type AVP_Unsigned32 ISUP_Cause_Value;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ISUP-Location-Number (3414) 3GPP (10415)
+// 7.2.80F
+type AVP_OctetString ISUP_Location_Number;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Language (3914) 3GPP (10415)
+// 7.2.80Fa
+type AVP_UTF8String Language;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Layer-2-Group-ID (3429) 3GPP (10415)
+// 7.2.80G
+type AVP_OctetString Layer_2_Group_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.81
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Client-Dialed-By-MS (1233) 3GPP (10415)
+// 7.2.82
+type AVP_UTF8String LCS_Client_Dialed_By_MS;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.84
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.85
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Client-Type (1241) 3GPP (10415)
+// 7.2.86
+type enumerated LCS_Client_Type
+{
+  EMERGENCY_SERVICES        (0),
+  VALUE_ADDED_SERVICES      (1),
+  PLMN_OPERATOR_SERVICES    (2),
+  LAWFUL_INTERCEPT_SERVICES (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.87
+type AVP_UTF8String LCS_Data_Coding_Scheme;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Format-Indicator (1237) 3GPP (10415)
+// 7.2.88
+type enumerated LCS_Format_Indicator
+{
+  LOGICAL_NAME   (0),
+  EMAIL_ADDRESS  (1),
+  MSISDN         (2),
+  URL		 (3),
+  SIP_URL        (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.89
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.90
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.91
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.92
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Local-GW-Inserted-Indication (2604) 3GPP (10415)
+// 7.2.92A
+type enumerated Local_GW_Inserted_Indication
+{
+  LOCAL_GW_NOT_INSERTED            (0),
+  LOCAL_GW_INSERTED                (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Local-Sequence-Number (2063) 3GPP (10415)
+// 7.2.93
+type AVP_Unsigned32 Local_Sequence_Number;
+
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.94
+type AVP_OctetString Location_Estimate;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Location-Estimate-Type (1243) 3GPP (10415)
+// 7.2.95
+type enumerated Location_Estimate_Type
+{
+  CURRENT_LOCATION            (0),
+  CURRENT_LAST_KNOWN_LOCATION (1),
+  INITIAL_LOCATION            (2),
+  ACTIVATE_DEFERRED_LOCATION  (3),
+  CANCEL_DEFERRED_LOCATION    (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Location-Info (3460) 3GPP (10415)
+// 7.2.95A
+type AVP_Grouped Location_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Location_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Low-Balance-Indication (2020) 3GPP (10415)
+// 7.2.97
+type enumerated Low_Balance_Indication
+{
+  NOT_APPLICABLE (0),
+  YES            (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Low-Priority-Indicator (2602) 3GPP (10415)
+// 7.2.97A
+type enumerated Low_Priority_Indicator
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MBMS-Charged-Party (2323) 3GPP (10415)
+// 7.2.97B
+type enumerated MBMS_Charged_Party
+{
+  CONTENT_PROVIDER  (0),
+  SUBSCRIBER (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MBMS-GW-Address (2307) 3GPP (10415)
+// 7.2.98
+type AVP_Address MBMS_GW_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.99
+type AVP_Grouped MBMS_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MBMS-User-Service-Type (1225) 3GPP (10415)
+// 7.2.100
+type enumerated MBMS_User_Service_Type
+{
+  DOWNLOAD  (1),
+  STREAMING (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Media-Initiator-Flag (882) 3GPP (10415)
+// 7.2.101
+type enumerated Media_Initiator_Flag
+{
+  CALLED_PARTY   (0),
+  CALLING_PARTY  (1),
+  UNKNOWN        (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.102
+type AVP_UTF8String Media_Initiator_Party;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.103
+type AVP_Grouped Message_Body;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.104
+type AVP_Grouped Message_Class;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.105
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.106
+type AVP_Unsigned32 Message_Size;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Message-Type (1211) 3GPP (10415)
+// 7.2.107
+type enumerated Message_Type
+{
+  M_SEMD_REQ          (1),
+  M_SEMD_CONF         (2),
+  M_NOTIFICATION_IND  (3),
+  M_NOTIFYRESP_IND    (4),
+  M_RETRIEVE_CONF     (5),
+  M_ACKNOWLEDGE_IND   (6),
+  M_DELIVERY_IND      (7),
+  M_READ_REC_IND      (8),
+  M_READ_ORIG_IND     (9),
+  M_FORWARD_REQ      (10),
+  M_FORWARD_CONF     (11),
+  M_MBOX_STORE_CONF  (12),
+  M_MBOX_VIEW_CONF   (13),
+  M_MBOX_UPLOAD_CONF (14),
+  M_MBOX_DELETE_CONF (15)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.108
+type AVP_Grouped MM_Content_Type;
+
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.109
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+// 3GPP TS 32.299 V13.9.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.110
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MMTel-Information (2030) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped MMTel_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MMTel-SService-Type (2031) 3GPP (10415)
+// 7.2.111A
+type AVP_Unsigned32 MMTel_SService_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitored-PLMN-Identifier (3430) 3GPP (10415)
+// 7.2.111Aa
+type AVP_UTF8String Monitored_PLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-Event-Configuration-Activity (3919) 3GPP (10415)
+// 7.2.111AaA
+type enumerated Monitoring_Event_Configuration_Activity
+{
+  CREATE (0),
+  TRANSFER (1),
+  UPDATE (2),
+  DELETE (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-Event-Funtionality (3922) 3GPP (10415)
+// 7.2.111AaB
+type enumerated Monitoring_Event_Funtionality
+{
+  CONFIGURATION (0),
+  REPORTING (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-Event-Information (3921) 3GPP (10415)
+// 7.2.111AaC
+type AVP_Grouped Monitoring_Event_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-Event-Report-Data (3920) 3GPP (10415)
+// 7.2.111AaD
+type AVP_Grouped Monitoring_Event_Report_Data;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-Event-Report-Number (3923) 3GPP (10415)
+// 7.2.111AaE
+type AVP_Unsigned32 Monitoring_Event_Report_Number;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-UE-HPLMN-Identifier (3431) 3GPP (10415)
+// 7.2.111Ab
+type AVP_UTF8String Monitoring_UE_HPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-UE-Identifier (3432) 3GPP (10415)
+// 7.2.111Ac
+type AVP_UTF8String Monitoring_UE_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Monitoring-UE-VPLMN-Identifier (3433) 3GPP (10415)
+// 7.2.111Ad
+type AVP_UTF8String Monitoring_UE_VPLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MSC-Address (3417) 3GPP (10415)
+// 7.2.111B
+type AVP_OctetString MSC_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: MTC-IWF-Address (3406) 3GPP (10415)
+// 7.2.111C
+type AVP_Address MTC_IWF_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Neighbour-Node-Address (2705) 3GPP (10415)
+// 7.2.111D
+type AVP_Address Neighbour_Node_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Network-Call-Reference-Number (3418) 3GPP (10415)
+// 7.2.111E
+type AVP_OctetString Network_Call_Reference_Number;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Next-Tariff (2057) 3GPP (10415)
+// 7.2.112
+type AVP_Grouped Next_Tariff;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: NNI-Information (2703) 3GPP (10415)
+// 7.2.112A
+type AVP_Grouped NNI_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: NIDD-Submission (3928) 3GPP (10415)
+// 7.2.112aA
+type AVP_Grouped NIDD_Submission;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: NNI-Type (2704) 3GPP (10415)
+// 7.2.112B
+type enumerated NNI_Type
+{
+  Non_Roaming (0),
+  Roaming_Without_Loopback (1),
+  Roaming_With_Loopback (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Node-Functionality (862) 3GPP (10415)
+// 7.2.113
+type enumerated Node_Functionality
+{
+  S_CSCF  (0),
+  P_CSCF  (1),
+  I_CSCF  (2),
+  MRFC    (3),
+  MGCF    (4),
+  BGCF    (5),
+  AS      (6),
+  IBCF    (7),
+  S_GW    (8),
+  P_GW    (9),
+  HSGW    (10),
+  E_CSCF  (11),
+  MME     (12),
+  TRF     (13),
+  TF      (14),
+  ATCF    (15),
+  Proxy_Function (16),
+  ePDG    (17),
+  TDF     (18),
+  TWAG    (19),
+  SCEF    (20),
+  IWK_SCEF (21)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Node-Id (2064) 3GPP (10415)
+// 7.2.114
+type AVP_UTF8String Node_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Number-Of-Diversions (2034) 3GPP (10415)
+// 7.2.115
+type AVP_Unsigned32 Number_Of_Diversions;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.116
+type AVP_Unsigned32 Number_of_Messages_Sent;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.117
+type AVP_Unsigned32 Number_Of_Participants;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Number-Of-Received-Talk-Bursts (1282) 3GPP (10415)
+// 7.2.118
+type AVP_Unsigned32 Number_Of_Received_Talk_Bursts;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.119
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.120
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.121
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Online-Charging-Flag (2303) 3GPP (10415)
+// 7.2.122
+type enumerated Online_Charging_Flag
+{
+  ECF_ADDRESS_NOT_PROVIDED  (0),
+  ECF_ADDRESS_PROVIDED  (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.123
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.124
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.125
+type AVP_Grouped Originator_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.126
+type AVP_Grouped Originator_Interface;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.127
+type AVP_Grouped Originator_Received_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.128
+type AVP_Address Originating_SCCP_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Outgoing-Session-Id (2320) 3GPP (10415)
+// 7.2.128A
+type AVP_UTF8String Outgoing_Session_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.129
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.130
+type AVP_UTF8String Participants_Involved;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.131
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Participant-Access-Priority (1259) 3GPP (10415)
+// 7.2.132
+type enumerated Participant_Access_Priority
+{
+  PRE_EMPTIVE_PRIORITY (1),
+  HIGH_PRIORITY        (2),
+  NORMAL_PRIORITY      (3),
+  LOW_PRIORITY         (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Participant-Action-Type (2049) 3GPP (10415)
+// 7.2.133
+type enumerated Participant_Action_Type
+{
+  CREATE_CONF       (0),
+  JOIN_CONF         (1),
+  INVITE_INTO_CONF  (2),
+  QUIT_CONF         (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PC3-Control-Protocol-Cause (3434) 3GPP (10415)
+// 7.2.135A
+type AVP_Integer32 PC3_Control_Protocol_Cause;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PC3-EPC-Control-Protocol-Cause (3435) 3GPP (10415)
+// 7.2.135B
+type AVP_Integer32 PC3_EPC_Control_Protocol_Cause;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PDN-Connection-Charging-ID (2050) 3GPP (10415)
+// 7.2.136
+type AVP_Unsigned32 PDN_Connection_Charging_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.137
+type AVP_Address PDP_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PDP-Address-Prefix-Length (2606) 3GPP (10415)
+// 7.2.137A
+type AVP_Unsigned32 PDP_Address_Prefix_Length;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.138
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Play-Alternative (3913) 3GPP (10415)
+// 7.2.138A
+type enumerated Play_Alternative
+{
+  SERVED_PARTY   (0),
+  REMOTE_PARTY (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Change-Conditions (1261) 3GPP (10415)
+// 7.2.139
+type enumerated PoC_Change_Conditions
+{
+  SERVICE_CHANGE                 (0),
+  VOLUME_LIMIT                   (1),
+  TIME_LIMIT                     (2),
+  NUMBER_OF_TALK_BURST_LIMIT     (3),
+  NUMBER_OF_ACTIVE_PARTICIPANTS  (4),
+  TARIFF_TIME                    (5)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.140
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String PoC_Controlling_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Event-Type (2025) 3GPP (10415)
+// 7.2.142
+type enumerated PoC_Event_Type
+{
+  NORMAL                         (0),
+  INSTANT_PERSONAL_ALERT_EVENT   (1),
+  POC_GROUP_ADVERTISEMENT_EVENT  (2),
+  EARLY_SESSION_SETTING_UP_EVENT (3),
+  POC_TALK_BURST                 (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.143
+type AVP_UTF8String PoC_Group_Name;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.144
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Server-Role	 (883) 3GPP (10415)
+// 7.2.145
+type enumerated PoC_Server_Role
+{
+  PARTICIPATING_POC_SERVER  (0),
+  CONTROLLING_POC_SERVER    (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.146
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Session-Initiation-Type (1277) 3GPP (10415)
+// 7.2.147
+type enumerated PoC_Session_Initiation_Type
+{
+  PRE_ESTABLISHED (0),
+  ON_DEMAND       (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-Session-Type (884) 3GPP (10415)
+// 7.2.148
+type enumerated PoC_Session_Type
+{
+  ONE_TO_ONE_POC_SESSION         (0),
+  CHAT_POC_GROUP_SESSION         (1),
+  PRE_ARRANGED_POC_GROUP_SESSION (2),
+  AD_HOC_POC_GROUP_SESSION       (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PoC-User-Role-info-Units (1254) 3GPP (10415)
+// 7.2.151
+type enumerated PoC_User_Role_info_Units
+{
+  MODERATOR           (1),
+  DISPATCHER          (2),
+  SESSION_OWNER       (3),
+  SESSION_PARTICIPANT (4)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.152
+type AVP_UTF8String Positioning_Data;
+
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Preferred-AoC-Currency (2315) 3GPP (10415)
+// 7.2.153
+type AVP_Unsigned32 Preferred_AoC_Currency;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.154
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Privacy-Indicator (3915) 3GPP (10415)
+// 7.2.154aA
+type enumerated Privacy_Indicator
+{
+  NOT_PRIVATE    (0),
+  PRIVATE (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-3rd-Party-Application-ID (3440) 3GPP (10415)
+// 7.2.154A
+type AVP_UTF8String ProSe_3rd_Party_Application_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Direct-Communication-Reception-Data-Container (3461) 3GPP (10415)
+// 7.2.154Aa
+type AVP_Grouped ProSe_Direct_Communication_Reception_Data_Container;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Direct-Communication-Transmission-Data-Container (3441) 3GPP (10415)
+// 7.2.154B
+type AVP_Grouped ProSe_Direct_Communication_Transmission_Data_Container;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Direct-Discovery-Model (3442) 3GPP (10415)
+// 7.2.154C
+type enumerated ProSe_Direct_Discovery_Model
+{
+  MODEL_A (0),
+  MODEL_B (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Event-Type (3443) 3GPP (10415)
+// 7.2.154D
+type enumerated ProSe_Event_Type
+{
+  ANNOUNCING (0),
+  MONITORING (1),
+  MATCH_REPORT (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Function-IP-Address (3444) 3GPP (10415)
+// 7.2.154E
+type AVP_Address ProSe_Function_IP_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Function-PLMN-Identifier (3457) 3GPP (10415)
+// 7.2.154F
+type AVP_UTF8String ProSe_Function_PLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Functionality (3445) 3GPP (10415)
+// 7.2.154G
+type enumerated ProSe_Functionality
+{
+  DIRECT_DISCOVERY (0),
+  EPC_LEVEL_DISCOVERY (1),
+  DIRECT_COMMUNICATION (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Group-IP-Multicast-Address (3446) 3GPP (10415)
+// 7.2.154H
+type AVP_Address ProSe_Group_IP_Multicast_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Information (3447) 3GPP (10415)
+// 7.2.154I
+type AVP_Grouped ProSe_Information;
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Range-Class (3448) 3GPP (10415)
+// 7.2.154J
+type AVP_Unsigned32 ProSe_Range_Class;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Reason-For-Cancellation (3449) 3GPP (10415)
+// 7.2.154K
+type enumerated ProSe_Reason_For_Cancellation
+{
+  PROXIMITY_ALERT_SENT (0),
+  TIME_EXPIRED_WITH_NO_RENEWAL (1),
+  REQUESTOR_CANCELLATION (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Request-Timestamp (3450) 3GPP (10415)
+// 7.2.154L
+type AVP_Time ProSe_Request_Timestamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Role-Of-UE (3451) 3GPP (10415)
+// 7.2.154M
+type enumerated ProSe_Role_Of_UE
+{
+  ANNOUNCING_UE (0),
+  MONITORING_UE (1),
+  REQUESTOR_UE (2),
+  REQUESTED_UE (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-Source-IP-Address (3452) 3GPP (10415)
+// 7.2.154N
+type AVP_Address ProSe_Source_IP_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: ProSe-UE-ID (3453) 3GPP (10415)
+// 7.2.154O
+type AVP_OctetString ProSe_UE_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Proximity-Alert-Indication (3454) 3GPP (10415)
+// 7.2.154P
+type enumerated Proximity_Alert_Indication
+{
+  ALERT (0),
+  NO_ALERT (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Proximity-Alert-Timestamp (3455) 3GPP (10415)
+// 7.2.154Q
+type AVP_Time Proximity_Alert_Timestamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Proximity-Cancellation-Timestamp (3456) 3GPP (10415)
+// 7.2.154R
+type AVP_Time Proximity_Cancellation_Timestamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PS-Append-Free-Format-Data (867) 3GPP (10415)
+// 7.2.155
+type enumerated PS_Append_Free_Format_Data
+{
+  APPEND    (0),
+  OVERWRITE (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.156
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.157
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.158
+type AVP_Grouped PS_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.159
+type AVP_Unsigned32 Quota_Consumption_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.160
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Quota-Indicator (3912) 3GPP (10415)
+// 7.2.160aA
+type enumerated Quota_Indicator
+{
+  QUOTA_IS_NOT_USED_DURING_PLAYBACK (0),
+  QUOTA_IS_USED_DURING_PLAYBACK (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Radio-Frequency (3462) 3GPP (10415)
+// 7.2.160A
+type AVP_OctetString Radio_Frequency;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Radio-Parameter-Set-Info (3463) 3GPP (10415)
+// 7.2.160B
+type AVP_Grouped Radio_Parameter_Set_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Radio-Parameter-Set-Values (3464) 3GPP (10415)
+// 7.2.160C
+type AVP_OctetString Radio_Parameter_Set_Values;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Radio-Resources-Indicator (3465) 3GPP (10415)
+// 7.2.160D
+type AVP_Integer32 Radio_Resources_Indicator;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Rate-Control-Max-Message-Size (3937) 3GPP (10415)
+// 7.2.160E
+type AVP_Integer32 Rate_Control_Max_Message_Size;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Rate-Control-Max-Rate (3938) 3GPP (10415)
+// 7.2.160F
+type AVP_Integer32 Rate_Control_Max_Rate;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Rate-Control-Time-Unit (3939) 3GPP (10415)
+// 7.2.160G
+type AVP_Integer32 Rate_Control_Time_Unit;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Rate-Element (2058) 3GPP (10415)
+// 7.2.161
+type AVP_Grouped Rate_Element;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Read-Reply-Report-Requested (1222) 3GPP (10415)
+// 7.2.162
+type enumerated Read_Reply_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Real-Time-Tariff-Information (2305) 3GPP (10415)
+// 7.2.164
+type AVP_Grouped Real_Time_Tariff_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Reason-Header (3401) 3GPP (10415)
+// 7.2.164A
+type AVP_UTF8String Reason_Header;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.165
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.166
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.167
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Recipient-Info (2026) 3GPP (10415)
+// 7.2.168
+type AVP_Grouped Recipient_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.169
+type AVP_Grouped Recipient_Received_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.170
+type AVP_Address Recipient_SCCP_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.171
+type AVP_OctetString Refund_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Relationship-Mode (2706) 3GPP (10415)
+// 7.2.171A
+type enumerated Relationship_Mode
+{
+  Trusted (0),
+  Non_Trusted (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Related-Change-Condition-Information (3925) 3GPP (10415)
+// 7.2.171Aa
+type AVP_Grouped Related_Change_Condition_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Related-Trigger (3926) 3GPP (10415)
+// 7.2.171Ab
+type AVP_Grouped Related_Trigger;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Related-IMS-Charging-Identifier (2711) 3GPP (10415)
+// 7.2.171B
+type AVP_UTF8String Related_IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Related-IMS-Charging-Identifier-Node (2712) 3GPP (10415)
+// 7.2.171C
+type AVP_Address Related_IMS_Charging_Identifier_Node;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Remaining-Balance (2021) 3GPP (10415)
+// 7.2.172
+type AVP_Grouped Remaining_Balance;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Applic-ID (1223) 3GPP (10415)
+// 7.2.173
+type AVP_UTF8String Reply_Applic_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Reply-Path-Requested (2011) 3GPP (10415)
+// 7.2.174
+type enumerated Reply_Path_Requested
+{
+  NO_REPLY_PATH_SET (0),
+  REPLY_PATH_SET    (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Reporting-Reason (872) 3GPP (10415)
+// 7.2.175
+type enumerated Reporting_Reason
+{
+  THRESHOLD                (0),
+  QHT                      (1),
+  FINAL                    (2),
+  QUOTA_EXHAUSTED          (3),
+  VALIDITY_TIME            (4),
+  OTHER_QUOTA_TYPE         (5),
+  RATING_CONDITION_CHANGE  (6),
+  FORCED_REAUTHORISATION   (7),
+  POOL_EXHAUSTED           (8)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.176
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Requested-PLMN-Identifier (3436) 3GPP (10415)
+// 7.2.176A
+type AVP_UTF8String Requested_PLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Requestor-PLMN-Identifier (3437) 3GPP (10415)
+// 7.2.176B
+type AVP_UTF8String Requestor_PLMN_Identifier;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Role-Of-Node (829) 3GPP (10415)
+// Note: not compatible with V9.2.0 or before (see spec.)
+// 7.2.177
+type enumerated Role_Of_Node
+{
+  ORIGINATING_ROLE  (0),
+  TERMINATING_ROLE  (1),
+  FORWARDING_ROLE   (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Role-Of-ProSe-Function (3438) 3GPP (10415)
+// 7.2.177aA
+type enumerated Role_Of_ProSe_Function
+{
+  HPLMN  (0),
+  VPLMN  (1),
+  LOCAL_PLMN (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Route-Header-Received (3403) 3GPP (10415)
+// 7.2.177A
+type AVP_UTF8String Route_Header_Received;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Route-Header-Transmitted (3404) 3GPP (10415)
+// 7.2.177B
+type AVP_UTF8String Route_Header_Transmitted;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Scale-Factor (2059) 3GPP (10415)
+// 7.2.178
+type AVP_Grouped Scale_Factor;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SCS-Address (3941) 3GPP (10415)
+// 7.2.178A
+type AVP_Address SCS_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SCS-AS-Address (3940) 3GPP (10415)
+// 7.2.178B
+type AVP_Grouped SCS_AS_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SCS-Realm (3942) 3GPP (10415)
+// 7.2.178C
+type AVP_DiameterIdentity SCS_Realm;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.179
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.180
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String SDP_Media_Description;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.182
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.183
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.184
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.186
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Session-Direction	(2707) 3GPP (10415)
+// 7.2.186A
+type enumerated Session_Direction
+{
+  Inbound (0),
+  Outbound (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Served-Party-IP-Address	(848) 3GPP (10415)
+// 7.2.187
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Data-Container (2040) 3GPP (10415)
+// 7.2.189
+type AVP_Grouped Service_Data_Container;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.190
+type AVP_UTF8String Service_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.191
+type AVP_Grouped Service_Generic_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.192
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Mode (2032) 3GPP (10415)
+// 7.2.193
+type AVP_Unsigned32 Service_Mode;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.194
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.195
+type AVP_Grouped Service_Specific_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.196
+type AVP_Unsigned32 Service_Specific_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Serving-Node-Identity (3929) 3GPP (10415)
+// 7.2.197A
+type AVP_DiameterIdentity Serving_Node_Identity;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Serving-Node-Type (2047) 3GPP (10415)
+// 7.2.198
+type enumerated Serving_Node_Type
+{
+  SGSN      (0),
+  PMIPSGW   (1),
+  GTPSGW    (2),
+  ePDG      (3),
+  hSGW      (4),
+  MME       (5),
+  TWAN      (6)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP:  SGi-PtP-Tunnelling-Method (3931) 3GPP (10415)
+// 7.2.198A
+type enumerated SGi_PtP_Tunnelling_Method
+{
+  UDP_IP_BASED      (0),
+  Others            (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.199
+type AVP_Address SGSN_Address;
+
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SGW-Address (2067) 3GPP (10415)
+// 7.2.199A
+type AVP_Address SGW_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SGW-Change (2065) 3GPP (10415)
+// 7.2.200
+type enumerated SGW_Change
+{
+  ACR_Start_NOT_due_to_SGW_Change      (0),
+  ACR_Start_due_to_SGW_Change          (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.201
+type AVP_UTF8String SIP_Method;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.202
+type AVP_Time SIP_Request_Timestamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SIP-Request-Timestamp-Fraction (2301) 3GPP (10415)
+// 7.2.203
+type AVP_Unsigned32 SIP_Request_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.204
+type AVP_Time SIP_Response_Timestamp;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SIP-Response-Timestamp-Fraction (2302) 3GPP (10415)
+// 7.2.205
+type AVP_Unsigned32 SIP_Response_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Device-Trigger-Indicator (3407) 3GPP (10415)
+// 7.2.205A
+type enumerated SM_Device_Trigger_Indicator
+{
+  Not_Device_Trigger (0),
+  Device_Trigger (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Device-Trigger-Information (3405) 3GPP (10415)
+// 7.2.205B
+type AVP_Grouped SM_Device_Trigger_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.206
+type AVP_Time SM_Discharge_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Message-Type (2007) 3GPP (10415)
+// 7.2.207
+type enumerated SM_Message_Type
+{
+  SUBMISSION         (0),
+  DELIVERY_REPORT    (1),
+  SM_SERVICE_REQUEST (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.208
+type AVP_OctetString SM_Protocol_ID;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Sequence-Number (3408) 3GPP (10415)
+// 7.2.208A
+type AVP_Unsigned32 SM_Sequence_Number;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.209
+type AVP_OctetString SM_Status;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.210
+type AVP_OctetString SM_User_Data_Header;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.211
+type AVP_Grouped SMS_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SMS-Node (2016) 3GPP (10415)
+// 7.2.212
+type enumerated SMS_Node
+{
+  SMS_ROUTER              (0),
+  IP_SM_GW                (1),
+  SMS_ROUTER_AND_IP_SM_GW (2),
+  SMS_SC                  (3)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SMS-Result (3409) 3GPP (10415)
+// 7.2.212A
+type AVP_Unsigned32 SMS_Result;
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V13.9.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.213
+type AVP_Unsigned32 SM_Service_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.214
+type AVP_Address SMSC_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Start-Of-Charging (3419) 3GPP (10415)
+// 7.2.214A
+type AVP_Time Start_Of_Charging;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Start-Time (2041) 3GPP (10415)
+// 7.2.215
+type AVP_Time Start_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Status-AS-Code (2702) 3GPP (10415)
+// 7.2.215A
+type enumerated Status_AS_Code
+{
+  code_4xx (0),
+  code_5xx (1),
+  Timeout (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Stop-Time (2042) 3GPP (10415)
+// 7.2.216
+type AVP_Time Stop_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.217
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.218
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Supplementary-Service (2048) 3GPP (10415)
+// 7.2.219
+type AVP_Grouped Supplementary_Service;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: TAD-Identifier (2717) 3GPP (10415)
+// 7.2.219A
+type enumerated TAD_Identifier
+{
+  CS (0),
+  PS (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.220
+type AVP_Grouped Talk_Burst_Exchange;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.221
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.222
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Tariff-Information (2060) 3GPP (10415)
+// 7.2.223
+type AVP_Grouped Tariff_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Tariff-XML (2306) 3GPP (10415)
+// 7.2.224
+type AVP_UTF8String Tariff_XML;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Teleservice (3413) 3GPP (10415)
+// 7.2.224A
+type AVP_OctetString Teleservice;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.225
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-First-Reception (3466) 3GPP (10415)
+// 7.2.225A
+type AVP_Time Time_First_Reception;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-First-Transmission (3467) 3GPP (10415)
+// 7.2.225B
+type AVP_Time Time_First_Transmission;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-First-Usage (2043) 3GPP (10415)
+// 7.2.226
+type AVP_Time Time_First_Usage;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-Indicator (3911) 3GPP (10415)
+// 7.2.226A
+type AVP_Unsigned32 Time_Indicator;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-Last-Usage (2044) 3GPP (10415)
+// 7.2.227
+type AVP_Time Time_Last_Usage;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.228
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.229
+type AVP_Unsigned32 Time_Quota_Threshold;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-Quota-Type (1271) 3GPP (10415)
+// 7.2.230
+type enumerated Time_Quota_Type
+{
+  DISCRETE_TIME_PERIOD    (0),
+  CONTINUOUS_TIME_PERIOD  (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.231
+type AVP_Grouped Time_Stamps;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Time-Usage (2045) 3GPP (10415)
+// 7.2.232
+type AVP_Unsigned32 Time_Usage;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Traffic-Data-Volumes (2046) 3GPP (10415)
+// 7.2.233
+type AVP_Grouped Traffic_Data_Volumes;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Transcoder-Inserted-Indication (2605) 3GPP (10415)
+// 7.2.233A
+type enumerated Transcoder_Inserted_Indication
+{
+  TRANSCODER_NOT_INSERTED    (0),
+  TRANSCODER_INSERTED        (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Transit-IOI-List (2701) 3GPP (10415)
+// 7.2.233B
+type AVP_UTF8String Transit_IOI_List;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Transmitter-Info (3468) 3GPP (10415)
+// 7.2.233C
+type AVP_Grouped Transmitter_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.234
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.235
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Trigger-Type (870) 3GPP (10415)
+// 7.2.236
+type enumerated Trigger_Type
+{
+  CHANGE_IN_SGSN_IP_ADDRESS                     (1),
+  CHANGE_IN_QOS                                 (2),
+  CHANGE_IN_LOCATION                            (3),
+  CHANGE_IN_RAT                                 (4),
+  CHANGE_IN_UE_TIMEZONE                         (5),
+  CHANGEINQOS_TRAFFIC_CLASS                    (10),
+  CHANGEINQOS_RELIABILITY_CLASS                (11),
+  CHANGEINQOS_DELAY_CLASS                      (12),
+  CHANGEINQOS_PEAK_THROUGHPUT                  (13),
+  CHANGEINQOS_PRECEDENCE_CLASS                 (14),
+  CHANGEINQOS_MEAN_THROUGHPUT                  (15),
+  CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK      (16),
+  CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK    (17),
+  CHANGEINQOS_RESIDUAL_BER                     (18),
+  CHANGEINQOS_SDU_ERROR_RATIO                  (19),
+  CHANGEINQOS_TRANSFER_DELAY                   (20),
+  CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY        (21),
+  CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK   (22),
+  CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK (23),
+  CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE   (24),
+  CHANGEINLOCATION_MCC                         (30),
+  CHANGEINLOCATION_MNC                         (31),
+  CHANGEINLOCATION_RAC                         (32),
+  CHANGEINLOCATION_LAC                         (33),
+  CHANGEINLOCATION_CellId                      (34),
+  CHANGEINLOCATION_TAC                         (35),
+  CHANGEINLOCATION_ECGI                        (36),
+  CHANGE_IN_MEDIA_COMPOSITION                  (40),
+  CHANGE_IN_PARTICIPANTS_NMB                   (50),
+  CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB        (51),
+  CHANGE_IN_USER_PARTICIPATING_TYPE            (52),
+  CHANGE_IN_SERVICE_CONDITION                  (60),
+  CHANGE_IN_SERVING_NODE                       (61),
+  CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW     (62),
+  CHANGE_IN_USER_CSG_INFORMATION               (70),
+  CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION (71),
+  CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION (72),
+  CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA (73),
+  CHANGE_IN_SERVING_PLMN_RATE_CONTROL          (74),
+  CHANGE_IN_APN_RATE_CONTROL                   (75)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.237
+type AVP_Grouped Trunk_Group_Id;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: TWAG-Address (3903) 3GPP (10415)
+// 7.2.237Ba
+type AVP_Address TWAG_Address;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: TWAN-User-Location-Info (2714) 3GPP (10415)
+// 7.2.237C
+type AVP_Grouped TWAN_User_Location_Info;
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V13.9.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.238
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: UNI-PDU-CP-Only-Flag (3932) 3GPP (10415)
+// 7.2.238A
+type enumerated UNI_PDU_CP_Only_Flag
+{
+  UNI_PDU_both_UP_CP     (0),
+  UNI_PDU_CP_Only        (1)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Unit-Cost (2061) 3GPP (10415)
+// 7.2.239
+type AVP_Grouped Unit_Cost;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.240
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: User-CSG-Information (2319) 3GPP (10415)
+// 7.2.240A
+type AVP_Grouped User_CSG_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Usage-Information-Report-Sequence-Number (3439) 3GPP (10415)
+// 7.2.240B
+type AVP_Integer32 Usage_Information_Report_Sequence_Number;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: User-Participating-Type (1279) 3GPP (10415)
+// 7.2.241
+type enumerated User_Participating_Type
+{
+  NORMAL     (0),
+  NW_POC_BOX (1),
+  UE_POC_BOX (2)
+}
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.242
+type AVP_UTF8String User_Session_Id;
+
+// 3GPP TS 32.299 V13.9.0 CR0716
+// AVP: UWAN-User-Location-Info (3918) 3GPP (10415)
+// 7.2.242aaA
+type AVP_Grouped UWAN_User_Location_Info;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Variable-Part (3907) 3GPP (10415)
+// 7.2.242aA
+type AVP_Grouped Variable_Part;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Variable-Part-Order (3908) 3GPP (10415)
+// 7.2.242aB
+type AVP_Unsigned32 Variable_Part_Order;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Variable-Part-Type (3909) 3GPP (10415)
+// 7.2.242aC
+type AVP_Unsigned32 Variable_Part_Type;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Variable-Part-Value (3910) 3GPP (10415)
+// 7.2.242aD
+type AVP_UTF8String Variable_Part_Value;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: VCS-Information (3410) 3GPP (10415)
+// 7.2.242A
+type AVP_Grouped VCS_Information;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: VLR-Number (3420) 3GPP (10415)
+// 7.2.242B
+type AVP_OctetString VLR_Number;
+
+// 3GPP TS 32.299 V13.9.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.243
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+
diff --git a/src/CreditControl_IETF_RFC4006.ddf b/src/CreditControl_IETF_RFC4006.ddf
index 54b21c1..21ad0eb 100644
--- a/src/CreditControl_IETF_RFC4006.ddf
+++ b/src/CreditControl_IETF_RFC4006.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               CreditControl_IETF_RFC4006.ddf
 //  Description:        DDF for DCC according to RFC 4006
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 1134 62
 ///////////////////////////////////////////////
 
diff --git a/src/CxDxInterface_3GPP_TS29229_6a0.ddf b/src/CxDxInterface_3GPP_TS29229_6a0.ddf
index d2d0a25..e4d7bd3 100644
--- a/src/CxDxInterface_3GPP_TS29229_6a0.ddf
+++ b/src/CxDxInterface_3GPP_TS29229_6a0.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               CxDxInterface_3GPP_TS29229_6a0.ddf
 //  Description:        DDF for CxDx according to 3GPP TS 29.229 V6.10.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/CxDxInterface_3GPP_TS29229_840.ddf b/src/CxDxInterface_3GPP_TS29229_840.ddf
index 2c89130..90505cc 100644
--- a/src/CxDxInterface_3GPP_TS29229_840.ddf
+++ b/src/CxDxInterface_3GPP_TS29229_840.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               CxDxInterface_3GPP_TS29229_840.ddf
 //  Description:        DDF for CxDx according to 3GPP TS 29.229 V8.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/CxDxInterface_3GPP_TS29229_880.ddf b/src/CxDxInterface_3GPP_TS29229_880.ddf
index 1f7f27e..e6c3eed 100644
--- a/src/CxDxInterface_3GPP_TS29229_880.ddf
+++ b/src/CxDxInterface_3GPP_TS29229_880.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               CxDxInterface_3GPP_TS29229_880.ddf
 //  Description:        DDF for CxDx according to 3GPP TS 29.229 V8.8.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/CxDxInterface_3GPP_TS29229_920.ddf b/src/CxDxInterface_3GPP_TS29229_920.ddf
index c96c6c3..13fdbea 100644
--- a/src/CxDxInterface_3GPP_TS29229_920.ddf
+++ b/src/CxDxInterface_3GPP_TS29229_920.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               CxDxInterface_3GPP_TS29229_880.ddf
 //  Description:        DDF for CxDx according to 3GPP TS 29.229 V9.2.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/CxDxInterface_3GPP_TS29229_c30.ddf b/src/CxDxInterface_3GPP_TS29229_c30.ddf
index 3e8a484..e65130f 100644
--- a/src/CxDxInterface_3GPP_TS29229_c30.ddf
+++ b/src/CxDxInterface_3GPP_TS29229_c30.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               CxDxInterface_3GPP_TS29229_c30.ddf
 //  Description:        DDF for CxDx according to 3GPP TS 29.229 V12.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/CxDxInterface_Ericsson_1551_FAY301_0059_PC26.ddf b/src/CxDxInterface_Ericsson_1551_FAY301_0059_PC26.ddf
index 2ac2cb9..8871635 100644
--- a/src/CxDxInterface_Ericsson_1551_FAY301_0059_PC26.ddf
+++ b/src/CxDxInterface_Ericsson_1551_FAY301_0059_PC26.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               EricssonProprietaryCxDx.ddf
 //  Description:        DDF for Cx according to 1551-FAY 301 0059 Uen
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/DIAMETER_EncDec.cc b/src/DIAMETER_EncDec.cc
index cb532ff..cb523de 100644
--- a/src/DIAMETER_EncDec.cc
+++ b/src/DIAMETER_EncDec.cc
@@ -37,7 +37,7 @@
 //
 //  File:               DIAMETER_EncDec.cc
 //  Description:	Encoder/Decoder and external functions for DPMG
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
@@ -196,6 +196,14 @@ INTEGER f__DIAMETER__Dec__fast(const OCTETSTRING& pl__oct, PDU__DIAMETER &pl__pd
   return 0;
 }
 
+void f_DIAMETER_log_hex(const char *prompt, const unsigned char *msg,
+  size_t length)
+{
+  if (prompt != NULL) TTCN_Logger::log_event_str(prompt);
+  TTCN_Logger::log_event("Size: %lu, Msg:", (unsigned long)length);
+  for (size_t i = 0; i < length; i++) TTCN_Logger::log_event(" %02x", msg[i]);
+}
+
 OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int data_len,  const integerList& pl__codeList, const bool orderedList, int& bestFromGrouped){
   const unsigned char *endp=temp+data_len;
   int avpLength = 0;
@@ -210,7 +218,7 @@ OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int d
   //if the f_GetAVPByListOfCodesFromGroupedAVP function was called, the bestFromGrouped variable will be initialized, else:
   if(bestFromGrouped < 0)bestFromGrouped = codelist_size;
      
-  while(temp < endp)
+  while(temp + 8 < endp)
   { 
     /* reading the avp code value*/
     avpCode = ((unsigned int)(*temp) << 24) + ((unsigned int)(*(temp + 1)) << 16)	+ ((unsigned int)(*(temp + 2)) << 8) + (unsigned int)(*(temp + 3));
@@ -220,6 +228,13 @@ OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int d
 
     /* calculating the length of the next AVP*/
     avpLength = ((unsigned int)(*temp) << 16) + ((unsigned int)(*(temp + 1)) << 8)	+ (unsigned int)(*(temp + 2));
+    if(avpLength < 8) {
+      TTCN_Logger::begin_event( TTCN_WARNING );
+      TTCN_Logger::log_event("Invalid AVP length: %d; ",avpLength);
+      f_DIAMETER_log_hex("AVP octets: ", temp - 5, endp - (temp + 5));
+      TTCN_Logger::end_event();
+      break;
+    }
     avpLength-=8;          // length of AVP data = AVP length - 4 - Vendor ID length (calculated below)
     if(*(temp-1) & 0x80){  // skip vendor id, VMPxxxxx is just before the first length octet
       avpLength-=4;
@@ -247,7 +262,7 @@ OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int d
       {
         if((const int)(pl__codeList[i]) == (int)avpCode)
         {
-          return OCTETSTRING(avpLength, temp);
+          return OCTETSTRING(avpLength > 0? avpLength:0, temp);
         }
       }
     };
@@ -288,7 +303,7 @@ OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct,
   int   bestAVP_length = 0;
   int   bestFromGrouped = codelist_size; //Initializing the bestFromGrouped variable for the f_GetAVPByListOfCodesFromGroupedAVP function
      
-  while(temp < endp)
+  while(temp + 8 < endp)
   { 
     /* reading the avp code value*/
     avpCode = ((unsigned int)(*temp) << 24) + ((unsigned int)(*(temp + 1)) << 16)	+ ((unsigned int)(*(temp + 2)) << 8) + (unsigned int)(*(temp + 3));
@@ -297,6 +312,13 @@ OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct,
 
     /* calculating the length of the next AVP*/
     avpLength = ((unsigned int)(*temp) << 16) + ((unsigned int)(*(temp + 1)) << 8)	+ (unsigned int)(*(temp + 2));
+    if(avpLength < 8) {
+      TTCN_Logger::begin_event( TTCN_WARNING );
+      TTCN_Logger::log_event("Invalid AVP length: %d; msg: ",avpLength);
+      pl__oct.log();
+      TTCN_Logger::end_event();
+      break;
+    }
     avpLength-=8;          // length of AVP data = AVP length - 4 - Vendor ID length (calculated below)
     if(*(temp-1) & 0x80){  // skip vendor id, VMPxxxxx is just before the first length octet
       avpLength-=4;
@@ -309,7 +331,7 @@ OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct,
     {
       if((const int)(pl__codeList[i]) == (int)avpCode)
       {
-        if(i == 0)return OCTETSTRING(avpLength, temp); //Found AVP with highest priority
+        if(i == 0)return OCTETSTRING(avpLength > 0? avpLength:0, temp); //Found AVP with highest priority
         avpFound = true;
         bestAVP = (unsigned char *)temp;
         bestAVP_length = avpLength;
diff --git a/src/DIAMETER_EncDec.tpl b/src/DIAMETER_EncDec.tpl
index 99baf01..5829102 100644
--- a/src/DIAMETER_EncDec.tpl
+++ b/src/DIAMETER_EncDec.tpl
@@ -36,7 +36,6 @@
 ******************************************************************************/
 
 #include "DIAMETER_Types.hh"
-#define BUF_SIZE 65536          // this buffer is used on data reception and outgoing encoding
 #include <math.h>
 #include <stdlib.h>
 #include <sys/time.h>
@@ -49,23 +48,23 @@ namespace DIAMETER__Types{
 static const unsigned char os_h_or_e_id_octets[] = { 0, 0, 0, 0 };
 static const OCTETSTRING os_h_or_e_id_oct(4, os_h_or_e_id_octets);
 
-int encode_AVP_OctetString(unsigned char* & p, const AVP__OctetString& avp);
-int encode_AVP_Integer(unsigned char* & p, const AVP__Integer32& avp);
-int encode_AVP_Integer64(unsigned char* & p, const AVP__Integer64& avp);
-int encode_AVP_Unsigned32(unsigned char* & p, const AVP__Unsigned32& avp);
-int encode_AVP_Unsigned64(unsigned char* & p, const AVP__Unsigned64& avp);
-int encode_AVP_Float32(unsigned char* & p, const AVP__Float32& avp);
-int encode_AVP_Float64(unsigned char* & p, const AVP__Float64& avp);
-int encode_AVP_Grouped(unsigned char* & p, const AVP__Grouped& avp);
-int encode_AVP_Address(unsigned char* & p, const AVP__Address& avp);
-int encode_AVP_IP_Address(unsigned char* & p, const AVP__IP__Address& avp);
-int encode_AVP_Time(unsigned char* & p, const AVP__Time& avp);
-int encode_AVP_UTF8String(unsigned char* & p, const AVP__UTF8String& avp);
-int encode_AVP_DiameterIdentity(unsigned char* & p, const AVP__DiameterIdentity& avp);
-int encode_AVP_DiameterURI(unsigned char* & p, const AVP__DiameterURI& avp);
-int encode_AVP_IPFilterRule(unsigned char* & p, const AVP__IPFilterRule& avp);
-int encode_AVP_QoSFilterRule(unsigned char* & p, const AVP__QoSFilterRule& avp);
-int encode_AVP_enumerated(unsigned char* & p, const int& avp);
+int encode_AVP_OctetString(TTCN_Buffer &p, const AVP__OctetString& avp);
+int encode_AVP_Integer(TTCN_Buffer &p, const AVP__Integer32& avp);
+int encode_AVP_Integer64(TTCN_Buffer &p, const AVP__Integer64& avp);
+int encode_AVP_Unsigned32(TTCN_Buffer &p, const AVP__Unsigned32& avp);
+int encode_AVP_Unsigned64(TTCN_Buffer &p, const AVP__Unsigned64& avp);
+int encode_AVP_Float32(TTCN_Buffer &p, const AVP__Float32& avp);
+int encode_AVP_Float64(TTCN_Buffer &p, const AVP__Float64& avp);
+int encode_AVP_Grouped(TTCN_Buffer &p, const AVP__Grouped& avp);
+int encode_AVP_Address(TTCN_Buffer &p, const AVP__Address& avp);
+int encode_AVP_IP_Address(TTCN_Buffer &p, const AVP__IP__Address& avp);
+int encode_AVP_Time(TTCN_Buffer &p, const AVP__Time& avp);
+int encode_AVP_UTF8String(TTCN_Buffer &p, const AVP__UTF8String& avp);
+int encode_AVP_DiameterIdentity(TTCN_Buffer &p, const AVP__DiameterIdentity& avp);
+int encode_AVP_DiameterURI(TTCN_Buffer &p, const AVP__DiameterURI& avp);
+int encode_AVP_IPFilterRule(TTCN_Buffer &p, const AVP__IPFilterRule& avp);
+int encode_AVP_QoSFilterRule(TTCN_Buffer &p, const AVP__QoSFilterRule& avp);
+int encode_AVP_enumerated(TTCN_Buffer &p, const int& avp);
 bool decode_AVP_OctetString(const unsigned char* & p,  AVP__OctetString& avp, int length);
 bool decode_AVP_Integer(const unsigned char* & p,  AVP__Integer32& avp, int length);
 bool decode_AVP_Integer64(const unsigned char* & p,  AVP__Integer64& avp, int length);
@@ -89,82 +88,40 @@ bool decode_AVP(const unsigned char* &p, AVP &avptype, const unsigned char* buf_
 
 
 ////////////////////////////////////////////////////////////
-void encode_bits_1byte(unsigned char* &p,
+void encode_bits_1byte(TTCN_Buffer &p,
 		const BITSTRING& bit1, const BITSTRING& bit2, const BITSTRING& therest) {
-	unsigned char ctemp;
-	BITSTRING datas = therest + (bit2 + bit1); // actually backwards
-	if (datas.lengthof() != 8)
-		TTCN_warning("Bitstring length %d is not exactly a byte.",
-				datas.lengthof());
-	ctemp = *(bit1);
-	*p = 0; // just in case
-	*p += (ctemp << 7) & 0x80; // 1000 0000
-	ctemp = *(bit2);
-	*p += (ctemp << 6) & 0x40; // 0100 0000
-	ctemp = *(therest); // needs flipping
-	*p += ((ctemp & 0x20) >> 5); // 0010 0000
-	*p += ((ctemp & 0x10) >> 3); // 0001 0000
-	*p += ((ctemp & 0x08) >> 1); // 0000 1000
-	*p += ((ctemp & 0x04) << 1); // 0000 0100
-	*p += ((ctemp & 0x02) << 3); // 0000 0010
-	*p += ((ctemp & 0x01) << 5); // 0000 0001
-	p++; // advance by a byte
+	BITSTRING datas = bit1 + bit2 + therest;
+	if (datas.lengthof() != 8){
+		TTCN_warning("Bitstring length %d is not exactly a byte.", datas.lengthof());
+  }
+  p.put_string(bit2oct(datas));
 }
 
 ////////////////////////////////////////////////////////////
-void encode_bits_1byte(unsigned char* &p,
+void encode_bits_1byte(TTCN_Buffer &p,
 		const BITSTRING& bit1, const BITSTRING& bit2, const BITSTRING& bit3,
 		const BITSTRING& therest) {
-	unsigned char ctemp;
-	BITSTRING datas = (therest + bit3) + (bit2 + bit1); // backwards?
-	if (datas.lengthof() != 8)
-		TTCN_warning("Bitstring length %d is not exactly a byte.",
-				datas.lengthof());
-	ctemp = *(bit1);
-	*p = 0; // just in case
-	*p += (ctemp << 7) & 0x80; // 1000 0000
-	ctemp = *(bit2);
-	*p += (ctemp << 6) & 0x40; // 0100 0000
-	ctemp = *(bit3);
-	*p += (ctemp << 5) & 0x20; // 0010 0000
-	ctemp = *(therest); // needs flipping
-	*p += ((ctemp & 0x10) >> 4); // 0001 0000
-	*p += ((ctemp & 0x08) >> 2); // 0000 1000
-	*p += ((ctemp & 0x04)); // 0000 0100
-	*p += ((ctemp & 0x02) << 2); // 0000 0010
-	*p += ((ctemp & 0x01) << 4); // 0000 0001
-	p++; // advance by a byte
+	BITSTRING datas = bit1 + bit2 + bit3 + therest;
+	if (datas.lengthof() != 8){
+		TTCN_warning("Bitstring length %d is not exactly a byte.", datas.lengthof());
+  }
+  p.put_string(bit2oct(datas));
 }
 
 ////////////////////////////////////////////////////////////
-void encode_bits_1byte(unsigned char* &p,
+void encode_bits_1byte(TTCN_Buffer &p,
 		const BITSTRING& bit1, const BITSTRING& bit2, const BITSTRING& bit3,
 		const BITSTRING& bit4, const BITSTRING& therest) {
-	unsigned char ctemp;
-	BITSTRING datas = ((((therest + bit4) + bit3) + bit2) + bit1); // backwards?
-	if (datas.lengthof() != 8)
-		TTCN_warning("Bitstring length %d is not exactly a byte.",
-				datas.lengthof());
-	ctemp = *(bit1);
-	*p = 0; // just in case
-	*p += (ctemp << 7) & 0x80; // 1000 0000
-	ctemp = *(bit2);
-	*p += (ctemp << 6) & 0x40; // 0100 0000
-	ctemp = *(bit3);
-	*p += (ctemp << 5) & 0x20; // 0010 0000
-	ctemp = *(bit4);
-	*p += (ctemp << 4) & 0x10; // 0001 0000
-	ctemp = *(therest); // needs flipping
-	*p += ((ctemp & 0x08) >> 3); // 0000 1000
-	*p += ((ctemp & 0x04) >> 1); // 0000 0100
-	*p += ((ctemp & 0x02) << 1); // 0000 0010
-	*p += ((ctemp & 0x01) << 3); // 0000 0001
-	p++; // advance by a byte
+	BITSTRING datas = bit1 + bit2 + bit3 + bit4 + therest;
+	if (datas.lengthof() != 8){
+		TTCN_warning("Bitstring length %d is not exactly a byte.", datas.lengthof());
+  }
+  p.put_string(bit2oct(datas));
 }
 
 
 ////////////////////////////////////////////////////////////
-void encode_octets(int len, unsigned char* &p,
+void encode_octets(int len, TTCN_Buffer &p,
 		const OCTETSTRING& data) {
 	if (data.lengthof() > len){
 		TTCN_error(
@@ -173,94 +130,80 @@ void encode_octets(int len, unsigned char* &p,
   }
   int padd=len-data.lengthof();
   for(;padd>0;padd--){
-    *(p++)='\0';
+    p.put_c('\0');
   }
-	memcpy(p, (const unsigned char*) data, data.lengthof());
-	p += data.lengthof();
+  p.put_string(data);
 }
 
 ////////////////////////////////////////////////////////////
-void encode_octets(unsigned char* &p, const OCTETSTRING& data) {
-	memcpy(p, (const unsigned char*) data, data.lengthof());
-	p += data.lengthof();
+void encode_octets(TTCN_Buffer &p, const OCTETSTRING& data) {
+  p.put_string(data);
 }
 
 ////////////////////////////////////////////////////////////
-void pad_oct_if_needed(unsigned char* &p, int unpaddedsize) { //if called, pads unpaddedsize's distance to closest 4-octet boundary
+void pad_oct_if_needed(TTCN_Buffer &p, int unpaddedsize) { //if called, pads unpaddedsize's distance to closest 4-octet boundary
 	encode_octets(p, OCTETSTRING((4 - unpaddedsize % 4) % 4,
 			(const unsigned char*) "\0\0\0"));
 }
 
 ////////////////////////////////////////////////////////////
-void encode_chars(unsigned char* &p, const CHARSTRING& data) {
-	memcpy(p, (const char*) data, data.lengthof());
-	p += data.lengthof();
+void encode_chars(TTCN_Buffer &p, const CHARSTRING& data) {
+  p.put_string(data);
 }
 
 ////////////////////////////////////////////////////////////
-void encode_int_1byte(unsigned char* &p, unsigned int data) {
+void encode_int_1byte(TTCN_Buffer &p, unsigned int data) {
 	if ((data >> 8) != 0)
 		TTCN_error("Integer value %d is too long to fit in 1 byte.", data);
-	*(p++) = data & 0xFF;
+  p.put_c(data & 0xFF);
 }
 
 ////////////////////////////////////////////////////////////
-void encode_int_2byte(unsigned char* &p, unsigned int data) {
+void encode_int_2byte(TTCN_Buffer &p, unsigned int data) {
 	if ((data >> 16) != 0)
 		TTCN_error("Integer value %d is too long to fit in 2 bytes.", data);
-	*(p++) = (data >> 8) & 0xFF;
-	*(p++) = data & 0xFF;
+  p.put_c((data >> 8) & 0xFF);
+  p.put_c(data & 0xFF);
 }
 
 ////////////////////////////////////////////////////////////
-void encode_int_3byte(unsigned char* &p, unsigned int data) {
+void encode_int_3byte(TTCN_Buffer &p, unsigned int data) {
 	if ((data >> 24) != 0)
 		TTCN_error("Integer value %d is too long to fit in 3 bytes.", data);
-	*(p++) = (data >> 16) & 0xFF;
-	*(p++) = (data >> 8) & 0xFF;
-	*(p++) = data & 0xFF;
+  p.put_c((data >> 16) & 0xFF);
+  p.put_c((data >> 8) & 0xFF);
+  p.put_c(data & 0xFF);
 }
 
 ////////////////////////////////////////////////////////////
-void encode_int_4byte(unsigned char* &p, unsigned int data) {
-	*(p++) = (data >> 24) & 0xFF;
-	*(p++) = (data >> 16) & 0xFF;
-	*(p++) = (data >> 8) & 0xFF;
-	*(p++) = data & 0xFF;
-}
-
-void encode_u32_4byte(unsigned char* &p, const INTEGER& data) {
-  if(data.is_native()){
-    const int data2=data;
-	  *(p++) = (data2 >> 24) & 0xFF;
-	  *(p++) = (data2 >> 16) & 0xFF;
-	  *(p++) = (data2 >> 8) & 0xFF;
-	  *(p++) = data2 & 0xFF;
-  } else {
-	  OCTETSTRING os = int2oct(data, 4);
-	  memcpy(p, (const unsigned char*) os, 4);
-	  p += 4;
-  }
+void encode_int_4byte(TTCN_Buffer &p, unsigned int data) {
+  p.put_c((data >> 24) & 0xFF);
+  p.put_c((data >> 16) & 0xFF);
+  p.put_c((data >> 8) & 0xFF);
+  p.put_c(data & 0xFF);
+}
+
+void encode_u32_4byte(TTCN_Buffer &p, const INTEGER& data) {
+  p.put_string(int2oct(data, 4));
 } // encode_u32_4byte
 
 
 ////////////////////////////////////////////////////////////
-void encode_signed_int_4byte(unsigned char* &p, const int data) {
-	*(p++) = (data >> 24) & 0xFF;
-	*(p++) = (data >> 16) & 0xFF;
-	*(p++) = (data >> 8) & 0xFF;
-	*(p++) = data & 0xFF;
+void encode_signed_int_4byte(TTCN_Buffer &p, const int data) {
+  p.put_c((data >> 24) & 0xFF);
+  p.put_c((data >> 16) & 0xFF);
+  p.put_c((data >> 8) & 0xFF);
+  p.put_c(data & 0xFF);
 }
 
 ////////////////////////////////////////////////////////////
-void encode_float_8byte(unsigned char* &p, const double data) {
+void encode_float_8byte(TTCN_Buffer &p, const double data) {
 	unsigned char* poi = (unsigned char*) &data;
 #if defined __sparc__ || defined __sparc
-    memcpy(p,poi,8);
+    p.put_s(8,poi);
 #else
-    for (int i = 0, k = 7; i < 8; i++, k--) p[i] = poi[k];
+    for (int i = 0, k = 7; i < 8; i++, k--) p.put_c(poi[k]);
 #endif
-  p+=8;
 }
 
 
@@ -321,21 +264,10 @@ bool chk_zero(const OCTETSTRING& var) {return var==os_h_or_e_id_oct;}
 
 
 void f__DIAMETER__Enc__fast(const PDU__DIAMETER& pl__pdu, OCTETSTRING& pl__oct){
-  int message_length=0;
-  int encoded_length=0;
-  
-  TTCN_Buffer buf;
-  buf.clear();
-  size_t len=BUF_SIZE; // header length
-  unsigned char* p;
-  buf.get_end(p,len);
-	unsigned char *start_ptr = p;
-
-
-	encode_int_1byte(p, (unsigned int) pl__pdu.version());
-	unsigned char *length_ptr = p;
-	p += 3; // save *length for later use
   
+  TTCN_Buffer p;
+  p.clear();
+ 
 #ifdef DPMG_USE_DETAILED_BITS
 	encode_bits_1byte(p, pl__pdu.R__bit(), pl__pdu.P__bit(), pl__pdu.E__bit(),
 			pl__pdu.T__bit(), pl__pdu.r__bits());
@@ -385,13 +317,12 @@ void f__DIAMETER__Enc__fast(const PDU__DIAMETER& pl__pdu, OCTETSTRING& pl__oct){
 #endif
   }
 
-  encoded_length=encode_AVP_Grouped(p, pl__pdu.avps());
- 
-  message_length = p - start_ptr; // TP must calc it
-	encode_int_3byte(length_ptr, (unsigned int) message_length);
+  encode_AVP_Grouped(p, pl__pdu.avps());
+
 
-  buf.increase_length(message_length);
-  buf.get_string(pl__oct);
+  OCTETSTRING tmp; 
+  p.get_string(tmp);
+  pl__oct = int2oct(pl__pdu.version(),1) + int2oct(tmp.lengthof()+4,3) + tmp;
   return;
 }
 
@@ -403,7 +334,13 @@ OCTETSTRING f__DIAMETER__Enc(const PDU__DIAMETER& pl__pdu)
   return ret_val;
 }
 
-
+void f_DIAMETER_log_hex(const char *prompt, const unsigned char *msg,
+  size_t length)
+{
+    if (prompt != NULL) TTCN_Logger::log_event_str(prompt);
+    TTCN_Logger::log_event("Size: %lu, Msg:", (unsigned long)length);
+    for (size_t i = 0; i < length; i++) TTCN_Logger::log_event(" %02x", msg[i]);
+}
 
 OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int data_len,  const integerList& pl__codeList){
   const unsigned char *endp=temp+data_len;
@@ -411,17 +348,25 @@ OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int d
   unsigned int avpCode = 0;
 
   int codelist_size=pl__codeList.size_of();
-     
-  while(temp < endp)
-  { 
+
+  // an AVP is at least 8 bytes long - see RFC 3588 / 4.1.  AVP Header
+  while(temp + 8 < endp)
+  {
     /* reading the avp code value*/
-    avpCode = ((unsigned int)(*temp) << 24) + ((unsigned int)(*(temp + 1)) << 16)	+ ((unsigned int)(*(temp + 2)) << 8) + (unsigned int)(*(temp + 3));
-    
+    avpCode = ((unsigned int)(*temp) << 24) + ((unsigned int)(*(temp + 1)) << 16) + ((unsigned int)(*(temp + 2)) << 8) + (unsigned int)(*(temp + 3));
+
     temp+=5; // AVP code & VMPxxxxx octets (checked later)
              // tmp now points to the first length octet
 
     /* calculating the length of the next AVP*/
-    avpLength = ((unsigned int)(*temp) << 16) + ((unsigned int)(*(temp + 1)) << 8)	+ (unsigned int)(*(temp + 2));
+    avpLength = ((unsigned int)(*temp) << 16) + ((unsigned int)(*(temp + 1)) << 8) + (unsigned int)(*(temp + 2));
+    if(avpLength < 8) {
+      TTCN_Logger::begin_event( TTCN_WARNING );
+      TTCN_Logger::log_event("Invalid AVP length: %d; ",avpLength);
+      f_DIAMETER_log_hex("AVP octets: ", temp - 5, endp - (temp + 5));
+      TTCN_Logger::end_event();
+      break;
+    }
     avpLength-=8;          // length of AVP data = AVP length - 4 - Vendor ID length (calculated below)
     if(*(temp-1) & 0x80){  // skip vendor id, VMPxxxxx is just before the first length octet
       avpLength-=4;
@@ -434,19 +379,19 @@ OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int d
     {
       if((const int)(pl__codeList[i]) == (int)avpCode)
       {
-        return OCTETSTRING(avpLength, temp);
+        return OCTETSTRING(avpLength > 0? avpLength:0, temp);
       }
     }
-    
+
     // skip to the next avp
     if(avpLength % 4 != 0)  // AVP padding
-    { 
+    {
       avpLength = avpLength + (4 - (avpLength % 4));
     }
-    temp+=avpLength;  
+    temp+=avpLength;
   }
   /* no AVP was found, returns an empty octetstring*/  
-  unsigned char noResult[0];      
+  unsigned char noResult[0];
   return OCTETSTRING(0, noResult);
 }
 
@@ -454,23 +399,31 @@ OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct,
 {
   const unsigned char *temp= (const unsigned char *)pl__oct;
   const unsigned char *endp=temp+pl__oct.lengthof();
-  
+
   temp += 20; // skip the DIAMETER header
   int avpLength = 0;
   unsigned int avpCode = 0;
 
   int codelist_size=pl__codeList.size_of();
   int groupcodeList_size=pl__groupcodeList.size_of();
-     
-  while(temp < endp)
-  { 
+
+  // an AVP is at least 8 bytes long - see RFC 3588 / 4.1.  AVP Header
+  while(temp + 8 < endp)
+  {
     /* reading the avp code value*/
-    avpCode = ((unsigned int)(*temp) << 24) + ((unsigned int)(*(temp + 1)) << 16)	+ ((unsigned int)(*(temp + 2)) << 8) + (unsigned int)(*(temp + 3));
+    avpCode = ((unsigned int)(*temp) << 24) + ((unsigned int)(*(temp + 1)) << 16) + ((unsigned int)(*(temp + 2)) << 8) + (unsigned int)(*(temp + 3));
     temp+=5; // AVP code & VMPxxxxx octets
              // tmp now points to the first length octet
 
     /* calculating the length of the next AVP*/
-    avpLength = ((unsigned int)(*temp) << 16) + ((unsigned int)(*(temp + 1)) << 8)	+ (unsigned int)(*(temp + 2));
+    avpLength = ((unsigned int)(*temp) << 16) + ((unsigned int)(*(temp + 1)) << 8) + (unsigned int)(*(temp + 2));
+    if(avpLength < 8) {
+      TTCN_Logger::begin_event( TTCN_WARNING );
+      TTCN_Logger::log_event("Invalid AVP length: %d; msg: ",avpLength);
+      pl__oct.log();
+      TTCN_Logger::end_event();
+      break;
+    }
     avpLength-=8;          // length of AVP data = AVP length - 4 - Vendor ID length (calculated below)
     if(*(temp-1) & 0x80){  // skip vendor id, VMPxxxxx is just before the first length octet
       avpLength-=4;
@@ -483,10 +436,10 @@ OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct,
     {
       if((const int)(pl__codeList[i]) == (int)avpCode)
       {
-        return OCTETSTRING(avpLength, temp);
+        return OCTETSTRING(avpLength > 0? avpLength:0, temp);
       }
     }
-    
+
     // Chek for the groupped AVP to search in
     for(int i = 0; i < groupcodeList_size; i++)
     {
@@ -504,12 +457,13 @@ OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct,
     { 
       avpLength = avpLength + (4 - (avpLength % 4));
     }
-    temp+=avpLength;  
+    temp+=avpLength;
   }
-  /* no AVP was found, returns an empty octetstring*/  
-  unsigned char noResult[0];      
+  /* no AVP was found, returns an empty octetstring*/
+  unsigned char noResult[0];
   return OCTETSTRING(0, noResult);
 }
+
 OCTETSTRING f__DIAMETER__GetAVPByListOfCodes(const OCTETSTRING& pl__oct, const integerList& pl__codeList) 
 {
   integerList glist=NULL_VALUE;
@@ -522,21 +476,17 @@ OCTETSTRING f__DIAMETER__GetAVPByListOfCodesFromGroupedAVP(const OCTETSTRING& pl
 }
 
 
-
-
-int encode_AVP_OctetString(unsigned char* & p, const AVP__OctetString& avp){ 
-  unsigned char* start=p;
+int encode_AVP_OctetString(TTCN_Buffer &p, const AVP__OctetString& avp){ 
   encode_octets(p, avp);
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.lengthof());
-  return ret_val;
+  return avp.lengthof() ;
 }
 
-int encode_AVP_Integer32(unsigned char* & p, const AVP__Integer32& avp){ 
+int encode_AVP_Integer32(TTCN_Buffer &p, const AVP__Integer32& avp){ 
   encode_signed_int_4byte(p, avp);
   return 4;
 }
-int encode_AVP_Integer64(unsigned char* & p, const AVP__Integer64& avp){
+int encode_AVP_Integer64(TTCN_Buffer &p, const AVP__Integer64& avp){
 #ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
 	encode_octets(8, p, int2oct(avp,8));
 #else
@@ -544,23 +494,15 @@ int encode_AVP_Integer64(unsigned char* & p, const AVP__Integer64& avp){
 #endif
   return 8;
 }
-int encode_AVP_Unsigned32(unsigned char* & p, const AVP__Unsigned32& avp){
+int encode_AVP_Unsigned32(TTCN_Buffer &p, const AVP__Unsigned32& avp){
 #ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
-  if(avp.is_native()){
-    const int data=avp;
-	  *(p++) = (data >> 24) & 0xFF;
-	  *(p++) = (data >> 16) & 0xFF;
-	  *(p++) = (data >> 8) & 0xFF;
-	  *(p++) = data & 0xFF;
-  } else {
-  	encode_octets(4, p, int2oct(avp,4));
-  }
+  encode_octets(4, p, int2oct(avp,4));
 #else
 	encode_octets(4, p, avp);
 #endif
   return 4;
 }
-int encode_AVP_Unsigned64(unsigned char* & p, const AVP__Unsigned64& avp){
+int encode_AVP_Unsigned64(TTCN_Buffer &p, const AVP__Unsigned64& avp){
 #ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
 	encode_octets(8, p, int2oct(avp,8));
 #else
@@ -568,8 +510,9 @@ int encode_AVP_Unsigned64(unsigned char* & p, const AVP__Unsigned64& avp){
 #endif
   return 8;
 }
-int encode_AVP_Float32(unsigned char* & p, const AVP__Float32& avp){
+int encode_AVP_Float32(TTCN_Buffer &buff, const AVP__Float32& avp){
     double tmp = avp;
+    unsigned char p[4];
     if (tmp == 0.0) memset(p, 0, 4);
     else if (tmp == -0.0) {
       memset(p, 0, 4);
@@ -612,79 +555,64 @@ int encode_AVP_Float32(unsigned char* & p, const AVP__Float32& avp){
       index += adj;
       p[3] = ((dv[index] & 0x1F) << 3) | ((dv[index + adj] & 0xE0) >> 5);
   }
-  p+=4;
+  buff.put_s(4,p);
   return 4;
 }
-int encode_AVP_Float64(unsigned char* & p, const AVP__Float64& avp){
+int encode_AVP_Float64(TTCN_Buffer &p, const AVP__Float64& avp){
   encode_float_8byte(p, avp);
   return 8;
 }
-int encode_AVP_Address(unsigned char* & p, const AVP__Address& avp){
-  unsigned char* start=p;
+int encode_AVP_Address(TTCN_Buffer &p, const AVP__Address& avp){
   encode_int_2byte(p,avp.address__type());
   encode_octets(p, avp.address__data());
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.address__data().lengthof()+2);
-  return ret_val;
+  return avp.address__data().lengthof()+2;
 }
-int encode_AVP_IP_Address(unsigned char* & p, const AVP__IP__Address& avp){
-  unsigned char* start=p;
+int encode_AVP_IP_Address(TTCN_Buffer &p, const AVP__IP__Address& avp){
   encode_octets(p, avp);
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.lengthof());
-  return ret_val;
+  return avp.lengthof();
 }
-int encode_AVP_Time(unsigned char* & p, const AVP__Time& avp){
+int encode_AVP_Time(TTCN_Buffer &p, const AVP__Time& avp){
   encode_octets(4,p, avp);
   return 4;
 }
-int encode_AVP_UTF8String(unsigned char* & p, const AVP__UTF8String& avp){
+int encode_AVP_UTF8String(TTCN_Buffer &p, const AVP__UTF8String& avp){
 #ifdef DPMG_USE_UTF8_ENC 
    TTCN_Buffer buf;    
    avp.encode_utf8(buf);
    int length = buf.get_len();
-   memcpy(p,buf.get_data(),length); 
-   p += length;
+   p.put_buf(buf);
    pad_oct_if_needed(p, length);   
    return length;       
 #else 
-  unsigned char* start=p;
   encode_octets(p, avp);
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.lengthof());
-  return ret_val;
+  return avp.lengthof();
 #endif    
   
 }
-int encode_AVP_DiameterIdentity(unsigned char* & p, const AVP__DiameterIdentity& avp){
-  unsigned char* start=p;
+int encode_AVP_DiameterIdentity(TTCN_Buffer &p, const AVP__DiameterIdentity& avp){
   encode_chars(p, avp);
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.lengthof());
-  return ret_val;
+  return avp.lengthof();
 }
-int encode_AVP_DiameterURI(unsigned char* & p, const AVP__DiameterURI& avp){
-  unsigned char* start=p;
+int encode_AVP_DiameterURI(TTCN_Buffer &p, const AVP__DiameterURI& avp){
   encode_chars(p, avp);
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.lengthof());
-  return ret_val;
+  return avp.lengthof();
 }
-int encode_AVP_IPFilterRule(unsigned char* & p, const AVP__IPFilterRule& avp){
-  unsigned char* start=p;
+int encode_AVP_IPFilterRule(TTCN_Buffer &p, const AVP__IPFilterRule& avp){
   encode_chars(p, avp);
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.lengthof());
-  return ret_val;
+  return avp.lengthof();
 }
-int encode_AVP_QoSFilterRule(unsigned char* & p, const AVP__QoSFilterRule& avp){
-  unsigned char* start=p;
+int encode_AVP_QoSFilterRule(TTCN_Buffer &p, const AVP__QoSFilterRule& avp){
   encode_chars(p, avp);
-  int ret_val=p-start;
   pad_oct_if_needed(p, avp.lengthof());
-  return ret_val;
+  return avp.lengthof();
 }
-int encode_AVP_enumerated(unsigned char* & p, const int& avp){
+int encode_AVP_enumerated(TTCN_Buffer &p, const int& avp){
   encode_int_4byte(p, avp);
   return 4;
 }
diff --git a/src/DOIC_RFC7683.ddf b/src/DOIC_RFC7683.ddf
new file mode 100644
index 0000000..66fb589
--- /dev/null
+++ b/src/DOIC_RFC7683.ddf
@@ -0,0 +1,61 @@
+/******************************************************************************
+* Copyright (c) 2004, 2018  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder - initial implementation
+******************************************************************************/
+//
+//  File:               DOIC_RFC7683.ddf
+//  Description:        DDF for Diameter Overload Indication Conveyance AVPs
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: DOIC
+// APPLICATION-REVISION: RFC7683
+
+// AVP implementations according to: 
+// RFC7683 - Diameter Overload Indication Conveyance
+//
+// RFC 7683
+// 7.1.
+// AVP: OC-Supported-Features (621)
+type AVP_Grouped OC_Supported_Features;
+
+// RFC 7683
+// 7.2.
+// AVP: OC-Feature-Vector (622)
+type AVP_Unsigned64 OC_Feature_Vector;
+
+// RFC 7683
+// 7.3.
+// AVP: OC-OLR (623)
+type AVP_Grouped OC_OLR;
+
+// RFC 7683
+// 7.4.
+// AVP: OC-Sequence-Number (624)
+type AVP_Unsigned64 OC_Sequence_Number;
+
+// RFC 7683
+// 7.5.
+// AVP: OC-Validity-Duration (625)
+type AVP_Unsigned32 OC_Validity_Duration;
+
+// RFC 7683
+// 7.6.
+// AVP: OC-Report-Type (626)
+type enumerated OC_Report_Type
+{
+  HOST_REPORT  (0),
+  REALM_REPORT (1)
+}
+
+// RFC 7683
+// 7.7.
+// AVP: OC-Reduction-Percentage (627)
+type AVP_Unsigned32 OC_Reduction_Percentage;
\ No newline at end of file
diff --git a/src/DelegatedIPv6Prefix_IETF_RFC4818.ddf b/src/DelegatedIPv6Prefix_IETF_RFC4818.ddf
index ad23056..f8a706b 100644
--- a/src/DelegatedIPv6Prefix_IETF_RFC4818.ddf
+++ b/src/DelegatedIPv6Prefix_IETF_RFC4818.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               DelegatedIPv6Prefix_IETF_RFC4818.ddf
 //  Description:        DDF for Delegated IPv6 Prefix to RFC 4818
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL113462
 ///////////////////////////////////////////////
 
diff --git a/src/DiameterRoutingMessagePriority_IETF_RFC7944.ddf b/src/DiameterRoutingMessagePriority_IETF_RFC7944.ddf
new file mode 100644
index 0000000..213f799
--- /dev/null
+++ b/src/DiameterRoutingMessagePriority_IETF_RFC7944.ddf
@@ -0,0 +1,46 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder - initial implementation and initial documentation
+******************************************************************************/
+//
+//  File:               DiameterRoutingMessagePriority_IETF_RFC7944.ddf
+//  Description:        DDF for Diameter Routing Message Priority according to RFC7944
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DRMP
+// APPLICATION-REVISION: RFC7944
+
+// AVP implementations according to: 
+// RFC7944 - Diameter Routing Message Priority
+//
+// RFC 7944 
+// 9.
+// AVP: DRMP (301)
+type enumerated DRMP
+{
+  PRIORITY_0   (0),
+  PRIORITY_1   (1),
+  PRIORITY_2   (2),
+  PRIORITY_3   (3),
+  PRIORITY_4   (4),
+  PRIORITY_5   (5),
+  PRIORITY_6   (6),
+  PRIORITY_7   (7),
+  PRIORITY_8   (8),
+  PRIORITY_9   (9),
+  PRIORITY_10  (10),
+  PRIORITY_11  (11),
+  PRIORITY_12  (12),
+  PRIORITY_13  (13),
+  PRIORITY_14  (14),
+  PRIORITY_15  (15)
+}
diff --git a/src/DigestAuthentication_IETF_RFC5090.ddf b/src/DigestAuthentication_IETF_RFC5090.ddf
index 3eb057d..44acf30 100644
--- a/src/DigestAuthentication_IETF_RFC5090.ddf
+++ b/src/DigestAuthentication_IETF_RFC5090.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               DigestAuthentication_IETF_RFC5090.ddf
 //  Description:        DDF for DIGEST according to RFC 5090
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 1134 62
 ///////////////////////////////////////////////
 
diff --git a/src/EricssonSCAPv1_1553APR_10148.ddf b/src/EricssonSCAPv1_1553APR_10148.ddf
index e4fd038..cee4879 100644
--- a/src/EricssonSCAPv1_1553APR_10148.ddf
+++ b/src/EricssonSCAPv1_1553APR_10148.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               EricssonSCAPv1_1553APR_10148.ddf
 //  Description:        DDF for SCAPv1 according to 2/1553-APR 101 48/2
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/Ericsson_Specific_AVPs.ddf b/src/Ericsson_Specific_AVPs.ddf
index 4eb8b55..81d7988 100644
--- a/src/Ericsson_Specific_AVPs.ddf
+++ b/src/Ericsson_Specific_AVPs.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               Ericsson_Specific_AVPs.ddf
 //  Description:        Ericsson specific AVP definitions
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 //  Reference:          http://snmp.ericsson.se/diameter-assignments.html
 //
@@ -54,6 +54,12 @@ type enumerated Command_Code {
   User_Data_Ericsson          (502),       // User-Data-Request (UDR) or User-Data-Answer (UDA)
   Location_Info_Ericsson      (503),       // Location-Info-Request (LIR) or Location-Info-Answer (LIA)
   Multimedia_Auth_Ericsson    (506),       // Multimedia-Auth-Request (MAR) or Multimedia-Auth-Answer (MAA)
+  Update_Location_Ericsson    (650),
+  Authentication_Information_Ericsson  (651),
+  Insertsubscriber_Data_Ericsson       (652),
+  Cancel_Location_Ericsson             (653),
+  Purge_UE_Ericsson                    (654),
+  System_Information_Ericsson          (655),      
   Spending_Limit_Official                     (656),
   Spending_Status_Notification_Official       (657),  
   Spending_Limit                              (8388633),
@@ -2685,6 +2691,146 @@ type AVP_OctetString Additional_User_Category
 type AVP_OctetString Flexible_Charging_Info
 
 
+// AVP: Original-Transferred-Amount (1400) Ericsson (193)
+type AVP_Grouped Original_Transferred_Amount
+
+
+// AVP: Original-Fee (1401) Ericsson (193)
+type AVP_Grouped Original_Fee
+
+
+// AVP: Transaction-Role (1402) Ericsson (193)
+type AVP_Unsigned32 Transaction_Role
+
+
+// AVP: Charging-Region (1403) Ericsson (193)
+type AVP_UTF8String Charging_Region
+
+
+// AVP: Used-Offer-Id (1404) Ericsson (193)
+type AVP_Unsigned32 Used_Offer_Id
+
+
+// AVP: Forward-TTC-Charging-Parameters (1406) Ericsson (193)
+type AVP_UTF8String Forward_TTC_Charging_Parameters
+
+
+// AVP: Backward-TTC-Charging-Parameters (1407) Ericsson (193)
+type AVP_UTF8String Backward_TTC_Charging_Parameters 
+
+
+// AVP: Synchronization-Data (1408) Ericsson (193)
+type AVP_Grouped Synchronization_Data
+
+
+// AVP: Session-Binding-Function (1409) Ericsson (193)
+type enumerated Session_Binding_Function
+{
+  INITIALIZE (0),
+  TERMINATE  (1),
+  BIND (2)
+}
+
+
+// AVP: Binding-Info (1410) Ericsson (193)
+type AVP_Grouped Binding_Info
+
+
+// AVP: Session-Info (1411) Ericsson (193)
+type AVP_Grouped Session_Info
+
+
+// AVP: Binding-Key (1412) Ericsson (193)
+type AVP_OctetString Binding_Key
+
+
+// AVP: First-Request-Timestamp (1413) Ericsson (193)
+type AVP_Unsigned64 First_Request_Timestamp
+
+
+// AVP: Selected-Server (1414) Ericsson (193)
+type AVP_DiameterIdentity Selected_Server
+
+
+// AVP: Session-Binding-Profile (1415) Ericsson (193)
+type AVP_Grouped Session_Binding_Profile
+
+
+// AVP: Profile-Name (1416) Ericsson (193)
+type AVP_UTF8String Profile_Name
+
+
+// AVP: Profile-Data (1417) Ericsson (193)
+type AVP_OctetString Profile_Data
+
+
+// AVP: Session-Client (1418) Ericsson (193)
+type AVP_DiameterIdentity Session_Client
+
+
+// AVP: Session-Client-Origin-State-Id (1419) Ericsson (193)
+type AVP_Unsigned32 Session_Client_Origin_State_Id
+
+
+// AVP: Session-Server (1420) Ericsson (193)
+type AVP_DiameterIdentity Session_Server
+
+
+// AVP: Session-Server-Origin-State-Id (1421) Ericsson (193)
+type AVP_Unsigned32 Session_Server_Origin_State_Id
+
+
+// AVP: Last-Session-Activity-Timestamp (1422) Ericsson (193)
+type AVP_Unsigned64 Last_Session_Activity_Timestamp
+
+
+// AVP: Mated-DSC (1423) Ericsson (193)
+type AVP_Grouped Mated_DSC
+
+
+// AVP: Additional-Service-Information (1424) Ericsson (193)
+type AVP_Grouped Additional_Service_Information
+
+
+// AVP: Additional-Service-Information-Name (1425) Ericsson (193)
+type AVP_UTF8String Additional_Service_Information_Name
+
+
+// AVP: Additional-Service-Information-Type (1426) Ericsson (193)
+type AVP_UTF8String Additional_Service_Information_Type
+
+
+// AVP: Additional-Service-Information-Value (1427) Ericsson (193)
+type AVP_UTF8String Additional_Service_Information_Value
+
+
+// AVP: Mate-Hostname (1428) Ericsson (193)
+type AVP_DiameterIdentity Mate_Hostname
+
+
+// AVP: Mate-DMI-Session-Binding-Result (1429) Ericsson (193)
+type enumerated Mate_DMI_Session_Binding_Result
+{
+  No_DMI  (0),
+  Success (1),
+  Failure (2),
+  Drop    (3),
+  Reject  (4),
+  ForwardToMate (5)
+}
+
+
+// AVP: ISUP-Cause-Location (1430) Ericsson (193)
+type AVP_Unsigned32 ISUP_Cause_Location
+
+
+// AVP: ISUP-Cause-Value (1431) Ericsson (193)
+type AVP_Unsigned32 ISUP_Cause_Value
+
+
+// AVP: ISUP-Cause (1432) Ericsson (193)
+type AVP_Grouped ISUP_Cause
+
 
 // AVP: AS-Type (1433) Ericsson (193)
 type enumerated AS_Type
@@ -2698,3 +2844,158 @@ type enumerated AS_Type
 }
 
 
+// AVP: Number-Of-Days-Since-Activation (1434) Ericsson (193)
+type AVP_Unsigned32 Number_Of_Days_Since_Activation
+
+
+// AVP: Re-Routing-Address (1435) Ericsson (193)
+type AVP_Grouped Re_Routing_Address
+
+
+// AVP: Last-Access-Network-Information (1436) Ericsson (193)
+type AVP_OctetString Last_Access_Network_Information
+
+
+// AVP: Successive-Call (1437) Ericsson (193)
+type AVP_OctetString Successive_Call
+
+
+// AVP: Other-Party-Id-Prefix (1438) Ericsson (193)
+type AVP_UTF8String Other_Party_Id_Prefix
+
+
+// AVP: Ericsson-Requested-Data (1439) Ericsson (193)
+type enumerated Ericsson_Requested_Data
+{
+  IRS_Data (0)
+}
+
+
+// AVP: Ext-Bearer-Service-Code (1440) Ericsson (193)
+type AVP_Unsigned32 Ext_Bearer_Service_Code
+
+
+// AVP: Announcement-Instructions (1441) Ericsson (193)
+type AVP_Grouped Announcement_Instructions
+
+
+// AVP: Announcement-Number (1442) Ericsson (193)
+type AVP_Unsigned32 Announcement_Number
+
+
+// AVP: Announcement-Order (1443) Ericsson (193)
+type AVP_Unsigned32 Announcement_Order
+
+
+// AVP: Announcement-Prompt-Collect-Interruptible (1444) Ericsson (193)
+type enumerated Announcement_Prompt_Collect_Interruptible
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+
+// AVP: Announcement-Prompt-Collect-MaxDigits (1445) Ericsson (193)
+type AVP_Unsigned32 Announcement_Prompt_Collect_MaxDigits
+
+
+// AVP: Announcement-Prompt-Collect-MinDigits (1446) Ericsson (193)
+type AVP_Unsigned32 Announcement_Prompt_Collect_MinDigits
+
+
+// AVP: Announcement-Prompt-Collect-Parameter (1447) Ericsson (193)
+type AVP_Grouped Announcement_Prompt_Collect_Parameter
+
+
+// AVP: Announcement-Type (1448) Ericsson (193)
+type AVP_Unsigned32 Announcement_Type
+
+
+// AVP: Announcement-Variable-Part (1449) Ericsson (193)
+type AVP_Grouped Announcement_Variable_Part
+
+
+// AVP: Announcement-Variable-Part-Data (1450) Ericsson (193)
+type AVP_UTF8String Announcement_Variable_Part_Data
+
+
+// AVP: Announcement-Variable-Part-Type (1451) Ericsson (193)
+type enumerated Announcement_Variable_Part_Type
+{
+  INTEGER (0),
+  NUMBER  (1),
+  TIME    (2),
+  DATE    (3),
+  PRICE   (4)
+}
+
+
+// AVP: Trace-Report (1452) Ericsson (193)
+type AVP_Grouped Trace_Report
+
+
+// AVP: Trace-Report-Type (1453) Ericsson (193)
+type enumerated Trace_Report_Type
+{
+  TRACE_STATE_UPDATE (0),
+  TRACE_SESSION_INFO (1),
+  TRACE_DATA_REPORT  (2)
+}
+
+
+// AVP: Trace-Profile (1454) Ericsson (193)
+type AVP_Grouped Trace_Profile
+
+
+// AVP: Trace-Name (1455) Ericsson (193)
+type AVP_UTF8String Trace_Name
+
+
+// AVP: Trace-Pattern (1456) Ericsson (193)
+type AVP_UTF8String Trace_Pattern
+
+
+// AVP: Trace-Duration (1457) Ericsson (193)
+type AVP_Unsigned32 Trace_Duration
+
+
+// AVP: Tracing-State (1458) Ericsson (193)
+type enumerated Tracing_State
+{
+  INACTIVE (0),
+  ACTIVE   (1)
+}
+
+
+// AVP: Trace-Data (1459) Ericsson (193)
+type AVP_UTF8String Trace_Data
+
+
+// AVP: Transaction-SIP-Message (1460) Ericsson (193)
+type AVP_UTF8String Transaction_SIP_Message
+
+
+// AVP: Ericsson-Access-Classification-Location (1461) Ericsson (193)
+type AVP_OctetString Ericsson_Access_Classification_Location
+
+
+// AVP: Additional-Subscription-Id-Information (1462) Ericsson (193)
+type AVP_Grouped Additional_Subscription_Id_Information
+
+
+// AVP: Subscriber-Type (1463) Ericsson (193)
+type enumerated Subscriber_Type
+{
+  BUSINESS (0)
+}
+
+
+// AVP: UC-Mobility-Call-Leg (1464) Ericsson (193)
+type enumerated UC_Mobility_Call_Leg
+{
+  ORIGINATING_ACCESS  (0),
+  TERMINATING_TRUNK   (1),
+  TERMINATING_CONNECT (2)
+}
+
+
diff --git a/src/ExtensibleAuthenticationProtocol_IETF_RFC4072.ddf b/src/ExtensibleAuthenticationProtocol_IETF_RFC4072.ddf
index 7340bc8..ee39725 100644
--- a/src/ExtensibleAuthenticationProtocol_IETF_RFC4072.ddf
+++ b/src/ExtensibleAuthenticationProtocol_IETF_RFC4072.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ExensibleAuthenticationProtocol_IETF_RFC4072.ddf
 //  Description:        DDF for EAP according to RFC 4072
-//  Rev:                RXXA0X
+//  Rev:                R55A
 //  Prodnr:             CNL113462
 ///////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/GiInterface_3GPP_TS29061_770.ddf b/src/GiInterface_3GPP_TS29061_770.ddf
index ee73d6d..aff653c 100644
--- a/src/GiInterface_3GPP_TS29061_770.ddf
+++ b/src/GiInterface_3GPP_TS29061_770.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GiInterface_3GPP_TS29061_770.ddf
 //  Description:        DDF for Gi according to 3GPP TS 29.061 V7.7.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GiSGiInterface_3GPP_TS29061_810.ddf b/src/GiSGiInterface_3GPP_TS29061_810.ddf
index de2d0a0..40d52bb 100644
--- a/src/GiSGiInterface_3GPP_TS29061_810.ddf
+++ b/src/GiSGiInterface_3GPP_TS29061_810.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GiSGiInterface_3GPP_TS29061_810.ddf
 //  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V8.1.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GiSGiInterface_3GPP_TS29061_930.ddf b/src/GiSGiInterface_3GPP_TS29061_930.ddf
index b235ed5..603651e 100644
--- a/src/GiSGiInterface_3GPP_TS29061_930.ddf
+++ b/src/GiSGiInterface_3GPP_TS29061_930.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GiSGiInterface_3GPP_TS29061_930.ddf
 //  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V9.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf b/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf
index 2c66d7d..82b8d2e 100644
--- a/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf
+++ b/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf
 //  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V9.3.0
-//  Rev:                R40A
+//  Rev:                R17A01
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GiSGiInterface_3GPP_TS29061_980.ddf b/src/GiSGiInterface_3GPP_TS29061_980.ddf
index bb1b038..e4de48f 100644
--- a/src/GiSGiInterface_3GPP_TS29061_980.ddf
+++ b/src/GiSGiInterface_3GPP_TS29061_980.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GiSGiInterface_3GPP_TS29061_980.ddf
 //  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V9.8.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GiSGiInterface_3GPP_TS29061_b90.ddf b/src/GiSGiInterface_3GPP_TS29061_b90.ddf
index e0806aa..6327686 100644
--- a/src/GiSGiInterface_3GPP_TS29061_b90.ddf
+++ b/src/GiSGiInterface_3GPP_TS29061_b90.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               GiSGiInterface_3GPP_TS29061_b90.ddf
 //  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V11.9.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GiSGiInterface_3GPP_TS29061_b90_QoS_Detailed.ddf b/src/GiSGiInterface_3GPP_TS29061_b90_QoS_Detailed.ddf
index fdaf251..5edee89 100644
--- a/src/GiSGiInterface_3GPP_TS29061_b90_QoS_Detailed.ddf
+++ b/src/GiSGiInterface_3GPP_TS29061_b90_QoS_Detailed.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               GiSGiInterface_3GPP_TS29061_b90_QoS_Detailed.ddf
 //  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V11.9.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GiSGiInterface_3GPP_TS29061_d70.ddf b/src/GiSGiInterface_3GPP_TS29061_d70.ddf
new file mode 100644
index 0000000..a33e83d
--- /dev/null
+++ b/src/GiSGiInterface_3GPP_TS29061_d70.ddf
@@ -0,0 +1,220 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Máté Kovács
+******************************************************************************/
+//
+//  File:               GiSGiInterface_3GPP_TS29061_d70.ddf
+//  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V13.7.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GI
+// APPLICATION-REVISION: V13_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V13.7.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+//
+//
+// Dependant applications
+// -
+
+
+// 3GPP TS 29.061 V13.7.0 16a.4
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Session_Termination    (275),
+  Abort_Session          (274),
+  Accounting             (271)
+}
+
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-Charging-Id (2) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Charging_Id;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-PDP-Type (3) 3GPP (10415)
+// 16.4.7
+type enumerated 3GPP_PDP_Type
+{
+  IPv4   (0),
+  PPP    (1),
+  IPv6   (2),
+  IPv4v6 (3),
+  NonIp  (4)
+}
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-CG-Address (4) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_Address;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-GPRS-Negotiated-QoS-Profile (5) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_GPRS_Negotiated_QoS_Profile;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-GGSN-Address (7) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_Address;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI_MCC_MNC;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_GGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-NSAPI (10) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_NSAPI;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415)
+type AVP_UTF8String 3GPP_Session_Stop_Indicator;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-Selection-Mode (12) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Selection_Mode;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Charging_Characteristics;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_IPv6_Address;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IPv6_DNS_Servers;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CAMEL_Charging_Info;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-Packet-Filter (25) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Packet_Filter;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Negotiated_DSCP;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-Allocate-IP-Type (27) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Allocate_IP_Type;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: External-Identifier (28) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String External_Identifier;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: TWAN-Identifier (29) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString TWAN_Identifier;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-User-Location-Info-Time (30) 3GPP (10415)
+// 16.4.7
+type AVP_Unsigned32 3GPP_User_Location_Info_Time;
+
+
+
diff --git a/src/GmbInterface_3GPP_TS29061_6f0.ddf b/src/GmbInterface_3GPP_TS29061_6f0.ddf
index 1278a1d..a27b8d6 100644
--- a/src/GmbInterface_3GPP_TS29061_6f0.ddf
+++ b/src/GmbInterface_3GPP_TS29061_6f0.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GmbInterface_3GPP_TS29061_6f0.ddf
 //  Description:        DDF for Gmb according to 3GPP TS 29.061 V6.15.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GmbInterface_3GPP_TS29061_720.ddf b/src/GmbInterface_3GPP_TS29061_720.ddf
index 86e2f34..19767d6 100644
--- a/src/GmbInterface_3GPP_TS29061_720.ddf
+++ b/src/GmbInterface_3GPP_TS29061_720.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GmbInterface_3GPP_TS29061_720.ddf
 //  Description:        DDF for Gmb according to 3GPP TS 29.061 V7.2.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GmbInterface_3GPP_TS29061_810.ddf b/src/GmbInterface_3GPP_TS29061_810.ddf
index e4f54b4..facf2e1 100644
--- a/src/GmbInterface_3GPP_TS29061_810.ddf
+++ b/src/GmbInterface_3GPP_TS29061_810.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GmbInterface_3GPP_TS29061_810.ddf
 //  Description:        DDF for Gmb according to 3GPP TS 29.061 V8.1.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GmbInterface_3GPP_TS29061_930.ddf b/src/GmbInterface_3GPP_TS29061_930.ddf
index 52d239f..386b4d3 100644
--- a/src/GmbInterface_3GPP_TS29061_930.ddf
+++ b/src/GmbInterface_3GPP_TS29061_930.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GmbInterface_3GPP_TS29061_930.ddf
 //  Description:        DDF for Gmb according to 3GPP TS 29.061 V9.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GmbInterface_3GPP_TS29061_970.ddf b/src/GmbInterface_3GPP_TS29061_970.ddf
index 709913f..5b3d411 100644
--- a/src/GmbInterface_3GPP_TS29061_970.ddf
+++ b/src/GmbInterface_3GPP_TS29061_970.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GmbInterface_3GPP_TS29061_970.ddf
 //  Description:        DDF for Gmb according to 3GPP TS 29.061 V9.7.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GmbInterface_3GPP_TS29061_980.ddf b/src/GmbInterface_3GPP_TS29061_980.ddf
index f3319a5..2efef1d 100644
--- a/src/GmbInterface_3GPP_TS29061_980.ddf
+++ b/src/GmbInterface_3GPP_TS29061_980.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GmbInterface_3GPP_TS29061_980.ddf
 //  Description:        DDF for Gmb according to 3GPP TS 29.061 V9.8.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GmbInterface_3GPP_TS29061_d70.ddf b/src/GmbInterface_3GPP_TS29061_d70.ddf
new file mode 100644
index 0000000..fbfbf82
--- /dev/null
+++ b/src/GmbInterface_3GPP_TS29061_d70.ddf
@@ -0,0 +1,224 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Máté Kovács
+******************************************************************************/
+//
+//  File:               GmbInterface_3GPP_TS29061_d70.ddf
+//  Description:        DDF for Gmb according to 3GPP TS 29.061 V13.7.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GMB
+// APPLICATION-REVISION: V13_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V13.7.0 - Interworking between the Public Land Mobile Network 
+// (PLMN) supporting packet based services and Packet Data Networks (PDN)
+//
+//
+// Dependant applications
+// IETF RFC 3588  - Diameter Base Protocol
+// IETF RFC 4005  - Diameter Network Address Server
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777223
+//
+
+// 3GPP TS 29.061 V13.7.0 17.6
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: TMGI (900) 3GPP (10415)
+// 17.7.2
+type AVP_OctetString TMGI;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: Required-MBMS-Bearer-Capabilities (901) 3GPP (10415)
+// 17.7.3
+type AVP_UTF8String Required_MBMS_Bearer_Capabilities;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-StartStop-Indication (902) 3GPP (10415)
+// 17.7.5
+type enumerated MBMS_StartStop_Indication
+{
+  START              (0),
+  STOP               (1),
+  UPDATE             (2),
+  HEARTBEAT          (3)
+}
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Service-Area (903) 3GPP (10415)
+// 17.7.6
+type AVP_OctetString MBMS_Service_Area;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Session-Duration (904) 3GPP (10415)
+// 17.7.7
+type AVP_OctetString MBMS_Session_Duration;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: Alternative-APN (905) 3GPP (10415)
+// 17.7.8
+type AVP_UTF8String Alternative_APN;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Service-Type (906) 3GPP (10415)
+// 17.7.9
+type enumerated MBMS_Service_Type
+{
+  MULTICAST              (0),
+  BROADCAST              (1)
+}
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-2G-3G-Indicator (907) 3GPP (10415)
+// 17.7.10
+type enumerated MBMS_2G_3G_Indicator
+{
+  TwoG                    (0),
+  ThreeG                  (1),
+  TwoG_AND_ThreeG         (2)
+}
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Session-Identity (908) 3GPP (10415)
+// 17.7.11
+type AVP_OctetString MBMS_Session_Identity;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: RAI (909) 3GPP (10415)
+// 17.7.12
+type AVP_UTF8String RAI;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: Additional-MBMS-Trace-Info (910) 3GPP (10415)
+// 17.7.13
+type AVP_OctetString Additional_MBMS_Trace_Info;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Time-To-Data-Transfer (911) 3GPP (10415)
+// 17.7.14
+type AVP_OctetString MBMS_Time_To_Data_Transfer;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Session-Repetition-Number (912) 3GPP (10415)
+// 17.7.15
+type AVP_OctetString MBMS_Session_Repetition_Number;
+
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Required-QoS (913) 3GPP (10415)
+// 17.7.16
+type AVP_UTF8String MBMS_Required_QoS;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Counting-Information (914) 3GPP (10415)
+// 17.7.17
+type enumerated MBMS_Counting_Information
+{
+  COUNTING_NOT_APPLICABLE              (0),
+  COUNTING_APPLICABLE                  (1)
+}
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-User-Data-Mode-Indication (915) 3GPP (10415)
+// 17.7.18
+type enumerated MBMS_User_Data_Mode_Indication
+{
+  Unicast                (0),
+  Multicast_and_Unicast  (1)
+}
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-GGSN-Address (916) 3GPP (10415)
+// 17.7.19
+type AVP_OctetString MBMS_GGSN_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-GGSN-IPv6-Address (917) 3GPP (10415)
+// 17.7.20
+type AVP_OctetString MBMS_GGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-BMSC-SSM-IP-Address (918) 3GPP (10415)
+// 17.7.21
+type AVP_OctetString MBMS_BMSC_SSM_IP_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-BMSC-SSM-IPv6-Address (919) 3GPP (10415)
+// 17.7.22
+type AVP_OctetString MBMS_BMSC_SSM_IPv6_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Flow-Identifier (920) 3GPP (10415)
+// 17.7.23
+type AVP_OctetString MBMS_Flow_Identifier;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: CN-IP-Multicast-Distribution (921) 3GPP (10415)
+// 17.7.24
+type enumerated CN_IP_Multicast_Distribution
+{
+  NO_IP_MULTICAST (0),
+  IP_MULTICAST    (1)
+}
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-HC-Indicator (922) 3GPP (10415)
+// 17.7.25
+type AVP_Unsigned32 MBMS_HC_Indicator;
diff --git a/src/GqInterface_PC_3GPP_TS29209_670.ddf b/src/GqInterface_PC_3GPP_TS29209_670.ddf
index 51cfb97..6d48fed 100644
--- a/src/GqInterface_PC_3GPP_TS29209_670.ddf
+++ b/src/GqInterface_PC_3GPP_TS29209_670.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GqInterface_PC_3GPP_TS29209_670.ddf
 //  Description:        DDF for Gq according to 3GPP TS 29.209 V6.7.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GqInterface_S3_ETSI_TS183017_231.ddf b/src/GqInterface_S3_ETSI_TS183017_231.ddf
index 861351d..a60aa61 100644
--- a/src/GqInterface_S3_ETSI_TS183017_231.ddf
+++ b/src/GqInterface_S3_ETSI_TS183017_231.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GqInterface_S3_ETSI_TS183017_231.ddf
 //  Description:        DDF for Gq according to ETSI TS 183.017 V2.3.1
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_CRP_3GPP_TS29210_670.ddf b/src/GxInterface_CRP_3GPP_TS29210_670.ddf
index 1d36e68..6b5f776 100644
--- a/src/GxInterface_CRP_3GPP_TS29210_670.ddf
+++ b/src/GxInterface_CRP_3GPP_TS29210_670.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_CRP_3GPP_TS29210_670.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.210 V6.7.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_740.ddf b/src/GxInterface_PCC_3GPP_TS29212_740.ddf
index ee4685e..45b7508 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_740.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_740.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_740.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V7.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_820.ddf b/src/GxInterface_PCC_3GPP_TS29212_820.ddf
index ce1ee45..40de8d4 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_820.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_820.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_820.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V8.2.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_830.ddf b/src/GxInterface_PCC_3GPP_TS29212_830.ddf
index 34e3851..94d1fba 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_830.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_830.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_830.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V8.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_840.ddf b/src/GxInterface_PCC_3GPP_TS29212_840.ddf
index bf29900..de848a1 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_840.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_840.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_840.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V8.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_8a0.ddf b/src/GxInterface_PCC_3GPP_TS29212_8a0.ddf
index 3186603..afbcd6f 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_8a0.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_8a0.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_8a0.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V8.10.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_8b1.ddf b/src/GxInterface_PCC_3GPP_TS29212_8b1.ddf
index 657c4f2..b8bc3c7 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_8b1.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_8b1.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_8b1.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V8.11.1
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_910.ddf b/src/GxInterface_PCC_3GPP_TS29212_910.ddf
index 4ad631b..bca43e3 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_910.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_910.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_910.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V9.1.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_930.ddf b/src/GxInterface_PCC_3GPP_TS29212_930.ddf
index 242e88d..98e8f71 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_930.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_930.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_930.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V9.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_970.ddf b/src/GxInterface_PCC_3GPP_TS29212_970.ddf
index b5f9bda..fd832ea 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_970.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_970.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_930.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V9.5.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_9b0.ddf b/src/GxInterface_PCC_3GPP_TS29212_9b0.ddf
index 3612fcd..4088edf 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_9b0.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_9b0.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_9b0.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V9.11.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_aa0.ddf b/src/GxInterface_PCC_3GPP_TS29212_aa0.ddf
index ca60fe0..0864f80 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_aa0.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_aa0.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_aa0.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V10.10.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_c52.ddf b/src/GxInterface_PCC_3GPP_TS29212_c52.ddf
index ddd7662..51d431c 100644
--- a/src/GxInterface_PCC_3GPP_TS29212_c52.ddf
+++ b/src/GxInterface_PCC_3GPP_TS29212_c52.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxInterface_PCC_3GPP_TS29212_c52.ddf
 //  Description:        DDF for Gx according to 3GPP TS 29.212 V12.5.2
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/GxInterface_PCC_3GPP_TS29212_d70.ddf b/src/GxInterface_PCC_3GPP_TS29212_d70.ddf
new file mode 100644
index 0000000..3a8cd54
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_d70.ddf
@@ -0,0 +1,1099 @@
+/******************************************************************************
+* Copyright (c) 2004, 2014  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Roland Gecse - initial implementation and initial documentation
+*   Akos Pernek
+*   Antal Wuh.Hen.Chang
+*   Attila Fulop
+*   Balazs Barcsik
+*   Bence Molnar
+*   Csaba Koppany
+*   David Juhasz
+*   Eduard Czimbalmos
+*   Elemer Lelik
+*   Endre Kiss
+*   Endre Kulcsar
+*   Gabor Szalai
+*   Gabor Tatarka
+*   Gergely Futo
+*   Istvan Sandor
+*   Kalman Mikecz
+*   Krisztian Pandi
+*   Kulcsár Endre
+*   Laszlo Tamas Zeke
+*   Norbert Pinter
+*   Roland Gecse
+*   Tibor Bende
+*   Tibor Szabo
+*   Timea Moder
+*   Zoltan Medve
+*   Zsolt Nandor Torok
+*   Zsolt Szalai
+*   Akos Makovics
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_d70.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V13.7.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: VC_5_2
+
+// AVP implementations according to:
+// 3GPP TS 29.212 V13.7.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP TS 29.061  - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+// 3GPP TS 29.214  - Policy and Charging Control over Rx reference points
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// 3GPP TS 29.272  - EPS; MME and SGSN related interfaces based on Diameter protocol
+// 3GPP2 X.S0057-O - (3GPP2-BSID AVP reused for Gx and Gxx interface)
+// 3GPP TS 32.299  - Telecommunication manegement; Charging management; Diameter charging applications
+//
+// Notes:
+// Present application is based on 3GPP TS 29.210 V6.7.0 but has its own vendor
+// specific Diameter application with application id: 16777238
+//
+
+// 3GPP TS 29.212 V13.7.0 5.6
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Event-Trigger (1006) 3GPP (10415)
+// 5.3.7
+type enumerated Event_Trigger
+{
+  SGSN_CHANGE                         (0),
+  QOS_CHANGE                          (1),
+  RAT_CHANGE                          (2),
+  TFT_CHANGE                          (3),
+  PLMN_CHANGE                         (4),
+  LOSS_OF_BEARER                      (5),
+  RECOVERY_OF_BEARER                  (6),
+  IP_CAN_CHANGE                       (7),
+  QOS_CHANGE_EXCEEDING_AUTHORIZATION (11),
+  RAI_CHANGE                         (12),
+  USER_LOCATION_CHANGE               (13),
+  NO_EVENT_TRIGGERS                  (14),
+  OUT_OF_CREDIT                      (15),
+  REALLOCATION_OF_CREDIT             (16),
+  REVALIDATION_TIMEOUT               (17),
+  UE_IP_ADDRESS_ALLOCATE             (18),
+  UE_IP_ADDRESS_RELEASE              (19),
+  DEFAULT_EPS_BEARER_QOS_CHANGE      (20),
+  AN_GW_CHANGE                       (21),
+  SUCCESSFUL_RESOURCE_ALLOCATION     (22),
+  RESOURCE_MODIFICATION_REQUEST      (23),
+  PGW_TRACE_CONTROL                  (24),
+  UE_TIME_ZONE_CHANGE                (25),
+  TAI_CHANGE                         (26),
+  ECGI_CHANGE                        (27),
+  CHARGING_CORRELATION_EXCHANGE      (28),
+  APN_AMBR_MODIFICATION_FAILURE      (29),
+  USER_CSG_INFORMATION_CHANGE        (30),
+  USAGE_REPORT                       (33),
+  DEFAULT_EPS_BEARER_QOS_MODIFICATION_FAILURE (34),
+  USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE (35),
+  USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE (36),
+  ROUTING_RULE_CHANGE                (37),
+  APPLICATION_START                  (39),
+  APPLICATION_STOP                   (40),
+  CS_TO_PS_HANDOVER                  (42),
+  UE_LOCAL_IP_ADDRESS_CHANGE         (43),
+  HENB_LOCAL_IP_ADDRESS_CHANGE       (44),
+  ACCESS_NETWORK_INFO_REPORT         (45),
+  CREDIT_MANAGEMENT_SESSION_FAILURE  (46),
+  DEFAULT_QOS_CHANGE                 (47),
+  CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT (48),
+  ADDITION_OF_ACCESS (49),
+  REMOVAL_OF_ACCESS (50),
+  UNAVAILABLITY_OF_ACCESS (51),
+  AVAILABLITY_OF_ACCESS (52),
+  RESOURCE_RELEASE (53)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2),
+  EVENT               (3)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1),
+  SPONSORED_CONNECTIVITY_LEVEL (2)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: PCC-Rule-Status (1019) 3GPP (10415)
+// 5.3.19
+type enumerated PCC_Rule_Status
+{
+  ACTIVE               (0),
+  INACTIVE             (1),
+  TEMPORARILY_INACTIVE (2)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Access-Network-Charging-Identifier-Gx (1022) 3GPP (10415)
+// 5.3.22
+type AVP_Grouped Access_Network_Charging_Identifier_Gx;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2),
+  SX_GX    (3),
+  SX_ONLY  (4)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Network-Request-Support (1024) 3GPP (10415)
+// 5.3.24
+type enumerated Network_Request_Support
+{
+  NETWORK_REQUEST_NOT_SUPPORTED (0),
+  NETWORK_REQUEST_SUPPORTED (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: IP-CAN-Type (1027) 3GPP (10415)
+// 5.3.27
+type enumerated IP_CAN_Type
+{
+  threeGPP_GPRS (0),
+  DOCSIS        (1),
+  xDSL          (2),
+  WiMAX         (3),
+  threeGPP2     (4),
+  threeGPP_EPS  (5),
+  Non_threeGPP_EPS  (6),
+  FBA           (7)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Negotiation (1029) 3GPP (10415)
+// 5.3.28
+type enumerated QoS_Negotiation
+{
+  NO_QoS_NEGOTIATION        (0),
+  QoS_NEGOTIATION_SUPPORTED (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Upgrade (1030) 3GPP (10415)
+// 5.3.29
+type enumerated QoS_Upgrade
+{
+  QoS_UPGRADE_NOT_SUPPORTED (0),
+  QoS_UPGRADE_SUPPORTED     (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type
+{
+  WLAN              (0),
+  VIRTUAL           (1),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  EUTRAN_NB_IoT  (1005),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Rule-Failure-Code (1031) 3GPP (10415)
+// 5.3.38
+type enumerated Rule_Failure_Code
+{
+  UNKNOWN_RULE_NAME                     (1),
+  RATING_GROUP_ERROR                    (2),
+  SERVICE_IDENTIFIER_ERROR              (3),
+  GW_PCEF_MALFUNCTION                   (4),
+  RESOURCES_LIMITATION                  (5),
+  MAX_NR_BEARERS_REACHED                (6),
+  UNKNOWN_BEARER_ID                     (7),
+  MISSING_BEARER_ID                     (8),
+  MISSING_FLOW_DESCRIPTION              (9),
+  RESOURCE_ALLOCATION_FAILURE           (10),
+  UNSUCCESSFUL_QOS_VALIDATION           (11),
+  INCORRECT_FLOW_INFORMATION            (12),
+  PS_TO_CS_HANDOVER                     (13),
+  TDF_APPLICATION_IDENTIFIER_ERROR      (14),
+  NO_BEARER_BOUND                       (15),
+  FILTER_RESTRICTIONS                   (16),
+  AN_GW_FAILED                          (17),
+  MISSING_REDIRECT_SERVER_ADDRESS       (18),
+  CM_END_USER_SERVICE_DENIED            (19),
+  CM_CREDIT_CONTROL_NOT_APPLICABLE      (20),
+  CM_AUTHORIZATION_REJECTED             (21),
+  CM_USER_UNKNOWN                       (22),
+  CM_RATING_FAILED                      (23),
+  ROUTING_RULE_REJECTION                (24),
+  UNKNOWN_ROUTING_ACCESS_INFORMATION    (25),
+  UNKNOWN                               (99)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: APN-Aggregate-Max-Bitrate-DL (1040) 3GPP (10415)
+// 5.3.39
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: APN-Aggregate-Max-Bitrate-UL (1041) 3GPP (10415)
+// 5.3.40
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Session-Release-Cause (1045) 3GPP (10415)
+// 5.3.44
+type enumerated Session_Release_Cause
+{
+  UNSPECIFIED_REASON            (0),
+  UE_SUBSCRIPTION_REASON        (1),
+  INSUFFICIENT_SERVER_RESOURCES (2),
+  IP_CAN_SESSION_TERMINATION    (3),
+  UE_IP_ADDRESS_RELEASE         (4)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Pre-emption-Capability (1047) 3GPP (10415)
+// 5.3.46
+type enumerated Pre_emption_Capability
+{
+  PRE_EMPTION_CAPABILITY_ENABLED  (0),
+  PRE_EMPTION_CAPABILITY_DISABLED (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Pre-emption-Vulnerability (1048) 3GPP (10415)
+// 5.3.47
+type enumerated Pre_emption_Vulnerability
+{
+  PRE_EMPTION_VULNERABILITY_ENABLED  (0),
+  PRE_EMPTION_VULNERABILITY_DISABLED (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Packet-Filter-Operation (1062) 3GPP (10415)
+// 5.3.57
+type enumerated Packet_Filter_Operation
+{
+  DELETION  (0),
+  ADDITION  (1),
+  MODIFICATION (2)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1),
+  ADC_RULE_LEVEL  (2)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Usage-Monitoring-Report (1069) 3GPP (10415)
+// 5.3.62
+type enumerated Usage_Monitoring_Report
+{
+  USAGE_MONITORING_REPORT_REQUIRED  (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: CSG-Information-Reporting (1071) 3GPP (10415)
+// 5.3.64
+type enumerated CSG_Information_Reporting
+{
+  CHANGE_CSG_CELL                     (0),
+  CHANGE_CSG_SUBSCRIBED_HYBRID_CELL   (1),
+  CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL (2)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Flow-Direction (1080) 3GPP (10415)
+// 5.3.65
+type enumerated Flow_Direction
+{
+  UNSPECIFIED                         (0),
+  DOWNLINK                            (1),
+  UPLINK                              (2),
+  BIDIRECTIONAL                       (3)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Packet-Filter-Usage (1072) 3GPP (10415)
+// 5.3.66
+type enumerated Packet_Filter_Usage
+{
+  SEND_TO_UE (1)
+}
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-Rule-Install (1081) 3GPP (10415)
+// 5.3.68
+type AVP_Grouped Routing_Rule_Install;
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-Rule-Remove (1075) 3GPP (10415)
+// 5.3.69
+type AVP_Grouped Routing_Rule_Remove;
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-Rule-Definition (1076) 3GPP (10415)
+// 5.3.70
+type AVP_Grouped Routing_Rule_Definition;
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-Rule-Identifier (1077) 3GPP (10415)
+// 5.3.71
+type AVP_OctetString Routing_Rule_Identifier;
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-Filter (1078) 3GPP (10415)
+// 5.3.72
+type AVP_Grouped Routing_Filter;
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-IP-Address (1079) 3GPP (10415)
+// 5.3.72
+type AVP_Address Routing_IP_Address;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TDF-Application-Identifier (1088) 3GPP (10415)
+// 5.3.77
+type AVP_OctetString TDF_Application_Identifier;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TDF-Information (1087) 3GPP (10415)
+// 5.3.78
+type AVP_Grouped TDF_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TDF-Destination-Realm (1090) 3GPP (10415)
+// 5.3.79
+type AVP_DiameterIdentity TDF_Destination_Realm;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TDF-Destination-Host (1089) 3GPP (10415)
+// 5.3.80
+type AVP_DiameterIdentity TDF_Destination_Host;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TDF-IP-Address (1091) 3GPP (10415)
+// 5.3.81
+type AVP_Address TDF_IP_Address;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Redirect-Information (1085) 3GPP (10415)
+// 5.3.82
+type AVP_Grouped Redirect_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Redirect-Support (1086) 3GPP (10415)
+// 5.3.83
+type enumerated Redirect_Support
+{
+  REDIRECTION_DISABLED (0),
+  REDIRECTION_ENABLED (1)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: PS-to-CS-Session-Continuity (1099) 3GPP (10415)
+// 5.3.84
+type enumerated PS_to_CS_Session_Continuity
+{
+  VIDEO_PS2CS_CONT_CANDIDATE (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Application-Detection-Information (1098) 3GPP (10415)
+// 5.3.91
+type AVP_Grouped Application_Detection_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TDF-Application-Instance-Identifier (2802) 3GPP (10415)
+// 5.3.92
+type AVP_OctetString TDF_Application_Instance_Identifier;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: HeNB-Local-IP-Address (2804) 3GPP (10415)
+// 5.3.95
+type AVP_Address HeNB_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: UE-Local-IP-Address (2805) 3GPP (10415)
+// 5.3.96
+type AVP_Address UE_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: UDP-Source-Port (2806) 3GPP (10415)
+// 5.3.97
+type AVP_Unsigned32 UDP_Source_Port;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Mute-Notification (2809) 3GPP (10415)
+// 5.3.98
+type enumerated Mute_Notification
+{
+  MUTE_REQUIRED (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Monitoring-Time (2810) 3GPP (10415)
+// 5.3.99
+type AVP_Time Monitoring_Time;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: AN-GW-Status (2811) 3GPP (10415)
+// 5.3.100
+type enumerated AN_GW_Status
+{
+  AN_GW_FAILED (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: User-Location-Info-Time (2812) 3GPP (10415)
+// 5.3.101
+type AVP_Time User_Location_Info_Time;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Credit-Management-Status (1082) 3GPP (10415)
+// 5.3.102
+type AVP_Unsigned32 Credit_Management_Status;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Default-QoS-Information (2816) 3GPP (10415)
+// 5.3.103
+type AVP_Grouped Default_QoS_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Default-QoS-Name (2817) 3GPP (10415)
+// 5.3.104
+type AVP_UTF8String Default_QoS_Name;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Conditional-APN-Aggregate-Max-Bitrate (2818) 3GPP (10415)
+// 5.3.105
+type AVP_Grouped Conditional_APN_Aggregate_Max_Bitrate;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: RAN-NAS-Release-Cause (2819) 3GPP (10415)
+// 5.3.106
+type AVP_OctetString RAN_NAS_Release_Cause;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Presence-Reporting-Area-Elements-List (2820) 3GPP (10415)
+// 5.3.107
+type AVP_OctetString Presence_Reporting_Area_Elements_List;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Presence-Reporting-Area-Identifier (2821) 3GPP (10415)
+// 5.3.108
+type AVP_OctetString Presence_Reporting_Area_Identifier;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Presence-Reporting-Area-Information (2822) 3GPP (10415)
+// 5.3.109
+type AVP_Grouped Presence_Reporting_Area_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Presence-Reporting-Area-Status (2823) 3GPP (10415)
+// 5.3.110
+type AVP_Unsigned32 Presence_Reporting_Area_Status;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: NetLoc-Access-Support (2824) 3GPP (10415)
+// 5.3.111
+type AVP_Unsigned32 NetLoc_Access_Support;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Fixed-User-Location-Info (2825) 3GPP (10415)
+// 5.3.112
+type AVP_Grouped Fixed_User_Location_Info;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: PCSCF-Restoration-Indication (2826) 3GPP (10415)
+// 5.3.113
+type AVP_Unsigned32 PCSCF_Restoration_Indication;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: IP-CAN-Session-Charging-Scope (2827) 3GPP (10415)
+// 5.3.114
+type enumerated IP_CAN_Session_Charging_Scope
+{
+  IP_CAN_SESSION_SCOPE (0)
+}
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Monitoring-Flags (2828) 3GPP (10415)
+// 5.3.115
+type AVP_Unsigned32 Monitoring_Flags;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: NBIFOM-Support (2831) 3GPP (10415)
+// 5.3.116
+type enumerated NBIFOM_Support
+{
+  NBIFOM_NOT_SUPPORTED (0),
+  NBIFOM_SUPPORTED (1)
+}
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: NBIFOM-Mode (2830) 3GPP (10415)
+// 5.3.117
+type enumerated NBIFOM_Mode
+{
+  UE_INITIATED (0),
+  NETWORK_INITIATED (1)
+}
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-Rule-Report (2835) 3GPP (10415)
+// 5.3.118
+type AVP_Grouped Routing_Rule_Report;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Routing-Rule-Failure-Code (2834) 3GPP (10415)
+// 5.3.119
+type AVP_Unsigned32 Routing_Rule_Failure_Code;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Default-Access (2829) 3GPP (10415)
+// 5.3.120
+type enumerated Default_Access
+{
+  threeGPP_GPRS (0),
+  DOCSIS        (1),
+  xDSL          (2),
+  WiMAX         (3),
+  threeGPP2     (4),
+  threeGPP_EPS  (5),
+  Non_threeGPP_EPS  (6),
+  FBA           (7)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Access-Availability-Change-Reason (2833) 3GPP (10415)
+// 5.3.121
+type AVP_Unsigned32 Access_Availability_Change_Reason;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: RAN-Rule-Support (2832) 3GPP (10415)
+// 5.3.122
+type AVP_Unsigned32 RAN_Rule_Support;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Traffic-Steering-Policy-Identifier-DL (2836) 3GPP (10415)
+// 5.3.123
+type AVP_OctetString Traffic_Steering_Policy_Identifier_DL;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Traffic-Steering-Policy-Identifier-UL (2837) 3GPP (10415)
+// 5.3.124
+type AVP_OctetString Traffic_Steering_Policy_Identifier_UL;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Resource-Release-Notification (2841) 3GPP (10415)
+// 5.3.125
+type enumerated Resource_Release_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Removal-Of-Access (2842) 3GPP (10415)
+// 5.3.126
+type enumerated Removal_Of_Access
+{
+  REMOVAL_OF_ACCESS (0)
+}
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Execution-Time (2839) 3GPP (10415)
+// 5.3.127
+type AVP_Time Execution_Time;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Conditional-Policy-Information (2840) 3GPP (10415)
+// 5.3.128
+type AVP_Grouped Conditional_Policy_Information;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: TCP-Source-Port (2843) 3GPP (10415)
+// 5.3.129
+type AVP_Unsigned32 TCP_Source_Port;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: Session-Linking-Indicator (1064) 3GPP (10415)
+// 5a.3.6
+type enumerated Session_Linking_Indicator
+{
+  SESSION_LINKING_IMMEDIATE (0),
+  SESSION_LINKING_DEFERRED  (1),
+  SESSION_LINKING_INVALID   (100)  //Requested for negative testing in CR_TR00019832.
+}
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name;
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: ADC-Rule-Install (1092) 3GPP (10415)
+// 5b.3.1
+type AVP_Grouped ADC_Rule_Install;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: ADC-Rule-Remove (1093) 3GPP (10415)
+// 5b.3.2
+type AVP_Grouped ADC_Rule_Remove;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: ADC-Rule-Definition (1094) 3GPP (10415)
+// 5b.3.3
+type AVP_Grouped ADC_Rule_Definition;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: ADC-Rule-Base-Name (1095) 3GPP (10415)
+// 5b.3.4
+type AVP_UTF8String ADC_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: ADC-Rule-Name (1096) 3GPP (10415)
+// 5b.3.5
+type AVP_OctetString ADC_Rule_Name;
+
+
+// 3GPP TS 29.212 V13.7.0
+// AVP: ADC-Rule-Report (1097) 3GPP (10415)
+// 5b.3.6
+type AVP_Grouped ADC_Rule_Report;
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_e00.ddf b/src/GxInterface_PCC_3GPP_TS29212_e00.ddf
new file mode 100644
index 0000000..b3def9d
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_e00.ddf
@@ -0,0 +1,1073 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder - initial implementation
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_e00.ddf
+//  Description:        DDF for Gx Gxx and Sd according to 3GPP TS 29.212 V14.0.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: Ve_0_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V14.0.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications 
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP TS 29.061  - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+// 3GPP TS 29.214  - Policy and Charging Control over Rx reference points
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// 3GPP TS 29.272  - EPS; MME and SGSN related interfaces based on Diameter protocol
+// 3GPP2 X.S0057-O - (3GPP2-BSID AVP reused for Gx and Gxx interface)
+// 3GPP TS 32.299  - Telecommunication manegement; Charging management; Diameter charging applications
+//
+// Notes: 
+// Present application is based on 3GPP TS 29.210 V6.7.0 but has its own vendor 
+// specific Diameter application with application id for the Gx Application : 16777238
+// Application-ID for the Gxx Application is 16777266
+// Application-ID for the Sd Application is 16777303
+
+// 3GPP TS 29.212 V14.0.0
+// 5.6, 5b.6, 5c.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258),
+  TDF_Session    (8388637)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Event-Trigger (1006) 3GPP (10415)
+// 5.3.7
+type enumerated Event_Trigger
+{
+  SGSN_CHANGE                         (0),
+  QOS_CHANGE                          (1),
+  RAT_CHANGE                          (2),
+  TFT_CHANGE                          (3),
+  PLMN_CHANGE                         (4),
+  LOSS_OF_BEARER                      (5),
+  RECOVERY_OF_BEARER                  (6),
+  IP_CAN_CHANGE                       (7),
+  QOS_CHANGE_EXCEEDING_AUTHORIZATION (11),
+  RAI_CHANGE                         (12),
+  USER_LOCATION_CHANGE               (13),
+  NO_EVENT_TRIGGERS                  (14),
+  OUT_OF_CREDIT                      (15),
+  REALLOCATION_OF_CREDIT             (16),
+  REVALIDATION_TIMEOUT               (17),
+  UE_IP_ADDRESS_ALLOCATE             (18),
+  UE_IP_ADDRESS_RELEASE              (19),
+  DEFAULT_EPS_BEARER_QOS_CHANGE      (20),
+  AN_GW_CHANGE                       (21),
+  SUCCESSFUL_RESOURCE_ALLOCATION     (22),
+  RESOURCE_MODIFICATION_REQUEST      (23),
+  PGW_TRACE_CONTROL                  (24),
+  UE_TIME_ZONE_CHANGE                (25),
+  TAI_CHANGE                         (26),
+  ECGI_CHANGE                        (27),
+  CHARGING_CORRELATION_EXCHANGE      (28),
+  APN_AMBR_MODIFICATION_FAILURE      (29),  
+  USER_CSG_INFORMATION_CHANGE        (30),
+  USAGE_REPORT                       (33),
+  DEFAULT_EPS_BEARER_QOS_MODIFICATION_FAILURE (34),
+  USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE (35),
+  USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE (36),
+  ROUTING_RULE_CHANGE                (37),
+  APPLICATION_START                  (39),
+  APPLICATION_STOP                   (40),
+  CS_TO_PS_HANDOVER                  (42),
+  UE_LOCAL_IP_ADDRESS_CHANGE         (43),
+  HENB_LOCAL_IP_ADDRESS_CHANGE       (44),
+  ACCESS_NETWORK_INFO_REPORT         (45),
+  CREDIT_MANAGEMENT_SESSION_FAILURE  (46),
+  DEFAULT_QOS_CHANGE                 (47),
+  CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT (48),
+  ADDITION_OF_ACCESS (49),
+  REMOVAL_OF_ACCESS (50),
+  UNAVAILABLITY_OF_ACCESS (51),
+  AVAILABLITY_OF_ACCESS (52),
+  RESOURCE_RELEASE (53),
+  ENODEB_CHANGE (54)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2),
+  EVENT               (3)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1),
+  SPONSORED_CONNECTIVITY_LEVEL (2)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: PCC-Rule-Status (1019) 3GPP (10415)
+// 5.3.19
+type enumerated PCC_Rule_Status
+{
+  ACTIVE               (0),
+  INACTIVE             (1),
+  TEMPORARILY_INACTIVE (2)  
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V14.0.0 
+// AVP: Access-Network-Charging-Identifier-Gx (1022) 3GPP (10415)
+// 5.3.22
+type AVP_Grouped Access_Network_Charging_Identifier_Gx;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2),
+  SX_GX    (3),
+  SX_ONLY  (4)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Network-Request-Support (1024) 3GPP (10415)
+// 5.3.24
+type enumerated Network_Request_Support
+{
+  NETWORK_REQUEST_NOT_SUPPORTED (0),
+  NETWORK_REQUEST_SUPPORTED (1) 
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: IP-CAN-Type (1027) 3GPP (10415)
+// 5.3.27
+type enumerated IP_CAN_Type
+{
+  threeGPP_GPRS (0),
+  DOCSIS        (1),
+  xDSL          (2),
+  WiMAX         (3),
+  threeGPP2     (4),
+  threeGPP_EPS  (5),
+  Non_threeGPP_EPS  (6),
+  FBA           (7)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Negotiation (1029) 3GPP (10415)
+// 5.3.28
+type enumerated QoS_Negotiation
+{
+  NO_QoS_NEGOTIATION        (0),
+  QoS_NEGOTIATION_SUPPORTED (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Upgrade (1030) 3GPP (10415)
+// 5.3.29
+type enumerated QoS_Upgrade
+{
+  QoS_UPGRADE_NOT_SUPPORTED (0),
+  QoS_UPGRADE_SUPPORTED     (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  VIRTUAL           (1),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  EUTRAN_NB_IoT  (1005),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V14.0.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Rule-Failure-Code (1031) 3GPP (10415)
+// 5.3.38
+type enumerated Rule_Failure_Code
+{
+  UNKNOWN_RULE_NAME                     (1),
+  RATING_GROUP_ERROR                    (2),
+  SERVICE_IDENTIFIER_ERROR              (3),
+  GW_PCEF_MALFUNCTION                   (4),
+  RESOURCES_LIMITATION                  (5),
+  MAX_NR_BEARERS_REACHED                (6),
+  UNKNOWN_BEARER_ID                     (7),
+  MISSING_BEARER_ID                     (8),
+  MISSING_FLOW_DESCRIPTION              (9),
+  RESOURCE_ALLOCATION_FAILURE           (10),
+  UNSUCCESSFUL_QOS_VALIDATION           (11),
+  INCORRECT_FLOW_INFORMATION            (12),
+  PS_TO_CS_HANDOVER                     (13),
+  TDF_APPLICATION_IDENTIFIER_ERROR      (14),
+  NO_BEARER_BOUND                       (15),
+  FILTER_RESTRICTIONS                   (16),
+  AN_GW_FAILED                          (17),
+  MISSING_REDIRECT_SERVER_ADDRESS       (18),
+  CM_END_USER_SERVICE_DENIED            (19),
+  CM_CREDIT_CONTROL_NOT_APPLICABLE      (20),
+  CM_AUTHORIZATION_REJECTED             (21),
+  CM_USER_UNKNOWN                       (22),
+  CM_RATING_FAILED                      (23),
+  ROUTING_RULE_REJECTION                (24),
+  UNKNOWN_ROUTING_ACCESS_INFORMATION    (25)
+}
+
+
+// 3GPP TS 29.212 V14.0.0 
+// AVP: APN-Aggregate-Max-Bitrate-DL (1040) 3GPP (10415)
+// 5.3.39
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: APN-Aggregate-Max-Bitrate-UL (1041) 3GPP (10415)
+// 5.3.40
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Session-Release-Cause (1045) 3GPP (10415)
+// 5.3.44
+type enumerated Session_Release_Cause
+{
+  UNSPECIFIED_REASON            (0),
+  UE_SUBSCRIPTION_REASON        (1),
+  INSUFFICIENT_SERVER_RESOURCES (2),
+  IP_CAN_SESSION_TERMINATION    (3),
+  UE_IP_ADDRESS_RELEASE         (4)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Pre-emption-Capability (1047) 3GPP (10415)
+// 5.3.46
+type enumerated Pre_emption_Capability
+{
+  PRE_EMPTION_CAPABILITY_ENABLED  (0),
+  PRE_EMPTION_CAPABILITY_DISABLED (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Pre-emption-Vulnerability (1048) 3GPP (10415)
+// 5.3.47
+type enumerated Pre_emption_Vulnerability
+{
+  PRE_EMPTION_VULNERABILITY_ENABLED  (0),
+  PRE_EMPTION_VULNERABILITY_DISABLED (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V14.0.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Packet-Filter-Operation (1062) 3GPP (10415)
+// 5.3.57
+type enumerated Packet_Filter_Operation
+{
+  DELETION  (0),
+  ADDITION  (1),
+  MODIFICATION (2)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1),
+  ADC_RULE_LEVEL  (2)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Usage-Monitoring-Report (1069) 3GPP (10415)
+// 5.3.62
+type enumerated Usage_Monitoring_Report
+{
+  USAGE_MONITORING_REPORT_REQUIRED  (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: CSG-Information-Reporting (1071) 3GPP (10415)
+// 5.3.64
+type enumerated CSG_Information_Reporting
+{
+  CHANGE_CSG_CELL                     (0),
+  CHANGE_CSG_SUBSCRIBED_HYBRID_CELL   (1),
+  CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL (2)
+}
+
+
+// 3GPP TS 29.212 V14.0.0 
+// AVP: Flow-Direction (1080) 3GPP (10415)
+// 5.3.65
+type enumerated Flow_Direction
+{
+  UNSPECIFIED                         (0),
+  DOWNLINK                            (1),
+  UPLINK                              (2),
+  BIDIRECTIONAL                       (3)
+}
+
+
+// 3GPP TS 29.212 V14.0.0 
+// AVP: Packet-Filter-Usage (1072) 3GPP (10415)
+// 5.3.66
+type enumerated Packet_Filter_Usage
+{
+  SEND_TO_UE (1)
+}
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-Rule-Install (1081) 3GPP (10415)
+// 5.3.68
+type AVP_Grouped Routing_Rule_Install;
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-Rule-Remove (1075) 3GPP (10415)
+// 5.3.69
+type AVP_Grouped Routing_Rule_Remove;
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-Rule-Definition (1076) 3GPP (10415)
+// 5.3.70
+type AVP_Grouped Routing_Rule_Definition;
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-Rule-Identifier (1077) 3GPP (10415)
+// 5.3.71
+type AVP_OctetString Routing_Rule_Identifier;
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-Filter (1078) 3GPP (10415)
+// 5.3.72
+type AVP_Grouped Routing_Filter;
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-IP-Address (1079) 3GPP (10415)
+// 5.3.73
+type AVP_Address Routing_IP_Address;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TDF-Application-Identifier (1088) 3GPP (10415)
+// 5.3.77
+type AVP_OctetString TDF_Application_Identifier;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TDF-Information (1087) 3GPP (10415)
+// 5.3.78
+type AVP_Grouped TDF_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TDF-Destination-Realm (1090) 3GPP (10415)
+// 5.3.79
+type AVP_DiameterIdentity TDF_Destination_Realm;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TDF-Destination-Host (1089) 3GPP (10415)
+// 5.3.80
+type AVP_DiameterIdentity TDF_Destination_Host;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TDF-IP-Address (1091) 3GPP (10415)
+// 5.3.81
+type AVP_Address TDF_IP_Address;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Redirect-Information (1085) 3GPP (10415)
+// 5.3.82
+type AVP_Grouped Redirect_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Redirect-Support (1086) 3GPP (10415)
+// 5.3.83
+type enumerated Redirect_Support
+{
+  REDIRECTION_DISABLED (0),
+  REDIRECTION_ENABLED (1)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: PS-to-CS-Session-Continuity (1099) 3GPP (10415)
+// 5.3.84
+type enumerated PS_to_CS_Session_Continuity
+{
+  VIDEO_PS2CS_CONT_CANDIDATE (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Application-Detection-Information (1098) 3GPP (10415)
+// 5.3.91
+type AVP_Grouped Application_Detection_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: TDF-Application-Instance-Identifier (2802) 3GPP (10415)
+// 5.3.92
+type AVP_OctetString TDF_Application_Instance_Identifier;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: HeNB-Local-IP-Address (2804) 3GPP (10415)
+// 5.3.95
+type AVP_Address HeNB_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: UE-Local-IP-Address (2805) 3GPP (10415)
+// 5.3.96
+type AVP_Address UE_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: UDP-Source-Port (2806) 3GPP (10415)
+// 5.3.97
+type AVP_Unsigned32 UDP_Source_Port;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Mute-Notification (2809) 3GPP (10415)
+// 5.3.98
+type enumerated Mute_Notification
+{
+  MUTE_REQUIRED (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Monitoring-Time (2810) 3GPP (10415)
+// 5.3.99
+type AVP_Time Monitoring_Time;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: AN-GW-Status (2811) 3GPP (10415)
+// 5.3.100
+type enumerated AN_GW_Status
+{
+  AN_GW_FAILED (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: User-Location-Info-Time (2812) 3GPP (10415)
+// 5.3.101
+type AVP_Time User_Location_Info_Time;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Credit-Management-Status (1082) 3GPP (10415)
+// 5.3.102
+type AVP_Unsigned32 Credit_Management_Status;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Default-QoS-Information (2816) 3GPP (10415)
+// 5.3.103
+type AVP_Grouped Default_QoS_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Default-QoS-Name (2817) 3GPP (10415)
+// 5.3.104
+type AVP_UTF8String Default_QoS_Name;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Conditional-APN-Aggregate-Max-Bitrate (2818) 3GPP (10415)
+// 5.3.105
+type AVP_Grouped Conditional_APN_Aggregate_Max_Bitrate;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: RAN-NAS-Release-Cause (2819) 3GPP (10415)
+// 5.3.106
+type AVP_OctetString RAN_NAS_Release_Cause;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Presence-Reporting-Area-Elements-List (2820) 3GPP (10415)
+// 5.3.107
+type AVP_OctetString Presence_Reporting_Area_Elements_List;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Presence-Reporting-Area-Identifier (2821) 3GPP (10415)
+// 5.3.108
+type AVP_OctetString Presence_Reporting_Area_Identifier;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Presence-Reporting-Area-Information (2822) 3GPP (10415)
+// 5.3.109
+type AVP_Grouped Presence_Reporting_Area_Information;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Presence-Reporting-Area-Status (2823) 3GPP (10415)
+// 5.3.110
+type AVP_Unsigned32 Presence_Reporting_Area_Status;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: NetLoc-Access-Support (2824) 3GPP (10415)
+// 5.3.111
+type AVP_Unsigned32 NetLoc_Access_Support;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Fixed-User-Location-Info (2825) 3GPP (10415)
+// 5.3.112
+type AVP_Grouped Fixed_User_Location_Info;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: PCSCF-Restoration-Indication (2826) 3GPP (10415)
+// 5.3.113
+type AVP_Unsigned32 PCSCF_Restoration_Indication;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: IP-CAN-Session-Charging-Scope (2827) 3GPP (10415)
+// 5.3.114
+type enumerated IP_CAN_Session_Charging_Scope
+{
+  IP_CAN_SESSION_SCOPE (0)
+}
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Monitoring-Flags (2828) 3GPP (10415)
+// 5.3.115
+type AVP_Unsigned32 Monitoring_Flags;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: NBIFOM-Support (2831) 3GPP (10415)
+// 5.3.116
+type enumerated NBIFOM_Support
+{
+  NBIFOM_NOT_SUPPORTED (0),
+  NBIFOM_SUPPORTED (1)
+}
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: NBIFOM-Mode (2830) 3GPP (10415)
+// 5.3.117
+type enumerated NBIFOM_Mode
+{
+  UE_INITIATED (0),
+  NETWORK_INITIATED (1)
+}
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-Rule-Report (2835) 3GPP (10415)
+// 5.3.118
+type AVP_Grouped Routing_Rule_Report;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Routing-Rule-Failure-Code (2834) 3GPP (10415)
+// 5.3.119
+type AVP_Unsigned32 Routing_Rule_Failure_Code;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Default-Access (2829) 3GPP (10415)
+// 5.3.120
+type enumerated Default_Access
+{
+  threeGPP_GPRS (0),
+  DOCSIS        (1),
+  xDSL          (2),
+  WiMAX         (3),
+  threeGPP2     (4),
+  threeGPP_EPS  (5),
+  Non_threeGPP_EPS  (6),
+  FBA           (7)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Access-Availability-Change-Reason (2833) 3GPP (10415)
+// 5.3.121
+type AVP_Unsigned32 Access_Availability_Change_Reason;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: RAN-Rule-Support (2832) 3GPP (10415)
+// 5.3.122
+type AVP_Unsigned32 RAN_Rule_Support;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Traffic-Steering-Policy-Identifier-DL (2836) 3GPP (10415)
+// 5.3.123
+type AVP_OctetString Traffic_Steering_Policy_Identifier_DL;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Traffic-Steering-Policy-Identifier-UL (2837) 3GPP (10415)
+// 5.3.124
+type AVP_OctetString Traffic_Steering_Policy_Identifier_UL;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Resource-Release-Notification (2841) 3GPP (10415)
+// 5.3.125
+type enumerated Resource_Release_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Removal-Of-Access (2842) 3GPP (10415)
+// 5.3.126
+type enumerated Removal_Of_Access
+{
+  REMOVAL_OF_ACCESS (0)
+}
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Execution-Time (2839) 3GPP (10415)
+// 5.3.127
+type AVP_Time Execution_Time;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Conditional-Policy-Information (2840) 3GPP (10415)
+// 5.3.128
+type AVP_Grouped Conditional_Policy_Information;
+
+
+// Gxx specific AVPs
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: Session-Linking-Indicator (1064) 3GPP (10415)
+// 5a.3.6
+type enumerated Session_Linking_Indicator
+{
+  SESSION_LINKING_IMMEDIATE (0),
+  SESSION_LINKING_DEFERRED  (1),
+  SESSION_LINKING_INVALID   (100)  //Requested for negative testing in CR_TR00019832.
+}
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name;
+
+
+// Sd specific AVPs
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: ADC-Rule-Install (1092) 3GPP (10415)
+// 5b.3.1
+type AVP_Grouped ADC_Rule_Install;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: ADC-Rule-Remove (1093) 3GPP (10415)
+// 5b.3.2
+type AVP_Grouped ADC_Rule_Remove;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: ADC-Rule-Definition (1094) 3GPP (10415)
+// 5b.3.3
+type AVP_Grouped ADC_Rule_Definition;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: ADC-Rule-Base-Name (1095) 3GPP (10415)
+// 5b.3.4
+type AVP_UTF8String ADC_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: ADC-Rule-Name (1096) 3GPP (10415)
+// 5b.3.5
+type AVP_OctetString ADC_Rule_Name;
+
+
+// 3GPP TS 29.212 V14.0.0
+// AVP: ADC-Rule-Report (1097) 3GPP (10415)
+// 5b.3.6
+type AVP_Grouped ADC_Rule_Report;
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_f10.ddf b/src/GxInterface_PCC_3GPP_TS29212_f10.ddf
new file mode 100644
index 0000000..5370bc1
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_f10.ddf
@@ -0,0 +1,1128 @@
+/******************************************************************************
+* Copyright (c) 2004, 2018  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Gabor Szalai - initial implementation
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_f10.ddf
+//  Description:        DDF for Gx Gxx and Sd according to 3GPP TS 29.212 V15.1.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: Vf_1_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V15.1.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications 
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP TS 29.061  - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+// 3GPP TS 29.214  - Policy and Charging Control over Rx reference points
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// 3GPP TS 29.272  - EPS; MME and SGSN related interfaces based on Diameter protocol
+// 3GPP2 X.S0057-O - (3GPP2-BSID AVP reused for Gx and Gxx interface)
+// 3GPP TS 32.299  - Telecommunication manegement; Charging management; Diameter charging applications
+//
+// Notes: 
+// Present application is based on 3GPP TS 29.210 V6.7.0 but has its own vendor 
+// specific Diameter application with application id for the Gx Application : 16777238
+// Application-ID for the Gxx Application is 16777266
+// Application-ID for the Sd Application is 16777303
+
+// 3GPP TS 29.212 V15.1.0
+// 5.6, 5b.6, 5c.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258),
+  TDF_Session    (8388637)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Event-Trigger (1006) 3GPP (10415)
+// 5.3.7
+type enumerated Event_Trigger
+{
+  SGSN_CHANGE                         (0),
+  QOS_CHANGE                          (1),
+  RAT_CHANGE                          (2),
+  TFT_CHANGE                          (3),
+  PLMN_CHANGE                         (4),
+  LOSS_OF_BEARER                      (5),
+  RECOVERY_OF_BEARER                  (6),
+  IP_CAN_CHANGE                       (7),
+  QOS_CHANGE_EXCEEDING_AUTHORIZATION (11),
+  RAI_CHANGE                         (12),
+  USER_LOCATION_CHANGE               (13),
+  NO_EVENT_TRIGGERS                  (14),
+  OUT_OF_CREDIT                      (15),
+  REALLOCATION_OF_CREDIT             (16),
+  REVALIDATION_TIMEOUT               (17),
+  UE_IP_ADDRESS_ALLOCATE             (18),
+  UE_IP_ADDRESS_RELEASE              (19),
+  DEFAULT_EPS_BEARER_QOS_CHANGE      (20),
+  AN_GW_CHANGE                       (21),
+  SUCCESSFUL_RESOURCE_ALLOCATION     (22),
+  RESOURCE_MODIFICATION_REQUEST      (23),
+  PGW_TRACE_CONTROL                  (24),
+  UE_TIME_ZONE_CHANGE                (25),
+  TAI_CHANGE                         (26),
+  ECGI_CHANGE                        (27),
+  CHARGING_CORRELATION_EXCHANGE      (28),
+  APN_AMBR_MODIFICATION_FAILURE      (29),  
+  USER_CSG_INFORMATION_CHANGE        (30),
+  USAGE_REPORT                       (33),
+  DEFAULT_EPS_BEARER_QOS_MODIFICATION_FAILURE (34),
+  USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE (35),
+  USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE (36),
+  ROUTING_RULE_CHANGE                (37),
+  APPLICATION_START                  (39),
+  APPLICATION_STOP                   (40),
+  CS_TO_PS_HANDOVER                  (42),
+  UE_LOCAL_IP_ADDRESS_CHANGE         (43),
+  HENB_LOCAL_IP_ADDRESS_CHANGE       (44),
+  ACCESS_NETWORK_INFO_REPORT         (45),
+  CREDIT_MANAGEMENT_SESSION_FAILURE  (46),
+  DEFAULT_QOS_CHANGE                 (47),
+  CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT (48),
+  ADDITION_OF_ACCESS                 (49),
+  REMOVAL_OF_ACCESS                  (50),
+  UNAVAILABLITY_OF_ACCESS            (51),
+  AVAILABLITY_OF_ACCESS              (52),
+  RESOURCE_RELEASE                   (53),
+  ENODEB_CHANGE                      (54),
+  THREEGPP_PS_DATA_OFF_CHANGE        (55)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2),
+  EVENT               (3)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1),
+  SPONSORED_CONNECTIVITY_LEVEL (2)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: PCC-Rule-Status (1019) 3GPP (10415)
+// 5.3.19
+type enumerated PCC_Rule_Status
+{
+  ACTIVE               (0),
+  INACTIVE             (1),
+  TEMPORARILY_INACTIVE (2)  
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V15.1.0 
+// AVP: Access-Network-Charging-Identifier-Gx (1022) 3GPP (10415)
+// 5.3.22
+type AVP_Grouped Access_Network_Charging_Identifier_Gx;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2),
+  SX_GX    (3),
+  SX_ONLY  (4)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Network-Request-Support (1024) 3GPP (10415)
+// 5.3.24
+type enumerated Network_Request_Support
+{
+  NETWORK_REQUEST_NOT_SUPPORTED (0),
+  NETWORK_REQUEST_SUPPORTED (1) 
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: IP-CAN-Type (1027) 3GPP (10415)
+// 5.3.27
+type enumerated IP_CAN_Type
+{
+  threeGPP_GPRS (0),
+  DOCSIS        (1),
+  xDSL          (2),
+  WiMAX         (3),
+  threeGPP2     (4),
+  threeGPP_EPS  (5),
+  Non_threeGPP_EPS  (6),
+  FBA           (7)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Negotiation (1029) 3GPP (10415)
+// 5.3.28
+type enumerated QoS_Negotiation
+{
+  NO_QoS_NEGOTIATION        (0),
+  QoS_NEGOTIATION_SUPPORTED (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Upgrade (1030) 3GPP (10415)
+// 5.3.29
+type enumerated QoS_Upgrade
+{
+  QoS_UPGRADE_NOT_SUPPORTED (0),
+  QoS_UPGRADE_SUPPORTED     (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  VIRTUAL           (1),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  EUTRAN_NB_IoT  (1005),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V15.1.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Rule-Failure-Code (1031) 3GPP (10415)
+// 5.3.38
+type enumerated Rule_Failure_Code
+{
+  UNKNOWN_RULE_NAME                     (1),
+  RATING_GROUP_ERROR                    (2),
+  SERVICE_IDENTIFIER_ERROR              (3),
+  GW_PCEF_MALFUNCTION                   (4),
+  RESOURCES_LIMITATION                  (5),
+  MAX_NR_BEARERS_REACHED                (6),
+  UNKNOWN_BEARER_ID                     (7),
+  MISSING_BEARER_ID                     (8),
+  MISSING_FLOW_DESCRIPTION              (9),
+  RESOURCE_ALLOCATION_FAILURE           (10),
+  UNSUCCESSFUL_QOS_VALIDATION           (11),
+  INCORRECT_FLOW_INFORMATION            (12),
+  PS_TO_CS_HANDOVER                     (13),
+  TDF_APPLICATION_IDENTIFIER_ERROR      (14),
+  NO_BEARER_BOUND                       (15),
+  FILTER_RESTRICTIONS                   (16),
+  AN_GW_FAILED                          (17),
+  MISSING_REDIRECT_SERVER_ADDRESS       (18),
+  CM_END_USER_SERVICE_DENIED            (19),
+  CM_CREDIT_CONTROL_NOT_APPLICABLE      (20),
+  CM_AUTHORIZATION_REJECTED             (21),
+  CM_USER_UNKNOWN                       (22),
+  CM_RATING_FAILED                      (23),
+  ROUTING_RULE_REJECTION                (24),
+  UNKNOWN_ROUTING_ACCESS_INFORMATION    (25),
+  NO_NBIFOM_SUPPORT                     (26)  // the standard defines as 25, which doesn't seem to be correct
+}
+
+
+// 3GPP TS 29.212 V15.1.0 
+// AVP: APN-Aggregate-Max-Bitrate-DL (1040) 3GPP (10415)
+// 5.3.39
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: APN-Aggregate-Max-Bitrate-UL (1041) 3GPP (10415)
+// 5.3.40
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Session-Release-Cause (1045) 3GPP (10415)
+// 5.3.44
+type enumerated Session_Release_Cause
+{
+  UNSPECIFIED_REASON            (0),
+  UE_SUBSCRIPTION_REASON        (1),
+  INSUFFICIENT_SERVER_RESOURCES (2),
+  IP_CAN_SESSION_TERMINATION    (3),
+  UE_IP_ADDRESS_RELEASE         (4)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Pre-emption-Capability (1047) 3GPP (10415)
+// 5.3.46
+type enumerated Pre_emption_Capability
+{
+  PRE_EMPTION_CAPABILITY_ENABLED  (0),
+  PRE_EMPTION_CAPABILITY_DISABLED (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Pre-emption-Vulnerability (1048) 3GPP (10415)
+// 5.3.47
+type enumerated Pre_emption_Vulnerability
+{
+  PRE_EMPTION_VULNERABILITY_ENABLED  (0),
+  PRE_EMPTION_VULNERABILITY_DISABLED (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V15.1.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Packet-Filter-Operation (1062) 3GPP (10415)
+// 5.3.57
+type enumerated Packet_Filter_Operation
+{
+  DELETION  (0),
+  ADDITION  (1),
+  MODIFICATION (2)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1),
+  ADC_RULE_LEVEL  (2)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Usage-Monitoring-Report (1069) 3GPP (10415)
+// 5.3.62
+type enumerated Usage_Monitoring_Report
+{
+  USAGE_MONITORING_REPORT_REQUIRED  (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: CSG-Information-Reporting (1071) 3GPP (10415)
+// 5.3.64
+type enumerated CSG_Information_Reporting
+{
+  CHANGE_CSG_CELL                     (0),
+  CHANGE_CSG_SUBSCRIBED_HYBRID_CELL   (1),
+  CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL (2)
+}
+
+
+// 3GPP TS 29.212 V15.1.0 
+// AVP: Flow-Direction (1080) 3GPP (10415)
+// 5.3.65
+type enumerated Flow_Direction
+{
+  UNSPECIFIED                         (0),
+  DOWNLINK                            (1),
+  UPLINK                              (2),
+  BIDIRECTIONAL                       (3)
+}
+
+
+// 3GPP TS 29.212 V15.1.0 
+// AVP: Packet-Filter-Usage (1072) 3GPP (10415)
+// 5.3.66
+type enumerated Packet_Filter_Usage
+{
+  SEND_TO_UE (1)
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-Rule-Install (1081) 3GPP (10415)
+// 5.3.68
+type AVP_Grouped Routing_Rule_Install;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-Rule-Remove (1075) 3GPP (10415)
+// 5.3.69
+type AVP_Grouped Routing_Rule_Remove;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-Rule-Definition (1076) 3GPP (10415)
+// 5.3.70
+type AVP_Grouped Routing_Rule_Definition;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-Rule-Identifier (1077) 3GPP (10415)
+// 5.3.71
+type AVP_OctetString Routing_Rule_Identifier;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-Filter (1078) 3GPP (10415)
+// 5.3.72
+type AVP_Grouped Routing_Filter;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-IP-Address (1079) 3GPP (10415)
+// 5.3.73
+type AVP_Address Routing_IP_Address;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TDF-Application-Identifier (1088) 3GPP (10415)
+// 5.3.77
+type AVP_OctetString TDF_Application_Identifier;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TDF-Information (1087) 3GPP (10415)
+// 5.3.78
+type AVP_Grouped TDF_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TDF-Destination-Realm (1090) 3GPP (10415)
+// 5.3.79
+type AVP_DiameterIdentity TDF_Destination_Realm;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TDF-Destination-Host (1089) 3GPP (10415)
+// 5.3.80
+type AVP_DiameterIdentity TDF_Destination_Host;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TDF-IP-Address (1091) 3GPP (10415)
+// 5.3.81
+type AVP_Address TDF_IP_Address;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Redirect-Information (1085) 3GPP (10415)
+// 5.3.82
+type AVP_Grouped Redirect_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Redirect-Support (1086) 3GPP (10415)
+// 5.3.83
+type enumerated Redirect_Support
+{
+  REDIRECTION_DISABLED (0),
+  REDIRECTION_ENABLED (1)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: PS-to-CS-Session-Continuity (1099) 3GPP (10415)
+// 5.3.84
+type enumerated PS_to_CS_Session_Continuity
+{
+  VIDEO_PS2CS_CONT_CANDIDATE (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Application-Detection-Information (1098) 3GPP (10415)
+// 5.3.91
+type AVP_Grouped Application_Detection_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TDF-Application-Instance-Identifier (2802) 3GPP (10415)
+// 5.3.92
+type AVP_OctetString TDF_Application_Instance_Identifier;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: HeNB-Local-IP-Address (2804) 3GPP (10415)
+// 5.3.95
+type AVP_Address HeNB_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: UE-Local-IP-Address (2805) 3GPP (10415)
+// 5.3.96
+type AVP_Address UE_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: UDP-Source-Port (2806) 3GPP (10415)
+// 5.3.97
+type AVP_Unsigned32 UDP_Source_Port;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Mute-Notification (2809) 3GPP (10415)
+// 5.3.98
+type enumerated Mute_Notification
+{
+  MUTE_REQUIRED (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Monitoring-Time (2810) 3GPP (10415)
+// 5.3.99
+type AVP_Time Monitoring_Time;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: AN-GW-Status (2811) 3GPP (10415)
+// 5.3.100
+type enumerated AN_GW_Status
+{
+  AN_GW_FAILED (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: User-Location-Info-Time (2812) 3GPP (10415)
+// 5.3.101
+type AVP_Time User_Location_Info_Time;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Credit-Management-Status (1082) 3GPP (10415)
+// 5.3.102
+type AVP_Unsigned32 Credit_Management_Status;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Default-QoS-Information (2816) 3GPP (10415)
+// 5.3.103
+type AVP_Grouped Default_QoS_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Default-QoS-Name (2817) 3GPP (10415)
+// 5.3.104
+type AVP_UTF8String Default_QoS_Name;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Conditional-APN-Aggregate-Max-Bitrate (2818) 3GPP (10415)
+// 5.3.105
+type AVP_Grouped Conditional_APN_Aggregate_Max_Bitrate;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: RAN-NAS-Release-Cause (2819) 3GPP (10415)
+// 5.3.106
+type AVP_OctetString RAN_NAS_Release_Cause;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Presence-Reporting-Area-Elements-List (2820) 3GPP (10415)
+// 5.3.107
+type AVP_OctetString Presence_Reporting_Area_Elements_List;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Presence-Reporting-Area-Identifier (2821) 3GPP (10415)
+// 5.3.108
+type AVP_OctetString Presence_Reporting_Area_Identifier;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Presence-Reporting-Area-Information (2822) 3GPP (10415)
+// 5.3.109
+type AVP_Grouped Presence_Reporting_Area_Information;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Presence-Reporting-Area-Status (2823) 3GPP (10415)
+// 5.3.110
+type AVP_Unsigned32 Presence_Reporting_Area_Status;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: NetLoc-Access-Support (2824) 3GPP (10415)
+// 5.3.111
+type AVP_Unsigned32 NetLoc_Access_Support;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Fixed-User-Location-Info (2825) 3GPP (10415)
+// 5.3.112
+type AVP_Grouped Fixed_User_Location_Info;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: PCSCF-Restoration-Indication (2826) 3GPP (10415)
+// 5.3.113
+type AVP_Unsigned32 PCSCF_Restoration_Indication;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: IP-CAN-Session-Charging-Scope (2827) 3GPP (10415)
+// 5.3.114
+type enumerated IP_CAN_Session_Charging_Scope
+{
+  IP_CAN_SESSION_SCOPE (0)
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Monitoring-Flags (2828) 3GPP (10415)
+// 5.3.115
+type AVP_Unsigned32 Monitoring_Flags;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: NBIFOM-Support (2831) 3GPP (10415)
+// 5.3.116
+type enumerated NBIFOM_Support
+{
+  NBIFOM_NOT_SUPPORTED (0),
+  NBIFOM_SUPPORTED (1)
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: NBIFOM-Mode (2830) 3GPP (10415)
+// 5.3.117
+type enumerated NBIFOM_Mode
+{
+  UE_INITIATED (0),
+  NETWORK_INITIATED (1)
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-Rule-Report (2835) 3GPP (10415)
+// 5.3.118
+type AVP_Grouped Routing_Rule_Report;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Routing-Rule-Failure-Code (2834) 3GPP (10415)
+// 5.3.119
+type AVP_Unsigned32 Routing_Rule_Failure_Code;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Default-Access (2829) 3GPP (10415)
+// 5.3.120
+type enumerated Default_Access
+{
+  threeGPP_GPRS (0),
+  DOCSIS        (1),
+  xDSL          (2),
+  WiMAX         (3),
+  threeGPP2     (4),
+  threeGPP_EPS  (5),
+  Non_threeGPP_EPS  (6),
+  FBA           (7)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Access-Availability-Change-Reason (2833) 3GPP (10415)
+// 5.3.121
+type AVP_Unsigned32 Access_Availability_Change_Reason;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: RAN-Rule-Support (2832) 3GPP (10415)
+// 5.3.122
+type AVP_Unsigned32 RAN_Rule_Support;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Traffic-Steering-Policy-Identifier-DL (2836) 3GPP (10415)
+// 5.3.123
+type AVP_OctetString Traffic_Steering_Policy_Identifier_DL;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Traffic-Steering-Policy-Identifier-UL (2837) 3GPP (10415)
+// 5.3.124
+type AVP_OctetString Traffic_Steering_Policy_Identifier_UL;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Resource-Release-Notification (2841) 3GPP (10415)
+// 5.3.125
+type enumerated Resource_Release_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Removal-Of-Access (2842) 3GPP (10415)
+// 5.3.126
+type enumerated Removal_Of_Access
+{
+  REMOVAL_OF_ACCESS (0)
+}
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Execution-Time (2839) 3GPP (10415)
+// 5.3.127
+type AVP_Time Execution_Time;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Conditional-Policy-Information (2840) 3GPP (10415)
+// 5.3.128
+type AVP_Grouped Conditional_Policy_Information;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: TCP-Source-Port (2843) 3GPP (10415)
+// 5.3.129
+type AVP_Unsigned32 TCP_Source_Port;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: PRA-Install (2845) 3GPP (10415)
+// 5.3.130
+type AVP_Grouped PRA_Install;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: PRA-Remove (2846) 3GPP (10415)
+// 5.3.131
+type AVP_Grouped PRA_Remove;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Default-Bearer-Indication (2844) 3GPP (10415)
+// 5.3.132
+type enumerated Default_Bearer_Indication
+{
+  BIND_TO_DEF_BEARER        (0),
+  BIND_TO_APPLICABLE_BEARER (1)
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: 3GPP-PS-Data-Off-Status (2847) 3GPP (10415)
+// 5.3.133
+type enumerated 3GPP_PS_Data_Off_Status
+{
+   ACTIVE     (0),
+   INACTIVE   (1)
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Extended-APN-AMBR-DL (2848) 3GPP (10415)
+// 5.3.134
+type AVP_Unsigned32 Extended_APN_AMBR_DL;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Extended-APN-AMBR-UL (2849) 3GPP (10415)
+// 5.3.135
+type AVP_Unsigned32 Extended_APN_AMBR_UL;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Extended-GBR-DL (2850) 3GPP (10415)
+// 5.3.136
+type AVP_Unsigned32 Extended_GBR_DL;
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Extended-GBR-UL (2851) 3GPP (10415)
+// 5.3.137
+type AVP_Unsigned32 Extended_GBR_UL;
+
+
+// Gxx specific AVPs
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: Session-Linking-Indicator (1064) 3GPP (10415)
+// 5a.3.6
+type enumerated Session_Linking_Indicator
+{
+  SESSION_LINKING_IMMEDIATE (0),
+  SESSION_LINKING_DEFERRED  (1),
+  SESSION_LINKING_INVALID   (100)  //Requested for negative testing in CR_TR00019832.
+}
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name;
+
+
+// Sd specific AVPs
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: ADC-Rule-Install (1092) 3GPP (10415)
+// 5b.3.1
+type AVP_Grouped ADC_Rule_Install;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: ADC-Rule-Remove (1093) 3GPP (10415)
+// 5b.3.2
+type AVP_Grouped ADC_Rule_Remove;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: ADC-Rule-Definition (1094) 3GPP (10415)
+// 5b.3.3
+type AVP_Grouped ADC_Rule_Definition;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: ADC-Rule-Base-Name (1095) 3GPP (10415)
+// 5b.3.4
+type AVP_UTF8String ADC_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: ADC-Rule-Name (1096) 3GPP (10415)
+// 5b.3.5
+type AVP_OctetString ADC_Rule_Name;
+
+
+// 3GPP TS 29.212 V15.1.0
+// AVP: ADC-Rule-Report (1097) 3GPP (10415)
+// 5b.3.6
+type AVP_Grouped ADC_Rule_Report;
+
diff --git a/src/GxaInterface_3GPP2_X_S0057_0_300.ddf b/src/GxaInterface_3GPP2_X_S0057_0_300.ddf
index 3427925..b539dbc 100644
--- a/src/GxaInterface_3GPP2_X_S0057_0_300.ddf
+++ b/src/GxaInterface_3GPP2_X_S0057_0_300.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               GxaInterface_3GPP2_X_S0057_0_300.ddf
 //  Description:        DDF for Gxa according to 3GPP2 X.S0057-0 v3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/MobileIPv4_Application_IETF_RFC4004.ddf b/src/MobileIPv4_Application_IETF_RFC4004.ddf
index 0be2b46..d8dcea0 100644
--- a/src/MobileIPv4_Application_IETF_RFC4004.ddf
+++ b/src/MobileIPv4_Application_IETF_RFC4004.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               MobileIPv4_Application_IETF_RFC4004.ddf
 //  Description:        DDF for Mobile IPv4 Application
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 //  Reference:          IETF RFC 4004
 //
diff --git a/src/MobileIPv6_HAAA_IETF_RFC5779.ddf b/src/MobileIPv6_HAAA_IETF_RFC5779.ddf
index d89c3f7..71a035d 100644
--- a/src/MobileIPv6_HAAA_IETF_RFC5779.ddf
+++ b/src/MobileIPv6_HAAA_IETF_RFC5779.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               MobileIPv6_HAAA_IETF_RFC5779.ddf
 //  Description:        DDF for Mobile IPv6 according to RFC 5779
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL113462
 ///////////////////////////////////////////////
 
diff --git a/src/MobileIPv6_HA_IETF_RFC5778.ddf b/src/MobileIPv6_HA_IETF_RFC5778.ddf
index 9f0f1df..4ca6968 100644
--- a/src/MobileIPv6_HA_IETF_RFC5778.ddf
+++ b/src/MobileIPv6_HA_IETF_RFC5778.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               MobileIPv6_HA_IETF_RFC5778.ddf
 //  Description:        DDF for Mobile IPv6 according to RFC 5778
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL113462
 ///////////////////////////////////////////////
 
diff --git a/src/MobileIPv6_NAS_IETF_RFC5447.ddf b/src/MobileIPv6_NAS_IETF_RFC5447.ddf
index c59ef9e..0c06dbc 100644
--- a/src/MobileIPv6_NAS_IETF_RFC5447.ddf
+++ b/src/MobileIPv6_NAS_IETF_RFC5447.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               MobileIPv6_NAS_IETF_RFC5447.ddf
 //  Description:        DDF for Mobile IPv6 according to RFC 5447
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL113462
 ///////////////////////////////////////////////
 
diff --git a/src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf b/src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf
index af49d36..f8e8632 100644
--- a/src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf
+++ b/src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               NGN_NetworkAccesses_ETSI_ES183020_111.ddf
 //  Description:        DDF for NGN Network Accesses according to ETSI ES 183 020 V1.1.1
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/NetworkAccessServer_IETF_RFC4005.ddf b/src/NetworkAccessServer_IETF_RFC4005.ddf
index a4bfead..bb25ad4 100644
--- a/src/NetworkAccessServer_IETF_RFC4005.ddf
+++ b/src/NetworkAccessServer_IETF_RFC4005.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               NetworkAccessServer_IETF_RFC4005.ddf
 //  Description:        DDF for NAS according to RFC 4005
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL113462
 ///////////////////////////////////////////////
 
diff --git a/src/RqInterface_ETSI_ES283026_241.ddf b/src/RqInterface_ETSI_ES283026_241.ddf
index 1a4055b..7d24c90 100644
--- a/src/RqInterface_ETSI_ES283026_241.ddf
+++ b/src/RqInterface_ETSI_ES283026_241.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               RqInterface_ETSI_ES283026_241.ddf
 //  Description:        DDF for Rq according to ETSI ES 283 026 V2.4.1
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 // AVP implementations according to:
diff --git a/src/RxInterface_PCC_3GPP_TS29214_830.ddf b/src/RxInterface_PCC_3GPP_TS29214_830.ddf
index f420dbe..91c4506 100644
--- a/src/RxInterface_PCC_3GPP_TS29214_830.ddf
+++ b/src/RxInterface_PCC_3GPP_TS29214_830.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               RxInterface_PCC_3GPP_TS29214_830.ddf
 //  Description:        DDF for Rx according to 3GPP TS 29.214 V8.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/RxInterface_PCC_3GPP_TS29214_8a0.ddf b/src/RxInterface_PCC_3GPP_TS29214_8a0.ddf
index b798cd4..1c240a9 100644
--- a/src/RxInterface_PCC_3GPP_TS29214_8a0.ddf
+++ b/src/RxInterface_PCC_3GPP_TS29214_8a0.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               RxInterface_PCC_3GPP_TS29214_830.ddf
 //  Description:        DDF for Rx according to 3GPP TS 29.214 V8.10.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/RxInterface_PCC_3GPP_TS29214_990.ddf b/src/RxInterface_PCC_3GPP_TS29214_990.ddf
index 872d062..a940828 100644
--- a/src/RxInterface_PCC_3GPP_TS29214_990.ddf
+++ b/src/RxInterface_PCC_3GPP_TS29214_990.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               RxInterface_PCC_3GPP_TS29214_990.ddf
 //  Description:        DDF for Rx according to 3GPP TS 29.214 V9.9.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/RxInterface_PCC_3GPP_TS29214_a70.ddf b/src/RxInterface_PCC_3GPP_TS29214_a70.ddf
index b239164..fc798ea 100644
--- a/src/RxInterface_PCC_3GPP_TS29214_a70.ddf
+++ b/src/RxInterface_PCC_3GPP_TS29214_a70.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               RxInterface_PCC_3GPP_TS29214_a70.ddf
 //  Description:        DDF for Rx according to 3GPP TS 29.214 a.7.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/RxInterface_PCC_3GPP_TS29214_c10.ddf b/src/RxInterface_PCC_3GPP_TS29214_c10.ddf
index 752267a..c99108b 100644
--- a/src/RxInterface_PCC_3GPP_TS29214_c10.ddf
+++ b/src/RxInterface_PCC_3GPP_TS29214_c10.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               RxInterface_PCC_3GPP_TS29214_c10.ddf
 //  Description:        DDF for Rx according to 3GPP TS 29.214 c.1.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/RxInterface_PCC_3GPP_TS29214_d10.ddf b/src/RxInterface_PCC_3GPP_TS29214_d10.ddf
index d7bffca..801b3b9 100644
--- a/src/RxInterface_PCC_3GPP_TS29214_d10.ddf
+++ b/src/RxInterface_PCC_3GPP_TS29214_d10.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               RxInterface_PCC_3GPP_TS29214_d10.ddf
 //  Description:        DDF for Rx according to 3GPP TS 29.214 d.1.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/RxInterface_PCC_3GPP_TS29214_f20.ddf b/src/RxInterface_PCC_3GPP_TS29214_f20.ddf
new file mode 100644
index 0000000..f8c6c67
--- /dev/null
+++ b/src/RxInterface_PCC_3GPP_TS29214_f20.ddf
@@ -0,0 +1,437 @@
+/******************************************************************************
+* Copyright (c) 2004, 2018  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Gabor Szalai - initial implementation
+******************************************************************************/
+//
+//  File:               RxInterface_PCC_3GPP_TS29214_f20.ddf
+//  Description:        DDF for Rx according to 3GPP TS 29.214 15.2.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: VF_2_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.214 15.2.0 - Policy and Charging Control over Rx reference point
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// TS 183.017      - DIAMETER protocol for session based policy set-up information exchange between
+//                   the Application Function (AF) and the Service Policy Decision Function (SPDF)
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777236
+//
+// Type of enumerated AVP Media-Type is changed to AVP_Unsigned32 to
+// give the ability to contain OTHER (0xFFFFFFFF) value
+//
+
+// 3GPP TS 29.214 15.2.0 5.6
+type enumerated Command_Code
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Abort-Cause (500) 3GPP (10415)
+// 5.3.1
+type enumerated Abort_Cause
+{
+  BEARER_RELEASED               (0),
+  INSUFFICIENT_SERVER_RESOURCES (1),
+  INSUFFICIENT_BEARER_RESOURCES (2),
+  PS_TO_CS_HANDOVER             (3),
+  SPONSORED_DATA_CONNECTIVITY_DISALLOWED (4)
+}
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Access-Network-Charging-Address (501) 3GPP (10415)
+// 5.3.2
+type AVP_Address Access_Network_Charging_Address;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Access-Network-Charging-Identifier (502) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Access_Network_Charging_Identifier;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Access-Network-Charging-Identifier-Value (503) 3GPP (10415)
+// 5.3.4
+type AVP_OctetString Access_Network_Charging_Identifier_Value;
+
+
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: AF-Application-Identifier (504) 3GPP (10415)
+// 5.3.5
+type AVP_OctetString AF_Application_Identifier;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: AF-Charging-Identifier (505) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString AF_Charging_Identifier;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Codec-Data  (524) 3GPP (10415)
+// 5.3.7
+type AVP_OctetString Codec_Data;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Flow-Description (507) 3GPP (10415)
+// 5.3.8
+type AVP_IPFilterRule Flow_Description;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Flow-Number (509) 3GPP (10415)
+// 5.3.9
+type AVP_Unsigned32 Flow_Number;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Flows (510) 3GPP (10415)
+// 5.3.10
+type AVP_Grouped Flows;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Flow-Status (511) 3GPP (10415)
+// 5.3.11
+type enumerated Flow_Status
+{
+  ENABLED_UPLINK      (0),
+  ENABLED_DOWNLINK    (1),
+  ENABLED             (2),
+  DISABLED            (3),
+  REMOVED             (4)
+}
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Flow-Usage (512) 3GPP (10415)
+// 5.3.12
+type enumerated Flow_Usage
+{
+  NO_INFORMATION      (0),
+  RTCP                (1),
+  AF_SIGNALLING       (2)
+}
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Specific-Action (513) 3GPP (10415)
+// 5.3.13
+type enumerated Specific_Action
+{
+  CHARGING_CORRELATION_EXCHANGE         (1),
+  INDICATION_OF_LOSS_OF_BEARER          (2),
+  INDICATION_OF_RECOVERY_OF_BEARER      (3),
+  INDICATION_OF_RELEASE_OF_BEARER       (4),
+  INDICATION_OF_ESTABLISHMENT_OF_BEARER (5),
+  IP_CAN_CHANGE                         (6),
+  INDICATION_OF_OUT_OF_CREDIT           (7),
+  INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATION (8),
+  INDICATION_OF_FAILED_RESOURCES_ALLOCATION (9),
+  INDICATION_OF_LIMITED_PCC_DEPLOYMENT (10),
+  USAGE_REPORT                         (11),
+  ACCESS_NETWORK_INFO_REPORT           (12),
+  INDICATION_OF_RECOVERY_FROM_LIMITED_PCC_DEPLOYMENT (13),
+  INDICATION_OF_ACCESS_NETWORK_INFO_REPORTING_FAILURE (14),
+  INDICATION_OF_TRANSFER_POLICY_EXPIRED (15),
+  PLMN_CHANGE                          (16)
+}
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Max-Requested-Bandwidth-DL (515) 3GPP (10415)
+// 5.3.14
+type AVP_Unsigned32 Max_Requested_Bandwidth_DL;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Max-Requested-Bandwidth-UL (516) 3GPP (10415)
+// 5.3.15
+type AVP_Unsigned32 Max_Requested_Bandwidth_UL;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Media-Component-Description (517) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped Media_Component_Description;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Media-Component-Number (518) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 Media_Component_Number;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Media-Sub-Component (519) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Media_Sub_Component;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Media-Type (520) 3GPP (10415)
+// 5.3.19
+type AVP_Unsigned32 Media_Type;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: RR-Bandwidth (521) 3GPP (10415)
+// 5.3.20
+type AVP_Unsigned32 RR_Bandwidth;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: RS-Bandwidth (522) 3GPP (10415)
+// 5.3.21
+type AVP_Unsigned32 RS_Bandwidth;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: SIP-Forking-Indication (523) 3GPP (10415)
+// 5.3.22
+type enumerated SIP_Forking_Indication
+{
+   SINGLE_DIALOGUE   (0),
+   SEVERAL_DIALOGUES (1) 
+}
+
+// 3GPP TS 29.214 15.2.0
+// AVP:  Service-URN (525) 3GPP (10415)
+// 5.3.23
+type AVP_OctetString Service_URN;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Acceptable-Service-Info (526) 3GPP (10415)
+// 5.3.24
+type AVP_Grouped Acceptable_Service_Info;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Service-Info-Status (527) 3GPP (10415)
+// 5.3.25
+type enumerated Service_Info_Status 
+{
+  FINAL_SERVICE_INFORMATION       (0),	
+  PRELIMINARY_SERVICE_INFORMATION (1)
+}
+
+// 3GPP TS 29.214 15.2.0
+// AVP: AF-Signalling-Protocol (529) 3GPP (10415)
+// 5.3.26
+type enumerated AF_Signalling_Protocol 
+{
+  NO_INFORMATION      (0),	
+  SIP (1)
+}
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Sponsored-Connectivity-Data (530) 3GPP (10415)
+// 5.3.27
+type AVP_Grouped Sponsored_Connectivity_Data;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Sponsor-Identity (531) 3GPP (10415)
+// 5.3.28
+type AVP_UTF8String Sponsor_Identity;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Application-Service-Provider-Identity (532) 3GPP (10415)
+// 5.3.29
+type AVP_UTF8String Application_Service_Provider_Identity;
+
+
+// 3GPP TS 29.214 15.2.0
+// AVP: MPS-Identifier (528) 3GPP (10415)
+// 5.3.30
+type AVP_OctetString MPS_Identifier;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Rx-Request-Type (533) 3GPP (10415)
+// 5.3.31
+type enumerated Rx_Request_Type 
+{
+  INITIAL_REQUEST      (0),	
+  UPDATE_REQUEST (1),
+  PCSCF_RESTORATION (2)
+}
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Min-Requested-Bandwidth-DL (534) 3GPP (10415)
+// 5.3.32
+type AVP_Unsigned32 Min_Requested_Bandwidth_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Min-Requested-Bandwidth-UL (535) 3GPP (10415)
+// 5.3.33
+type AVP_Unsigned32 Min_Requested_Bandwidth_UL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Required-Access-Info (536) 3GPP (10415)
+// 5.3.34
+type enumerated Required_Access_Info 
+{
+  USER_LOCATION      (0),	
+  MS_TIME_ZONE (1)
+}
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Ip-Domain-Id (537) 3GPP (10415)
+// 5.3.35
+type AVP_OctetString Ip_Domain_Id;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: GCS-Identifier (538) 3GPP (10415)
+// 5.3.36
+type AVP_OctetString GCS_Identifier;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Sharing-Key-DL (539) 3GPP (10415)
+// 5.3.37
+type AVP_Unsigned32 Sharing_Key_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Sharing-Key-UL  (540) 3GPP (10415)
+// 5.3.38
+type AVP_Unsigned32 Sharing_Key_UL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Retry-Interval (541) 3GPP (10415)
+// 5.3.39
+type AVP_Unsigned32 Retry_Interval;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Sponsoring-Action (542) 3GPP (10415)
+// 5.3.40
+type enumerated Sponsoring_Action 
+{
+  DISABLE_SPONSORING (0),	
+  ENABLE_SPONSORING  (1)
+}
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Max-Supported-Bandwidth-DL (543) 3GPP (10415)
+// 5.3.41
+type AVP_Unsigned32 Max_Supported_Bandwidth_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Max-Supported-Bandwidth-UL (544) 3GPP (10415)
+// 5.3.42
+type AVP_Unsigned32 Max_Supported_Bandwidth_UL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Min-Desired-Bandwidth-DL (545) 3GPP (10415)
+// 5.3.43
+type AVP_Unsigned32 Min_Desired_Bandwidth_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Min-Desired-Bandwidth-UL (546) 3GPP (10415)
+// 5.3.44
+type AVP_Unsigned32 Min_Desired_Bandwidth_UL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: MCPTT-Identifier (547) 3GPP (10415)
+// 5.3.45
+type AVP_OctetString MCPTT_Identifier;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Service-Authorization-Info (548) 3GPP (10415)
+// 5.3.46
+type AVP_Unsigned32 Service_Authorization_Info;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Priority-Sharing-Indicator (550) 3GPP (10415)
+// 5.3.47
+type enumerated Priority_Sharing_Indicator 
+{
+   PRIORITY_SHARING_ENABLED  (0),	
+   PRIORITY_SHARING_DISABLED (1)
+}
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Media-Component-Status (549) 3GPP (10415)
+// 5.3.49
+type AVP_Unsigned32 Media_Component_Status;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Content-Version (552) 3GPP (10415)
+// 5.3.49
+type AVP_Unsigned64 Content_Version;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: AF-Requested-Data (551) 3GPP (10415)
+// 5.3.50
+type AVP_Unsigned32 AF_Requested_Data;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Pre-emption-Control-Info (553) 3GPP (10415)
+// 5.3.51
+type AVP_Unsigned32 Pre_emption_Control_Info;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Max-Requested-BW-DL (554) 3GPP (10415)
+// 5.3.52
+type AVP_Unsigned32 Extended_Max_Requested_BW_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Max-Requested-BW-UL (555) 3GPP (10415)
+// 5.3.53
+type AVP_Unsigned32 Extended_Max_Requested_BW_UL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Max-Supported-BW-DL (556) 3GPP (10415)
+// 5.3.54
+type AVP_Unsigned32 Extended_Max_Supported_BW_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Max-Supported-BW-UL (557) 3GPP (10415)
+// 5.3.55
+type AVP_Unsigned32 Extended_Max_Supported_BW_UL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Min-Desired-BW-DL (558) 3GPP (10415)
+// 5.3.56
+type AVP_Unsigned32 Extended_Min_Desired_BW_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Min-Desired-BW-UL (559) 3GPP (10415)
+// 5.3.57
+type AVP_Unsigned32 Extended_Min_Desired_BW_UL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Min-Requested-BW-DL (560) 3GPP (10415)
+// 5.3.58
+type AVP_Unsigned32 Extended_Min_Requested_BW_DL;
+
+// 3GPP TS 29.214 15.2.0
+// AVP: Extended-Min-Requested-BW-UL (561) 3GPP (10415)
+// 5.3.59
+type AVP_Unsigned32 Extended_Min_Requested_BW_UL;
+
+
diff --git a/src/S6Interfaces_3GPP_TS29336_f00.ddf b/src/S6Interfaces_3GPP_TS29336_f00.ddf
new file mode 100644
index 0000000..dc70e49
--- /dev/null
+++ b/src/S6Interfaces_3GPP_TS29336_f00.ddf
@@ -0,0 +1,324 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder
+******************************************************************************/
+//
+//  File:               S6Interfaces_3GPP_TS29336_f00.ddf
+//  Description:        DDF for S6m, S6n and S6t Interfaces according to 3GPP TS 29.336 V15.0.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: S6
+// APPLICATION-REVISION: V15_0_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.336 V15.0.0 - Home Subscriber Server (HSS) diameter interfaces for interworking with packet data networks and applications
+
+// 8.2.2
+type enumerated Command_Code 
+{
+  Subscriber_Information    (8388641),
+  Configuration_Information (8388718),
+  Reporting_Information     (8388719),
+  NIDD_Information          (8388726)
+}
+
+//S6m/S6n specific Diameter AVPs
+
+// 6.4.14
+// AVP: IP-SM-GW-Number (3100) 3GPP (10415)
+type AVP_OctetString IP_SM_GW_Number;
+
+// 6.4.15
+// AVP: IP-SM-GW-Name (3101) 3GPP (10415)
+type AVP_DiameterIdentity IP_SM_GW_Name;
+
+// 6.4.2
+// AVP: User-Identifier (3102) 3GPP (10415)
+type AVP_Grouped User_Identifier;
+
+// 6.4.3
+// AVP: Service-ID (3103) 3GPP (10415)
+type enumerated Service_ID
+{
+  DEVICE_TRIGGER (0),
+  SMS_MO (1)
+}
+
+// 6.4.4
+// AVP: SCS-Identity (3104) 3GPP (10415)
+type AVP_OctetString SCS_Identity;
+
+// 6.4.5
+// AVP: Service-Parameters (3105) 3GPP (10415)
+type AVP_Grouped Service_Parameters;
+
+// 6.4.6
+// AVP: T4-Parameters (3106) 3GPP (10415)
+type AVP_Grouped T4_Parameters;
+
+// 6.4.7
+// AVP: Service-Data (3107) 3GPP (10415)
+type AVP_Grouped Service_Data;
+
+// 6.4.8
+// AVP: T4-Data (3108) 3GPP (10415)
+type AVP_Grouped T4_Data;
+
+// 6.4.9
+// AVP: HSS-Cause (3109) 3GPP (10415)
+type AVP_Unsigned32 HSS_Cause;
+
+// 6.4.10
+// AVP: SIR-Flags (3110) 3GPP (10415)
+type AVP_Unsigned32 SIR_Flags;
+
+// 6.4.11
+// AVP: External-Identifier (3111) 3GPP (10415)
+type AVP_UTF8String External_Identifier;
+
+// 6.4.18
+// AVP: IP-SM-GW-Realm (3112) 3GPP (10415)
+type AVP_DiameterIdentity IP_SM_GW_Realm;
+
+
+
+//S6t specific Diameter AVPs
+
+// 8.4.25
+// AVP: AESE-Communication-Pattern (3113) 3GPP (10415)
+type AVP_Grouped AESE_Communication_Pattern;
+
+// 8.4.26
+// AVP: Communication-Pattern-Set (3114) 3GPP (10415)
+type AVP_Grouped Communication_Pattern_Set;
+
+// 8.4.27
+// AVP: Periodic-Communication-Indicator (3115) 3GPP (10415)
+type AVP_Unsigned32 Periodic_Communication_Indicator;
+
+// 8.4.28
+// AVP: Communication-Duration-Time (3116) 3GPP (10415)
+type AVP_Unsigned32 Communication_Duration_Time;
+
+// 8.4.29
+// AVP: Periodic-Time (3117) 3GPP (10415)
+type AVP_Unsigned32 Periodic_Time;
+
+// 8.4.30
+// AVP: Scheduled-Communication-Time (3118) 3GPP (10415)
+type AVP_Grouped Scheduled_Communication_Time;
+
+// 8.4.31
+// AVP: Stationary-Indication (3119) 3GPP (10415)
+type AVP_Unsigned32 Stationary_Indication;
+
+// 8.4.32
+// AVP: AESE-Communication-Pattern-Config-Status (3120) 3GPP (10415)
+type AVP_Grouped AESE_Communication_Pattern_Config_Status;
+
+// 8.4.33
+// AVP: AESE-Error-Report (3121) 3GPP (10415)
+type AVP_Grouped AESE_Error_Report;
+
+// 8.4.2
+// AVP: Monitoring-Event-Configuration (3122) 3GPP (10415)
+type AVP_Grouped Monitoring_Event_Configuration;
+
+// 8.4.3
+// AVP: Monitoring-Event-Report (3123) 3GPP (10415)
+type AVP_Grouped Monitoring_Event_Report;
+
+// 8.4.4
+// AVP: SCEF-Reference-ID (3124) 3GPP (10415)
+type AVP_Unsigned32 SCEF_Reference_ID;
+
+// 8.4.5
+// AVP: SCEF-ID (3125) 3GPP (10415)
+type AVP_DiameterIdentity SCEF_ID;
+
+// 8.4.6
+// AVP: SCEF-Reference-ID-for-Deletion (3126) 3GPP (10415)
+type AVP_Unsigned32 SCEF_Reference_ID_for_Deletion;
+
+// 8.4.7
+// AVP: Monitoring-Type (3127) 3GPP (10415)
+type AVP_Unsigned32 Monitoring_Type;
+
+// 8.4.8
+// AVP: Maximum-Number-of-Reports (3128) 3GPP (10415)
+type AVP_Unsigned32 Maximum_Number_of_Reports;
+
+// 8.4.9
+// AVP: UE-Reachability-Configuration (3129) 3GPP (10415)
+type AVP_Grouped UE_Reachability_Configuration;
+
+// 8.4.10
+// AVP: Monitoring-Duration (3130) 3GPP (10415)
+type AVP_Time Monitoring_Duration;
+
+// 8.4.11
+// AVP: Maximum-Detection-Time (3131) 3GPP (10415)
+type AVP_Unsigned32 Maximum_Detection_Time;
+
+// 8.4.12
+// AVP: Reachability-Type (3132) 3GPP (10415)
+type AVP_Unsigned32 Reachability_Type;
+
+// 8.4.13
+// AVP: Maximum-Latency (3133) 3GPP (10415)
+type AVP_Unsigned32 Maximum_Latency;
+
+// 8.4.14
+// AVP: Maximum-Response-Time (3134) 3GPP (10415)
+type AVP_Unsigned32 Maximum_Response_Time;
+
+// 8.4.15
+// AVP: Location-Information-Configuration (3135) 3GPP (10415)
+type AVP_Grouped Location_Information_Configuration;
+
+// 8.4.16
+// AVP: MONTE-Location-Type (3136) 3GPP (10415)
+type AVP_Unsigned32 MONTE_Location_Type;
+
+// 8.4.17
+// AVP: Accuracy (3137) 3GPP (10415)
+type AVP_Unsigned32 Accuracy;
+
+// 8.4.18
+// AVP: Association-Type (3138) 3GPP (10415)
+type AVP_Unsigned32 Association_Type;
+
+// 8.4.19
+// AVP: Roaming-Information (3139) 3GPP (10415)
+type AVP_Unsigned32 Roaming_Information;
+
+// 8.4.20
+// AVP: Reachability-Information (3140) 3GPP (10415)
+type AVP_Unsigned32 Reachability_Information;
+
+// 8.4.22
+// AVP: IMEI-Change (3141) 3GPP (10415)
+type AVP_Unsigned32 IMEI_Change;
+
+// 8.4.24
+// AVP: Monitoring-Event-Config-Status (3142) 3GPP (10415)
+type AVP_Grouped Monitoring_Event_Config_Status;
+
+// 8.4.40
+// AVP: Supported-Services (3143) 3GPP (10415)
+type AVP_Grouped Supported_Services;
+
+// 8.4.41
+// AVP: Supported-Monitoring-Events (3144) 3GPP (10415)
+type AVP_Unsigned64 Supported_Monitoring_Events;
+
+// 8.4.39
+// AVP: CIR-Flags (3145) 3GPP (10415)
+type AVP_Unsigned32 CIR_Flags;
+
+// 8.4.37
+// AVP: Service-Result (3146) 3GPP (10415)
+type AVP_Grouped Service_Result;
+
+// 8.4.38
+// AVP: Service-Result-Code (3147) 3GPP (10415)
+type AVP_Unsigned32 Service_Result_Code;
+
+// 8.4.42
+// AVP: Reference-ID-Validity-Time (3148) 3GPP (10415)
+type AVP_Time Reference_ID_Validity_Time;
+
+// 8.4.43
+// AVP: Event-Handling (3149) 3GPP (10415)
+type AVP_Unsigned32 Event_Handling;
+
+// 8.4.44
+// AVP: NIDD-Authorization-Request (3150) 3GPP (10415)
+type AVP_Grouped NIDD_Authorization_Request;
+
+// 8.4.45
+// AVP: NIDD-Authorization-Response (3151) 3GPP (10415)
+type AVP_Grouped NIDD_Authorization_Response;
+
+// 8.4.47
+// AVP: Service-Report (3152) 3GPP (10415)
+type AVP_Grouped Service_Report;
+
+// 8.4.48
+// AVP: Node-Type (3153) 3GPP (10415)
+type AVP_Unsigned32 Node_Type;
+
+// 8.4.50
+// AVP: S6t-HSS-Cause (3154) 3GPP (10415)
+type AVP_Unsigned32 S6t_HSS_Cause;
+
+// 8.4.51
+// AVP: Enhanced-Coverage-Restriction (3155) 3GPP (10415)
+type AVP_Grouped Enhanced_Coverage_Restriction;
+
+// 8.4.52
+// AVP: Enhanced-Coverage-Restriction-Data (3156) 3GPP (10415)
+type AVP_Grouped Enhanced_Coverage_Restriction_Data;
+
+// 8.4.53
+// AVP: Restricted-PLMN-List (3157) 3GPP (10415)
+type AVP_Grouped Restricted_PLMN_List;
+
+// 8.4.54
+// AVP: Allowed-PLMN-List (3158) 3GPP (10415)
+type AVP_Grouped Allowed_PLMN_List;
+
+// 8.4.55
+// AVP: Requested-Validity-Time (3159) 3GPP (10415)
+type AVP_Time Requested_Validity_Time;
+
+// 8.4.56
+// AVP: Granted-Validity-Time (3160) 3GPP (10415)
+type AVP_Time Granted_Validity_Time;
+
+// 8.4.57
+// AVP: NIDD-Authorization-Update (3161) 3GPP (10415)
+type AVP_Grouped NIDD_Authorization_Update;
+
+// 8.4.58
+// AVP: Loss-Of-Connectivity-Reason (3162) 3GPP (10415)
+type AVP_Unsigned32 Loss_Of_Connectivity_Reason;
+
+// 8.4.59
+// AVP: Group-Reporting-Guard-Timer (3163) 3GPP (10415)
+type AVP_Unsigned32 Group_Reporting_Guard_Timer;
+
+// 8.4.60
+// AVP: CIA-Flags (3164) 3GPP (10415)
+type AVP_Unsigned32 CIA_Flags;
+
+// 8.4.61
+// AVP: Group-Monitoring-Event-Report (3165) 3GPP (10415)
+type AVP_Grouped Group_Monitoring_Event_Report;
+
+// 8.4.62
+// AVP: Group-Monitoring-Event-Report-Item (3166) 3GPP (10415)
+type AVP_Grouped Group_Monitoring_Event_Report_Item;
+
+// 8.4.63
+// AVP: RIR-Flags (3167) 3GPP (10415)
+type AVP_Unsigned32 RIR_Flags;
+
+// 8.4.64
+// AVP: Type-Of-External-Identifier (3168) 3GPP (10415)
+type AVP_Unsigned32 Type_Of_External_Identifier;
+
+// 8.4.65
+// AVP: APN-Validity-Time (3169) 3GPP (10415)
+type AVP_Grouped APN_Validity_Time;
+
+
+
diff --git a/src/S6cInterface_3GPP_TS29338_f00.ddf b/src/S6cInterface_3GPP_TS29338_f00.ddf
new file mode 100644
index 0000000..001b300
--- /dev/null
+++ b/src/S6cInterface_3GPP_TS29338_f00.ddf
@@ -0,0 +1,113 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder
+******************************************************************************/
+//
+//  File:               S6cInterface_3GPP_TS29338_f00.ddf
+//  Description:        DDF for S6c Interface according to 3GPP TS 29.338 V15.0.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: S6C
+// APPLICATION-REVISION: V15_0_0
+
+// 5.3.2.2
+type enumerated Command_Code 
+{
+  Send_Routing_Info_for_SM (8388647),
+  Alert_Service_Centre (8388648),
+  Report_SM_Delivery_Status (8388649)
+}
+
+// 5.3.3.2
+// AVP: SM-RP-MTI (3308) 3GPP (10415)
+type enumerated SM_RP_MTI
+{
+  SM_DELIVER (0),
+  SM_STATUS_REPORT (1)
+}
+
+// 5.3.3.3
+// AVP: SM-RP-SMEA (3309) 3GPP (10415)
+type AVP_OctetString SM_RP_SMEA;
+
+// 5.3.3.4
+// AVP: SRR-Flags (3310) 3GPP (10415)
+type AVP_Unsigned32 SRR_Flags;
+
+// 5.3.3.5
+// AVP: SM-Delivery-Not-Intended (3311) 3GPP (10415)
+type enumerated SM_Delivery_Not_Intended
+{
+  ONLY_IMSI_REQUESTED (0),
+  ONLY_MCC_MNC_REQUESTED (1)
+}
+
+// 5.3.3.8
+// AVP: MWD-Status (3312) 3GPP (10415)
+type AVP_Unsigned32 MWD_Status;
+
+// 5.3.3.9
+// AVP: MME-Absent-User-Diagnostic-SM (3313) 3GPP (10415)
+type AVP_Unsigned32 MME_Absent_User_Diagnostic_SM;
+
+// 5.3.3.10
+// AVP: MSC-Absent-User-Diagnostic-SM (3314) 3GPP (10415)
+type AVP_Unsigned32 MSC_Absent_User_Diagnostic_SM;
+
+// 5.3.3.11
+// AVP: SGSN-Absent-User-Diagnostic-SM (3315) 3GPP (10415)
+type AVP_Unsigned32 SGSN_Absent_User_Diagnostic_SM;
+
+// 5.3.3.14
+// AVP: SM-Delivery-Outcome (3316) 3GPP (10415)
+type AVP_Grouped SM_Delivery_Outcome;
+
+// 5.3.3.15
+// AVP: MME-SM-Delivery-Outcome (3317) 3GPP (10415)
+type AVP_Grouped MME_SM_Delivery_Outcome;
+
+// 5.3.3.16
+// AVP: MSC-SM-Delivery-Outcome (3318) 3GPP (10415)
+type AVP_Grouped MSC_SM_Delivery_Outcome;
+
+// 5.3.3.17
+// AVP: SGSN-SM-Delivery-Outcome (3319) 3GPP (10415)
+type AVP_Grouped SGSN_SM_Delivery_Outcome;
+
+// 5.3.3.18
+// AVP: IP-SM-GW-SM-Delivery-Outcome (3320) 3GPP (10415)
+type AVP_Grouped IP_SM_GW_SM_Delivery_Outcome;
+
+// 5.3.3.19
+// AVP: SM-Delivery-Cause (3321) 3GPP (10415)
+type enumerated SM_Delivery_Cause
+{
+  UE_MEMORY_CAPACITY_EXCEEDED (0),
+  ABSENT_USER (1),
+  SUCCESSFUL_TRANSFER (2)
+}
+
+// 5.3.3.20
+// AVP: Absent-User-Diagnostic-SM (3322) 3GPP (10415)
+type AVP_Unsigned32 Absent_User_Diagnostic_SM;
+
+// 5.3.3.21
+// AVP: RDR-Flags (3323) 3GPP (10415)
+type AVP_Unsigned32 RDR_Flags;
+
+// 5.3.3.22
+// AVP: Maximum-UE-Availability-Time (3329) 3GPP (10415)
+type AVP_Time Maximum_UE_Availability_Time;
+
+// 5.3.3.23
+// AVP: SMS-GMSC-Alert-Event (3333) 3GPP (10415)
+type AVP_Unsigned32 SMS_GMSC_Alert_Event;
+
diff --git a/src/S9Interface_3GPP_TS29215_b40.ddf b/src/S9Interface_3GPP_TS29215_b40.ddf
index 3247f91..29a95a0 100644
--- a/src/S9Interface_3GPP_TS29215_b40.ddf
+++ b/src/S9Interface_3GPP_TS29215_b40.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               S9Interface_3GPP_TS29215_b40.ddf
 //  Description:        DDF for S9 according to 3GPP TS 29.215 V11.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/SGdGddInterface_3GPP_TS29338_f00.ddf b/src/SGdGddInterface_3GPP_TS29338_f00.ddf
new file mode 100644
index 0000000..7611810
--- /dev/null
+++ b/src/SGdGddInterface_3GPP_TS29338_f00.ddf
@@ -0,0 +1,99 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder
+******************************************************************************/
+//
+//  File:               SGdGddInterface_3GPP_TS29338_f00.ddf
+//  Description:        DDF for SGd/Gdd Interface according to 3GPP TS 29.338 V15.0.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: SGdGdd
+// APPLICATION-REVISION: V15_0_0
+
+// 5.3.2.2
+type enumerated Command_Code 
+{
+  MO_Forward_Short_Message (8388645),
+  MT_Forward_Short_Message (8388646)
+}
+
+// 5.3.3.2
+// AVP: SC-Address (3300) 3GPP (10415)
+type AVP_OctetString SC_Address;
+
+// 5.3.3.3
+// AVP: SM-RP-UI (3301) 3GPP (10415)
+type AVP_OctetString SM_RP_UI;
+
+// 5.3.3.4
+// AVP: TFR-Flags (3302) 3GPP (10415)
+type AVP_Unsigned32 TFR_Flags;
+
+// 5.3.3.5
+// AVP: SM-Delivery-Failure-Cause (3303) 3GPP (10415)
+type AVP_Grouped SM_Delivery_Failure_Cause;
+
+// 5.3.3.6
+// AVP: SM-Enumerated-Delivery-Failure-Cause (3304) 3GPP (10415)
+type enumerated SM_Enumerated_Delivery_Failure_Cause
+{
+  MEMORY_CAPACITY_EXCEEDED  (0),
+  EQUIPMENT_PROTOCOL_ERROR  (1),
+  EQUIPMENT_NOT_SM_EQUIPPED (2),
+  UNKNOWN_SERVICE_CENTRE    (3),
+  SC_CONGESTION             (4),
+  INVALID_SME_ADDRESS       (5),
+  USER_NOT_SC_USER          (6)
+}
+
+// 5.3.3.7
+// AVP: SM-Diagnostic-Info (3305) 3GPP (10415)
+type AVP_OctetString SM_Diagnostic_Info;
+
+// 5.3.3.10
+// AVP: SM-Delivery-Timer (3306) 3GPP (10415)
+type AVP_Unsigned32 SM_Delivery_Timer;
+
+// 5.3.3.11
+// AVP: SM-Delivery-Start-Time (3307) 3GPP (10415)
+type AVP_Time SM_Delivery_Start_Time;
+
+// 5.3.3.13
+// AVP: SMSMI-Correlation-ID (3324) 3GPP (10415)
+type AVP_Grouped SMSMI_Correlation_ID;
+
+// 5.3.3.14
+// AVP: HSS-ID (3325) 3GPP (10415)
+type AVP_OctetString HSS_ID;
+
+// 5.3.3.15
+// AVP: Originating-SIP-URI (3326) 3GPP (10415)
+type AVP_UTF8String Originating_SIP_URI;
+
+// 5.3.3.16
+// AVP: Destination-SIP-URI (3327) 3GPP (10415)
+type AVP_UTF8String Destination_SIP_URI;
+
+// 5.3.3.12
+// AVP: OFR-Flags (3328) 3GPP (10415)
+type AVP_Unsigned32 OFR_Flags;
+
+// 5.3.3.17
+// AVP: Maximum-Retransmission-Time (3330) 3GPP (10415)
+type AVP_Time Maximum_Retransmission_Time;
+
+// 5.3.3.18
+// AVP: Requested-Retransmission-Time (3331) 3GPP (10415)
+type AVP_Time Requested_Retransmission_Time;
+
+// 5.3.3.19
+// AVP: SMS-GMSC-Address (3332) 3GPP (10415)
+type AVP_OctetString SMS_GMSC_Address;
diff --git a/src/SGmbInterface_3GPP_TS29061_940.ddf b/src/SGmbInterface_3GPP_TS29061_940.ddf
index ed752f4..9367c2f 100644
--- a/src/SGmbInterface_3GPP_TS29061_940.ddf
+++ b/src/SGmbInterface_3GPP_TS29061_940.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               SGmbInterface_3GPP_TS29061_940.ddf
 //  Description:        DDF for SGmb according to 3GPP TS 29.061 V9.4.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/SGmbInterface_3GPP_TS29061_980.ddf b/src/SGmbInterface_3GPP_TS29061_980.ddf
index 2454cc3..29dd351 100644
--- a/src/SGmbInterface_3GPP_TS29061_980.ddf
+++ b/src/SGmbInterface_3GPP_TS29061_980.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               SGmbInterface_3GPP_TS29061_980.ddf
 //  Description:        DDF for SGmb according to 3GPP TS 29.061 V9.8.0
-//  Rev:                R40A
+//  Rev:                R13A04
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/SGmbInterface_3GPP_TS29061_b90.ddf b/src/SGmbInterface_3GPP_TS29061_b90.ddf
index c4059c3..65050a8 100644
--- a/src/SGmbInterface_3GPP_TS29061_b90.ddf
+++ b/src/SGmbInterface_3GPP_TS29061_b90.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               SGmbInterface_3GPP_TS29061_b90.ddf
 //  Description:        DDF for SGmb according to 3GPP TS 29.061 V11.9.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/SGmbInterface_3GPP_TS29061_d70.ddf b/src/SGmbInterface_3GPP_TS29061_d70.ddf
new file mode 100644
index 0000000..7f96a75
--- /dev/null
+++ b/src/SGmbInterface_3GPP_TS29061_d70.ddf
@@ -0,0 +1,91 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Máté Kovács
+******************************************************************************/
+//
+//  File:               SGmbInterface_3GPP_TS29061_d70.ddf
+//  Description:        DDF for SGmb according to 3GPP TS 29.061 V13.7.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: SGMB
+// APPLICATION-REVISION: V13_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V13.7.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Access-Indicator (923) 3GPP (10415)
+// 20.5a.1
+type enumerated MBMS_Access_Indicator
+{
+  UTRAN                 (0),
+  E_UTRAN               (1),
+  UTRAN_AND_E_UTRAN     (2)
+}
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-GW-SSM-IP-Address (924) 3GPP (10415)
+// 20.5a.2
+type AVP_OctetString MBMS_GW_SSM_IP_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-GW-SSM-IPv6-Address (925) 3GPP (10415)
+// 20.5a.3
+type AVP_OctetString MBMS_GW_SSM_IPv6_Address;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-BMSC-SSM-UDP-Port (926) 3GPP (10415)
+// 20.5a.4
+type AVP_OctetString MBMS_BMSC_SSM_UDP_Port;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-GW-UDP-Port (927) 3GPP (10415)
+// 20.5a.5
+type AVP_OctetString MBMS_GW_UDP_Port;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-GW-UDP-Port-Indicator (928) 3GPP (10415) 
+// 20.5a.6
+type enumerated MBMS_GW_UDP_Port_Indicator
+{
+  UDP_PORT_REQUIRED (1)
+}
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Data-Transfer-Start (929) 3GPP (10415)
+// 20.5a.7
+type AVP_Unsigned64 MBMS_Data_Transfer_Start;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Data-Transfer-Stop (930) 3GPP (10415)
+// 20.5a.8
+type AVP_Unsigned64 MBMS_Data_Transfer_Stop;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Flag (931) 3GPP (10415)
+// 20.5a.9
+type AVP_Unsigned32 MBMS_Flag;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: Restart-Counter (932) 3GPP (10415)
+// 20.5a.10
+type AVP_Unsigned32 Restart_Counter;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: Diagnostic-Info (933) 3GPP (10415)
+// 20.5a.11
+type AVP_Unsigned32 Diagnostic_Info;
+
+// 3GPP TS 29.061 V13.7.0
+// AVP: MBMS-Cell-List (934) 3GPP (10415)
+// 20.5a.12
+type AVP_OctetString MBMS_Cell_List;
\ No newline at end of file
diff --git a/src/SKT_Specific_AVPs.ddf b/src/SKT_Specific_AVPs.ddf
index bb9265c..28061e9 100644
--- a/src/SKT_Specific_AVPs.ddf
+++ b/src/SKT_Specific_AVPs.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               SKT_Specific_AVPs.ddf
 //  Description:        SKT Specific AVP definitions
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 
 
@@ -25,3 +25,11 @@
 // Zone-Info 
 // AVP: Zone-Info (9104) SKT (5806)
 type AVP_UTF8String Zone_Info;
+
+// Quota-Noti
+// AVP: Quota-Noti (9105) SKT (5806)
+type AVP_UTF8String Quota_Noti;
+
+// Win-Service-Type
+// AVP: Win-Service-Type (10002) SKT (5806)
+type AVP_Unsigned32 Win_Service_Type;
diff --git a/src/SLgInterface_3GPP_TS29172_d10.ddf b/src/SLgInterface_3GPP_TS29172_d10.ddf
index aac1b1f..c9dd272 100644
--- a/src/SLgInterface_3GPP_TS29172_d10.ddf
+++ b/src/SLgInterface_3GPP_TS29172_d10.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               SLgInterface_3GPP_TS29172_d10.ddf
 //  Description:        DDF for SLg according to 3GPP TS 29.172 d.1.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/SLhInterface_3GPP_TS29173_d00.ddf b/src/SLhInterface_3GPP_TS29173_d00.ddf
index 57256b8..322ee16 100644
--- a/src/SLhInterface_3GPP_TS29173_d00.ddf
+++ b/src/SLhInterface_3GPP_TS29173_d00.ddf
@@ -11,7 +11,7 @@
 //
 //  File:               SLhInterface_3GPP_TS29173_d00.ddf
 //  Description:        DDF for SLh according to 3GPP TS 29.173 d.0.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ShInterface_3GPP_TS29329_620.ddf b/src/ShInterface_3GPP_TS29329_620.ddf
index 1d76a99..e49954c 100644
--- a/src/ShInterface_3GPP_TS29329_620.ddf
+++ b/src/ShInterface_3GPP_TS29329_620.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ShInterface_3GPP_TS29329_620.ddf
 //  Description:        DDF for Sh Interface according to 3GPP 29.329 v6.2.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ShInterface_3GPP_TS29329_750.ddf b/src/ShInterface_3GPP_TS29329_750.ddf
index 10c10e0..1a9c21c 100644
--- a/src/ShInterface_3GPP_TS29329_750.ddf
+++ b/src/ShInterface_3GPP_TS29329_750.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ShInterface_3GPP_TS29329_750.ddf
 //  Description:        DDF for Sh Interface according to 3GPP 29.329 v7.5.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ShInterface_3GPP_TS29329_820.ddf b/src/ShInterface_3GPP_TS29329_820.ddf
index c1bb8eb..0a9adac 100644
--- a/src/ShInterface_3GPP_TS29329_820.ddf
+++ b/src/ShInterface_3GPP_TS29329_820.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ShInterface_3GPP_TS29329_820.ddf
 //  Description:        DDF for Sh Interface according to 3GPP 29.329 v8.2.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ShInterface_3GPP_TS29329_a30.ddf b/src/ShInterface_3GPP_TS29329_a30.ddf
index 4ad65a9..bc500d5 100644
--- a/src/ShInterface_3GPP_TS29329_a30.ddf
+++ b/src/ShInterface_3GPP_TS29329_a30.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ShInterface_3GPP_TS29329_a30.ddf
 //  Description:        DDF for Sh Interface according to 3GPP 29.329 v10.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/ShInterface_3GPP_TS29329_a50.ddf b/src/ShInterface_3GPP_TS29329_a50.ddf
index 94f4419..c7b428c 100644
--- a/src/ShInterface_3GPP_TS29329_a50.ddf
+++ b/src/ShInterface_3GPP_TS29329_a50.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               ShInterface_3GPP_TS29329_a50.ddf
 //  Description:        DDF for Sh Interface according to 3GPP 29.329 v10.5.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/SyInterface_3GPP_TS29219_b30.ddf b/src/SyInterface_3GPP_TS29219_b30.ddf
index 9df4c5d..026aceb 100644
--- a/src/SyInterface_3GPP_TS29219_b30.ddf
+++ b/src/SyInterface_3GPP_TS29219_b30.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               SyInterface_3GPP_TS29219_b30.ddf
 //  Description:        DDF for Sy Interface according to 3GPP 29.219 v11.3.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/T6Interfaces_3GPP_TS29128_f00.ddf b/src/T6Interfaces_3GPP_TS29128_f00.ddf
new file mode 100644
index 0000000..ea8f264
--- /dev/null
+++ b/src/T6Interfaces_3GPP_TS29128_f00.ddf
@@ -0,0 +1,130 @@
+/******************************************************************************
+* Copyright (c) 2004, 2017  Ericsson AB
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Timea Moder
+******************************************************************************/
+//
+//  File:               T6Interfaces_3GPP_TS29128_f00.ddf
+//  Description:        DDF for T6a and T6b Interfaces according to 3GPP TS 29.128 V15.0.0
+//  Rev:                R55A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: T6
+// APPLICATION-REVISION: V15_0_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.128 V15.0.0 - Mobility Management Entity (MME) and Serving GPRS Support Node (SGSN) interfaces for interworking with packet data networks and applications
+
+// 8.2.2
+type enumerated Command_Code 
+{
+  Connection_Management (8388732),
+  MO_Data               (8388733),
+  MT_Data               (8388734)
+}
+
+// 6.4.4
+// AVP: Communication-Failure-Information (4300) 3GPP (10415)
+type AVP_Grouped Communication_Failure_Information;
+
+// 6.4.5
+// AVP: Cause-Type (4301) 3GPP (10415)
+type AVP_Unsigned32 Cause_Type;
+
+// 6.4.6
+// AVP: S1AP-Cause (4302) 3GPP (10415)
+type AVP_Unsigned32 S1AP_Cause;
+
+// 6.4.7
+// AVP: RANAP-Cause (4303) 3GPP (10415)
+type AVP_Unsigned32 RANAP_Cause;
+
+// 6.4.8
+// AVP: BSSGP-Cause (4309) 3GPP (10415)
+type AVP_Unsigned32 BSSGP_Cause;
+
+// 6.4.9
+// AVP: GMM-Cause (4304) 3GPP (10415)
+type AVP_Unsigned32 GMM_Cause;
+
+// 6.4.10
+// AVP: SM-Cause (4305) 3GPP (10415)
+type AVP_Unsigned32 SM_Cause;
+
+// 6.4.11
+// AVP: Number-Of-UE-Per-Location-Configuration (4306) 3GPP (10415)
+type AVP_Grouped Number_Of_UE_Per_Location_Configuration;
+
+// 6.4.12
+// AVP: Number-Of-UE-Per-Location-Report (4307) 3GPP (10415)
+type AVP_Grouped Number_Of_UE_Per_Location_Report;
+
+// 6.4.13
+// AVP: UE-Count (4308) 3GPP (10415)
+type AVP_Unsigned32 UE_Count;
+
+// 6.4.18
+// AVP: Connection-Action (4314) 3GPP (10415)
+type AVP_Unsigned32 Connection_Action;
+
+// 6.4.19
+// AVP: Non-IP-Data (4315) 3GPP (10415)
+type AVP_OctetString Non_IP_Data;
+
+// 6.4.21
+// AVP: Serving-PLMN-Rate-Control (4310) 3GPP (10415)
+type AVP_Grouped Serving_PLMN_Rate_Control;
+
+// 6.4.23
+// AVP: Uplink-Rate-Limit (4311) 3GPP (10415)
+type AVP_Unsigned32 Uplink_Rate_Limit;
+
+// 6.4.22
+// AVP: Downlink-Rate-Limit (4312) 3GPP (10415)
+type AVP_Unsigned32 Downlink_Rate_Limit;
+
+// 6.4.26
+// AVP: Extended-PCO (4313) 3GPP (10415)
+type AVP_OctetString Extended_PCO;
+
+// 6.4.24
+// AVP: SCEF-Wait-Time (4316) 3GPP (10415)
+type AVP_Time SCEF_Wait_Time;
+
+// 6.4.25
+// AVP: CMR-Flags (4317) 3GPP (10415)
+type AVP_Unsigned32 CMR_Flags;
+
+// 6.4.27
+// AVP: RRC-Cause-Counter (4318) 3GPP (10415)
+type AVP_Grouped RRC_Cause_Counter;
+
+// 6.4.28
+// AVP: Counter-Value (4319) 3GPP (10415)
+type AVP_Unsigned32 Counter_Value;
+
+// 6.4.29
+// AVP: RRC-Counter-Timestamp (4320) 3GPP (10415)
+type AVP_Time RRC_Counter_Timestamp;
+
+// 6.4.31
+// AVP: TDA-Flags (4321) 3GPP (10415)
+type AVP_Unsigned32 TDA_Flags;
+
+// 6.4.32
+// AVP: Idle-Status-Indication (4322) 3GPP (10415)
+type AVP_Grouped Idle_Status_Indication;
+
+// 6.4.33
+// AVP: Idle-Status-Timestamp (4323) 3GPP (10415)
+type AVP_Time Idle_Status_Timestamp;
+
+// 6.4.34
+// AVP: Active-Time (4324) 3GPP (10415)
+type AVP_Unsigned32 Active_Time;
diff --git a/src/TCOM_Specific_AVPs.ddf b/src/TCOM_Specific_AVPs.ddf
index 193055a..ece8125 100644
--- a/src/TCOM_Specific_AVPs.ddf
+++ b/src/TCOM_Specific_AVPs.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               TCOM_Specific_AVPs.ddf
 //  Description:        T-COM specific AVP definitions
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/Verizon_Specific_AVPs.ddf b/src/Verizon_Specific_AVPs.ddf
index 5f2c148..a48b7ae 100644
--- a/src/Verizon_Specific_AVPs.ddf
+++ b/src/Verizon_Specific_AVPs.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               Verizon_Specific_AVPs.ddf
 //  Description:        Verizon specific AVP definitions
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
@@ -71,3 +71,11 @@ type AVP_Unsigned32 Self_Activation_Status;
 // Verizon PGW-Relocation-Indication
 // AVP: PGW-Relocation-Indication (6114) Verizon (12951)
 type AVP_Grouped PGW_Relocation_Indication;
+
+// Verizon Origination-TimeStamp
+// AVP: Origination-TimeStamp (7102) Verizon (12951)
+type AVP_Unsigned64 Origination_TimeStamp;
+
+// Verizon Max-Wait-Time
+// AVP: Max-Wait-Time (7103) Verizon (12951)
+type AVP_Unsigned32 Max_Wait_Time;
diff --git a/src/Vimpelcom_Specific.ddf b/src/Vimpelcom_Specific.ddf
index e6af6c0..4a3e6ce 100644
--- a/src/Vimpelcom_Specific.ddf
+++ b/src/Vimpelcom_Specific.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               Vimpelcom_Specific.ddf
 //  Description:        Vimpelcom specific AVPs
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
@@ -69,4 +69,9 @@ type AVP_Unsigned32 TOA_Adapt_Status;
 // AVP: TOA-Opt-Status (667) Vimpelcom_toa (50001)
 type AVP_Unsigned32 TOA_Opt_Status;
 
+// AVP: DPI-Specific-Flow-Id (668) Vimpelcom_sadpi (50000)
+type AVP_OctetString DPI_Specific_Flow_Id;
+
+// AVP: DPI-Flow-Info (669) Vimpelcom_sadpi (50000)
+type AVP_Grouped DPI_Flow_Info;
 
diff --git a/src/Vodafone_Specific.ddf b/src/Vodafone_Specific.ddf
index 082b87b..d717cde 100644
--- a/src/Vodafone_Specific.ddf
+++ b/src/Vodafone_Specific.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               Vodafone_Specific.ddf
 //  Description:        Vodafone specific AVPs
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/WgInterface_3GPP_TS29234_910.ddf b/src/WgInterface_3GPP_TS29234_910.ddf
index 331e2b4..2e2fa17 100644
--- a/src/WgInterface_3GPP_TS29234_910.ddf
+++ b/src/WgInterface_3GPP_TS29234_910.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               WgInterface_3GPP_TS29234_910.ddf
 //  Description:        DDF for 3GPP to WLAN interworking according to 3GPP TS 29.234 V9.1.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/a2Interface_ETSI_ES183059_1_211.ddf b/src/a2Interface_ETSI_ES183059_1_211.ddf
index aab6565..40ae1fb 100644
--- a/src/a2Interface_ETSI_ES183059_1_211.ddf
+++ b/src/a2Interface_ETSI_ES183059_1_211.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               a2Interface_ETSI_ES183059_1_211.ddf
 //  Description:        DDF for a2 Interface according to ETSI ES 183 059-1 V2.1.1
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/a4Interface_ETSI_ES183066_211.ddf b/src/a4Interface_ETSI_ES183066_211.ddf
index 23bc082..e846662 100644
--- a/src/a4Interface_ETSI_ES183066_211.ddf
+++ b/src/a4Interface_ETSI_ES183066_211.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               a4Interface_ETSI_ES183066_211.ddf
 //  Description:        DDF for a4 Interface according to ETSI ES 183 066 V2.1.1
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/e2Interface_ETSI_ES283035_121.ddf b/src/e2Interface_ETSI_ES283035_121.ddf
index d047526..ec52295 100644
--- a/src/e2Interface_ETSI_ES283035_121.ddf
+++ b/src/e2Interface_ETSI_ES283035_121.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               e2Interface_ETSI_ES283035_121.ddf
 //  Description:        DDF for e2 Interface according to ETSI ES 283 035 V1.2.1
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
diff --git a/src/e4Interface_ETSI_ES283034_220.ddf b/src/e4Interface_ETSI_ES283034_220.ddf
index c085f83..e3e138f 100644
--- a/src/e4Interface_ETSI_ES283034_220.ddf
+++ b/src/e4Interface_ETSI_ES283034_220.ddf
@@ -37,7 +37,7 @@
 //
 //  File:               e4Interface_ETSI_ES283034_220.ddf
 //  Description:        DDF for e4 Interface according to ETSI ES 283 034 V2.2.0
-//  Rev:                R40A
+//  Rev:                R55A
 //  Prodnr:             CNL 113 462
 ///////////////////////////////////////////////
 
-- 
GitLab