fixup
diff --git a/dia/diameter_3gpp_ts29_273.dia b/dia/diameter_3gpp_ts29_273.dia
deleted file mode 100644
index ab42e5d..0000000
--- a/dia/diameter_3gpp_ts29_273.dia
+++ /dev/null
@@ -1,321 +0,0 @@
-;;
-;; %CopyrightBegin%
-;;
-;; Copyright (C) 2019 by Harald Welte. All Rights Reserved.
-;;
-;; This resembles 3GPP TS 29.273 version 15.3.0 Release 15
-;;
-;; Licensed under the Apache License, Version 2.0 (the "License");
-;; you may not use this file except in compliance with the License.
-;; You may obtain a copy of the License at
-;;
-;;     http://www.apache.org/licenses/LICENSE-2.0
-;;
-;; Unless required by applicable law or agreed to in writing, software
-;; distributed under the License is distributed on an "AS IS" BASIS,
-;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-;; See the License for the specific language governing permissions and
-;; limitations under the License.
-;;
-;; %CopyrightEnd%
-;;
-
-;;
-;; Edits:
-;;
-;;
-
-@id     16777250
-@name   diameter_3gpp_ts29_273
-@prefix diameter_aaa
-@vendor 10415 3GPP
-
-@inherits diameter_gen_base_rfc6733
-@inherits diameter_rfc4005_nasreq
-@inherits diameter_rfc4006_cc
-@inherits diameter_3gpp_base
-@inherits diameter_etsi_es283_034
-;; @inherits diameter_3gpp_ts29_061_gmb
-;; @inherits diameter_3gpp_ts29_214
-@inherits diameter_3gpp_ts29_229
-@inherits diameter_3gpp_ts32_299
-
-@inherits diameter_rfc7944
-@inherits diameter_rfc7683
-@inherits diameter_rfc6942
-@inherits diameter_rfc4072
-@inherits diameter_rfc6734
-@inherits diameter_3gpp_break_circles
-;;@inherits diameter_rfc5778
-;;@inherits diameter_3gpp_ts29_212
-
-@avp_types
-
-	MIP6-Feature-Vector		124	Unsigned64	M
-	Service-Selection		493	UTF8String	M
-	Mobile-Node-Identifier		506	UTF8String	M
-	QoS-Capability			578	Grouped		M
-	RAT-Type			1032	Enumerated	MV
-	APN-Configuration		1430	Grouped		MV
-	ANID				1504	UTF8String	MV
-	Trace-Info			1505	Grouped		V
-	AN-Trusted			1503	Enumerated	MV
-	MIP-FA-RK			1506	OctetString	MV
-	MIP-FA-RK-SPI			1507	Unsigned32	MV
-	PPR-Flags			1508	Unsigned32	V
-	WLAN-Identifier			1509	Grouped		V
-	TWAN-Access-Info		1510	Grouped		V
-	Access-Authorization-Flags	1511	Unsigned32	V
-	TWAN-Default-APN-Context-Id	1512	Unsigned32	V
-	Full-Network-Name		1516	OctetString	V
-	Short-Network-Name		1517	OctetString	V
-	AAA-Failure-Indication		1518	Unsigned32	V
-	Transport-Access-Type		1519	Enumerated	V
-	DER-Flags			1520	Unsigned32	V
-	DEA-Flags			1521	Unsigned32	V
-	SSID				1524	UTF8String	V
-	HESSID				1525	UTF8String	V
-	Access-Network-Info		1526	Grouped		V
-	TWAN-Connection-Mode		1527	Unsigned32	V
-	TWAN-Connectivity-Parameters	1528	Grouped		V
-	Connectivity-Flags		1529	Unsigned32	V
-	TWAN-PCO			1530	OctetString	V
-	TWAG-CP-Address			1531	Address		V
-	TWAG-UG-Address			1532	UTF8String	V
-	TWAN-S2a-Failure-Cause		1533	Unsigned32	V
-	SM-Back-Off-Timer		1534	Unsigned32	V
-	WLCP-Key			1535	OctetString	V
-	Emergency-Services		1538	Unsigned32	V
-	IMEI-Check-In-VPLMN-Result	1540	Unsigned32	V
-
-@messages
-
-	;; 5.2.2.1.1 Diameter-EAP-Request (DER) Command 
-	DER ::= < Diameter Header: 268, REQ, PXY >
-		< Session-Id >
-		{ Auth-Application-Id }
-		{ Origin-Host }
-		{ Origin-Realm }
-		{ Destination-Realm }
-		{ Auth-Request-Type }
-		{ EAP-Payload }
-		[ DRMP ]
-		[ Destination-Host ]
-		[ User-Name ]
-		[ Calling-Station-Id ]
-		[ RAT-Type ]
-		[ ANID ]
-		[ Full-Network-Name ]
-		[ Short-Network-Name ]
-		[ QoS-Capability ]
-		[ MIP6-Feature-Vector ]
-		[ Visited-Network-Identifier ]
-		[ Service-Selection ]
-		[ Terminal-Information ]
-		[ OC-Supported-Features ]
-		*[ Supported-Features ]
-		[ AAA-Failure-Indication ]
-		[ WLAN-Identifier ]
-		[ DER-Flags ]
-		[ TWAN-Connection-Mode ]
-		[ TWAN-Connectivity-Parameters ]
-		* 2 [ TWAG-CP-Address ]
-		[ ERP-RK-Request ]
-		*[ AVP ] 
-
-	;; 5.2.2.1.2 Diameter-EAP-Answer (DEA) Command 
-	DEA ::= < Diameter Header: 268, PXY >
-		< Session-Id >
-		{ Auth-Application-Id }
-		{ Result-Code }
-		{ Origin-Host }
-		{ Origin-Realm }
-		{ Auth-Request-Type } 
-		[ DRMP ]
-		[ Experimental-Result ]
-		[ EAP-Payload ]
-		[ User-Name ]
-		[ Session-Timeout ]
-		[ Accoting-Interim-Interval ]
-		[ EAP-Master-Session-Key ]
-		[ Context-Identifier ]
-		[ APN-OI-Replacement ]
-		*[ APN-Configuration ]
-		[MIP6-Agent-Info ]
-		[ MIP6-Feature-Vector ]
-		[ Mobile-Node-Identifier ]
-		[ 3GPP-Charging-Characteristics ]
-		[ AMBR ]
-		*[ Redirect-Host ]
-		[ AN-Trusted ]
-		[ Trace-Info ]
-		[ Subscription-Id ]
-		[ OC-Supported-Features ]
-		[ OC-OLR ]
-		;;*[ Load ]
-		*[ Supported-Features ]
-		[ MIP-FA-RK ]
-		[ MIP-FA-RK-SPI ]
-		[ NSWO-Authorization ]
-		[ DEA-Flags ]
-		[ TWAN-Connection-Mode ]
-		[ TWAN-Connectivity-Parameters ]
-		[ WLCP-Key ]
-		[ Terminal-Information ]
-		[ UE-Usage-Type ]
-		[ Emergency-Services ]
-		[ Emergency-Info ]
-		[ Key ]
-		[ ERP-Realm ]
-		*[ AVP ] 
-
-	;; 5.2.2.2.1 Abort-Session-Request
-	ASR ::= < Diameter Header: 274, REQ, PXY >
-		< Session-Id >
-		{ Origin-Host }
-		{ Origin-Realm }
-		{ Destination-Realm }
-		{ Destination-Host }
-		{ Auth-Application-Id }
-		[ DRMP ]
-		[ User-Name ]
-		[ Auth-Session-State ]
-		*[ AVP ] 
-
-	;; 5.2.2.2.2 Abort-Session-Answer
-	ASA ::= < Diameter Header: 274, PXY >
-		< Session-Id >
-		{ Result-Code }
-		{ Origin-Host }
-		{ Origin-Realm }
-		[ DRMP ]
-		*[ AVP ] 
-
-	;; 5.2.2.2.3 Session-Termination-Request
-	STR ::= < Diameter Header: 275, REQ, PXY >
-		< Session-Id >
-		{ Origin-Host }
-		{ Origin-Realm }
-		{ Destination-Realm }
-		{ Auth-Application-Id }
-		{ Termination-Cause }
-		[ DRMP ]
-		[ Destination-Host ]
-		[ User-Name ]
-		[ OC-Supported-Features ]
-		*[ AVP ] 
-
-	;; 5.2.2.2.4 Session-Termination-Answer
-	STA ::= < Diameter Header: 275, PXY >
-		< Session-Id >
-		{ Result-Code }
-		{ Origin-Host }
-		{ Origin-Realm }
-		[ DRMP ]
-		[ OC-Supported-Features ]
-		[ OC-OLR ]
-		;;*[ Load ]
-		*[ AVP ] 
-
-	;; 5.2.2.3.1 Re-Auth-Request
-	RAR ::= < Diameter Header: 258, REQ, PXY >
-		< Session-Id > 
-		{ Origin-Host }
-		{ Origin-Realm }
-		{ Destination-Realm }
-		{ Destination-Host }
-		{ Auth-Application-Id }
-		{ Re-Auth-Request-Type }
-		[ DRMP ]
-		[ User-Name ]
-		*[ AVP ] 
-
-	;; 5.2.2.3.2 Re-Auth-Answer
-	RAA ::= < Diameter Header: 258, PXY >
-		< Session-Id >
-		{ Result-Code }
-		{ Origin-Host }
-		{ Origin-Realm }
-		[ DRMP ]
-		*[ AVP ] 
-
-	;; 5.2.2.3.3 AA-Request
-	AAR ::= < Diameter Header: 265, REQ, PXY >
-		< Session-Id >
-		{ Auth-Application-Id }
-		{ Origin-Host }
-		{ Origin-Realm }
-		{ Destination-Realm }
-		{ Auth-Request-Type }
-		[ DRMP ]
-		[ Destination-Host ]
-		[ User-Name ]
-		[ MIP6-Feature-Vector ]
-		[ Access-Network-Info ]
-		[ Local-Time-Zone ]
-		[ OC-Supported-Features ]
-		*[ AVP ] 
-
-	;; 5.2.2.3.4 AA-Answer
-	AAA ::= < Diameter Header: 265, PXY >
-		< Session-Id >
-		{ Auth-Application-Id }
-		{ Auth-Request-Type }
-		{ Result-Code } 
-		{ Origin-Host }
-		{ Origin-Realm }
-		[ DRMP ]
-		[ Experimental-Result ]
-		[ Session-Timeout ]
-		[ Acct-Interim-Interval ]
-		[ Context-Identifier ]
- 		[ APN-OI-Replacement ]
-		*[ APN-Configuration ]
-		[ 3GPP-Charging-Characteristics ]
-		[ Trace-Info ]
-		[ Subscription-Id ]
-		[ OC-Supported-Features ]
-		[ OC-OLR ]
-		[ UE-Usage-Type ]
-		[ Emergency-Info]
-		;;*[ Load ]
-		*[ AVP ] 
-
-@enum Transport-Acess-Type
-	BBF			0
-
-@enum AN-Trusted
-	TRUSTED			0
-	UNTRUSTED		1
-
-@grouped
-
-WLAN-Identifier ::= < AVP Header: 1509 10415 >
-	[SSID ]
-	[HESSID ]
-	*[ AVP ] 
-
-Access-Network-Info ::= < AVP Header: 1526 10415 >
-	[ SSID ]
-	[ BSSID ]
-	[ Location-Information ]
-	[ Location-Data ]
-	[ Operator-Name ]
-	[ Logical-Access-ID ]
-	*[ AVP ] 
-
-TWAN-Connectivity-Parameters ::= < AVP Header: 1528 10415 >
-	[ Connectivity-Flags ]
-	[ Service-Selection ]
-	[ PDN-Type ]
-	* 2 [ Served-Party-IP-Address ]
-	[ TWAN-PCO ]
-	[ TWAG-UP-Address ]
-	[ TWAN-S2a-Failure-Cause ]
-	[ SM-Back-Off-Timer ]
-	*[ AVP ] 
-
-TWAN-Access-Info::= < AVP Header: 1510 10415 >
-	[ Access-Authorization-Flags ]
-	[ WLAN-Identifier ]
-	*[ AVP ] 
diff --git a/dia/diameter_3gpp_ts32_299.dia b/dia/diameter_3gpp_ts32_299.dia
index 01cc8c1..450896b 100644
--- a/dia/diameter_3gpp_ts32_299.dia
+++ b/dia/diameter_3gpp_ts32_299.dia
@@ -33,6 +33,7 @@
 @inherits diameter_3gpp_ts29_212
 @inherits diameter_3gpp_ts29_214
 @inherits diameter_3gpp_ts29_329
+@inherits diameter_3gpp_ts29_229
 
 ;; ===========================================================================
 
diff --git a/dia/diameter_rfc6942.erl b/dia/diameter_rfc6942.erl
deleted file mode 100644
index 1300ecd..0000000
--- a/dia/diameter_rfc6942.erl
+++ /dev/null
@@ -1,582 +0,0 @@
-%% -------------------------------------------------------------------
-%% This is a generated file.
-%% -------------------------------------------------------------------
-
--module(diameter_rfc6942).
-
--compile({parse_transform, diameter_exprecs}).
-
--compile(nowarn_unused_function).
-
--export_records(['ERP-RK-Request', 'Proxy-Info',
-		 'Failed-AVP', 'Experimental-Result',
-		 'Vendor-Specific-Application-Id']).
-
--record('ERP-RK-Request', {'ERP-Realm', 'AVP' = []}).
-
--record('Proxy-Info',
-	{'Proxy-Host', 'Proxy-State', 'AVP' = []}).
-
--record('Failed-AVP', {'AVP' = []}).
-
--record('Experimental-Result',
-	{'Vendor-Id', 'Experimental-Result-Code'}).
-
--record('Vendor-Specific-Application-Id',
-	{'Vendor-Id', 'Auth-Application-Id' = [],
-	 'Acct-Application-Id' = []}).
-
--export([name/0, id/0, vendor_id/0, vendor_name/0,
-	 decode_avps/3, encode_avps/3, grouped_avp/4, msg_name/2,
-	 msg_header/1, rec2msg/1, msg2rec/1, name2rec/1,
-	 avp_name/2, avp_arity/1, avp_arity/2, avp_header/1,
-	 avp/4, enumerated_avp/3, empty_value/2, dict/0]).
-
--include_lib("diameter/include/diameter.hrl").
-
--include_lib("diameter/include/diameter_gen.hrl").
-
-name() -> diameter_rfc6942.
-
-id() -> 1.
-
-vendor_id() -> erlang:error(undefined).
-
-vendor_name() -> erlang:error(undefined).
-
-msg_name(_, _) -> ''.
-
-msg_header(_) -> erlang:error(badarg).
-
-rec2msg(_) -> erlang:error(badarg).
-
-msg2rec(_) -> erlang:error(badarg).
-
-name2rec('ERP-RK-Request') -> 'ERP-RK-Request';
-name2rec('Proxy-Info') -> 'Proxy-Info';
-name2rec('Failed-AVP') -> 'Failed-AVP';
-name2rec('Experimental-Result') ->
-    'Experimental-Result';
-name2rec('Vendor-Specific-Application-Id') ->
-    'Vendor-Specific-Application-Id';
-name2rec(T) -> msg2rec(T).
-
-avp_name(618, undefined) ->
-    {'ERP-RK-Request', 'Grouped'};
-avp_name(619, undefined) ->
-    {'ERP-Realm', 'DiameterIdentity'};
-avp_name(483, undefined) ->
-    {'Accounting-Realtime-Required', 'Enumerated'};
-avp_name(485, undefined) ->
-    {'Accounting-Record-Number', 'Unsigned32'};
-avp_name(480, undefined) ->
-    {'Accounting-Record-Type', 'Enumerated'};
-avp_name(287, undefined) ->
-    {'Accounting-Sub-Session-Id', 'Unsigned64'};
-avp_name(259, undefined) ->
-    {'Acct-Application-Id', 'Unsigned32'};
-avp_name(85, undefined) ->
-    {'Acct-Interim-Interval', 'Unsigned32'};
-avp_name(50, undefined) ->
-    {'Acct-Multi-Session-Id', 'UTF8String'};
-avp_name(44, undefined) ->
-    {'Acct-Session-Id', 'OctetString'};
-avp_name(258, undefined) ->
-    {'Auth-Application-Id', 'Unsigned32'};
-avp_name(276, undefined) ->
-    {'Auth-Grace-Period', 'Unsigned32'};
-avp_name(274, undefined) ->
-    {'Auth-Request-Type', 'Enumerated'};
-avp_name(277, undefined) ->
-    {'Auth-Session-State', 'Enumerated'};
-avp_name(291, undefined) ->
-    {'Authorization-Lifetime', 'Unsigned32'};
-avp_name(25, undefined) -> {'Class', 'OctetString'};
-avp_name(293, undefined) ->
-    {'Destination-Host', 'DiameterIdentity'};
-avp_name(283, undefined) ->
-    {'Destination-Realm', 'DiameterIdentity'};
-avp_name(273, undefined) ->
-    {'Disconnect-Cause', 'Enumerated'};
-avp_name(281, undefined) ->
-    {'Error-Message', 'UTF8String'};
-avp_name(294, undefined) ->
-    {'Error-Reporting-Host', 'DiameterIdentity'};
-avp_name(55, undefined) -> {'Event-Timestamp', 'Time'};
-avp_name(297, undefined) ->
-    {'Experimental-Result', 'Grouped'};
-avp_name(298, undefined) ->
-    {'Experimental-Result-Code', 'Unsigned32'};
-avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'};
-avp_name(267, undefined) ->
-    {'Firmware-Revision', 'Unsigned32'};
-avp_name(257, undefined) ->
-    {'Host-IP-Address', 'Address'};
-avp_name(299, undefined) ->
-    {'Inband-Security-Id', 'Unsigned32'};
-avp_name(272, undefined) ->
-    {'Multi-Round-Time-Out', 'Unsigned32'};
-avp_name(264, undefined) ->
-    {'Origin-Host', 'DiameterIdentity'};
-avp_name(296, undefined) ->
-    {'Origin-Realm', 'DiameterIdentity'};
-avp_name(278, undefined) ->
-    {'Origin-State-Id', 'Unsigned32'};
-avp_name(269, undefined) ->
-    {'Product-Name', 'UTF8String'};
-avp_name(280, undefined) ->
-    {'Proxy-Host', 'DiameterIdentity'};
-avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'};
-avp_name(33, undefined) ->
-    {'Proxy-State', 'OctetString'};
-avp_name(285, undefined) ->
-    {'Re-Auth-Request-Type', 'Enumerated'};
-avp_name(292, undefined) ->
-    {'Redirect-Host', 'DiameterURI'};
-avp_name(261, undefined) ->
-    {'Redirect-Host-Usage', 'Enumerated'};
-avp_name(262, undefined) ->
-    {'Redirect-Max-Cache-Time', 'Unsigned32'};
-avp_name(268, undefined) ->
-    {'Result-Code', 'Unsigned32'};
-avp_name(282, undefined) ->
-    {'Route-Record', 'DiameterIdentity'};
-avp_name(270, undefined) ->
-    {'Session-Binding', 'Unsigned32'};
-avp_name(263, undefined) ->
-    {'Session-Id', 'UTF8String'};
-avp_name(271, undefined) ->
-    {'Session-Server-Failover', 'Enumerated'};
-avp_name(27, undefined) ->
-    {'Session-Timeout', 'Unsigned32'};
-avp_name(265, undefined) ->
-    {'Supported-Vendor-Id', 'Unsigned32'};
-avp_name(295, undefined) ->
-    {'Termination-Cause', 'Enumerated'};
-avp_name(1, undefined) -> {'User-Name', 'UTF8String'};
-avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'};
-avp_name(260, undefined) ->
-    {'Vendor-Specific-Application-Id', 'Grouped'};
-avp_name(_, _) -> 'AVP'.
-
-avp_arity('ERP-RK-Request') ->
-    [{'ERP-Realm', 1}, {'AVP', {0, '*'}}];
-avp_arity('Proxy-Info') ->
-    [{'Proxy-Host', 1}, {'Proxy-State', 1},
-     {'AVP', {0, '*'}}];
-avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}];
-avp_arity('Experimental-Result') ->
-    [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}];
-avp_arity('Vendor-Specific-Application-Id') ->
-    [{'Vendor-Id', 1}, {'Auth-Application-Id', {0, 1}},
-     {'Acct-Application-Id', {0, 1}}];
-avp_arity(_) -> erlang:error(badarg).
-
-avp_arity('ERP-RK-Request', 'ERP-Realm') -> 1;
-avp_arity('ERP-RK-Request', 'AVP') -> {0, '*'};
-avp_arity('Proxy-Info', 'Proxy-Host') -> 1;
-avp_arity('Proxy-Info', 'Proxy-State') -> 1;
-avp_arity('Proxy-Info', 'AVP') -> {0, '*'};
-avp_arity('Failed-AVP', 'AVP') -> {1, '*'};
-avp_arity('Experimental-Result', 'Vendor-Id') -> 1;
-avp_arity('Experimental-Result',
-	  'Experimental-Result-Code') ->
-    1;
-avp_arity('Vendor-Specific-Application-Id',
-	  'Vendor-Id') ->
-    1;
-avp_arity('Vendor-Specific-Application-Id',
-	  'Auth-Application-Id') ->
-    {0, 1};
-avp_arity('Vendor-Specific-Application-Id',
-	  'Acct-Application-Id') ->
-    {0, 1};
-avp_arity(_, _) -> 0.
-
-avp_header('ERP-RK-Request') -> {618, 0, undefined};
-avp_header('ERP-Realm') -> {619, 0, undefined};
-avp_header('Accounting-Realtime-Required') ->
-    diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required');
-avp_header('Accounting-Record-Number') ->
-    diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number');
-avp_header('Accounting-Record-Type') ->
-    diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type');
-avp_header('Accounting-Sub-Session-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id');
-avp_header('Acct-Application-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Acct-Application-Id');
-avp_header('Acct-Interim-Interval') ->
-    diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval');
-avp_header('Acct-Multi-Session-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id');
-avp_header('Acct-Session-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Acct-Session-Id');
-avp_header('Auth-Application-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Auth-Application-Id');
-avp_header('Auth-Grace-Period') ->
-    diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period');
-avp_header('Auth-Request-Type') ->
-    diameter_gen_base_rfc6733:avp_header('Auth-Request-Type');
-avp_header('Auth-Session-State') ->
-    diameter_gen_base_rfc6733:avp_header('Auth-Session-State');
-avp_header('Authorization-Lifetime') ->
-    diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime');
-avp_header('Class') ->
-    diameter_gen_base_rfc6733:avp_header('Class');
-avp_header('Destination-Host') ->
-    diameter_gen_base_rfc6733:avp_header('Destination-Host');
-avp_header('Destination-Realm') ->
-    diameter_gen_base_rfc6733:avp_header('Destination-Realm');
-avp_header('Disconnect-Cause') ->
-    diameter_gen_base_rfc6733:avp_header('Disconnect-Cause');
-avp_header('Error-Message') ->
-    diameter_gen_base_rfc6733:avp_header('Error-Message');
-avp_header('Error-Reporting-Host') ->
-    diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host');
-avp_header('Event-Timestamp') ->
-    diameter_gen_base_rfc6733:avp_header('Event-Timestamp');
-avp_header('Experimental-Result') ->
-    diameter_gen_base_rfc6733:avp_header('Experimental-Result');
-avp_header('Experimental-Result-Code') ->
-    diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code');
-avp_header('Failed-AVP') ->
-    diameter_gen_base_rfc6733:avp_header('Failed-AVP');
-avp_header('Firmware-Revision') ->
-    diameter_gen_base_rfc6733:avp_header('Firmware-Revision');
-avp_header('Host-IP-Address') ->
-    diameter_gen_base_rfc6733:avp_header('Host-IP-Address');
-avp_header('Inband-Security-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Inband-Security-Id');
-avp_header('Multi-Round-Time-Out') ->
-    diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out');
-avp_header('Origin-Host') ->
-    diameter_gen_base_rfc6733:avp_header('Origin-Host');
-avp_header('Origin-Realm') ->
-    diameter_gen_base_rfc6733:avp_header('Origin-Realm');
-avp_header('Origin-State-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Origin-State-Id');
-avp_header('Product-Name') ->
-    diameter_gen_base_rfc6733:avp_header('Product-Name');
-avp_header('Proxy-Host') ->
-    diameter_gen_base_rfc6733:avp_header('Proxy-Host');
-avp_header('Proxy-Info') ->
-    diameter_gen_base_rfc6733:avp_header('Proxy-Info');
-avp_header('Proxy-State') ->
-    diameter_gen_base_rfc6733:avp_header('Proxy-State');
-avp_header('Re-Auth-Request-Type') ->
-    diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type');
-avp_header('Redirect-Host') ->
-    diameter_gen_base_rfc6733:avp_header('Redirect-Host');
-avp_header('Redirect-Host-Usage') ->
-    diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage');
-avp_header('Redirect-Max-Cache-Time') ->
-    diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time');
-avp_header('Result-Code') ->
-    diameter_gen_base_rfc6733:avp_header('Result-Code');
-avp_header('Route-Record') ->
-    diameter_gen_base_rfc6733:avp_header('Route-Record');
-avp_header('Session-Binding') ->
-    diameter_gen_base_rfc6733:avp_header('Session-Binding');
-avp_header('Session-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Session-Id');
-avp_header('Session-Server-Failover') ->
-    diameter_gen_base_rfc6733:avp_header('Session-Server-Failover');
-avp_header('Session-Timeout') ->
-    diameter_gen_base_rfc6733:avp_header('Session-Timeout');
-avp_header('Supported-Vendor-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id');
-avp_header('Termination-Cause') ->
-    diameter_gen_base_rfc6733:avp_header('Termination-Cause');
-avp_header('User-Name') ->
-    diameter_gen_base_rfc6733:avp_header('User-Name');
-avp_header('Vendor-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Vendor-Id');
-avp_header('Vendor-Specific-Application-Id') ->
-    diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id');
-avp_header(_) -> erlang:error(badarg).
-
-avp(T, Data, 'ERP-RK-Request', Opts) ->
-    grouped_avp(T, 'ERP-RK-Request', Data, Opts);
-avp(T, Data, 'ERP-Realm', Opts) ->
-    diameter_types:'DiameterIdentity'(T, Data, Opts);
-avp(T, Data, 'Accounting-Realtime-Required', Opts) ->
-    avp(T, Data, 'Accounting-Realtime-Required', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Accounting-Record-Number', Opts) ->
-    avp(T, Data, 'Accounting-Record-Number', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Accounting-Record-Type', Opts) ->
-    avp(T, Data, 'Accounting-Record-Type', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Accounting-Sub-Session-Id', Opts) ->
-    avp(T, Data, 'Accounting-Sub-Session-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Acct-Application-Id', Opts) ->
-    avp(T, Data, 'Acct-Application-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Acct-Interim-Interval', Opts) ->
-    avp(T, Data, 'Acct-Interim-Interval', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Acct-Multi-Session-Id', Opts) ->
-    avp(T, Data, 'Acct-Multi-Session-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Acct-Session-Id', Opts) ->
-    avp(T, Data, 'Acct-Session-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Auth-Application-Id', Opts) ->
-    avp(T, Data, 'Auth-Application-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Auth-Grace-Period', Opts) ->
-    avp(T, Data, 'Auth-Grace-Period', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Auth-Request-Type', Opts) ->
-    avp(T, Data, 'Auth-Request-Type', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Auth-Session-State', Opts) ->
-    avp(T, Data, 'Auth-Session-State', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Authorization-Lifetime', Opts) ->
-    avp(T, Data, 'Authorization-Lifetime', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Class', Opts) ->
-    avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733);
-avp(T, Data, 'Destination-Host', Opts) ->
-    avp(T, Data, 'Destination-Host', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Destination-Realm', Opts) ->
-    avp(T, Data, 'Destination-Realm', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Disconnect-Cause', Opts) ->
-    avp(T, Data, 'Disconnect-Cause', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Error-Message', Opts) ->
-    avp(T, Data, 'Error-Message', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Error-Reporting-Host', Opts) ->
-    avp(T, Data, 'Error-Reporting-Host', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Event-Timestamp', Opts) ->
-    avp(T, Data, 'Event-Timestamp', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Experimental-Result', Opts) ->
-    grouped_avp(T, 'Experimental-Result', Data, Opts);
-avp(T, Data, 'Experimental-Result-Code', Opts) ->
-    avp(T, Data, 'Experimental-Result-Code', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Failed-AVP', Opts) ->
-    grouped_avp(T, 'Failed-AVP', Data, Opts);
-avp(T, Data, 'Firmware-Revision', Opts) ->
-    avp(T, Data, 'Firmware-Revision', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Host-IP-Address', Opts) ->
-    avp(T, Data, 'Host-IP-Address', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Inband-Security-Id', Opts) ->
-    avp(T, Data, 'Inband-Security-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Multi-Round-Time-Out', Opts) ->
-    avp(T, Data, 'Multi-Round-Time-Out', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Origin-Host', Opts) ->
-    avp(T, Data, 'Origin-Host', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Origin-Realm', Opts) ->
-    avp(T, Data, 'Origin-Realm', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Origin-State-Id', Opts) ->
-    avp(T, Data, 'Origin-State-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Product-Name', Opts) ->
-    avp(T, Data, 'Product-Name', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Proxy-Host', Opts) ->
-    avp(T, Data, 'Proxy-Host', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Proxy-Info', Opts) ->
-    grouped_avp(T, 'Proxy-Info', Data, Opts);
-avp(T, Data, 'Proxy-State', Opts) ->
-    avp(T, Data, 'Proxy-State', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Re-Auth-Request-Type', Opts) ->
-    avp(T, Data, 'Re-Auth-Request-Type', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Redirect-Host', Opts) ->
-    avp(T, Data, 'Redirect-Host', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Redirect-Host-Usage', Opts) ->
-    avp(T, Data, 'Redirect-Host-Usage', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Redirect-Max-Cache-Time', Opts) ->
-    avp(T, Data, 'Redirect-Max-Cache-Time', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Result-Code', Opts) ->
-    avp(T, Data, 'Result-Code', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Route-Record', Opts) ->
-    avp(T, Data, 'Route-Record', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Session-Binding', Opts) ->
-    avp(T, Data, 'Session-Binding', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Session-Id', Opts) ->
-    avp(T, Data, 'Session-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Session-Server-Failover', Opts) ->
-    avp(T, Data, 'Session-Server-Failover', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Session-Timeout', Opts) ->
-    avp(T, Data, 'Session-Timeout', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Supported-Vendor-Id', Opts) ->
-    avp(T, Data, 'Supported-Vendor-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Termination-Cause', Opts) ->
-    avp(T, Data, 'Termination-Cause', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'User-Name', Opts) ->
-    avp(T, Data, 'User-Name', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Vendor-Id', Opts) ->
-    avp(T, Data, 'Vendor-Id', Opts,
-	diameter_gen_base_rfc6733);
-avp(T, Data, 'Vendor-Specific-Application-Id', Opts) ->
-    grouped_avp(T, 'Vendor-Specific-Application-Id', Data,
-		Opts);
-avp(_, _, _, _) -> erlang:error(badarg).
-
-enumerated_avp(_, _, _) -> erlang:error(badarg).
-
-empty_value('ERP-RK-Request', Opts) ->
-    empty_group('ERP-RK-Request', Opts);
-empty_value('Proxy-Info', Opts) ->
-    empty_group('Proxy-Info', Opts);
-empty_value('Failed-AVP', Opts) ->
-    empty_group('Failed-AVP', Opts);
-empty_value('Experimental-Result', Opts) ->
-    empty_group('Experimental-Result', Opts);
-empty_value('Vendor-Specific-Application-Id', Opts) ->
-    empty_group('Vendor-Specific-Application-Id', Opts);
-empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>;
-empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>;
-empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>;
-empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>;
-empty_value('Re-Auth-Request-Type', _) ->
-    <<0, 0, 0, 0>>;
-empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>;
-empty_value('Session-Server-Failover', _) ->
-    <<0, 0, 0, 0>>;
-empty_value('Accounting-Record-Type', _) ->
-    <<0, 0, 0, 0>>;
-empty_value('Accounting-Realtime-Required', _) ->
-    <<0, 0, 0, 0>>;
-empty_value(Name, Opts) -> empty(Name, Opts).
-
-dict() ->
-    [1,
-     {avp_types,
-      [{"ERP-RK-Request", 618, "Grouped", []},
-       {"ERP-Realm", 619, "DiameterIdentity", []}]},
-     {avp_vendor_id, []}, {codecs, []}, {command_codes, []},
-     {custom_types, []}, {define, []}, {enum, []},
-     {grouped,
-      [{"ERP-RK-Request", 618, [],
-	[{"ERP-Realm"}, {'*', ["AVP"]}]}]},
-     {id, 1},
-     {import_avps,
-      [{diameter_gen_base_rfc6733,
-	[{"Accounting-Realtime-Required", 483, "Enumerated",
-	  "M"},
-	 {"Accounting-Record-Number", 485, "Unsigned32", "M"},
-	 {"Accounting-Record-Type", 480, "Enumerated", "M"},
-	 {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"},
-	 {"Acct-Application-Id", 259, "Unsigned32", "M"},
-	 {"Acct-Interim-Interval", 85, "Unsigned32", "M"},
-	 {"Acct-Multi-Session-Id", 50, "UTF8String", "M"},
-	 {"Acct-Session-Id", 44, "OctetString", "M"},
-	 {"Auth-Application-Id", 258, "Unsigned32", "M"},
-	 {"Auth-Grace-Period", 276, "Unsigned32", "M"},
-	 {"Auth-Request-Type", 274, "Enumerated", "M"},
-	 {"Auth-Session-State", 277, "Enumerated", "M"},
-	 {"Authorization-Lifetime", 291, "Unsigned32", "M"},
-	 {"Class", 25, "OctetString", "M"},
-	 {"Destination-Host", 293, "DiameterIdentity", "M"},
-	 {"Destination-Realm", 283, "DiameterIdentity", "M"},
-	 {"Disconnect-Cause", 273, "Enumerated", "M"},
-	 {"Error-Message", 281, "UTF8String", []},
-	 {"Error-Reporting-Host", 294, "DiameterIdentity", []},
-	 {"Event-Timestamp", 55, "Time", "M"},
-	 {"Experimental-Result", 297, "Grouped", "M"},
-	 {"Experimental-Result-Code", 298, "Unsigned32", "M"},
-	 {"Failed-AVP", 279, "Grouped", "M"},
-	 {"Firmware-Revision", 267, "Unsigned32", []},
-	 {"Host-IP-Address", 257, "Address", "M"},
-	 {"Inband-Security-Id", 299, "Unsigned32", "M"},
-	 {"Multi-Round-Time-Out", 272, "Unsigned32", "M"},
-	 {"Origin-Host", 264, "DiameterIdentity", "M"},
-	 {"Origin-Realm", 296, "DiameterIdentity", "M"},
-	 {"Origin-State-Id", 278, "Unsigned32", "M"},
-	 {"Product-Name", 269, "UTF8String", []},
-	 {"Proxy-Host", 280, "DiameterIdentity", "M"},
-	 {"Proxy-Info", 284, "Grouped", "M"},
-	 {"Proxy-State", 33, "OctetString", "M"},
-	 {"Re-Auth-Request-Type", 285, "Enumerated", "M"},
-	 {"Redirect-Host", 292, "DiameterURI", "M"},
-	 {"Redirect-Host-Usage", 261, "Enumerated", "M"},
-	 {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"},
-	 {"Result-Code", 268, "Unsigned32", "M"},
-	 {"Route-Record", 282, "DiameterIdentity", "M"},
-	 {"Session-Binding", 270, "Unsigned32", "M"},
-	 {"Session-Id", 263, "UTF8String", "M"},
-	 {"Session-Server-Failover", 271, "Enumerated", "M"},
-	 {"Session-Timeout", 27, "Unsigned32", "M"},
-	 {"Supported-Vendor-Id", 265, "Unsigned32", "M"},
-	 {"Termination-Cause", 295, "Enumerated", "M"},
-	 {"User-Name", 1, "UTF8String", "M"},
-	 {"Vendor-Id", 266, "Unsigned32", "M"},
-	 {"Vendor-Specific-Application-Id", 260, "Grouped",
-	  "M"}]}]},
-     {import_enums,
-      [{diameter_gen_base_rfc6733,
-	[{"Disconnect-Cause",
-	  [{"REBOOTING", 0}, {"BUSY", 1},
-	   {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]},
-	 {"Redirect-Host-Usage",
-	  [{"DONT_CACHE", 0}, {"ALL_SESSION", 1},
-	   {"ALL_REALM", 2}, {"REALM_AND_APPLICATION", 3},
-	   {"ALL_APPLICATION", 4}, {"ALL_HOST", 5},
-	   {"ALL_USER", 6}]},
-	 {"Auth-Request-Type",
-	  [{"AUTHENTICATE_ONLY", 1}, {"AUTHORIZE_ONLY", 2},
-	   {"AUTHORIZE_AUTHENTICATE", 3}]},
-	 {"Auth-Session-State",
-	  [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]},
-	 {"Re-Auth-Request-Type",
-	  [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]},
-	 {"Termination-Cause",
-	  [{"LOGOUT", 1}, {"SERVICE_NOT_PROVIDED", 2},
-	   {"BAD_ANSWER", 3}, {"ADMINISTRATIVE", 4},
-	   {"LINK_BROKEN", 5}, {"AUTH_EXPIRED", 6},
-	   {"USER_MOVED", 7}, {"SESSION_TIMEOUT", 8}]},
-	 {"Session-Server-Failover",
-	  [{"REFUSE_SERVICE", 0}, {"TRY_AGAIN", 1},
-	   {"ALLOW_SERVICE", 2}, {"TRY_AGAIN_ALLOW_SERVICE", 3}]},
-	 {"Accounting-Record-Type",
-	  [{"EVENT_RECORD", 1}, {"START_RECORD", 2},
-	   {"INTERIM_RECORD", 3}, {"STOP_RECORD", 4}]},
-	 {"Accounting-Realtime-Required",
-	  [{"DELIVER_AND_GRANT", 1}, {"GRANT_AND_STORE", 2},
-	   {"GRANT_AND_LOSE", 3}]}]}]},
-     {import_groups,
-      [{diameter_gen_base_rfc6733,
-	[{"Proxy-Info", 284, [],
-	  [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]},
-	 {"Failed-AVP", 279, [], [{'*', {"AVP"}}]},
-	 {"Experimental-Result", 297, [],
-	  [{"Vendor-Id"}, {"Experimental-Result-Code"}]},
-	 {"Vendor-Specific-Application-Id", 260, [],
-	  [{"Vendor-Id"}, ["Auth-Application-Id"],
-	   ["Acct-Application-Id"]]}]}]},
-     {inherits, [{"diameter_gen_base_rfc6733", []}]},
-     {messages, []}].
-
-