diff --git a/demo/DIAMETER_Demo.ttcn b/demo/DIAMETER_Demo.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..581046362fb989d1b4c8a0ebb379c7b54e0976af
--- /dev/null
+++ b/demo/DIAMETER_Demo.ttcn
@@ -0,0 +1,322 @@
+/******************************************************************************
+* 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:
+*   Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+
+module DIAMETER_Demo
+{
+
+  //=========================================================================
+  // Import Part
+  //=========================================================================
+
+  import from DIAMETER_Types all;
+//  import from TCPasp_Types all;
+  import from TCPasp_PortType all;
+//  import from SCTPasp_Types all;
+  import from SCTPasp_PortType all;
+  import from DIAMETER_Mapping all;
+
+  //=========================================================================
+  // Component Types
+  //=========================================================================
+
+  type component MTC_CT {};
+  
+  type component DIA_SCT
+  {
+    port TCPasp_PT  TCP_PCO;
+    port SCTPasp_PT SCTP_PCO;
+  }
+
+  //=========================================================================
+  // Templates
+  //=========================================================================
+
+  // Please note, that the messages doesn't contain any meaningful data,
+  // they are solely for demonstartional purposes.
+
+  template PDU_DIAMETER t_DIAMETER_CER (
+    octetstring p_hopbyhop, 
+    octetstring p_endtoend) := 
+  {
+      version := 1,
+      message_length := 0,
+      RPETxxxx := '10000000'B,
+      command_code := Capabilities_Exchange,
+      application_id := '00000000'O,
+      hop_by_hop_id := p_hopbyhop,
+      end_to_end_id := p_endtoend,
+      avps := {
+          {
+            avp := {
+              avp_header := {
+                  avp_code := c_AVP_Code_BASE_NONE_Origin_Host,
+                  VMPxxxxx := '01000000'B,
+                  avp_length := 0,
+                  vendor_id := omit
+              },
+              avp_data := {
+                  avp_BASE_NONE_Origin_Host := "ccf1.ccf.ericsson.se"
+              }
+            }
+          },
+          {
+            avp := {
+              avp_header := {
+                  avp_code := c_AVP_Code_BASE_NONE_Origin_Realm,
+                  VMPxxxxx := '01000000'B,
+                  avp_length := 0,
+                  vendor_id := omit
+              },
+              avp_data := {
+                  avp_BASE_NONE_Origin_Realm := "ccf.ericsson.se"
+              }
+            }
+          },
+          {
+            avp := {
+              avp_header := {
+                  avp_code := c_AVP_Code_BASE_NONE_Host_IP_Address,
+                  VMPxxxxx := '01000000'B,
+                  avp_length := 0,
+                  vendor_id := omit
+              },
+              avp_data := {
+                avp_BASE_NONE_Host_IP_Address := {
+                  address_type := IP,
+                  address_data := '7F000002'O
+                }
+              }
+            }
+          },
+          {
+            avp := {
+              avp_header := {
+                  avp_code := c_AVP_Code_BASE_NONE_Vendor_Id,
+                  VMPxxxxx := '01000000'B,
+                  avp_length := 0,
+                  vendor_id := omit
+              },
+              avp_data := {
+                  avp_BASE_NONE_Vendor_Id := '000028AF'O
+              }
+            }
+          }
+      }
+  }
+
+  template PDU_DIAMETER tr_DIAMETER_CEA := 
+  {
+      version := 1,
+      message_length := ?,
+      RPETxxxx := '00000000'B,
+      command_code := Capabilities_Exchange,
+      application_id := '00000000'O,
+      hop_by_hop_id := ?,
+      end_to_end_id := ?,
+      avps := ?
+  }
+  //=========================================================================
+  // Functions
+  //=========================================================================
+
+  // Using this function the mapping user component can subscribe for
+  // notifications at the mapping component
+  function f_RegisterClient() runs on DIAMETER_CT
+  {
+    DIA_PCO.send(ASP_DIA_Mapping_Registration:REGISTER);
+    alt
+    {
+      [] DIA_PCO.receive(ASP_DIA_Mapping_Registration:REGISTER_ACK) {}
+      [] DIA_PCO.receive {repeat;}
+    }
+  }
+  
+  // Using this function the mapping user component can unsubscribe for
+  // notifications at the mapping component
+  function f_DeRegisterClient() runs on DIAMETER_CT
+  {
+    DIA_PCO.send(ASP_DIA_Mapping_Registration:DEREGISTER);
+    alt
+    {
+      [] DIA_PCO.receive(ASP_DIA_Mapping_Registration:DEREGISTER_ACK) {}
+      [] DIA_PCO.receive {repeat;}
+    }
+  }
+  
+  function f_WaitForConnectionUp() runs on DIAMETER_CT
+  {
+    alt
+    {
+      [] DIA_PCO.receive(t_notification(CONNECTION_IS_UP, omit, omit)) {}
+      [] DIA_PCO.receive {repeat;}
+    }
+  }
+  
+  // Main client function that runs on the DIAMETER_CT mapping user component
+  function f_DIAMETER_Client() runs on DIAMETER_CT
+  {
+    var PDU_DIAMETER vl_dia;
+    var ASP_DIA_Mapping_Notification vl_notif;
+    var integer i;
+    
+    f_RegisterClient();
+    f_WaitForConnectionUp();
+
+    for (i:=0; i<20; i:=i+1) {
+      // Sending DIAMETER message:
+      DIA_PCO.send(t_DIAMETER_CER(
+        f_DIAMETER_genHopByHop(), 
+        f_DIAMETER_genEndToEnd()
+      ));
+      alt
+      {
+        [] DIA_PCO.receive(PDU_DIAMETER:tr_DIAMETER_CEA) -> value vl_dia
+          {
+            setverdict(pass);
+          }
+        [] DIA_PCO.receive(ASP_DIA_Mapping_Notification:?) -> value vl_notif
+          {
+            log("DIAMETER_Client: Notification arrived: ", vl_notif);
+            repeat;
+          }
+        [] DIA_PCO.receive
+          {
+            log("Unexpected message arrived from port: dropping");
+            repeat;
+          }
+      }
+    }
+    f_DeRegisterClient();
+  }
+
+  // Main server function that runs on the DIAMETER_CT mapping user component  
+  function f_DIAMETER_Server() runs on DIAMETER_CT
+  {
+    var PDU_DIAMETER_Server vl_dia;
+    var ASP_DIA_Mapping_Notification vl_notif;
+    
+    alt
+    {
+      [] DIA_PCO.receive(PDU_DIAMETER_Server:?) -> value vl_dia
+        {
+          log("DIAMETER_Server: Message arrived: ", vl_dia);
+          vl_dia.data.RPETxxxx := '00000000'B;
+          DIA_PCO.send(vl_dia);
+          repeat;
+        }
+      [] DIA_PCO.receive(ASP_DIA_Mapping_Notification:?) -> value vl_notif
+        {
+          log("DIAMETER_Server: Notification arrived: ", vl_notif);
+          repeat;
+        }
+      [] DIA_PCO.receive
+        {
+          log("Unexpected message arrived from port: dropping");
+          repeat;
+        }
+    }
+  }
+  
+  //=========================================================================
+  // Testcases
+  //=========================================================================
+  
+  // Testcase for Diameter client over SCTP
+  testcase tc_DIAMETER_SCTP_Client_Demo() runs on MTC_CT system DIA_SCT
+  {
+    const integer cl_num := 10;
+    var DIAMETER_CT Client[cl_num];
+    var DIAMETER_Mapping_CT Mapping;
+    var integer i;
+    
+    Mapping := DIAMETER_Mapping_CT.create;
+    map(Mapping:SCTP_PCO, system:SCTP_PCO);
+    
+    for (i:=0; i<cl_num; i:=i+1) {
+      Client[i] := DIAMETER_CT.create;
+      connect(Mapping:DIA_PCO, Client[i]:DIA_PCO);
+    }
+    
+    Mapping.start(f_DIA_SCTP_Mapping_Client());
+  
+    for (i:=0; i<cl_num; i:=i+1) {
+      Client[i].start(f_DIAMETER_Client());
+    }
+    
+    for (i:=0; i<cl_num; i:=i+1) {
+      Client[i].done;
+    }
+  }
+
+  // Testcase for Diameter server over SCTP  
+  testcase tc_DIAMETER_SCTP_Server_Demo() runs on MTC_CT system DIA_SCT
+  {
+    var DIAMETER_CT Server;
+    var DIAMETER_Mapping_CT Mapping;
+    
+    Mapping := DIAMETER_Mapping_CT.create;
+    map(Mapping:SCTP_PCO, system:SCTP_PCO);
+    
+    Server := DIAMETER_CT.create;
+    connect(Mapping:DIA_PCO, Server:DIA_PCO);
+    
+    Mapping.start(f_DIA_SCTP_Mapping_Server());
+    Server.start(f_DIAMETER_Server());
+    
+    Server.done;
+  }
+
+  // Testcase for Diameter client over TCP
+  testcase tc_DIAMETER_TCP_Client_Demo() runs on MTC_CT system DIA_SCT
+  {
+    const integer cl_num := 10;
+    var DIAMETER_CT Client[cl_num];
+    var DIAMETER_Mapping_CT Mapping;
+    var integer i;
+    
+    Mapping := DIAMETER_Mapping_CT.create;
+    map(Mapping:TCP_PCO, system:TCP_PCO);
+    
+    for (i:=0; i<cl_num; i:=i+1) {
+      Client[i] := DIAMETER_CT.create;
+      connect(Mapping:DIA_PCO, Client[i]:DIA_PCO);
+    }
+    
+    Mapping.start(f_DIA_TCP_Mapping_Client());
+  
+    for (i:=0; i<cl_num; i:=i+1) {
+      Client[i].start(f_DIAMETER_Client());
+    }
+    
+    for (i:=0; i<cl_num; i:=i+1) {
+      Client[i].done;
+    }
+  }
+
+  // Testcase for Diameter server over TCP
+  testcase tc_DIAMETER_TCP_Server_Demo() runs on MTC_CT system DIA_SCT
+  {
+    var DIAMETER_CT Server;
+    var DIAMETER_Mapping_CT Mapping;
+    
+    Mapping := DIAMETER_Mapping_CT.create;
+    map(Mapping:TCP_PCO, system:TCP_PCO);
+    
+    Server := DIAMETER_CT.create;
+    connect(Mapping:DIA_PCO, Server:DIA_PCO);
+    
+    Mapping.start(f_DIA_TCP_Mapping_Server());
+    Server.start(f_DIAMETER_Server());
+    
+    Server.done;
+  }
+  
+}
diff --git a/demo/DIAMETER_Mapping.ttcn b/demo/DIAMETER_Mapping.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..0ac8a6217a2cdfd6e7ea5b7230dd9871f13b9b7c
--- /dev/null
+++ b/demo/DIAMETER_Mapping.ttcn
@@ -0,0 +1,953 @@
+/******************************************************************************
+* 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:
+*   Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+
+module DIAMETER_Mapping
+{
+
+//=========================================================================
+// Import Part
+//=========================================================================
+
+import from DIAMETER_Types all;
+import from TCPasp_Types all;
+import from TCPasp_PortType all;
+import from SCTPasp_Types all;
+import from SCTPasp_PortType all;
+
+
+//=========================================================================
+// Module Parameters
+//=========================================================================
+
+modulepar
+{
+  // hostname and portnumber are mandatory parameters. They specify either
+  // Destination host and portnumber in client mode, or
+  // Listening interface and portnumber in server mode
+  charstring  tsp_hostname := "";
+  integer     tsp_portnumber := -1;
+  
+  // In client mode, this parameter enables reconnecting if the
+  // channel was closed by the other peer.
+  boolean     tsp_reconnect := true;
+    
+  // Timeouts:
+  float       tsp_reconnect_timeout := 2.0;
+  float       tsp_connect_timeout := 5.0;
+};
+
+
+//=========================================================================
+// Data Types
+//=========================================================================
+
+// PDU Type for server mode, where the client_id is included 
+// with the diameter PDU
+type record PDU_DIAMETER_Server {
+  PDU_DIAMETER  data,
+  integer       client_id
+}
+
+// ASP for Notifying users
+type record ASP_DIA_Mapping_Notification
+{
+  NotificationEnum  notification,
+  PDU_DIAMETER      pdu           optional,
+  integer           client_id     optional
+}
+
+// ASP for registering users for notifications
+type enumerated ASP_DIA_Mapping_Registration
+{
+  REGISTER,
+  REGISTER_ACK,
+  DEREGISTER,
+  DEREGISTER_ACK
+}
+
+// Incoming SCTP events are stored in this type:
+type union SCTPPortMessage
+{
+  ASP_SCTP_ASSOC_CHANGE           f_AssocChange,
+  ASP_SCTP_PEER_ADDR_CHANGE       f_PeerAddrChange,
+  ASP_SCTP_SEND_FAILED            f_SendFailed,
+  ASP_SCTP_REMOTE_ERROR           f_RemoteError,
+  ASP_SCTP_SHUTDOWN_EVENT         f_ShutdownEvent,
+  ASP_SCTP_PARTIAL_DELIVERY_EVENT f_PartialDeliveryEvent,
+  ASP_SCTP_ADAPTION_INDICATION    f_AdaptionIndication,
+  ASP_SCTP_SENDMSG_ERROR          f_SendMsgError,
+  ASP_SCTP_RESULT                 f_Result
+}
+
+// Incoming TCP events are stored in this type:
+type union TCPPortMessage
+{
+  ASP_TCP_Connected               f_Connected,
+  ASP_TCP_Close                   f_Close,
+  ASP_TCP_Listen_result           f_ListenResult,
+  ASP_TCP_Connect_result          f_ConnectResult
+}
+
+// Available notifications:
+type enumerated NotificationEnum
+{ 
+  CONNECTION_IS_UP, 
+  CONNECTION_IS_DOWN, 
+  SEND_FAILED,
+  TRANSMISSION_FAILED
+}
+
+type record RoutingTableElementType {
+  octetstring hop_by_hop_id,
+  octetstring end_to_end_id,
+  DIAMETER_CT ptcId
+}
+
+type record of RoutingTableElementType RoutingTableType;
+type record of DIAMETER_CT MappingUserTableType;
+
+
+//=========================================================================
+// Port Types
+//=========================================================================
+
+// The port type that conveys DIAMETER messages and ASP of the mapping CT
+type port DIAMETERmsg_PT message
+{
+  inout PDU_DIAMETER;
+  inout PDU_DIAMETER_Server;
+  inout ASP_DIA_Mapping_Notification;
+  inout ASP_DIA_Mapping_Registration;
+} 
+  with {extension "internal"}
+
+
+//=========================================================================
+// Component Types
+//=========================================================================
+
+// Component type for DIAMETER_Mapping users:
+type component DIAMETER_CT
+{
+  port DIAMETERmsg_PT DIA_PCO;
+}
+
+// The mapping component
+type component DIAMETER_Mapping_CT
+{
+  port DIAMETERmsg_PT DIA_PCO;
+  port TCPasp_PT      TCP_PCO;
+  port SCTPasp_PT     SCTP_PCO;
+  
+  // In client mode, the routing table keeps track of the sent diameter
+  // messages in order that the mapping component can route back the
+  // corresponding answers to the users properly.
+  var RoutingTableType      v_RoutingTable := {};
+  
+  // In client mode, this table stores the user components that subscribed
+  // to notifications
+  var MappingUserTableType  v_MappingUserTable := {};
+  
+  var TCPPortMessage        v_TCPPortMsg; //TCP Events are stored here
+  var SCTPPortMessage       v_SCTPPortMsg; //SCTP Events are stored here
+  
+  var boolean               v_State := false; //Connection state
+  
+  // Timers for reconnection mode:
+  timer Ttimeout;
+  timer Treconnect;
+}
+
+//=========================================================================
+// Constants
+//=========================================================================
+
+// This constant specifyes the upper layer protocol ID that will be
+// embedded in the SCTP messages. Since IANA hasn't assigned a value
+// for Diameter yet, 20 was chosen as an arbitrary number
+const integer c_DIAMETER_ppid := 20;
+
+//=========================================================================
+// Templates
+//=========================================================================
+
+template ASP_SCTP_Connect t_ASP_SCTP_Connect (
+  template charstring p_host, 
+  template integer p_portnum) :=
+{
+  peer_hostname := p_host,
+  peer_portnumber := p_portnum
+};
+
+template ASP_TCP_Connect t_ASP_TCP_Connect (
+  template charstring p_host, 
+  template integer p_portnum) :=
+{
+  hostname := p_host,
+  portnumber := p_portnum,
+  local_hostname := omit,
+  local_portnumber := omit
+};
+
+template ASP_TCP_Listen t_ASP_TCP_Listen (
+  template charstring p_host,
+  template integer    p_port) :=
+{
+  portnumber := p_port,
+  local_hostname := p_host
+};
+
+template ASP_SCTP_ASSOC_CHANGE t_ASP_SCTP_AssocChange (
+  template integer p_cid,
+  template SAC_STATE p_state) :=
+{
+  client_id := p_cid,
+  sac_state := p_state
+};
+
+template ASP_DIA_Mapping_Notification t_notification (
+  template NotificationEnum p_notification,
+  template PDU_DIAMETER p_pdu,
+  template integer p_cid) :=
+{
+  notification := p_notification,
+  pdu := p_pdu,
+  client_id := p_cid
+};
+
+//=========================================================================
+// Altsteps
+//=========================================================================
+
+// Altstep for handling SCTP events in server mode
+altstep as_SCTPEventHandling_Server() runs on DIAMETER_Mapping_CT
+{
+  [] SCTP_PCO.receive(ASP_SCTP_ASSOC_CHANGE:?) 
+      -> value v_SCTPPortMsg.f_AssocChange
+    {
+      if (v_SCTPPortMsg.f_AssocChange.sac_state == SCTP_COMM_LOST) {
+        DIA_PCO.send(t_notification(
+          CONNECTION_IS_DOWN, 
+          omit, 
+          v_SCTPPortMsg.f_AssocChange.client_id)
+        );
+      }
+      else if (v_SCTPPortMsg.f_AssocChange.sac_state == SCTP_COMM_UP) {
+        DIA_PCO.send(t_notification(
+          CONNECTION_IS_UP, 
+          omit, 
+          v_SCTPPortMsg.f_AssocChange.client_id)
+        );
+      }
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_SHUTDOWN_EVENT:?)
+      -> value v_SCTPPortMsg.f_ShutdownEvent
+    {
+      //There is nothing to do, an ASSOC_CHANGE must arrive before
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_ShutdownEvent);
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_RESULT:?)
+      -> value v_SCTPPortMsg.f_Result
+    {
+      // There is nothing to do: an ASSOC_CHANGE(SCTP_COMM_UP) must arrive.
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_Result);
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_SENDMSG_ERROR:?) 
+      -> value v_SCTPPortMsg.f_SendMsgError
+    {
+      DIA_PCO.send(t_notification(
+        TRANSMISSION_FAILED, 
+        f_DIAMETER_Dec(v_SCTPPortMsg.f_SendMsgError.data), 
+        v_SCTPPortMsg.f_SendMsgError.client_id));
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_SEND_FAILED:?) 
+      -> value v_SCTPPortMsg.f_SendFailed
+    {
+      DIA_PCO.send(t_notification(
+        SEND_FAILED, 
+        omit, 
+        v_SCTPPortMsg.f_SendFailed.client_id)
+      );
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_PEER_ADDR_CHANGE:?)
+      -> value v_SCTPPortMsg.f_PeerAddrChange
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_PeerAddrChange);
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_REMOTE_ERROR:?) 
+      -> value v_SCTPPortMsg.f_RemoteError
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_RemoteError); 
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_PARTIAL_DELIVERY_EVENT:?) 
+      -> value v_SCTPPortMsg.f_PartialDeliveryEvent
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_PartialDeliveryEvent);
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_ADAPTION_INDICATION:?) 
+      -> value v_SCTPPortMsg.f_AdaptionIndication
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_AdaptionIndication);
+      repeat;
+    }
+}
+
+// Altstep for handling SCTP events in client mode
+altstep as_SCTPEventHandling_Client() runs on DIAMETER_Mapping_CT
+{
+  var DIAMETER_CT   vl_dia_comp;
+  var PDU_DIAMETER  vl_dia_pdu;
+  
+  [] SCTP_PCO.receive(ASP_SCTP_ASSOC_CHANGE:?) 
+      -> value v_SCTPPortMsg.f_AssocChange
+    {
+      if (v_SCTPPortMsg.f_AssocChange.sac_state == SCTP_COMM_LOST) {
+        v_State := false;
+        if (tsp_reconnect) {
+          Treconnect.start(tsp_reconnect_timeout);
+        }
+        else { 
+          log("Warning: SCTP connection is lost."&
+              "Reconnect mode is not set. Exiting.");
+          stop;
+        }
+        if (Ttimeout.running) { Ttimeout.stop; }
+        f_sendNotificationToUsers(t_notification(CONNECTION_IS_DOWN, omit, omit));
+     }
+     else if (v_SCTPPortMsg.f_AssocChange.sac_state == SCTP_COMM_UP) {
+       v_State := true;
+       if (Treconnect.running) { Treconnect.stop;}
+       if (Ttimeout.running) { Ttimeout.stop; }
+       f_sendNotificationToUsers(t_notification(CONNECTION_IS_UP, omit, omit));
+      }
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_SHUTDOWN_EVENT:?)
+      -> value v_SCTPPortMsg.f_ShutdownEvent
+    {
+      v_State := false;
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_RESULT:?)
+      -> value v_SCTPPortMsg.f_Result
+    {
+      if (Treconnect.running) { Treconnect.stop; }
+      if (Ttimeout.running) { Ttimeout.stop; }
+      if (v_SCTPPortMsg.f_Result.error_status == false) {
+        log("SCTP connection was succesful: ", v_SCTPPortMsg.f_Result);
+        // There is nothing to do: an ASSOC_CHANGE(SCTP_COMM_UP) must arrive.
+      }
+      else {
+        log("SCTP connection was not established, error message: ",
+            v_SCTPPortMsg.f_Result.error_message);
+        // We don't have to wait for Ttimeout
+        // initiating reconnection timer:
+        v_State := false;
+        if (tsp_reconnect) {
+          Treconnect.start(tsp_reconnect_timeout);
+        }
+        else { 
+          log("Warning: SCTP connection was not established."&
+              "Reconnect mode is not set. Exiting.");
+          stop;
+        }
+      }
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_SENDMSG_ERROR:?) 
+      -> value v_SCTPPortMsg.f_SendMsgError
+    {
+      vl_dia_pdu  := f_DIAMETER_Dec(v_SCTPPortMsg.f_SendMsgError.data);
+      vl_dia_comp := f_findInRT(
+        v_RoutingTable, 
+        vl_dia_pdu.hop_by_hop_id, 
+        vl_dia_pdu.end_to_end_id
+      );
+      if (vl_dia_comp != null) {
+        DIA_PCO.send(t_notification(
+          TRANSMISSION_FAILED, 
+          vl_dia_pdu, 
+          omit)
+        ) to vl_dia_comp;
+        f_delFromRT(
+          v_RoutingTable, 
+          vl_dia_pdu.hop_by_hop_id, 
+          vl_dia_pdu.end_to_end_id
+        );
+      }
+      else {
+        log("Diameter couldn't be sent with unknown "&
+            "hop_by_hop_id and end_to_end_id:" &
+            "Dropping at SCTP SENDMSG ERROR");
+      }
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_SEND_FAILED:?) 
+      -> value v_SCTPPortMsg.f_SendFailed
+    {
+      f_sendNotificationToUsers(t_notification(SEND_FAILED, omit, omit));
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_PEER_ADDR_CHANGE:?)
+      -> value v_SCTPPortMsg.f_PeerAddrChange
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_PeerAddrChange);
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_REMOTE_ERROR:?) 
+      -> value v_SCTPPortMsg.f_RemoteError
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_RemoteError); 
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_PARTIAL_DELIVERY_EVENT:?) 
+      -> value v_SCTPPortMsg.f_PartialDeliveryEvent
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_PartialDeliveryEvent);
+      repeat;
+    }
+  [] SCTP_PCO.receive(ASP_SCTP_ADAPTION_INDICATION:?) 
+      -> value v_SCTPPortMsg.f_AdaptionIndication
+    {
+      log("This message is currently ignored: ", v_SCTPPortMsg.f_AdaptionIndication);
+      repeat;
+    }
+}
+
+// Altstep for handling TCP events in server mode
+altstep as_TCPEventHandling_Server() runs on DIAMETER_Mapping_CT
+{
+  [] TCP_PCO.receive(ASP_TCP_Connected:?) 
+      -> value v_TCPPortMsg.f_Connected
+    {
+      DIA_PCO.send(t_notification(
+        CONNECTION_IS_UP, 
+        omit, 
+        v_TCPPortMsg.f_Connected.client_id)
+      );
+      repeat;
+    }
+  [] TCP_PCO.receive(ASP_TCP_Close:?)
+      -> value v_TCPPortMsg.f_Close
+    {
+      DIA_PCO.send(t_notification(
+        CONNECTION_IS_DOWN, 
+        omit, 
+        v_TCPPortMsg.f_Close.client_id)
+      );
+      repeat;
+    }
+}
+
+// Altstep for handling TCP events in client mode
+altstep as_TCPEventHandling_Client() runs on DIAMETER_Mapping_CT
+{
+  [] TCP_PCO.receive(ASP_TCP_Connect_result:?) 
+      -> value v_TCPPortMsg.f_ConnectResult
+    {
+      if (Treconnect.running) { Treconnect.stop; }
+      if (Ttimeout.running) { Ttimeout.stop; }
+      
+      if (v_TCPPortMsg.f_ConnectResult.client_id == -1) {
+        v_State := false;
+        if (tsp_reconnect) {
+          Treconnect.start(tsp_reconnect_timeout);
+        }
+        else { 
+          log("Warning: TCP connection was not established."&
+              " Reconnect mode is not set. Exiting."); 
+          stop;
+        }
+      }
+      else {
+        v_State := true;
+        if (Treconnect.running) { Treconnect.stop;}
+        if (Ttimeout.running) { Ttimeout.stop; }
+        f_sendNotificationToUsers(t_notification(CONNECTION_IS_UP, omit, omit));
+      }
+      repeat;
+    }
+  [] TCP_PCO.receive(ASP_TCP_Close:?)
+      -> value v_TCPPortMsg.f_Close
+    {
+      v_State := false;
+      if (tsp_reconnect) {
+        Treconnect.start(tsp_reconnect_timeout);
+      }
+      else { 
+        log("Warning: TCP connection is lost."&
+          " Reconnect mode is not set. Exiting.");
+        stop;
+      }
+      if (Ttimeout.running) { Ttimeout.stop; }
+      f_sendNotificationToUsers(t_notification(CONNECTION_IS_DOWN, omit, omit));
+      repeat;
+    }
+}
+
+// Altstep for reconnection and no response timeouts
+altstep as_handleSCTPTimeouts() runs on DIAMETER_Mapping_CT
+{
+  [] Treconnect.timeout
+    {
+      log("SCTP reconnection is starting"); 
+      SCTP_PCO.send(t_ASP_SCTP_Connect(tsp_hostname, tsp_portnumber));
+      Ttimeout.start(tsp_connect_timeout);
+      repeat;
+    }
+  [] Ttimeout.timeout
+    {
+      log("SCTP connection establishment failed: no response, but trying again");
+      SCTP_PCO.send(t_ASP_SCTP_Connect(tsp_hostname, tsp_portnumber));
+      Ttimeout.start(tsp_connect_timeout);
+      repeat;
+    }
+}
+
+// Altstep for reconnection and no response timeouts
+altstep as_handleTCPTimeouts() runs on DIAMETER_Mapping_CT
+{
+  [] Treconnect.timeout
+    {
+      log("TCP reconnection is starting"); 
+      TCP_PCO.send(t_ASP_TCP_Connect(tsp_hostname, tsp_portnumber));
+      Ttimeout.start(tsp_connect_timeout);
+      repeat;
+    }
+  [] Ttimeout.timeout
+    {
+      log("TCP connection establishment failed: no response, but trying again");
+      TCP_PCO.send(t_ASP_TCP_Connect(tsp_hostname, tsp_portnumber));
+      Ttimeout.start(tsp_connect_timeout);
+      repeat;
+    }
+}
+
+// Altstep for handling mapping client database
+altstep as_handleMappingUserMessages() runs on DIAMETER_Mapping_CT
+{
+  var DIAMETER_CT vl_dia_ct;
+  
+  [] DIA_PCO.receive(ASP_DIA_Mapping_Registration:REGISTER) -> sender vl_dia_ct
+    {
+      f_putInUserTable(v_MappingUserTable, vl_dia_ct);
+      DIA_PCO.send(ASP_DIA_Mapping_Registration:REGISTER_ACK) to vl_dia_ct;
+      if (v_State == true) {
+        DIA_PCO.send(t_notification(CONNECTION_IS_UP, omit, omit)) to vl_dia_ct;
+      }
+      else {
+        DIA_PCO.send(t_notification(CONNECTION_IS_DOWN, omit, omit)) to vl_dia_ct;
+      }
+      log("Mapping client has been registered");
+      repeat;
+    }
+  [] DIA_PCO.receive(ASP_DIA_Mapping_Registration:DEREGISTER) -> sender vl_dia_ct
+    {
+      f_delFromUserTable(v_MappingUserTable, vl_dia_ct);
+      DIA_PCO.send(ASP_DIA_Mapping_Registration:DEREGISTER_ACK) to vl_dia_ct;
+      log("Mapping client has been deregistered");
+      repeat;
+    }
+}  
+
+//=========================================================================
+// Functions
+//=========================================================================
+
+// Main mapping function for client mode, over TCP
+function f_DIA_TCP_Mapping_Client() runs on DIAMETER_Mapping_CT
+{
+  var ASP_TCP       vl_TCP_msg;
+  var PDU_DIAMETER  vl_DIA_msg;
+  var DIAMETER_CT   vl_DIA_comp;
+  const octetstring cl_zero := '00000000'O;
+
+  f_initTCPConnection();
+  
+  alt {
+    [] as_TCPEventHandling_Client();
+    [] TCP_PCO.receive(ASP_TCP:?) -> value vl_TCP_msg
+      {
+        log("TCP Packet received");
+        vl_DIA_msg := f_DIAMETER_Dec(vl_TCP_msg.data);
+        vl_DIA_comp := f_findInRT(
+          v_RoutingTable, 
+          vl_DIA_msg.hop_by_hop_id, 
+          vl_DIA_msg.end_to_end_id
+        );
+        if (vl_DIA_comp != null) {
+          DIA_PCO.send(vl_DIA_msg) to vl_DIA_comp;
+          f_delFromRT(
+            v_RoutingTable, 
+            vl_DIA_msg.hop_by_hop_id, 
+            vl_DIA_msg.end_to_end_id
+          );
+          log("Diameter message sent to the corresponding component");
+        }
+        else {
+          log("Diameter message arrived with unknown"&
+              " hop_by_hop_id and end_to_end_id: dropping: ", vl_DIA_msg);
+        }
+        repeat;
+      }
+    [] as_handleTCPTimeouts()
+    [] DIA_PCO.receive(PDU_DIAMETER:?) -> value vl_DIA_msg sender vl_DIA_comp
+      {
+        log("DIA message received")
+        if (v_State == true) {
+          if (vl_DIA_msg.hop_by_hop_id == cl_zero and 
+              vl_DIA_msg.end_to_end_id == cl_zero) {
+            vl_DIA_msg.hop_by_hop_id := f_DIAMETER_genHopByHop();
+            vl_DIA_msg.end_to_end_id := f_DIAMETER_genEndToEnd();
+          }
+          vl_TCP_msg.data := f_DIAMETER_Enc(vl_DIA_msg);
+          vl_TCP_msg.client_id := omit;
+          TCP_PCO.send(vl_TCP_msg);
+          v_RoutingTable[sizeof(v_RoutingTable)] := { 
+            vl_DIA_msg.hop_by_hop_id, 
+            vl_DIA_msg.end_to_end_id,
+            vl_DIA_comp
+          }
+          log("Message sent via TCP");
+        }
+        else {
+          DIA_PCO.send(t_notification(TRANSMISSION_FAILED, vl_DIA_msg, omit))
+            to vl_DIA_comp;
+          log("Diameter message is not forwarded"&
+              " since the TCP connection is down");
+        }
+        repeat;
+      }
+    [] as_handleMappingUserMessages()
+    [] DIA_PCO.receive
+      {
+        log("Unexpected DIAMETER message is dropped"&
+            " at function f_DIA_TCP_Mapping_Client()");
+      }
+    [] TCP_PCO.receive
+      {
+        log("Unexpected TCP message is dropped"&
+            " at function f_DIA_TCP_Mapping_Client()");
+      }
+  }
+}
+
+// Main mapping function for client mode, over SCTP
+function f_DIA_SCTP_Mapping_Client() runs on DIAMETER_Mapping_CT {
+  var ASP_SCTP      vl_SCTP_msg;
+  var PDU_DIAMETER  vl_DIA_msg;
+  var DIAMETER_CT   vl_DIA_comp;
+  const octetstring cl_zero := '00000000'O;
+  
+  f_initSCTPConnection();
+
+  alt {
+    [] as_SCTPEventHandling_Client()
+    [] SCTP_PCO.receive(ASP_SCTP:?) -> value vl_SCTP_msg
+      {
+        log("SCTP packet received");
+        vl_DIA_msg := f_DIAMETER_Dec(vl_SCTP_msg.data);
+        vl_DIA_comp := f_findInRT(
+          v_RoutingTable, 
+          vl_DIA_msg.hop_by_hop_id, 
+          vl_DIA_msg.end_to_end_id
+        );
+        if (vl_DIA_comp != null) {
+          DIA_PCO.send(vl_DIA_msg) to vl_DIA_comp;
+          f_delFromRT(
+            v_RoutingTable, 
+            vl_DIA_msg.hop_by_hop_id, 
+            vl_DIA_msg.end_to_end_id
+          );
+          log("Diameter message sent to the corresponding component");
+        }
+        else {
+          log("Diameter message arrived"&
+              " with unknown hop_by_hop_id and end_to_end_id: dropping: ", vl_DIA_msg);
+        }
+        repeat;
+      }
+    [] as_handleSCTPTimeouts()
+    [] DIA_PCO.receive(PDU_DIAMETER:?) -> value vl_DIA_msg sender vl_DIA_comp
+      {
+        log("Diameter message received");
+        if (v_State == true) {
+            if (vl_DIA_msg.hop_by_hop_id == cl_zero and 
+                vl_DIA_msg.end_to_end_id == cl_zero) {
+            vl_DIA_msg.hop_by_hop_id := f_DIAMETER_genHopByHop();
+            vl_DIA_msg.end_to_end_id := f_DIAMETER_genEndToEnd();
+          }
+          vl_SCTP_msg.data := f_DIAMETER_Enc(vl_DIA_msg);
+          vl_SCTP_msg.client_id := omit;
+          vl_SCTP_msg.sinfo_stream := 0;
+          vl_SCTP_msg.sinfo_ppid := c_DIAMETER_ppid;
+          SCTP_PCO.send(vl_SCTP_msg);
+          v_RoutingTable[sizeof(v_RoutingTable)] := { 
+            vl_DIA_msg.hop_by_hop_id, 
+            vl_DIA_msg.end_to_end_id,
+            vl_DIA_comp
+          }
+          log("Diameter message sent via SCTP");
+        }
+        else {
+          DIA_PCO.send(t_notification(TRANSMISSION_FAILED, vl_DIA_msg, omit))
+            to vl_DIA_comp;
+          log("Diameter message is not forwarded"&
+              " since the SCTP connection is down");
+        }
+        repeat;
+      }
+    [] as_handleMappingUserMessages()
+    [] DIA_PCO.receive
+      {
+        log("Unexpected DIAMETER message is dropped"&
+            " at function f_DIA_SCTP_Mapping_Client()");
+      }
+    [] SCTP_PCO.receive
+      {
+        log("Unexpected SCTP message is dropped"&
+            " at function f_DIA_SCTP_Mapping_Client()");
+      }
+  }
+}
+
+// Main mapping function for server mode, over SCTP
+function f_DIA_SCTP_Mapping_Server() runs on DIAMETER_Mapping_CT {
+  var ASP_SCTP            vl_SCTP_msg;
+  var PDU_DIAMETER_Server vl_DIA_msg;
+  
+  alt
+  {
+    [] as_SCTPEventHandling_Server()
+    [] SCTP_PCO.receive(ASP_SCTP:?) -> value vl_SCTP_msg
+      {
+        log("SCTP packet received");
+        vl_DIA_msg.data := f_DIAMETER_Dec(vl_SCTP_msg.data);
+        vl_DIA_msg.client_id := vl_SCTP_msg.client_id;
+        DIA_PCO.send(vl_DIA_msg);
+        log("Diameter message sent");
+        repeat;
+      }
+    [] DIA_PCO.receive(PDU_DIAMETER_Server:?) -> value vl_DIA_msg
+      {
+        log("Diameter message received");
+        vl_SCTP_msg.data := f_DIAMETER_Enc(vl_DIA_msg.data);
+        vl_SCTP_msg.client_id := vl_DIA_msg.client_id;
+        vl_SCTP_msg.sinfo_stream := 0;
+        vl_SCTP_msg.sinfo_ppid := c_DIAMETER_ppid;
+        SCTP_PCO.send(vl_SCTP_msg);
+        log("Diameter message sent via SCTP");
+        repeat;
+      }
+    [] DIA_PCO.receive
+      {
+        log("Unexpected DIAMETER message is dropped"&
+            " at function f_DIA_SCTP_Mapping_Server()");
+      }
+    [] SCTP_PCO.receive
+      {
+        log("Unexpected SCTP message is dropped"&
+            " at function f_DIA_SCTP_Mapping_Server()");
+      }
+  }
+}  
+
+// Main mapping function for server mode, over SCTP
+function f_DIA_TCP_Mapping_Server() runs on DIAMETER_Mapping_CT
+{
+  var ASP_TCP              vl_TCP_msg;
+  var PDU_DIAMETER_Server  vl_DIA_msg;
+
+  f_initTCPListening();
+  
+  alt {
+    [] as_TCPEventHandling_Server();
+    [] TCP_PCO.receive(ASP_TCP:?) -> value vl_TCP_msg
+      {
+        log("TCP Packet received");
+        vl_DIA_msg.data := f_DIAMETER_Dec(vl_TCP_msg.data);
+        vl_DIA_msg.client_id := vl_TCP_msg.client_id;
+        DIA_PCO.send(vl_DIA_msg);
+        log("Diameter message sent");
+        repeat;
+      }
+    [] DIA_PCO.receive(PDU_DIAMETER_Server:?) -> value vl_DIA_msg
+      {
+        log("Diameter message received")
+        vl_TCP_msg.data := f_DIAMETER_Enc(vl_DIA_msg.data);
+        vl_TCP_msg.client_id := vl_DIA_msg.client_id;
+        TCP_PCO.send(vl_TCP_msg);
+        log("Diameter message sent via TCP");
+        repeat;
+      }
+    [] DIA_PCO.receive
+      {
+        log("Unexpected DIAMETER message is dropped"&
+            " at function f_DIA_TCP_Mapping_Server()");
+      }
+    [] TCP_PCO.receive
+      {
+        log("Unexpected TCP message is dropped"&
+            " at function f_DIA_TCP_Mapping_Server()");
+      }
+  }
+}
+
+ // The SCTP client port tries to connect to the configured server
+function f_initSCTPConnection() runs on DIAMETER_Mapping_CT
+{
+  log("f_initSCTPConnection is starting.");
+  SCTP_PCO.send(t_ASP_SCTP_Connect(tsp_hostname, tsp_portnumber));
+  Ttimeout.start(tsp_connect_timeout);
+}
+
+ // The TCP client port tries to connect to the configured server
+function f_initTCPConnection() runs on DIAMETER_Mapping_CT
+{
+  log("f_initTCPConnection is starting.");
+  TCP_PCO.send(t_ASP_TCP_Connect(tsp_hostname, tsp_portnumber));
+  Ttimeout.start(tsp_connect_timeout);
+}
+
+// The TCP port starts listening on the port that was specified in mod. pars.
+function f_initTCPListening() runs on DIAMETER_Mapping_CT
+{
+  
+  log("f_initTCPListening is starting.");
+  TCP_PCO.send(t_ASP_TCP_Listen(tsp_hostname, tsp_portnumber));
+  
+  Ttimeout.start(tsp_connect_timeout);
+  
+  alt
+  {
+    [] TCP_PCO.receive(ASP_TCP_Listen_result:?)
+        -> value v_TCPPortMsg.f_ListenResult
+      {
+        if (v_TCPPortMsg.f_ListenResult.portnumber != tsp_portnumber)
+        {
+          log("Warning: The acquired portnumber is not the requested");
+        }
+      }
+    [] Ttimeout.timeout
+      {
+        log("Error: Couldn't open listening TCP port");
+        setverdict(fail);
+        stop;
+      }
+    [] TCP_PCO.receive 
+      { 
+        log("Warning: Ignored TCP message at f_initTCPListening"); repeat;
+      }
+    [] DIA_PCO.receive 
+      { 
+        log("Warning: Ignored DIA message at f_initTCPListening"); repeat;
+      }
+   }
+}
+
+// There is no ASP for start listening in the SCTP port. It must be configured
+// using test port parameter in the configuration file.
+
+// Looks up a mapping user component (DIAMETER_CT) in the routing table based
+// on the hop-by-hop and end-to-end id
+function f_findInRT(
+  in RoutingTableType pl_table,
+  in octetstring pl_hop_by_hop_id,
+  in octetstring pl_end_to_end_id)
+  return DIAMETER_CT
+{
+  var integer i;
+  for( i:=0; i < sizeof(pl_table); i:= i+1) {
+    if( pl_table[i].hop_by_hop_id == pl_hop_by_hop_id and 
+        pl_table[i].end_to_end_id == pl_end_to_end_id) {
+      return pl_table[i].ptcId;
+    }
+  }
+  return null;
+}
+
+// Deletes a line from the routing table based
+// on the hop-by-hop and end-to-end id
+function f_delFromRT(
+  inout RoutingTableType pl_table,
+  in octetstring pl_hop_by_hop_id, 
+  in octetstring pl_end_to_end_id)
+{
+  var integer i, j:=0;
+  var RoutingTableType vl_table := {};
+
+  for( i:=0; i < sizeof(pl_table); i:= i+1) {
+    if(pl_table[i].hop_by_hop_id == pl_hop_by_hop_id and
+      pl_table[i].end_to_end_id == pl_end_to_end_id) {
+    } else {
+      vl_table[j] := pl_table[i];
+      j:=j+1;
+    }
+  }
+  pl_table := vl_table;
+}
+
+// Inserts a line into user table that keeps track of the mapping users
+// who want to receive notifications about the state of the client connection
+function f_putInUserTable(
+  inout MappingUserTableType p_table,
+  in DIAMETER_CT pl_ptc)
+{
+  p_table[sizeof(p_table)] := pl_ptc;
+}
+
+
+// Removes a line from the user table
+function f_delFromUserTable(
+  inout MappingUserTableType p_table,
+  in DIAMETER_CT pl_ptc)
+{
+  var integer i, j:=0;
+  var boolean vl_user_found := false;
+  var MappingUserTableType vl_table := {};
+
+  for( i:=0; i < sizeof(p_table); i:= i+1) {
+    if(p_table[i] == pl_ptc) {
+      vl_user_found := true;
+    } 
+    else {
+      vl_table[j] := p_table[i];
+      j:=j+1;
+    }
+  }
+  p_table := vl_table;
+  if (not vl_user_found) { 
+    log("Warning: user was not in the MappingUserTable (f_delFromUserTable())");
+  }
+}
+
+// Sends the notification that was passed as a parameter to all users
+// who registered at the mapping component
+function f_sendNotificationToUsers(
+  template ASP_DIA_Mapping_Notification pl_notification) 
+runs on DIAMETER_Mapping_CT
+{
+  var integer i;
+  
+  for (i:=0; i < sizeof(v_MappingUserTable); i:=i+1) {
+    DIA_PCO.send(pl_notification) to v_MappingUserTable[i];
+  }
+}
+
+} // end module
diff --git a/demo/DIAMETER_SCTP_Client_Demo.cfg b/demo/DIAMETER_SCTP_Client_Demo.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..577546135670948bec3db75246979e261bfe4b74
--- /dev/null
+++ b/demo/DIAMETER_SCTP_Client_Demo.cfg
@@ -0,0 +1,24 @@
+/******************************************************************************
+* 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:
+*   Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+
+[LOGGING]
+FileMask := LOG_ALL | DEBUG
+ConsoleMask := ERROR | WARNING | STATISTICS
+
+[MODULE_PARAMETERS]
+tsp_hostname := "159.107.197.130";
+tsp_portnumber := 50001;
+
+[TESTPORT_PARAMETERS]
+*.SCTP_PCO.server_mode := "no"
+
+[EXECUTE]
+DIAMETER_Demo.tc_DIAMETER_SCTP_Client_Demo
diff --git a/demo/DIAMETER_SCTP_Server_Demo.cfg b/demo/DIAMETER_SCTP_Server_Demo.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..4b1f99f6075122b92bc0a829dcc28ca885a324d2
--- /dev/null
+++ b/demo/DIAMETER_SCTP_Server_Demo.cfg
@@ -0,0 +1,24 @@
+/******************************************************************************
+* 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:
+*   Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+
+[LOGGING]
+FileMask := LOG_ALL | DEBUG
+ConsoleMask := ERROR | WARNING | STATISTICS
+
+[MODULE_PARAMETERS]
+
+[TESTPORT_PARAMETERS]
+*.SCTP_PCO.server_mode := "yes"
+*.SCTP_PCO.local_IP_address := "159.107.197.130"
+*.SCTP_PCO.local_port := "50001"
+
+[EXECUTE]
+DIAMETER_Demo.tc_DIAMETER_SCTP_Server_Demo
diff --git a/demo/DIAMETER_TCP_Client_Demo.cfg b/demo/DIAMETER_TCP_Client_Demo.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..a41fe9ff430c5f45bba3f15c1cd545d68047554d
--- /dev/null
+++ b/demo/DIAMETER_TCP_Client_Demo.cfg
@@ -0,0 +1,30 @@
+/******************************************************************************
+* 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:
+*   Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+
+[LOGGING]
+FileMask := LOG_ALL | DEBUG
+ConsoleMask := ERROR | WARNING | STATISTICS
+
+[MODULE_PARAMETERS]
+tsp_hostname := "159.107.197.130";
+tsp_portnumber := 50001;
+
+[TESTPORT_PARAMETERS]
+*.TCP_PCO.use_connection_ASPs := "yes"
+*.TCP_PCO.server_mode := "no"
+*.TCP_PCO.halt_on_connection_reset := "no"
+*.TCP_PCO.client_TCP_reconnect := "yes"
+*.TCP_PCO.packet_hdr_length_offset := "1"
+*.TCP_PCO.packet_hdr_nr_bytes_in_length := "3"
+*.TCP_PCO.packet_hdr_byte_order := "MSB"
+
+[EXECUTE]
+DIAMETER_Demo.tc_DIAMETER_TCP_Client_Demo
diff --git a/demo/DIAMETER_TCP_Server_Demo.cfg b/demo/DIAMETER_TCP_Server_Demo.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..0f2d0ac26cc2dfdb6de4bad342218095dc62cfb3
--- /dev/null
+++ b/demo/DIAMETER_TCP_Server_Demo.cfg
@@ -0,0 +1,29 @@
+/******************************************************************************
+* 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:
+*   Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+
+[LOGGING]
+FileMask := LOG_ALL | DEBUG
+ConsoleMask := ERROR | WARNING | STATISTICS
+
+[MODULE_PARAMETERS]
+tsp_hostname := "159.107.197.130";
+tsp_portnumber := 50001;
+
+[TESTPORT_PARAMETERS]
+*.TCP_PCO.use_connection_ASPs := "yes"
+*.TCP_PCO.server_mode := "yes"
+*.TCP_PCO.halt_on_connection_reset := "no"
+*.TCP_PCO.packet_hdr_length_offset := "1"
+*.TCP_PCO.packet_hdr_nr_bytes_in_length := "3"
+*.TCP_PCO.packet_hdr_byte_order := "MSB"
+
+[EXECUTE]
+DIAMETER_Demo.tc_DIAMETER_TCP_Server_Demo
diff --git a/demo/DIAMETER_Types.ttcn b/demo/DIAMETER_Types.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..178e07d1673f800d424e6e1e28a474f79f6421e6
--- /dev/null
+++ b/demo/DIAMETER_Types.ttcn
@@ -0,0 +1,6316 @@
+// Generated with command:
+// AVP.sh BaseTypes_IETF_RFC3588.ddf Base_IETF_RFC3588.ddf Ericsson_Specific_AVPs.ddf
+module DIAMETER_Types {
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               BaseTypes_IETF_RFC3588.ddf
+//  Description:	DDF for the Diameter base types
+//  Rev:                R30C
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+//
+// External functions for encoding and decoding
+//
+
+external function f_DIAMETER_Enc(in PDU_DIAMETER pl_pdu) return octetstring;
+external function f_DIAMETER_Dec(in octetstring pl_oct) return PDU_DIAMETER;
+external function f_DIAMETER_Enc_fast(in PDU_DIAMETER pl_pdu, out octetstring pl_oct );
+external function f_DIAMETER_Dec_fast(in octetstring pl_oct, out PDU_DIAMETER pl_pdu) return integer;
+
+external function f_DIAMETER_genHopByHop_oct() return UINT32;
+external function f_DIAMETER_genEndToEnd_oct() return UINT32;
+external function f_DIAMETER_GetAVPByListOfCodes(in octetstring pl_oct, in integerList pl_codeList) return octetstring;
+external function f_DIAMETER_GetAVPByListOfCodesCombined(in octetstring pl_oct, in integerList pl_codeList, in integerList pl_groupcodeList) return octetstring;
+external function f_DIAMETER_GetAVPByListOfCodesFromGroupedAVP(in octetstring pl_oct, in integerList pl_codeList) return octetstring;
+
+function f_get_R_bit(in PDU_DIAMETER pl_pdu) return boolean
+{
+  return pl_pdu.RPETxxxx[7]=='1'B;
+}
+
+function f_DIAMETER_genEndToEnd() return UINT32
+{
+  return f_DIAMETER_genEndToEnd_oct()
+}
+
+function f_DIAMETER_genHopByHop() return UINT32
+{
+  return f_DIAMETER_genHopByHop_oct()
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: IntegerList
+//
+//  Purpose:
+//    List of integer
+//
+//  Elements:
+//    record of *integer*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of integer integerList;
+
+//
+// Basic type definitions used in AVP type definitions
+//
+
+type integer UINT8 (0..255) with {
+variant "FIELDLENGTH(8)"
+variant "BYTEORDER(last)"
+}
+
+type integer UINT24 (0..16777215) with {
+variant "FIELDLENGTH(24)"
+variant "BYTEORDER(last)"
+}
+
+type octetstring UINT32 length(4) with {
+	variant "FIELDLENGTH(4)"
+}
+
+
+
+type integer INT32 with {
+variant "FIELDLENGTH(32)"
+variant "BYTEORDER(last)"
+variant "COMP(signbit)"
+}
+
+type octetstring INT64 length(8) with {
+	variant "FIELDLENGTH(8)"
+}
+
+
+
+type octetstring UINT64 length(8) with {
+  variant "FIELDLENGTH(8)"
+}
+
+
+type float FLOAT32 with {
+variant "FORMAT(IEEE754 float)"
+}
+
+type float FLOAT64 with {
+variant "FORMAT(IEEE754 double)"
+}
+
+type bitstring BIT8 length(8) with { variant "FIELDLENGTH(8)" }
+type octetstring OCTET4 length(4) with { variant "FIELDLENGTH(4)" }
+type octetstring OCTET8 length(8) with { variant "FIELDLENGTH(8)" }
+type charstring DiameterIdentity;
+type charstring DiameterURI;
+type OCTET4 Time;
+type octetstring UTF8;
+type charstring IPFilterRule;
+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;
+
+//
+// 4.3. Derived AVP Data Formats
+//
+
+// http://www.iana.org/assignments/address-family-numbers (2002-05-14)
+type enumerated AddressType {
+Reserved_0 (0),
+IP (1),
+IP6 (2),
+NSAP (3),
+HDLC (4),
+BBN1822 (5),
+IEEE802 (6),
+E163 (7),
+E164 (8),
+F69 (9),
+X121 (10),
+IPX (11),
+Appletalk (12),
+Decnet_IV (13),
+Banyan_Vines (14),
+E164_NSAP (15),
+DNS (16),
+Distinguished_Name (17),
+AS_Number (18),
+XTP_IP (19),
+XTP_IP6 (20),
+XTP_native (21),
+Fibre_Channel_WW_Port (22),
+Fibre_Channel_WW_Node (23),
+GWID (24),
+Reserved_65535 (65535)
+} with {
+variant "FIELDLENGTH(16)"
+variant "BYTEORDER(last)"
+variant "COMP(nosign)"
+}
+
+type record AVP_Address {
+AddressType address_type,
+octetstring address_data
+}
+
+// Non-standard? AVP type for 4octet IPv4 addresses
+type OCTET4 AVP_IP_Address;
+
+type Time AVP_Time;
+
+// Supports only 1byte/char
+type UTF8 AVP_UTF8String;
+
+type DiameterIdentity AVP_DiameterIdentity;
+type DiameterURI AVP_DiameterURI;
+
+// Enumerated
+// Enumerations must be solved uniqly for each enumerated type AVP!
+
+type IPFilterRule AVP_IPFilterRule;
+type QoSFilterRule AVP_QoSFilterRule;
+
+
+
+type record PDU_DIAMETER
+{
+UINT8         version,
+UINT24        message_length,
+BIT8          RPETxxxx,
+Command_Code  command_code,
+OCTET4        application_id,
+UINT32        hop_by_hop_id,
+UINT32        end_to_end_id,
+AVP_list      avps
+} with {
+variant (message_length) "LENGTHTO(version, message_length,
+	RPETxxxx,
+command_code, application_id, hop_by_hop_id, end_to_end_id, avps)";
+}
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Base_IETF_RFC3588.ddf
+//  Description:	DDF for the Diameter base AVPs
+//  Rev:                <RnXnn>
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: BASE
+// APPLICATION-REVISION: RFC3588
+
+//
+// 4.5. Diameter Base Protocol AVPs
+//
+
+// RFC 3588 3.1
+// WARNING: Enumeration item with code (280) exists in type Command_Code
+// WARNING: Enumeration item with code (282) exists in type Command_Code
+// WARNING: Enumeration item with code (258) exists in type Command_Code
+// WARNING: Enumeration item with code (275) exists in type Command_Code
+// WARNING: Enumeration item with code (274) exists in type Command_Code
+// WARNING: Enumeration item with code (271) exists in type Command_Code
+// WARNING: Enumeration item with code (257) exists in type Command_Code
+
+
+
+
+// RFC 3588
+// AVP: Acct-Interim-Interval (85)
+// 9.8.2
+type AVP_Unsigned32 BASE_NONE_Acct_Interim_Interval 
+
+// RFC 3588
+// AVP: Accounting-Realtime-Required (483)
+// 9.8.7
+type enumerated BASE_NONE_Accounting_Realtime_Required {
+ DELIVER_AND_GRANT (1),
+ GRANT_AND_STORE (2),
+ GRANT_AND_LOSE (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: Acct-Multi-Session-Id (50)
+// 9.8.5
+type AVP_UTF8String BASE_NONE_Acct_Multi_Session_Id 
+
+// RFC 3588
+// AVP: Accounting-Record-Number (485)
+// 9.8.3
+type AVP_Unsigned32 BASE_NONE_Accounting_Record_Number 
+
+// RFC 3588
+// AVP: Accounting-Record-Type (480)
+// 9.8.1
+type enumerated BASE_NONE_Accounting_Record_Type {
+ EVENT_RECORD (1),
+ START_RECORD (2),
+ INTERIM_RECORD (3),
+ STOP_RECORD (4)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: Accounting-Session-Id (44)
+// 9.8.4
+type AVP_OctetString BASE_NONE_Accounting_Session_Id 
+
+// RFC 3588
+// AVP: Accounting-Sub-Session-Id (287)
+// 9.8.6
+type AVP_Unsigned64 BASE_NONE_Accounting_Sub_Session_Id 
+
+// RFC 3588
+// AVP: Acct-Application-Id (259)
+// 6.9
+type AVP_Unsigned32 BASE_NONE_Acct_Application_Id 
+
+// RFC 3588
+// AVP: Auth-Application-Id (258)
+// 6.8
+type AVP_Unsigned32 BASE_NONE_Auth_Application_Id 
+
+// RFC 3588
+// AVP: Auth-Request-Type (274)
+// 8.7
+type enumerated BASE_NONE_Auth_Request_Type {
+ AUTHENTICATE_ONLY (1),
+ AUTHORIZE_ONLY (2),
+ AUTHORIZE_AUTHENTICATE (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: Authorization-Lifetime (291)
+// 8.9
+type AVP_Unsigned32 BASE_NONE_Authorization_Lifetime 
+
+// RFC 3588
+// AVP: Auth-Grace-Period (276)
+// 8.10
+type AVP_Unsigned32 BASE_NONE_Auth_Grace_Period 
+
+// RFC 3588
+// AVP: Auth-Session-State (277)
+// 8.11
+type enumerated BASE_NONE_Auth_Session_State {
+ STATE_MAINTAINED (0),
+ NO_STATE_MAINTAINED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: Re-Auth-Request-Type (285)
+// 8.12
+type enumerated BASE_NONE_Re_Auth_Request_Type {
+ AUTHORIZE_ONLY (0),
+ AUTHORIZE_AUTHENTICATE (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: Class (25)
+// 8.20
+type AVP_OctetString BASE_NONE_Class 
+
+// RFC 3588
+// AVP: Destination-Host (293)
+// 6.5
+type AVP_DiameterIdentity BASE_NONE_Destination_Host 
+
+// RFC 3588
+// AVP: Destination-Realm (283)
+// 6.6
+type AVP_DiameterIdentity BASE_NONE_Destination_Realm 
+
+// RFC 3588
+// AVP: Disconnect-Cause (273)
+// 5.4.3
+type enumerated BASE_NONE_Disconnect_Cause {
+ REBOOTING (0),
+ BUSY (1),
+ DO_NOT_WANT_TO_TALK_TO_YOU (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: E2E-Sequence (300)
+// 6.15
+type AVP_Grouped BASE_NONE_E2E_Sequence 
+
+// RFC 3588
+// AVP: Error-Message (281)
+// 7.3
+type AVP_UTF8String BASE_NONE_Error_Message 
+
+// RFC 3588
+// AVP: Error-Reporting-Host (294)
+// 7.4
+type AVP_DiameterIdentity BASE_NONE_Error_Reporting_Host 
+
+// RFC 3588
+// AVP: Event-Timestamp (55)
+// 8.21
+type AVP_Time BASE_NONE_Event_Timestamp 
+
+// RFC 3588
+// AVP: Experimental-Result (297)
+// 7.6
+type AVP_Grouped BASE_NONE_Experimental_Result 
+
+// RFC 3588
+// AVP: Experimental-Result-Code (298)
+// 7.7
+type AVP_Unsigned32 BASE_NONE_Experimental_Result_Code 
+
+// RFC 3588
+// AVP: Failed-AVP (279)
+// 7.5
+type AVP_Grouped BASE_NONE_Failed_AVP 
+
+// RFC 3588
+// AVP: Firmware-Revision (267)
+// 5.3.4
+type AVP_Unsigned32 BASE_NONE_Firmware_Revision 
+
+// RFC 3588
+// AVP: Host-IP-Address (257)
+// 5.3.5
+type AVP_Address BASE_NONE_Host_IP_Address 
+
+// RFC 3588
+// AVP: Inband-Security-Id (299)
+// 6.10
+type AVP_Unsigned32 BASE_NONE_Inband_Security_Id 
+
+// RFC 3588
+// AVP: Multi-Round-Time-Out (272)
+// 8.19
+type AVP_Unsigned32 BASE_NONE_Multi_Round_Time_Out 
+
+// RFC 3588
+// AVP: Origin-Host (264)
+// 6.3
+type AVP_DiameterIdentity BASE_NONE_Origin_Host 
+
+// RFC 3588
+// AVP: Origin-Realm (296)
+// 6.4
+type AVP_DiameterIdentity BASE_NONE_Origin_Realm 
+
+// RFC 3588
+// AVP: Origin-State-Id (278)
+// 8.16
+type AVP_Unsigned32 BASE_NONE_Origin_State_Id 
+
+// RFC 3588
+// AVP: Product-Name (269)
+// 5.3.7
+type AVP_UTF8String BASE_NONE_Product_Name 
+
+// RFC 3588
+// AVP: Proxy-Host (280)
+// 6.7.3
+type AVP_DiameterIdentity BASE_NONE_Proxy_Host 
+
+// RFC 3588
+// AVP: Proxy-Info (284)
+// 6.7.2
+type AVP_Grouped BASE_NONE_Proxy_Info 
+
+// RFC 3588
+// AVP: Proxy-State (33)
+// 6.7.4
+type AVP_OctetString BASE_NONE_Proxy_State 
+
+// RFC 3588
+// AVP: Redirect-Host (292)
+// 6.12
+type AVP_DiameterURI BASE_NONE_Redirect_Host 
+
+// RFC 3588
+// AVP: Redirect-Host-Usage (261)
+// 6.13
+type enumerated BASE_NONE_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)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: Redirect-Max-Cache-Time (262)
+// 6.14
+type AVP_Unsigned32 BASE_NONE_Redirect_Max_Cache_Time 
+
+// RFC 3588
+// AVP: Result-Code (268)
+// 7.1
+type AVP_Unsigned32 BASE_NONE_Result_Code 
+
+// RFC 3588
+// AVP: Route-Record (282)
+// 6.7.1
+type AVP_DiameterIdentity BASE_NONE_Route_Record 
+
+// RFC 3588
+// AVP: Session-Id (263)
+// 8.8
+type AVP_UTF8String BASE_NONE_Session_Id 
+
+// RFC 3588
+// AVP: Session-Timeout (27)
+// 8.13
+type AVP_Unsigned32 BASE_NONE_Session_Timeout 
+
+// RFC 3588
+// AVP: Session-Binding (270)
+// 8.17
+type AVP_Unsigned32 BASE_NONE_Session_Binding 
+
+// RFC 3588
+// AVP: Session-Server-Failover (271)
+// 8.18
+type enumerated BASE_NONE_Session_Server_Failover {
+ REFUSE_SERVICE (0),
+ TRY_AGAIN (1),
+ ALLOW_SERVICE (2),
+ TRY_AGAIN_ALLOW_SERVICE (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: Supported-Vendor-Id (265)
+// 5.3.6
+type AVP_Unsigned32 BASE_NONE_Supported_Vendor_Id 
+
+// RFC 3588
+// AVP: Termination-Cause (295)
+// 8.15
+type enumerated BASE_NONE_Termination_Cause {
+ DIAMETER_LOGOUT (1),
+ DIAMETER_SERVICE_NOT_PROVIDED (2),
+ DIAMETER_BAD_ANSWER (3),
+ DIAMETER_ADMINISTRATIVE (4),
+ DIAMETER_LINK_BROKEN (5),
+ DIAMETER_AUTH_EXPIRED (6),
+ DIAMETER_USER_MOVED (7),
+ DIAMETER_SESSION_TIMEOUT (8)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// RFC 3588
+// AVP: User-Name (1)
+// 8.14
+type AVP_UTF8String BASE_NONE_User_Name 
+
+// RFC 3588
+// AVP: Vendor-Id (266)
+// 5.3.3
+type AVP_Unsigned32 BASE_NONE_Vendor_Id 
+
+// RFC 3588
+// AVP: Vendor-Specific-Application-Id (260)
+// 6.11
+type AVP_Grouped BASE_NONE_Vendor_Specific_Application_Id 
+
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Ericsson_Specific_AVPs.ddf
+//  Description:        Ericsson specific AVP definitions
+//  Rev:                <RnXnn>
+//  Prodnr:             CNL 113 462
+//  Reference:          http://snmp.ericsson.se/diameter-assignments.html
+//
+
+// APPLICATION-NAME: E
+// APPLICATION-REVISION: V1
+
+// SACC Sy Protocol Specification
+// WARNING: Enumeration item with code (258) exists in type Command_Code
+
+
+// Ericsson IMS-Service-Identification
+// AVP: IMS-Service-Identification (284) Ericsson (193)
+type AVP_UTF8String E_Ericsson_IMS_Service_Identification 
+
+// Ericsson-Service-Information
+// AVP: Ericsson-Service-Information (285) Ericsson (193)
+type AVP_Grouped E_Ericsson_Ericsson_Service_Information 
+
+// Ericsson SIP-Reason
+// AVP: SIP-Reason (335) Ericsson (193)
+type AVP_Grouped E_Ericsson_SIP_Reason 
+
+// Ericsson SIP-Reason-Cause
+// AVP: SIP-Reason-Cause (336) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_SIP_Reason_Cause 
+
+// Ericsson SIP-Reason-Text
+// AVP: SIP-Reason-Text (337) Ericsson (193)
+type AVP_UTF8String E_Ericsson_SIP_Reason_Text 
+
+// Ericsson MMT-Information
+// AVP: MMT-Information (1061) Ericsson (193)
+type AVP_Grouped E_Ericsson_MMT_Information 
+
+// Ericsson Access-Information
+// AVP: Access-Information (1063) Ericsson (193)
+type AVP_Grouped E_Ericsson_Access_Information 
+
+// Ericsson CDR-Information
+// AVP: CDR-Information (1064) Ericsson (193)
+type AVP_OctetString E_Ericsson_CDR_Information 
+
+// Ericsson Charging-Context-Id
+// AVP: Charging-Context-Id (1065) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Charging_Context_Id 
+
+// Ericsson Charging-State-Information
+// AVP: Charging-State-Information (1066) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Charging_State_Information 
+
+// Ericsson Result-Code-Extension
+// AVP: Result-Code-Extension (1067) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Result_Code_Extension 
+
+// Ericsson Service-Session-Id
+// AVP: Service-Session-Id (1068) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Service_Session_Id 
+
+// Ericsson Subscription-Id-Location
+// AVP: Subscription-Id-Location (1074) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Subscription_Id_Location 
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id (1075) Ericsson (193)
+// 5.5
+type AVP_Grouped E_Ericsson_Other_Party_Id 
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id-Nature (1076) Ericsson (193)
+// 5.5
+type enumerated E_Ericsson_Other_Party_Id_Nature {
+ UNKNOWN (0),
+ INTERNATIONAL (1),
+ NATIONAL (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id-Data (1077) Ericsson (193)
+// 5.5
+type AVP_UTF8String E_Ericsson_Other_Party_Id_Data 
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id-Type (1078) Ericsson (193)
+// 5.5
+type enumerated E_Ericsson_Other_Party_Id_Type {
+ END_USER_MSISDN (0),
+ END_USER_IMSI (1),
+ END_USER_SIP_URL (2),
+ END_USER_NAI (3),
+ END_USER_PRIVATE (4)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// 2/1553-APR 101 48/2
+// AVP: Service-Provider-Id (1081) Ericsson (193)
+// 3.3.3
+type AVP_UTF8String E_Ericsson_Service_Provider_Id 
+
+// 2/1553-APR 101 48/2
+// AVP: Traffic-Case (1082) Ericsson (193)
+// 3.3.3
+type AVP_Unsigned32 E_Ericsson_Traffic_Case 
+
+// Ericsson CIP-IP-Version
+// AVP: CIP-IP-Version (1083) Ericsson (193)
+type AVP_UTF8String E_Ericsson_CIP_IP_Version 
+
+// Ericsson Media-Statistics
+// AVP: Media-Statistics (1084) Ericsson (193)
+type AVP_Grouped E_Ericsson_Media_Statistics 
+
+// Ericsson Media-Interface-Statistics
+// AVP: Media-Interface-Statistics (1085) Ericsson (193)
+type AVP_Grouped E_Ericsson_Media_Interface_Statistics 
+
+// Ericsson Media-Interface-Flow-Statistics
+// AVP: Media-Interface-Flow-Statistics (1086) Ericsson (193)
+type AVP_Grouped E_Ericsson_Media_Interface_Flow_Statistics 
+
+// Ericsson Media-Statistics-Side
+// AVP: Media-Statistics-Side (1101) Ericsson (193)
+type enumerated E_Ericsson_Media_Statistics_Side {
+ CALLING_SIDE (0),
+ CALLED_SIDE (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson Roaming-Position
+// AVP: Roaming-Position (1121) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Roaming_Position 
+
+// Ericsson Service-Scenario
+// AVP: Service-Scenario (1122) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Service_Scenario 
+
+// Ericsson Start-Of-Call
+// AVP: Start-Of-Call (1125) Ericsson (193)
+type AVP_Time E_Ericsson_Start_Of_Call 
+
+// Ericsson Supplementary-Service-Information
+// AVP: Supplementary-Service-Information (1129) Ericsson (193)
+type AVP_Grouped E_Ericsson_Supplementary_Service_Information 
+
+// Ericsson Supplementary-Service-Identity
+// AVP: Supplementary-Service-Identity (1130) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Supplementary_Service_Identity 
+
+// Ericsson Supplementary-Service-Action
+// AVP: Supplementary-Service-Action (1131) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Supplementary_Service_Action 
+
+// Ericsson Redirecting-Party-Address
+// AVP: Redirecting-Party-Address (1133) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Redirecting_Party_Address 
+
+// Ericsson Dial-Around-Indicator
+// AVP: Dial-Around-Indicator (1160) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Dial_Around_Indicator 
+
+// Ericsson Service-Setup-Result
+// AVP: Service-Setup-Result (1135) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Service_Setup_Result 
+
+// Ericsson Service-Setup-Result-Requested
+// AVP: Service-Setup-Result-Requested (1136) Ericsson (193)
+type enumerated E_Ericsson_Service_Setup_Result_Requested {
+ RESULT_NOT_NEEDED (0),
+ RESULT_REQUESTED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson QoS-Profile-Id
+// AVP: QoS-Profile-Id (1137) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_QoS_Profile_Id 
+
+// Ericsson Content-Filtering-Profile-Id
+// AVP: Content-Filtering-Profile-Id (1138) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Content_Filtering_Profile_Id 
+
+// Ericsson Access-Control-Profile-Id
+// AVP: Access-Control-Profile-Id (1139) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Access_Control_Profile_Id 
+
+// Ericsson Contact-Header
+// AVP: Contact-Header (1148) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Contact_Header 
+
+// Ericsson To-Header
+// AVP: To-Header (1149) Ericsson (193)
+type AVP_UTF8String E_Ericsson_To_Header 
+
+// Ericsson History-Info-Header
+// AVP: History-Info-Header (1150) Ericsson (193)
+type AVP_UTF8String E_Ericsson_History_Info_Header 
+
+// Ericsson Referred-By-Header
+// AVP: Referred-By-Header (1151) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Referred_By_Header 
+
+// Ericsson From-Header
+// AVP: From-Header (1153) Ericsson (193)
+type AVP_UTF8String E_Ericsson_From_Header 
+
+// Ericsson Max-No-Contacts
+// AVP: Max-No-Contacts (1159) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Max_No_Contacts 
+
+// Ericsson Served-User-Address
+// AVP: Served-User-Address (1183) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Served_User_Address 
+
+// Ericsson Communication-Details
+// AVP: Communication-Details (1184) Ericsson (193)
+type AVP_Grouped E_Ericsson_Communication_Details 
+
+// Ericsson Communication-Timestamp
+// AVP: Communication-Timestamp (1185) Ericsson (193)
+type AVP_Time E_Ericsson_Communication_Timestamp 
+
+// Ericsson P-Asserted-Identity-Header
+// AVP: P-Asserted-Identity-Header (1186) Ericsson (193)
+type AVP_UTF8String E_Ericsson_P_Asserted_Identity_Header 
+
+// Ericsson Request-URI
+// AVP: Request-URI (1187) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Request_URI 
+
+// Ericsson Privacy-Header
+// AVP: Privacy-Header (1188) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Privacy_Header 
+
+// Ericsson Subscriber-Information
+// AVP: Subscriber-Information (1189) Ericsson (193)
+type AVP_Grouped E_Ericsson_Subscriber_Information 
+
+// Ericsson-Secondary-Digest-HA1
+// AVP: Ericsson-Secondary-Digest-HA1 (1192) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Ericsson_Secondary_Digest_HA1 
+
+// Ericsson One-Time-Redirect-Control
+// AVP: One-Time-Redirect-Control (1193) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_One_Time_Redirect_Control
+
+
+// Ericsson Number-Frame-Information
+// AVP: Number-Frame-Information (1254) Ericsson (193)
+type AVP_Grouped E_Ericsson_Number_Frame_Information 
+
+// Ericsson Address-Presentation-Restricted-Indicator
+// AVP: Address-Presentation-Restricted-Indicator (1255) Ericsson (193)
+type enumerated E_Ericsson_Address_Presentation_Restricted_Indicator  {
+ PRESENTATION_ALLOWED (0),
+ PRESENTATION_RESTRICTED (1),
+ ADDRESS_NOT_AVAILABLE (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson SIP-Ringing-Timestamp-Fraction
+// AVP: SIP-Ringing-Timestamp-Fraction (1256) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_SIP_Ringing_Timestamp_Fraction 
+
+// Ericsson From-Header-Presentation-Status
+// AVP: From-Header-Presentation-Status (1262) Ericsson (193)
+type enumerated E_Ericsson_From_Header_Presentation_Status {
+ PRESENTATION_ALLOWED (0),
+ PRESENTATION_RESTRICTED (1),
+ UNKNOWN (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson Transaction-Info
+// AVP: Transaction-Info (1264) Ericsson (193)
+type AVP_Grouped E_Ericsson_Transaction_Info
+
+// Ericsson Transaction-Type
+// AVP: Transaction-Type (1265) Ericsson (193)
+type enumerated E_Ericsson_Transaction_Type {
+ SIP_REQUEST (0),
+ SIP_RESPONSE (1),
+ DIAMETER_REQUEST (2),
+ DIAMETER_ANSWER (3) 
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson Transaction-Data-Name
+// AVP: Transaction-Data-Name (1266) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Transaction_Data_Name
+
+// Ericsson Transaction-Data-Value
+// AVP: Transaction-Data-Value (1267) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Transaction_Data_Value
+
+// Ericsson Charging-Profile-Id
+// AVP: Charging-Profile-Id (1268) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Charging_Profile_Id 
+
+// Ericsson Packet-Loss-Rate
+// AVP: Packet-Loss-Rate (1296) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Packet_Loss_Rate 
+
+// Ericsson Network-Call-Reference
+// AVP: Network-Call-Reference (1297) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Network_Call_Reference 
+
+// Ericsson Additional-Charging-Information
+// AVP: Additional-Charging-Information (1298) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Additional_Charging_Information 
+
+// Ericsson Total-Session-Duration
+// AVP: Total-Session-Duration (1299) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Total_Session_Duration 
+
+// Ericsson Round-Trip-Delay
+// AVP: Round-Trip-Delay (1300) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Round_Trip_Delay 
+
+// Ericsson JB-Discard-Rate
+// AVP: JB-Discard-Rate (1301) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_JB_Discard_Rate 
+
+// Ericsson Routing-Call-Type
+// AVP: Routing-Call-Type (1302) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Routing_Call_Type 
+
+// Ericsson Analyzed-Call-Type
+// AVP: Analyzed-Call-Type (1303) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Analyzed_Call_Type 
+
+// Ericsson Service-Number-Type
+// AVP: Service-Number-Type (1307) Ericsson (193)
+type enumerated E_Ericsson_Service_Number_Type {
+ OSN (0),
+ NSN (1),
+ NON_SERVICE_E164 (2),
+ UNKNOWN (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson SCC-Service-Identity
+// AVP: SCC-Service-Identity (1314) Ericsson (193)
+type enumerated E_Ericsson_SCC_Service_Identity {
+ T_ADS (0),
+ SDS (100),
+ SRVCC (200)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson SDD-TADS-Decision
+// AVP: SDD-TADS-Decision (1315) Ericsson (193)
+type enumerated E_Ericsson_SDD_TADS_Decision {
+ NO_SELECTION (0),
+ NO_SELECTION_AND_REJECT (1),
+ VoLTE_UE_on_PS (2),
+ VoLTE_UE_on_CS (3),
+ VoLTE_UE_on_PS_or_PS (4),
+ BREAKOUT_to_CS (5),
+ FIXED_UE_on_PS_and_BREAKOUT_to_CS (6)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson M2M-Information
+// AVP: M2M-Information (1316) Ericsson (193)
+type enumerated E_Ericsson_M2M_Information {
+ ADDITIONAL_QUERY_REQUIRED (0),
+ MOBILE_TO_MOBILE_CALL (1),
+ NOT_MOBILE_TO_MOBILE_CALL (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson Replenishment-Service-Request
+// AVP: Replenishment-Service-Request (1317) Ericsson (193)
+type AVP_Grouped E_Ericsson_Replenishment_Service_Request 
+
+// Ericsson Replenishment-Reason
+// AVP: Replenishment-Reason (1318) Ericsson (193)
+type enumerated E_Ericsson_Replenishment_Reason {
+ UNSPECIFIED_REASON (0),
+ LOW_BALANCE (1),
+ NO_BALANCE (2),
+ LOW_AIR_TIME (3),
+ NO_AIR_TIME (4)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson Announcement-Service-Request
+// AVP: Announcement-Service-Request (1319) Ericsson (193)
+type AVP_Grouped E_Ericsson_Announcement_Service_Request 
+
+// Ericsson Fixed-Announcement-Code
+// AVP: Fixed-Announcement-Code (1320) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Fixed_Announcement_Code 
+
+// Ericsson Fixed-Announcement-Var
+// AVP: Fixed-Announcement-Var (1321) Ericsson (193)
+type AVP_Grouped E_Ericsson_Fixed_Announcement_Var 
+
+// Ericsson Fixed-Announcement-Var-Integer
+// AVP: Fixed-Announcement-Var-Integer (1322) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Fixed_Announcement_Var_Integer 
+
+// Ericsson Fixed-Announcement-Time
+// AVP: Fixed-Announcement-Time (1323) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Fixed_Announcement_Time 
+
+// Ericsson Subscriber-Additional-Info
+// AVP: Subscriber-Additional-Info (1331) Ericsson (193)
+type AVP_Grouped E_Ericsson_Subscriber_Additional_Info 
+
+// Ericsson Subscriber-Provisioned-Info
+// AVP: Subscriber-Provisioned-Info (1332) Ericsson (193)
+type AVP_OctetString E_Ericsson_Subscriber_Provisioned_Info 
+
+// Ericsson Policy-Group
+// AVP: Policy-Group (1347) Ericsson (193)
+type AVP_Grouped E_Ericsson_Policy_Group 
+
+// Ericsson Policy-Group-Name
+// AVP: Policy-Group-Name (1348) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Policy_Group_Name 
+
+// Ericsson Policy-Group-Priority
+// AVP: Policy-Group-Priority (1349) Ericsson (193)
+type AVP_Integer32 E_Ericsson_Policy_Group_Priority 
+
+// Ericsson Policy-Group-Activation-Time
+// AVP: Policy-Group-Activation-Time (1350) Ericsson (193)
+type AVP_Time E_Ericsson_Policy_Group_Activation_Time 
+
+// Ericsson Policy-Group-Deactivation-Time
+// AVP: Policy-Group-Deactivation-Time (1351) Ericsson (193)
+type AVP_Time E_Ericsson_Policy_Group_Deactivation_Time 
+
+// Ericsson Ericsson-Policy-Counter-Status
+// AVP: Ericsson-Policy-Counter-Status (1352) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Ericsson_Policy_Counter_Status 
+
+// Ericsson Policy-Counter-Policy-Group-Name
+// AVP: Policy-Counter-Policy-Group-Name (1353) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Policy_Counter_Policy_Group_Name 
+
+// Ericsson Ericsson-Policy-Counter-Identifier
+// AVP: Ericsson-Policy-Counter-Identifier (1354) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Ericsson_Policy_Counter_Identifier 
+
+// Ericsson Ericsson-Policy-Counter-Status-Report
+// AVP: Ericsson-Policy-Counter-Status-Report (1355) Ericsson (193)
+type AVP_Grouped E_Ericsson_Ericsson_Policy_Counter_Status_Report 
+
+// Ericsson Ericsson-SL-Request-Type
+// AVP: Ericsson-SL-Request-Type (1356) Ericsson (193)
+type enumerated E_Ericsson_Ericsson_SL_Request_Type {
+ INITIAL_REQUEST (0),
+ INTERMEDIATE_REQUEST (1) 
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson Additional-Other-Party-Id
+// AVP: Additional-Other-Party-Id (1358) Ericsson (193)
+type AVP_Grouped E_Ericsson_Additional_Other_Party_Id
+
+// Ericsson Requested-Task
+// AVP: Requested-Task (1399) Ericsson (193)
+type enumerated E_Ericsson_Requested_Task {
+ ICBS_Forward (0),
+ ICBS_Forward_and_ICBS_Backward (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// AVP: Apply-Tariff-Immediate (2190) Ericsson (193)
+type enumerated E_Ericsson_Apply_Tariff_Immediate {
+ START_TARIFF_IMMEDIATELY (0),
+ WAIT_FOR_START (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// AVP: Apply-Tariff-Restart (2191) Ericsson (193)
+type enumerated E_Ericsson_Apply_Tariff_Restart {
+ NO_RESTART (0),
+ RESTART (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// Ericsson Connection-Attempt-Charge
+// AVP: Connection-Attempt-Charge (2192) Ericsson (193)
+type AVP_Grouped E_Ericsson_Connection_Attempt_Charge 
+
+// AVP: Network-Identification (2193) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Network_Identification 
+
+// AVP: Origination-Identification (2194) Ericsson (193)
+type AVP_Grouped E_Ericsson_Origination_Identification 
+
+// AVP: Preferred-Currency-Code (2195) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Preferred_Currency_Code 
+
+// AVP: Purpose (2196) Ericsson (193)
+type enumerated E_Ericsson_Purpose {
+ NEW_TARIFF (0),
+ ADD_ON_CHARGE (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+// AVP: Reference-ID (2197) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Reference_ID 
+
+// Ericsson Set-Up-Charge
+// AVP: Set-Up-Charge (2198) Ericsson (193)
+type AVP_Grouped E_Ericsson_Set_Up_Charge 
+
+// AVP: Tariff-Expiry-Policy (2199) Ericsson (193)
+type enumerated E_Ericsson_Tariff_Expiry_Policy {
+ CYCLE (0),
+ DEFINED_BY_NETWORK_OPERATOR (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: Ericsson-SIP-Authorization (256) Ericsson (193)
+type AVP_Grouped E_Ericsson_Ericsson_SIP_Authorization
+
+
+
+// AVP: Ericsson-Digest-HA2 (257) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Ericsson_Digest_HA2
+
+
+
+// AVP: Unasigned (258) Ericsson (193)
+type AVP_OctetString E_Ericsson_Unasigned
+
+
+
+// AVP: Barring-Indication (259) Ericsson (193)
+type enumerated E_Ericsson_Barring_Indication {
+ FALSE (0),
+ TRUE (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Public-Identification (260) Ericsson (193)
+type AVP_Grouped E_Ericsson_Public_Identification
+
+
+
+// AVP: Acc-Service-Type (261) Ericsson (193)
+type enumerated E_Ericsson_Acc_Service_Type {
+ Audio_Conference (0),
+ Video_Conference (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Acc-Received-Octets (262) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Received_Octets
+
+
+
+// AVP: Acc-Received-Packets (263) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Received_Packets
+
+
+
+// AVP: Acc-Received-Duration (264) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Received_Duration
+
+
+
+// AVP: Acc-Received-Bursts (265) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Received_Bursts
+
+
+
+// AVP: Acc-Sent-Octets (266) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Sent_Octets
+
+
+
+// AVP: Acc-Sent-Packets (267) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Sent_Packets
+
+
+
+// AVP: Acc-Sent-Duration (268) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Sent_Duration
+
+
+
+// AVP: Acc-Sent-Bursts (269) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Sent_Bursts
+
+
+
+// AVP: Acc-Reported-Packets-Received (270) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Reported_Packets_Received
+
+
+
+// AVP: Acc-Reported-Packets-Sent (271) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Reported_Packets_Sent
+
+
+
+// AVP: Acc-Receiver-Reports (272) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Receiver_Reports
+
+
+
+// AVP: Acc-Sender-Reports (273) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Acc_Sender_Reports
+
+
+
+// AVP: Acc-Aggregated-Numbers (274) Ericsson (193)
+type AVP_Grouped E_Ericsson_Acc_Aggregated_Numbers
+
+
+
+// AVP: Acc-Talk-Burst-Sent (275) Ericsson (193)
+type AVP_Grouped E_Ericsson_Acc_Talk_Burst_Sent
+
+
+
+// AVP: Acc-Talk-Burst-Received (276) Ericsson (193)
+type AVP_Grouped E_Ericsson_Acc_Talk_Burst_Received
+
+
+
+// AVP: Registration-Type (277) Ericsson (193)
+type enumerated E_Ericsson_Registration_Type {
+ INITIAL_REGISTRATION (0),
+ RE_REGISTRATION (1),
+ DEREGISTRATION (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: SSO-Data (278) Ericsson (193)
+type AVP_Grouped E_Ericsson_SSO_Data
+
+
+
+// AVP: SSO-Status (280) Ericsson (193)
+type enumerated E_Ericsson_SSO_Status {
+ NON_VALID (0),
+ NON_TRUSTED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Access-Network-Identifier (281) Ericsson (193)
+type AVP_Grouped E_Ericsson_Access_Network_Identifier
+
+
+
+// AVP: Incoming-Access-Network-Identifier (282) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Incoming_Access_Network_Identifier
+
+
+
+// AVP: Outgoing-Access-Network-Identifier (283) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Outgoing_Access_Network_Identifier
+
+
+
+// AVP: Called-Party-Original-Address (286) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Called_Party_Original_Address
+
+
+
+// AVP: MMInviteStatus (287) Ericsson (193)
+type enumerated E_Ericsson_MMInviteStatus {
+ MMInvite_sent (0),
+ MMInvite_delivered (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Activity-Information (288) Ericsson (193)
+type AVP_Grouped E_Ericsson_Activity_Information
+
+
+
+// AVP: Feature-Tag (289) Ericsson (193)
+type AVP_OctetString E_Ericsson_Feature_Tag
+
+
+
+// AVP: Rule-Space-Suggestion (290) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Rule_Space_Suggestion
+
+
+
+// AVP: Rule-Space-Decision (291) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Rule_Space_Decision
+
+
+
+// AVP: Bearer-Control-Options (292) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Bearer_Control_Options
+
+
+
+// AVP: Bearer-Control-Reject (293) Ericsson (193)
+type enumerated E_Ericsson_Bearer_Control_Reject  {
+ REJECT_THE_REQUEST (0)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: ARP (294) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_ARP
+
+
+
+// AVP: Service-Rating-Info (295) Ericsson (193)
+type AVP_Grouped E_Ericsson_Service_Rating_Info
+
+
+
+// AVP: Instance-Stop-Indication (296) Ericsson (193)
+type enumerated E_Ericsson_Instance_Stop_Indication {
+ Successful_Stop (0),
+ RE_Unsuccessful_Stop (1),
+ Unknown_Reason_Stop (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: MMS-Info (297) Ericsson (193)
+type AVP_Grouped E_Ericsson_MMS_Info
+
+
+
+// AVP: WSP-Info (298) Ericsson (193)
+type AVP_Grouped E_Ericsson_WSP_Info
+
+
+
+// AVP: HTTP-Info (299) Ericsson (193)
+type AVP_Grouped E_Ericsson_HTTP_Info
+
+
+
+// AVP: FTP-Info (300) Ericsson (193)
+type AVP_Grouped E_Ericsson_FTP_Info
+
+
+
+// AVP: RTSP-Info (301) Ericsson (193)
+type AVP_Grouped E_Ericsson_RTSP_Info
+
+
+
+// AVP: SIP-Info (302) Ericsson (193)
+type AVP_Grouped E_Ericsson_SIP_Info
+
+
+
+// AVP: MM-Originator (303) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MM_Originator
+
+
+
+// AVP: MM-Destination (304) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MM_Destination
+
+
+
+// AVP: MM-CC-Destination (305) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MM_CC_Destination
+
+
+
+// AVP: MM-BCC-Destination (306) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MM_BCC_Destination
+
+
+
+// AVP: Content-Location (307) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Content_Location
+
+
+
+// AVP: Message-Type (308) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Message_Type
+
+
+
+// AVP: URI (309) Ericsson (193)
+type AVP_UTF8String E_Ericsson_URI
+
+
+
+// AVP: Operator-Defined-Field (310) Ericsson (193)
+type AVP_Grouped E_Ericsson_Operator_Defined_Field
+
+
+
+// AVP: Field-Name (311) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Field_Name
+
+
+
+// AVP: Field-Value (312) Ericsson (193)
+type AVP_OctetString E_Ericsson_Field_Value
+
+
+
+// AVP: Host (313) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Host
+
+
+
+// AVP: WSP-PDU-Type (314) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_WSP_PDU_Type
+
+
+
+// AVP: Request-Method (315) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Request_Method
+
+
+
+// AVP: File-Name (316) Ericsson (193)
+type AVP_UTF8String E_Ericsson_File_Name
+
+
+
+// AVP: Command (317) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Command
+
+
+
+// AVP: Command-Arg (318) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Command_Arg
+
+
+
+// AVP: Transport-Protocol (319) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Transport_Protocol
+
+
+
+// AVP: Server-IP-Address (320) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Server_IP_Address
+
+
+
+// AVP: PDP-Context-Type (321) Ericsson (193)
+type enumerated E_Ericsson_PDP_Context_Type {
+ PRIMARY (0),
+ SECONDARY (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Active-Time-Reporting (322) Ericsson (193)
+type enumerated E_Ericsson_Active_Time_Reporting {
+ NO_REPORTING (0),
+ REPORT_TIME_STAMP (1),
+ REPORT_TIME_STAMP_VOLUME (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Active-Time-Report (323) Ericsson (193)
+type AVP_Grouped E_Ericsson_Active_Time_Report
+
+
+
+// AVP: Active-Time-Report-Start-Time (324) Ericsson (193)
+type AVP_Time E_Ericsson_Active_Time_Report_Start_Time
+
+
+
+// AVP: Active-Time-Report-End-Time (325) Ericsson (193)
+type AVP_Time E_Ericsson_Active_Time_Report_End_Time
+
+
+
+// AVP: Time-Quota-Measurement (326) Ericsson (193)
+type AVP_Grouped E_Ericsson_Time_Quota_Measurement
+
+
+
+// AVP: Time-Quota-Method (327) Ericsson (193)
+type enumerated E_Ericsson_Time_Quota_Method {
+ DURATION (1),
+ INACTIVITY_INCLUDED (2),
+ INACTIVITY (3),
+ ACTIVE_PERIODS (4)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Time-Quota-Resolution (328) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Time_Quota_Resolution
+
+
+
+// AVP: Time-Quota-Inactivity-Time (329) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Time_Quota_Inactivity_Time
+
+
+
+// AVP: User-Redirected (330) Ericsson (193)
+type AVP_Grouped E_Ericsson_User_Redirected
+
+
+
+// AVP: User-Agent (331) Ericsson (193)
+type AVP_UTF8String E_Ericsson_User_Agent
+
+
+
+// AVP: URL-Modifier (332) Ericsson (193)
+type enumerated E_Ericsson_URL_Modifier {
+ APPEND_URL (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: GPRS-Roaming-Status (333) Ericsson (193)
+type enumerated E_Ericsson_GPRS_Roaming_Status {
+ HOME (0),
+ VISITED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Wildcarded-PSI (334) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Wildcarded_PSI
+
+
+
+// AVP: SIP-Ringing-Timestamp (338) Ericsson (193)
+type AVP_Time E_Ericsson_SIP_Ringing_Timestamp
+
+
+
+// AVP: Quota-Deduction-Start (339) Ericsson (193)
+type enumerated E_Ericsson_Quota_Deduction_Start {
+ SIP_INVITE (0),
+ SIP_180_Ringing (1),
+ SIP_200_OK (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: Event-NTP-Timestamp (340) Ericsson (193)
+type AVP_OctetString E_Ericsson_Event_NTP_Timestamp
+
+
+
+// AVP: Granted-Service-Unit (431) Ericsson (193)
+type AVP_Grouped E_Ericsson_Granted_Service_Unit 
+
+
+
+// AVP: Multiple-Services-Credit-Control (456) Ericsson (193)
+type AVP_Grouped E_Ericsson_Multiple_Services_Credit_Control 
+
+
+
+// AVP: Used-Service-Unit (446) Ericsson (193)
+type AVP_Grouped E_Ericsson_Used_Service_Unit 
+
+
+
+// AVP: Reporting-Reason (872) Ericsson (193)
+type enumerated E_Ericsson_Reporting_Reason  {
+ FINAL (2),
+ QUOTA_EXHAUSTED (3),
+ RATING_CONDITION_CHANGE (6),
+ FORCED_REAUTHORISATION (7)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP:	Application-Server-Name	(1001)
+type AVP_OctetString E_NONE_Application_Server_Name
+
+
+
+// AVP:	Indication (1002)
+type AVP_Unsigned32 E_NONE_Indication 
+
+
+
+// AVP:	Max-No-Call-Legs-Per-Sessions (1003)
+type AVP_Unsigned32 E_NONE_Max_No_Call_Legs_Per_Sessions 
+
+
+
+// AVP:	Max-No-Simultaneous-Sessions-Allowed (1004)
+type AVP_Unsigned32 E_NONE_Max_No_Simultaneous_Sessions_Allowed 
+
+
+
+// AVP: P-CSCF-Name (1005)
+type AVP_OctetString E_NONE_P_CSCF_Name 
+
+
+
+// AVP: Event-Trigger (1006) Ericsson (193)
+type enumerated E_Ericsson_Event_Trigger {
+ SGSN_CHANGE (0),
+ QOS_CHANGE (1),
+ RAT_CHANGE (2),
+ TFT_CHANGE (3),
+ PLMN_CHANGE (4),
+ TIME_CHANGE (100)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: S-CSCF-Name-Originating	(1008)
+type AVP_OctetString E_NONE_S_CSCF_Name_Originating 
+
+
+
+// AVP: S-CSCF-Name-Terminating	(1009)
+type AVP_OctetString E_NONE_S_CSCF_Name_Terminating 
+
+
+
+// AVP: Server-Capability (1010)
+type AVP_OctetString E_NONE_Server_Capability 
+
+
+
+// AVP: SIP-Server-Capabilities (1011)
+type AVP_Grouped E_NONE_SIP_Server_Capabilities 
+
+
+
+// AVP:	SIP-Server-Name (1012)
+type AVP_Grouped E_NONE_SIP_Server_Name 
+
+
+
+// AVP: SIP-Server-Operator-Preference (1013)
+type AVP_Grouped E_NONE_SIP_Server_Operator_Preference 
+
+
+
+// AVP:	Trigger-Detection-Point (1014)
+type AVP_Grouped E_NONE_Trigger_Detection_Point 
+
+
+
+// AVP:	Type-Of-Trigger	(1015)
+type AVP_Grouped E_NONE_Type_Of_Trigger 
+
+
+
+// AVP:	Trigger	(1016)
+type AVP_Grouped E_NONE_Trigger 
+
+
+
+// AVP:	User-Data (1017)
+type AVP_Grouped E_NONE_User_Data 
+
+
+
+// AVP:	Auth-Data-Item (1018)
+type AVP_Grouped E_NONE_Auth_Data_Item
+
+
+
+// AVP:	Authenticate (1019)
+type AVP_OctetString E_NONE_Authenticate
+
+
+
+// AVP: Authentication-Scheme (1020)
+type AVP_Unsigned32 E_NONE_Authentication_Scheme 
+
+
+
+// AVP:	Item-Number (1021)
+type AVP_Unsigned32 E_NONE_Item_Number 
+
+
+
+// AVP:	Authorization (1022)
+type AVP_OctetString E_NONE_Authorization
+
+
+
+// AVP:	Authentication-Info (1023)
+type AVP_OctetString E_NONE_Authentication_Info 
+
+
+
+// AVP: Acc-WS-File (1024) Ericsson (193)
+type AVP_Grouped E_Ericsson_Acc_WS_File
+
+
+
+// AVP: Acc-WS-Motion (1026) Ericsson (193)
+type AVP_Grouped E_Ericsson_Acc_WS_Motion
+
+
+
+// AVP:	SIP-Header (1027)
+type AVP_Grouped E_NONE_SIP_Header 
+
+
+
+// AVP:	SIP-Header-Name (1028)
+type AVP_OctetString E_NONE_SIP_Header_Name 
+
+
+
+// AVP: SIP-Header-Content (1029)
+type AVP_OctetString E_NONE_SIP_Header_Content 
+
+
+
+// AVP: Sent-Volume (1030) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Sent_Volume
+
+
+
+// AVP: Received-Volume (1031) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Received_Volume
+
+
+
+// AVP: Format (1032) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Format
+
+
+
+// AVP: Unassigned (1033) Ericsson (193)
+type AVP_OctetString E_Ericsson_Unassigned
+
+
+
+// AVP: Duration (1034) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Duration
+
+
+
+// AVP: WS-Information (1035) Ericsson (193)
+type AVP_Grouped E_Ericsson_WS_Information
+
+
+
+// AVP: VPN-Information  (1036) Ericsson (193)
+type AVP_Grouped E_Ericsson_VPN_Information
+
+
+
+// AVP: Incoming-Dialog (1037) Ericsson (193)
+type AVP_Grouped E_Ericsson_Incoming_Dialog
+
+
+
+// AVP: Outgoing-Dialog (1038) Ericsson (193)
+type AVP_Grouped E_Ericsson_Outgoing_Dialog
+
+
+
+// AVP: From (1039) Ericsson (193)
+type AVP_UTF8String E_Ericsson_From
+
+
+
+// AVP: To (1040) Ericsson (193)
+type AVP_UTF8String E_Ericsson_To
+
+
+
+// AVP: Trunk-Context (1041) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Trunk_Context
+
+
+
+// AVP: Route-Header (1042) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Route_Header
+
+
+
+// AVP: Company-Name (1043) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Company_Name
+
+
+
+// AVP: Group-Name (1044) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Group_Name
+
+
+
+// AVP: Originating-Site-Name (1045) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Originating_Site_Name
+
+
+
+// AVP: Terminating-Site-Name (1046) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Terminating_Site_Name
+
+
+
+// AVP: Service-Code (1047) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Service_Code
+
+
+
+// AVP: Type-Of-Access (1048) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Type_Of_Access
+
+
+
+// AVP: Call-Type (1049) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Call_Type
+
+
+
+// AVP: Service-Subscriber-Id (1050) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Service_Subscriber_Id
+
+
+
+// AVP: Cost-Distribution-Code (1051) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Cost_Distribution_Code
+
+
+
+// AVP: Type-of-Termination (1052) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Type_of_Termination
+
+
+
+// AVP: Private-Number-Calling-Party (1053) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Private_Number_Calling_Party
+
+
+
+// AVP: Private-Number-Called-Party (1054) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Private_Number_Called_Party
+
+
+
+// AVP: Charging-Rule-Authorization (1055) Ericsson (193)
+type AVP_Grouped E_Ericsson_Charging_Rule_Authorization
+
+
+
+// AVP: Authorization-State (1056) Ericsson (193)
+type enumerated E_Ericsson_Authorization_State {
+ AUTHORIZED (0),
+ UNAUTHORIZED_DUE_TO_CALENDAR_TIME (1),
+ UNAUTHORIZED_DUE_TO_ROAMING (2),
+ UNAUTHORIZED_DUE_TO_QOS (3),
+ UNAUTHORIZED_DUE_TO_BLACKLISTING (4),
+ UNAUTHORIZED_DUE_TO_TERMINAL_LIMITATIONS (5),
+ UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_1 (6),
+ UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_2 (7),
+ UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_3 (8),
+ UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_4 (9),
+ UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_5 (10),
+ UNAUTHORIZED_DUE_TO_UNKNOWN_REASON (11),
+ UNAUTHORIZED_DUE_TO_USAGE_REPORTING_OVER_GX_QBAU (12)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: Authorization-State-Change-Time (1057) Ericsson (193)
+type AVP_Time E_Ericsson_Authorization_State_Change_Time
+
+
+
+// AVP: Authorization-Validity-Time (1058) Ericsson (193)
+type AVP_Time E_Ericsson_Authorization_Validity_Time
+
+
+
+// AVP: Next-Authorization-State (1059) Ericsson (193)
+type enumerated E_Ericsson_Next_Authorization_State {
+ NEXT_STATE_AUTHORIZED (0),
+ NEXT_STATE_DENIED_CALENDAR_TIME (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Gx-Capability-List (1060) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Gx_Capability_List
+
+
+
+// AVP: Time-Zone (1062) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Time_Zone
+
+
+
+// AVP: User-URL (1069) Ericsson (193)
+type AVP_UTF8String E_Ericsson_User_URL
+
+
+
+// AVP: Redirect-Acknowledgement (1070) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Redirect_Acknowledgement
+
+
+
+// AVP: Default-Handling (1071) Ericsson (193)
+type enumerated E_Ericsson_Default_Handling {
+ SESSION_CONTINUED (0),
+ SESSION_TERMINATED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Subscribed-Media-Profile (1072) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Subscribed_Media_Profile
+
+
+
+// AVP: Account-Location (1073) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Account_Location
+
+
+// AVP: Other-Party-Id-MNP-RN (1079) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Other_Party_Id_MNP_RN
+
+
+
+// AVP: Other-Party-Id-Location (1080) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Other_Party_Id_Location
+
+
+
+// AVP: Packets-Discarded-Filtering (1087) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Packets_Discarded_Filtering
+
+
+
+// AVP: Octets-Discarded-Filtering (1088) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Octets_Discarded_Filtering
+
+
+
+// AVP: Packets-Discarded-Policing (1089) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Packets_Discarded_Policing
+
+
+
+// AVP: Octets-Discarded-Policing (1090) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Octets_Discarded_Policing
+
+
+
+// AVP: Packets-Out-Of-Sequence (1091) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Packets_Out_Of_Sequence
+
+
+
+// AVP: Packets-Lost (1092) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Packets_Lost
+
+
+
+// AVP: RTCP-Reported-Average-Jitter (1093) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_RTCP_Reported_Average_Jitter
+
+
+
+// AVP: RTCP-Reported-Packets-Lost (1094) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_RTCP_Reported_Packets_Lost
+
+
+
+// AVP: Accepted-MRSP-Chunks (1095) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Accepted_MRSP_Chunks
+
+
+
+// AVP: Discarded-MSRP-Chunks (1096) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Discarded_MSRP_Chunks
+
+
+
+// AVP: User-IP-Address (1097) Ericsson (193)
+type AVP_IP_Address E_Ericsson_User_IP_Address
+
+
+
+// AVP: Location (1098) Ericsson (193)
+type AVP_Grouped E_Ericsson_Location
+
+
+
+// AVP: Network-Location (1099) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Network_Location
+
+
+
+// AVP: User-Side (1100) Ericsson (193)
+type enumerated E_Ericsson_User_Side {
+ Calling_side (0),
+ Called_side (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Ericsson-Requested-Domain (1102) Ericsson (193)
+type enumerated E_Ericsson_Ericsson_Requested_Domain {
+ IPCAN_Domain (0)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Other-Party-Id-MNP (1103) Ericsson (193)
+type AVP_Grouped E_Ericsson_Other_Party_Id_MNP
+
+
+
+// AVP: Other-Party-Id-MNP-IMSI (1104) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Other_Party_Id_MNP_IMSI
+
+
+
+// AVP: Other-Party-Id-MNP-Result (1105) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Other_Party_Id_MNP_Result
+
+
+
+// AVP: Core-Announcement-Data (1106) Ericsson (193)
+type AVP_Grouped E_Ericsson_Core_Announcement_Data
+
+
+
+// AVP: Core-Announcement-Logic (1107) Ericsson (193)
+type enumerated E_Ericsson_Core_Announcement_Logic {
+ Play_to_none_of_the_parties (0),
+ Play_to_calling_party (1),
+ Play_to_called_party (2),
+ Play_to_both_parties (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Core-Announcement-Code (1108) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Core_Announcement_Code
+
+
+
+// AVP: Core-Immediate-Announcement (1109) Ericsson (193)
+type AVP_Grouped E_Ericsson_Core_Immediate_Announcement
+
+
+
+// AVP: Core-Announcement-Id (1110) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Core_Announcement_Id
+
+
+
+// AVP: Core-Announcement-Variable (1111) Ericsson (193)
+type AVP_Grouped E_Ericsson_Core_Announcement_Variable
+
+
+
+// AVP: Core-Announcement-Variable-Date (1112) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Core_Announcement_Variable_Date
+
+
+
+// AVP: Core-Announcement-Variable-Id (1113) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Core_Announcement_Variable_Id
+
+
+
+// AVP: Core-Announcement-Variable-Integer (1114) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Core_Announcement_Variable_Integer
+
+
+
+// AVP: Core-Announcement-Variable-Number (1115) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Core_Announcement_Variable_Number
+
+
+
+// AVP: Core-Announcement-Variable-Time (1116) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Core_Announcement_Variable_Time
+
+
+
+// AVP: Core-Mid-Time-Announcement (1117) Ericsson (193)
+type AVP_Grouped E_Ericsson_Core_Mid_Time_Announcement
+
+
+
+// AVP: Core-Announcement-Mid-Time-Moment (1118) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Core_Announcement_Mid_Time_Moment
+
+
+
+// AVP: Core-End-Time-Announcement (1119) Ericsson (193)
+type AVP_Grouped E_Ericsson_Core_End_Time_Announcement
+
+
+
+// AVP: Primary-Interexchange-Carrier (1120) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Primary_Interexchange_Carrier
+
+
+
+// AVP: Service-Extension (1123) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Service_Extension
+
+
+
+// AVP: SMSC-Address (1124) Ericsson (193)
+type AVP_UTF8String E_Ericsson_SMSC_Address
+
+
+
+// AVP: Subscription-Type (1126) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Subscription_Type
+
+
+
+// AVP: Conference-Id (1127) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Conference_Id
+
+
+
+// AVP: Related-ICID (1128) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Related_ICID
+
+
+
+// AVP: Conference-Participant-Count (1132) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Conference_Participant_Count
+
+
+
+// AVP: Aware-Policy-based-Routing-Profile (1134) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Aware_Policy_based_Routing_Profile
+
+
+
+// AVP: PS-Previous-Information (1140) Ericsson (193)
+type AVP_Grouped E_Ericsson_PS_Previous_Information
+
+
+
+// AVP: Calling-Party-Address-Presentation-Status (1141) Ericsson (193)
+type enumerated E_Ericsson_Calling_Party_Address_Presentation_Status {
+ PRESENTATION_ALLOWED (0),
+ PRESENTATION_RESTRICTED (1),
+ UNKNOWN (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Called-Asserted-Identity-Presentation-Status (1142) Ericsson (193)
+type enumerated E_Ericsson_Called_Asserted_Identity_Presentation_Status {
+ PRESENTATION_ALLOWED (0),
+ PRESENTATION_RESTRICTED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Credit-Instance-Id (1143) Ericsson (193)
+type AVP_OctetString E_Ericsson_Credit_Instance_Id
+
+
+
+// AVP: Service-Start-Timestamp (1144) Ericsson (193)
+type AVP_Time E_Ericsson_Service_Start_Timestamp
+
+
+
+// AVP: Cumulative-Used-Service-Unit (1145) Ericsson (193)
+type AVP_Grouped E_Ericsson_Cumulative_Used_Service_Unit
+
+
+
+// AVP: Customer-Id (1146) Ericsson (193)
+type AVP_OctetString E_Ericsson_Customer_Id
+
+
+
+// AVP: MCID-Information (1147) Ericsson (193)
+type AVP_Grouped E_Ericsson_MCID_Information
+
+
+
+// AVP: MCID-Register-Timestamp (1152) Ericsson (193)
+type AVP_Time E_Ericsson_MCID_Register_Timestamp
+
+
+
+// AVP: Conference-Service-Information (1154) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Conference_Service_Information
+
+
+
+// AVP: Originating-Identity-Restriction-Service-Information (1155) Ericsson (193)
+type enumerated E_Ericsson_Originating_Identity_Restriction_Service_Information {
+ Temporary_mode_restrict_identity_only (0),
+ Temporary_mode_restrict_all_private_information (1),
+ Permanent_mode_restrict_identity_only (100),
+ Permanent_mode_restrict_all_private_information (101)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Extension-Field (1156) Ericsson (193)
+type AVP_Grouped E_Ericsson_Extension_Field
+
+
+
+// AVP: Extension-Field-Type (1157) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Extension_Field_Type
+
+
+
+// AVP: Extension-Field-Value (1158) Ericsson (193)
+type AVP_OctetString E_Ericsson_Extension_Field_Value
+
+
+
+// AVP: Terminating-Identity-Restriction-Service-Information (1161) Ericsson (193)
+type enumerated E_Ericsson_Terminating_Identity_Restriction_Service_Information {
+ Temporary_mode (0),
+ Permanent_mode (100)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Malicious-Communication-Identification-Service-Information (1162) Ericsson (193)
+type enumerated E_Ericsson_Malicious_Communication_Identification_Service_Information {
+ Temporary_mode (0),
+ Permanent_mode (100)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Ericsson-Final-Unit-Indication-Validity-Time (1163) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time
+
+
+
+// AVP: Ericsson-QoS-Profile (1164) Ericsson (193)
+type AVP_Grouped E_Ericsson_Ericsson_QoS_Profile
+
+
+
+// AVP: Traffic-Class (1165) Ericsson (193)
+type enumerated E_Ericsson_Traffic_Class {
+ Subscribed (0),
+ Conversational (1),
+ Streaming (2),
+ Interactive (3),
+ Background (4)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+
+// AVP: Guaranteed-Bit-Rate-For-Uplink (1166) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Guaranteed_Bit_Rate_For_Uplink
+
+
+
+// AVP: Guaranteed-Bit-Rate-For-Uplink-Subscribed (1167) Ericsson (193)
+type enumerated E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed {
+ SPECIFIED_BY_OTHER_PARAMETER (0),
+ SUBSCRIBED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Guaranteed-Bit-Rate-For-Downlink (1168) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Guaranteed_Bit_Rate_For_Downlink
+
+
+
+// AVP: Guaranteed-Bit-Rate-For-Downlink-Subscribed (1169) Ericsson (193)
+type enumerated E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed {
+ SPECIFIED_BY_OTHER_PARAMETER (0),
+ SUBSCRIBED (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Ericsson-Geographical-Location (1170) Ericsson (193)
+type AVP_Grouped E_Ericsson_Ericsson_Geographical_Location
+
+
+
+// AVP: Ericsson-Location-MCC-MNC (1171) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Ericsson_Location_MCC_MNC
+
+
+
+// AVP: Ericsson-Location-Area-Code (1172) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Location_Area_Code
+
+
+
+// AVP: Ericsson-Geo-Location-Cell-Identity (1173) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Geo_Location_Cell_Identity
+
+
+
+// AVP: Ericsson-Geo-Location-Service-Area-Code (1174) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Geo_Location_Service_Area_Code
+
+
+
+// AVP: Ericsson-Geo-Location-Routing-Area-Code (1175) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code
+
+
+
+// AVP: MCID-Calling-Party-Address (1176) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MCID_Calling_Party_Address
+
+
+
+// AVP: MCID-Called-Party-Address (1177) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MCID_Called_Party_Address
+
+
+
+// AVP: Occurrence-Timestamp (1178) Ericsson (193)
+type AVP_Time E_Ericsson_Occurrence_Timestamp
+
+
+
+// AVP: Occurrence-Timestamp-Milliseconds (1179) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Occurrence_Timestamp_Milliseconds
+
+
+
+// AVP: SIP-Request-Timestamp-Milliseconds (1180) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_SIP_Request_Timestamp_Milliseconds
+
+
+
+// AVP: SIP-Response-Timestamp-Milliseconds (1181) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_SIP_Response_Timestamp_Milliseconds
+
+
+
+// AVP: Session-Priority (1182) Ericsson (193)
+type enumerated E_Ericsson_Session_Priority {
+ Normal (0),
+ Emergency (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: R-Index-Value (1190) Ericsson (193)
+type AVP_Integer32 E_Ericsson_R_Index_Value
+
+
+
+// AVP: Ericsson-Location-Number (1191) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Location_Number
+
+
+
+// AVP: VLR-Number (1195) Ericsson (193)
+type AVP_UTF8String E_Ericsson_VLR_Number
+
+
+
+// AVP: Subscription-Id-Nature (1196) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Subscription_Id_Nature
+
+
+
+// AVP: Ericsson-Subscription-Event (1200) Ericsson (193)
+type enumerated E_Ericsson_Ericsson_Subscription_Event {
+ Session_Termination (0),
+ Subscriptions_Lost (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Ericsson-Multiple-Entries-Limit (1201) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Multiple_Entries_Limit
+
+
+
+// AVP: Ericsson-Subscription-Tag (1202) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Ericsson_Subscription_Tag
+
+
+
+// AVP: Ericsson-Subscription-Trigger-Data (1203) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Subscription_Trigger_Data
+
+
+
+// AVP: Ericsson-Subscription-Context (1204) Ericsson (193)
+type enumerated E_Ericsson_Ericsson_Subscription_Context {
+ Current_active_sessions (0),
+ Current_active_sessions_and_new_sessions (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Ericsson-Subscription-Session-Scope (1205) Ericsson (193)
+type enumerated E_Ericsson_Ericsson_Subscription_Session_Scope {
+ Individual_session (0),
+ Set_of_sessions (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: GSM-Call-Reference-Number (1206) Ericsson (193)
+type AVP_UTF8String E_Ericsson_GSM_Call_Reference_Number
+
+
+
+// AVP: MSC-Address (1207) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MSC_Address
+
+
+
+// AVP: Calling-Party (1208) Ericsson (193)
+type AVP_Grouped E_Ericsson_Calling_Party
+
+
+
+// AVP: Calling-Party-Type (1209) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Calling_Party_Type
+
+
+
+// AVP: Calling-Party-Value (1210) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Calling_Party_Value
+
+
+
+// AVP: Calling-Party-Location (1211) Ericsson (193)
+type AVP_Grouped E_Ericsson_Calling_Party_Location
+
+
+
+// AVP: Calling-Party-Location-Number (1212) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Calling_Party_Location_Number
+
+
+
+// AVP: Calling-Party-Location-Cell-Id (1213) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Calling_Party_Location_Cell_Id
+
+
+
+// AVP: Calling-Party-Location-Indicator (1214) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Calling_Party_Location_Indicator
+
+
+
+// AVP: Called-Party (1215) Ericsson (193)
+type AVP_Grouped E_Ericsson_Called_Party
+
+
+
+// AVP: Called-Party-Type (1216) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Called_Party_Type
+
+
+
+// AVP: Called-Party-Value (1217) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Called_Party_Value
+
+
+
+// AVP: Called-Party-Location (1218) Ericsson (193)
+type AVP_Grouped E_Ericsson_Called_Party_Location
+
+
+
+// AVP: Called-Party-Location-Number (1219) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Called_Party_Location_Number
+
+
+
+// AVP: Called-Party-Location-Cell-Id (1220) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Called_Party_Location_Cell_Id
+
+
+
+// AVP: Called-Party-Location-Indicator (1221) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Called_Party_Location_Indicator
+
+
+
+// AVP: Called-Party-Network-Id (1222) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Called_Party_Network_Id
+
+
+
+// AVP: Redirecting-Party (1223) Ericsson (193)
+type AVP_Grouped E_Ericsson_Redirecting_Party
+
+
+
+// AVP: CRedirecting-Party-Type (1224) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_CRedirecting_Party_Type
+
+
+
+// AVP: Redirecting-Party-Value (1225) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Redirecting_Party_Value
+
+
+
+// AVP: Other-Numbers (1226) Ericsson (193)
+type AVP_Grouped E_Ericsson_Other_Numbers
+
+
+
+// AVP: Dialled-Number (1227) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Dialled_Number
+
+
+
+// AVP:  Additional-Calling-Party-Number (1228) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Additional_Calling_Party_Number
+
+
+
+// AVP: Presented-Special-Number (1229) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Presented_Special_Number
+
+
+
+// AVP: Mobile-Charging-Number (1230) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Mobile_Charging_Number
+
+
+
+// AVP: Call-Data (1231) Ericsson (193)
+type AVP_Grouped E_Ericsson_Call_Data
+
+
+
+// AVP: Service-Traffic-Case (1232) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Service_Traffic_Case
+
+
+
+// AVP: Requested-Bearer-Capability (1233) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Requested_Bearer_Capability
+
+
+
+// AVP: Roaming-Information (1234) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Roaming_Information
+
+
+
+// AVP: Function-Trace (1235) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Function_Trace
+
+
+
+// AVP: Function-Trace-Overflow (1236) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Function_Trace_Overflow
+
+
+
+// AVP: Call-Answering-Time (1237) Ericsson (193)
+type AVP_Time E_Ericsson_Call_Answering_Time
+
+
+
+// AVP: Same-Office-Zone-Indicator (1238) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Same_Office_Zone_Indicator
+
+
+
+// AVP: Extended-Call-Type (1239) Ericsson (193)
+type AVP_Grouped E_Ericsson_Extended_Call_Type
+
+
+
+// AVP: Unrestricted-Call-Indicator (1240) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Unrestricted_Call_Indicator
+
+
+
+// AVP: Pay-Phone-Indicator (1241) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Pay_Phone_Indicator
+
+
+
+// AVP: Calling-Party-Location-Area-Indicator (1242) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Calling_Party_Location_Area_Indicator
+
+
+
+// AVP: SCalled-Party-Location-Area-Indicator (1243) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_SCalled_Party_Location_Area_Indicator
+
+
+
+// AVP: On-Net-Indicator2 (1244) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_On_Net_Indicator2
+
+
+
+// AVP: Extended-Service-Traffic-Case (1245) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Extended_Service_Traffic_Case
+
+
+
+// AVP: Final-Service-Unit (1246) Ericsson (193)
+type AVP_Grouped E_Ericsson_Final_Service_Unit
+
+
+
+// AVP: Extra-Cost-Distribution-Code (1247) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Extra_Cost_Distribution_Code
+
+
+
+// AVP: NTP-Timestamps (1248) Ericsson (193)
+type AVP_Grouped E_Ericsson_NTP_Timestamps
+
+
+
+// AVP: SIP-Request-NTP-Timestamp (1249) Ericsson (193)
+type AVP_OctetString E_Ericsson_SIP_Request_NTP_Timestamp
+
+
+
+// AVP: SIP-Response-NTP-Timestamp (1250) Ericsson (193)
+type AVP_OctetString E_Ericsson_SIP_Response_NTP_Timestamp
+
+
+
+// AVP: Threshold-Selection (1251) Ericsson (193)
+type enumerated E_Ericsson_Threshold_Selection {
+ CONSIDER_PRE_PAID_EMPTY_LIMIT_THRESHOLD (0),
+ CONSIDER_POST_PAID_EMPTY_LIMIT_THRESHOLD (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Originating-User-Agent (1252) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Originating_User_Agent
+
+
+
+// AVP: Terminating-User-Agent (1253) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Terminating_User_Agent
+
+
+
+// AVP: System-Load (1257) Ericsson (193)
+type AVP_Grouped E_Ericsson_System_Load
+
+
+
+// AVP: System-Percentage-Load (1258) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_System_Percentage_Load
+
+
+
+// AVP: System-Load-Age (1259) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_System_Load_Age
+
+
+
+// AVP: End-User-Message (1260) Ericsson (193)
+type AVP_UTF8String E_Ericsson_End_User_Message
+
+
+
+// AVP: Authentication-Method (1261) Ericsson (193)
+type enumerated E_Ericsson_Authentication_Method {
+ NoAuthentication (0),
+ AkaAuthentication (1),
+ NassBundledAuthentication (2),
+ DigestAuthentication (3),
+ SsoAuthentication (4)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Zone-Id (1263) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Zone_Id
+
+
+
+// AVP: Reserved-Amount (1269) Ericsson (193)
+type AVP_Grouped E_Ericsson_Reserved_Amount
+
+
+
+// AVP: Deducted-Amount (1270) Ericsson (193)
+type AVP_Grouped E_Ericsson_Deducted_Amount
+
+
+
+// AVP: BCS-Information (1271) Ericsson (193)
+type AVP_Grouped E_Ericsson_BCS_Information
+
+
+
+// AVP: On-Net-Indicator (1272) Ericsson (193)
+type enumerated E_Ericsson_On_Net_Indicator {
+ Indicates_Offnet (0),
+ Indicates_Onnet (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: OFeature-Name (1273) Ericsson (193)
+type AVP_UTF8String E_Ericsson_OFeature_Name
+
+
+
+// AVP: Charging-From-Triggering (1274) Ericsson (193)
+type enumerated E_Ericsson_Charging_From_Triggering {
+ CHARGING_FROM_TRIGGER_APPLICABLE (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Tariff-Triggering (1275) Ericsson (193)
+type enumerated E_Ericsson_Tariff_Triggering {
+ PRICE_FACTOR_TREE_TRIGGERING (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Service-Key (1276) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Service_Key
+
+
+
+// AVP: Subscription-Id-VPN-Location-Indicator (1277) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Subscription_Id_VPN_Location_Indicator
+
+
+
+// AVP: Subscription-Id-VPN-Private-Number (1278) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Subscription_Id_VPN_Private_Number
+
+
+
+// AVP: Other-Party-Id-VPN-Location-Indicator (1279) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Other_Party_Id_VPN_Location_Indicator
+
+
+
+// AVP: Other-Party-Id-VPN-Private-Number (1280) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Other_Party_Id_VPN_Private_Number
+
+
+
+// AVP: SMS-Reference-Number (1281) Ericsson (193)
+type AVP_UTF8String E_Ericsson_SMS_Reference_Number
+
+
+
+// AVP: Redirecting-Party-Nature (1282) Ericsson (193)
+type enumerated E_Ericsson_Redirecting_Party_Nature {
+ Unknown (0),
+ International (1),
+ National (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Chargeable-Corporate-Number (1283) Ericsson (193)
+type AVP_Grouped E_Ericsson_Chargeable_Corporate_Number
+
+
+
+// AVP: Chargeable-Corporate-Number-Type (1284) Ericsson (193)
+type enumerated E_Ericsson_Chargeable_Corporate_Number_Type {
+ END_USER_E164 (0),
+ END_USER_IMSI (1),
+ END_USER_SIP_URI (2),
+ END_USER_NAI (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Chargeable-Corporate-Number-Data (1285) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Chargeable_Corporate_Number_Data
+
+
+
+// AVP: IMSI (1286) Ericsson (193)
+type AVP_UTF8String E_Ericsson_IMSI
+
+
+
+// AVP: Bearer-Capability (1287) Ericsson (193)
+type AVP_OctetString E_Ericsson_Bearer_Capability
+
+
+
+// AVP: Authorization-Code (1288) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Authorization_Code
+
+
+
+// AVP: Redirection-Information (1289) Ericsson (193)
+type AVP_Grouped E_Ericsson_Redirection_Information
+
+
+
+// AVP: Original-Redirection-Reason (1290) Ericsson (193)
+type enumerated E_Ericsson_Original_Redirection_Reason {
+ Unknown_not_available (0),
+ User_busy (1),
+ No_reply (2),
+ Unconditional (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Redirection-Indicator (1291) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Redirection_Indicator
+
+
+
+// AVP: Redirection-Reason (1292) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Redirection_Reason
+
+
+
+// AVP: Redirection-Counter (1293) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Redirection_Counter
+
+
+
+// AVP: Charging-Suppression-At-Forwarding (1294) Ericsson (193)
+type enumerated E_Ericsson_Charging_Suppression_At_Forwarding {
+ Do_not_suppress_charging_at_call_forwarding (0),
+ Suppress_charging_at_call_forwarding (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Charging-Suppressed (1295) Ericsson (193)
+type enumerated E_Ericsson_Charging_Suppressed {
+ Suppression_of_charging_at_call_forwarding_has_not_been_used (0),
+ Suppression_of_charging_at_call_forwarding_has_been_used (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+
+// AVP: Original-OtherParty-Id (1304) Ericsson (193)
+type AVP_Grouped E_Ericsson_Original_OtherParty_Id
+
+
+
+// AVP: Disconnect-Direction (1305) Ericsson (193)
+type enumerated E_Ericsson_Disconnect_Direction {
+ Originating_side (0),
+ Terminating_side (1),
+ Network (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: RACS-Result-Code (1306) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_RACS_Result_Code
+
+
+// AVP: Common-Policy-Rule-Id (1308) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Common_Policy_Rule_Id
+
+
+
+// AVP: Global-Call-Reference (1309) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Global_Call_Reference
+
+
+
+// AVP: MCX-Company-Type (1310) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_MCX_Company_Type
+
+
+
+// AVP: MCX-Call-Info (1311) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_MCX_Call_Info
+
+
+
+// AVP: MCX-Prefix (1312) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MCX_Prefix
+
+
+
+// AVP: MCX-Redirect-Party-Prefix (1313) Ericsson (193)
+type AVP_UTF8String E_Ericsson_MCX_Redirect_Party_Prefix
+
+
+
+// AVP: Business-Personal-Indicator (1324) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Business_Personal_Indicator
+
+
+
+// AVP: Version-Number (1325) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Version_Number
+
+
+
+// AVP: Requested-Subscription-Data (1326) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Requested_Subscription_Data
+
+
+
+// AVP: IVR-Class (1327) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_IVR_Class
+
+
+
+// AVP: Account-Balance (1328) Ericsson (193)
+type AVP_Grouped E_Ericsson_Account_Balance
+
+
+
+// AVP: Announcement-Language-Id (1329) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Announcement_Language_Id
+
+
+
+// AVP: Served-User (1330) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Served_User
+
+
+
+// AVP: Call-Move-Information (1333) Ericsson (193)
+type AVP_Grouped E_Ericsson_Call_Move_Information
+
+
+
+// AVP: Call-Move-Timestamp (1334) Ericsson (193)
+type AVP_Time E_Ericsson_Call_Move_Timestamp
+
+
+
+// AVP: Call-Move-Calling-Party-Address (1335) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Call_Move_Calling_Party_Address
+
+
+
+// AVP: Call-Move-Called-Party-Address (1336) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Call_Move_Called_Party_Address
+
+
+
+// AVP: Call-Move-IMS-Charging-Identifier (1337) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Call_Move_IMS_Charging_Identifier
+
+
+
+// AVP: Call-Move-IOI (1338) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Call_Move_IOI
+
+
+
+// AVP: Call-Move-Access-Network-Information (1339) Ericsson (193)
+type AVP_OctetString E_Ericsson_Call_Move_Access_Network_Information
+
+
+
+// AVP: Ericsson-Geo-Location-ECI (1340) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Geo_Location_ECI
+
+
+
+// AVP: Ericsson-Geo-Location-Tracking-Area-Code (1341) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code
+
+
+
+// AVP: Ericsson-Access-Classification (1342) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Access_Classification
+
+
+
+// AVP: Ericsson-Geographical-Location-Extended (1343) Ericsson (193)
+type AVP_Grouped E_Ericsson_Ericsson_Geographical_Location_Extended
+
+
+
+// AVP: Operation-Type (1344) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Operation_Type
+
+
+
+// AVP: Remote-Charging-Data (1345) Ericsson (193)
+type AVP_OctetString E_Ericsson_Remote_Charging_Data
+
+
+
+// AVP: XCON-Id (1346) Ericsson (193)
+type AVP_UTF8String E_Ericsson_XCON_Id
+
+
+// AVP: Party-To-Charge (1357) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Party_To_Charge
+
+
+
+// AVP: Ericsson-Geo-Location-Timing-Advance-Index (1359) Ericsson (193)
+type AVP_OctetString E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index
+
+
+
+// AVP: Deprecated (1360) Ericsson (193)
+type AVP_OctetString E_Ericsson_Deprecated
+
+
+
+// AVP: Account-Id (1361) Ericsson (193)
+type AVP_OctetString E_Ericsson_Account_Id
+
+
+
+// AVP: Account-Type (1362) Ericsson (193)
+type enumerated E_Ericsson_Account_Type {
+ E_MONEY (1),
+ COMMISSIONING (2),
+ LOYALTY_POINTS (3)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Commissioning-Type (1363) Ericsson (193)
+type enumerated E_Ericsson_Commissioning_Type {
+ PARENT (1),
+ SERVING (2)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: Country-Name (1364) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Country_Name
+
+
+
+// AVP: Currency-Name (1365) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Currency_Name
+
+
+
+// AVP: Fee (1366) Ericsson (193)
+type AVP_Grouped E_Ericsson_Fee
+
+
+
+// AVP: Initiating-Other-Party-Id (1367) Ericsson (193)
+type AVP_Grouped E_Ericsson_Initiating_Other_Party_Id
+
+
+
+// AVP: Operation-Type2 (1368) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Operation_Type2
+
+
+
+// AVP: Profile (1369) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Profile
+
+
+
+// AVP: Transferred-Amount (1370) Ericsson (193)
+type AVP_Grouped E_Ericsson_Transferred_Amount
+
+
+
+// AVP: Service-Suppression-Info (1371) Ericsson (193)
+type AVP_Grouped E_Ericsson_Service_Suppression_Info
+
+
+
+// AVP: Matched-Regular-Expression (1372) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Matched_Regular_Expression
+
+
+
+// AVP: Services-To-Suppress (1373) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Services_To_Suppress
+
+
+
+// AVP: Host-Number (1374) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Host_Number
+
+
+
+// AVP: Virtual-Number (1375) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Virtual_Number
+
+
+
+// AVP: Access-Type (1376) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Access_Type
+
+
+
+// AVP: Time-Deviation (1377) Ericsson (193)
+type AVP_Integer32 E_Ericsson_Time_Deviation
+
+
+
+// AVP: Accepted-RTMP-Messages (1378) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Accepted_RTMP_Messages
+
+
+
+// AVP: Discarded-RTMP-Messages (1379) Ericsson (193)
+type AVP_Unsigned64 E_Ericsson_Discarded_RTMP_Messages
+
+
+
+// AVP: Tenant (1380) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Tenant
+
+
+
+// AVP: Zone-Data (1381) Ericsson (193)
+type AVP_Grouped E_Ericsson_Zone_Data
+
+
+
+// AVP: Zone-Type (1382) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Zone_Type
+
+
+
+// AVP: Zone-Identity (1383) Ericsson (193)
+type AVP_OctetString E_Ericsson_Zone_Identity
+
+
+
+// AVP: CCMP-User-Info (1384) Ericsson (193)
+type AVP_UTF8String E_Ericsson_CCMP_User_Info
+
+
+
+// AVP: User-Equimenent-IMEI (1385) Ericsson (193)
+type AVP_UTF8String E_Ericsson_User_Equimenent_IMEI
+
+
+
+// AVP: Instance-ID (1386) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Instance_ID
+
+
+
+// AVP: System-State (1387) Ericsson (193)
+type enumerated E_Ericsson_System_State {
+ NormalState (0),
+ FailOverState (1)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// AVP: UHTZ-Offset (1388) Ericsson (193)
+type AVP_UTF8String E_Ericsson_UHTZ_Offset
+
+
+
+// AVP: Participants-Involved (1389) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Participants_Involved
+
+
+
+// AVP: Participants-List (1390) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Participants_List
+
+
+
+// AVP: Service-Type-Charging (1391) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Service_Type_Charging
+
+
+
+// AVP: Community-Charging-Short-Code (1392) Ericsson (193)
+type AVP_Unsigned32 E_Ericsson_Community_Charging_Short_Code
+
+
+
+// AVP: Forward-TTC-Charging-Headers (1393) Ericsson (193)
+type AVP_Grouped E_Ericsson_Forward_TTC_Charging_Headers
+
+
+
+// AVP: Backward-TTC-Charging-Headers (1394) Ericsson (193)
+type AVP_Grouped E_Ericsson_Backward_TTC_Charging_Headers
+
+
+
+// AVP: Charging-Area (1395) Ericsson (193)
+type AVP_UTF8String E_Ericsson_Charging_Area
+
+
+
+// AVP: Carrier-Information (1396) Ericsson (193)
+type AVP_OctetString E_Ericsson_Carrier_Information
+
+
+
+// AVP: Additional-User-Category (1397) Ericsson (193)
+type AVP_OctetString E_Ericsson_Additional_User_Category
+
+
+
+// AVP: Flexible-Charging-Info (1398) Ericsson (193)
+type AVP_OctetString E_Ericsson_Flexible_Charging_Info
+
+
+
+// AVP: AS-Type (1433) Ericsson (193)
+type enumerated E_Ericsson_AS_Type {
+ MMTEL_AS (0),
+ REDIRECTION_AS (1),
+ SCHEDULED_CONFERENCE_AS (2),
+ SCC_AS (3),
+ PARLAY_X_AS (4),
+ ST_AS (5)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+
+
+// STATISTICS: 542 AVP descriptors found
+// STATISTICS: 542 AVP type definitions matching AVP descriptors found
+// STATISTICS:  duplicate AVP definitions deleted
+type enumerated Command_Code {
+ Abort_Session (274), Accounting (271), Capabilities_Exchange (257), Device_Watchdog (280), Disconnect_Peer (282), Re_Auth (258), Session_Termination (275), Experimental1 (16777214), Experimental2 (16777215) , Location_Update (501), User_Data_Ericsson (502), Location_Info_Ericsson (503), Multimedia_Auth_Ericsson (506), Spending_Limit_Official (656), Spending_Status_Notification_Official (657), Spending_Limit (8388633), Spending_Status_Notification (8388634), Credit_Control (272), Registration_Authorization (500)
+} with {
+	variant "FIELDLENGTH(24)"
+	variant "BYTEORDER(last)"
+}
+
+type enumerated Vendor_Id {
+	vendor_id_Ericsson (193),
+	vendor_id_NONE (0)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+type enumerated AVP_Code_Ericsson {
+	avp_code_E_Ericsson_Media_Interface_Flow_Statistics (1086),
+	avp_code_E_Ericsson_Threshold_Selection (1251),
+	avp_code_E_Ericsson_Service_Start_Timestamp (1144),
+	avp_code_E_Ericsson_User_URL (1069),
+	avp_code_E_Ericsson_Acc_Received_Octets (262),
+	avp_code_E_Ericsson_Session_Priority (1182),
+	avp_code_E_Ericsson_Conference_Id (1127),
+	avp_code_E_Ericsson_Unrestricted_Call_Indicator (1240),
+	avp_code_E_Ericsson_Server_IP_Address (320),
+	avp_code_E_Ericsson_Traffic_Class (1165),
+	avp_code_E_Ericsson_Authorization_Validity_Time (1058),
+	avp_code_E_Ericsson_Redirecting_Party (1223),
+	avp_code_E_Ericsson_MM_Originator (303),
+	avp_code_E_Ericsson_Discarded_MSRP_Chunks (1096),
+	avp_code_E_Ericsson_Authentication_Method (1261),
+	avp_code_E_Ericsson_Conference_Service_Information (1154),
+	avp_code_E_Ericsson_Other_Party_Id_MNP_RN (1079),
+	avp_code_E_Ericsson_Ericsson_Secondary_Digest_HA1 (1192),
+	avp_code_E_Ericsson_Acc_Receiver_Reports (272),
+	avp_code_E_Ericsson_QoS_Profile_Id (1137),
+	avp_code_E_Ericsson_User_Redirected (330),
+	avp_code_E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code (1175),
+	avp_code_E_Ericsson_Service_Session_Id (1068),
+	avp_code_E_Ericsson_Requested_Bearer_Capability (1233),
+	avp_code_E_Ericsson_Host (313),
+	avp_code_E_Ericsson_BCS_Information (1271),
+	avp_code_E_Ericsson_Ericsson_QoS_Profile (1164),
+	avp_code_E_Ericsson_Core_Immediate_Announcement (1109),
+	avp_code_E_Ericsson_Packets_Discarded_Policing (1089),
+	avp_code_E_Ericsson_Incoming_Access_Network_Identifier (282),
+	avp_code_E_Ericsson_MCID_Information (1147),
+	avp_code_E_Ericsson_Event_NTP_Timestamp (340),
+	avp_code_E_Ericsson_Ericsson_Subscription_Session_Scope (1205),
+	avp_code_E_Ericsson_Communication_Timestamp (1185),
+	avp_code_E_Ericsson_Other_Party_Id_Type (1078),
+	avp_code_E_Ericsson_SCalled_Party_Location_Area_Indicator (1243),
+	avp_code_E_Ericsson_Active_Time_Report (323),
+	avp_code_E_Ericsson_JB_Discard_Rate (1301),
+	avp_code_E_Ericsson_SMS_Reference_Number (1281),
+	avp_code_E_Ericsson_Ericsson_Geo_Location_Service_Area_Code (1174),
+	avp_code_E_Ericsson_Core_End_Time_Announcement (1119),
+	avp_code_E_Ericsson_Network_Location (1099),
+	avp_code_E_Ericsson_Bearer_Control_Options (292),
+	avp_code_E_Ericsson_Extension_Field_Type (1157),
+	avp_code_E_Ericsson_Called_Party (1215),
+	avp_code_E_Ericsson_VLR_Number (1195),
+	avp_code_E_Ericsson_Octets_Discarded_Filtering (1088),
+	avp_code_E_Ericsson_Terminating_User_Agent (1253),
+	avp_code_E_Ericsson_GPRS_Roaming_Status (333),
+	avp_code_E_Ericsson_MCX_Call_Info (1311),
+	avp_code_E_Ericsson_Redirection_Indicator (1291),
+	avp_code_E_Ericsson_Acc_Received_Duration (264),
+	avp_code_E_Ericsson_Apply_Tariff_Restart (2191),
+	avp_code_E_Ericsson_Supplementary_Service_Information (1129),
+	avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed (1167),
+	avp_code_E_Ericsson_Redirecting_Party_Value (1225),
+	avp_code_E_Ericsson_MM_CC_Destination (305),
+	avp_code_E_Ericsson_Location (1098),
+	avp_code_E_Ericsson_Zone_Id (1263),
+	avp_code_E_Ericsson_Calling_Party (1208),
+	avp_code_E_Ericsson_Fixed_Announcement_Var (1321),
+	avp_code_E_Ericsson_Acc_Aggregated_Numbers (274),
+	avp_code_E_Ericsson_Access_Control_Profile_Id (1139),
+	avp_code_E_Ericsson_Original_OtherParty_Id (1304),
+	avp_code_E_Ericsson_Ericsson_Digest_HA2 (257),
+	avp_code_E_Ericsson_MCID_Called_Party_Address (1177),
+	avp_code_E_Ericsson_Function_Trace (1235),
+	avp_code_E_Ericsson_Request_Method (315),
+	avp_code_E_Ericsson_OFeature_Name (1273),
+	avp_code_E_Ericsson_Called_Party_Location (1218),
+	avp_code_E_Ericsson_Subscriber_Additional_Info (1331),
+	avp_code_E_Ericsson_IMS_Service_Identification (284),
+	avp_code_E_Ericsson_To_Header (1149),
+	avp_code_E_Ericsson_SCC_Service_Identity (1314),
+	avp_code_E_Ericsson_Acc_Sent_Packets (267),
+	avp_code_E_Ericsson_Request_URI (1187),
+	avp_code_E_Ericsson_Origination_Identification (2194),
+	avp_code_E_Ericsson_Extended_Service_Traffic_Case (1245),
+	avp_code_E_Ericsson_Active_Time_Report_End_Time (325),
+	avp_code_E_Ericsson_Chargeable_Corporate_Number (1283),
+	avp_code_E_Ericsson_Additional_Calling_Party_Number (1228),
+	avp_code_E_Ericsson_Message_Type (308),
+	avp_code_E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code (1341),
+	avp_code_E_Ericsson_ARP (294),
+	avp_code_E_Ericsson_Max_No_Contacts (1159),
+	avp_code_E_Ericsson_Business_Personal_Indicator (1324),
+	avp_code_E_Ericsson_Registration_Type (277),
+	avp_code_E_Ericsson_SIP_Reason (335),
+	avp_code_E_Ericsson_Address_Presentation_Restricted_Indicator (1255),
+	avp_code_E_Ericsson_Redirection_Counter (1293),
+	avp_code_E_Ericsson_Same_Office_Zone_Indicator (1238),
+	avp_code_E_Ericsson_Command_Arg (318),
+	avp_code_E_Ericsson_Network_Identification (2193),
+	avp_code_E_Ericsson_Policy_Group_Deactivation_Time (1351),
+	avp_code_E_Ericsson_Granted_Service_Unit (431),
+	avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed (1169),
+	avp_code_E_Ericsson_Call_Move_Timestamp (1334),
+	avp_code_E_Ericsson_Content_Location (307),
+	avp_code_E_Ericsson_Sent_Volume (1030),
+	avp_code_E_Ericsson_MMInviteStatus (287),
+	avp_code_E_Ericsson_Transaction_Type (1265),
+	avp_code_E_Ericsson_NTP_Timestamps (1248),
+	avp_code_E_Ericsson_Time_Quota_Resolution (328),
+	avp_code_E_Ericsson_Account_Id (1361),
+	avp_code_E_Ericsson_RACS_Result_Code (1306),
+	avp_code_E_Ericsson_Barring_Indication (259),
+	avp_code_E_Ericsson_Occurrence_Timestamp_Milliseconds (1179),
+	avp_code_E_Ericsson_Operation_Type (1344),
+	avp_code_E_Ericsson_Command (317),
+	avp_code_E_Ericsson_To (1040),
+	avp_code_E_Ericsson_MMS_Info (297),
+	avp_code_E_Ericsson_Tariff_Triggering (1275),
+	avp_code_E_Ericsson_System_Percentage_Load (1258),
+	avp_code_E_Ericsson_SIP_Ringing_Timestamp (338),
+	avp_code_E_Ericsson_Service_Suppression_Info (1371),
+	avp_code_E_Ericsson_M2M_Information (1316),
+	avp_code_E_Ericsson_Acc_Sent_Bursts (269),
+	avp_code_E_Ericsson_Subscriber_Information (1189),
+	avp_code_E_Ericsson_Purpose (2196),
+	avp_code_E_Ericsson_Time_Quota_Method (327),
+	avp_code_E_Ericsson_Ericsson_Policy_Counter_Identifier (1354),
+	avp_code_E_Ericsson_Service_Subscriber_Id (1050),
+	avp_code_E_Ericsson_Community_Charging_Short_Code (1392),
+	avp_code_E_Ericsson_Chargeable_Corporate_Number_Data (1285),
+	avp_code_E_Ericsson_Unassigned (1033),
+	avp_code_E_Ericsson_Charging_Profile_Id (1268),
+	avp_code_E_Ericsson_Zone_Data (1381),
+	avp_code_E_Ericsson_Requested_Subscription_Data (1326),
+	avp_code_E_Ericsson_Country_Name (1364),
+	avp_code_E_Ericsson_SIP_Reason_Text (337),
+	avp_code_E_Ericsson_Global_Call_Reference (1309),
+	avp_code_E_Ericsson_Gx_Capability_List (1060),
+	avp_code_E_Ericsson_Charging_Suppressed (1295),
+	avp_code_E_Ericsson_Company_Name (1043),
+	avp_code_E_Ericsson_Media_Statistics_Side (1101),
+	avp_code_E_Ericsson_Subscription_Id_VPN_Private_Number (1278),
+	avp_code_E_Ericsson_Service_Type_Charging (1391),
+	avp_code_E_Ericsson_Call_Move_Called_Party_Address (1336),
+	avp_code_E_Ericsson_Format (1032),
+	avp_code_E_Ericsson_Feature_Tag (289),
+	avp_code_E_Ericsson_Host_Number (1374),
+	avp_code_E_Ericsson_Announcement_Service_Request (1319),
+	avp_code_E_Ericsson_Redirect_Acknowledgement (1070),
+	avp_code_E_Ericsson_Common_Policy_Rule_Id (1308),
+	avp_code_E_Ericsson_Private_Number_Calling_Party (1053),
+	avp_code_E_Ericsson_Core_Announcement_Variable (1111),
+	avp_code_E_Ericsson_Authorization_Code (1288),
+	avp_code_E_Ericsson_XCON_Id (1346),
+	avp_code_E_Ericsson_HTTP_Info (299),
+	avp_code_E_Ericsson_CCMP_User_Info (1384),
+	avp_code_E_Ericsson_Announcement_Language_Id (1329),
+	avp_code_E_Ericsson_Other_Party_Id_Location (1080),
+	avp_code_E_Ericsson_Replenishment_Reason (1318),
+	avp_code_E_Ericsson_Access_Information (1063),
+	avp_code_E_Ericsson_Roaming_Position (1121),
+	avp_code_E_Ericsson_Additional_Charging_Information (1298),
+	avp_code_E_Ericsson_Set_Up_Charge (2198),
+	avp_code_E_Ericsson_Ericsson_SL_Request_Type (1356),
+	avp_code_E_Ericsson_Backward_TTC_Charging_Headers (1394),
+	avp_code_E_Ericsson_Call_Move_Access_Network_Information (1339),
+	avp_code_E_Ericsson_Octets_Discarded_Policing (1090),
+	avp_code_E_Ericsson_WS_Information (1035),
+	avp_code_E_Ericsson_Account_Balance (1328),
+	avp_code_E_Ericsson_Account_Location (1073),
+	avp_code_E_Ericsson_Supplementary_Service_Action (1131),
+	avp_code_E_Ericsson_Fee (1366),
+	avp_code_E_Ericsson_Used_Service_Unit (446),
+	avp_code_E_Ericsson_Policy_Group_Priority (1349),
+	avp_code_E_Ericsson_Originating_Site_Name (1045),
+	avp_code_E_Ericsson_Other_Party_Id_MNP (1103),
+	avp_code_E_Ericsson_Call_Move_IOI (1338),
+	avp_code_E_Ericsson_CIP_IP_Version (1083),
+	avp_code_E_Ericsson_Calling_Party_Address_Presentation_Status (1141),
+	avp_code_E_Ericsson_Access_Type (1376),
+	avp_code_E_Ericsson_Multiple_Services_Credit_Control (456),
+	avp_code_E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index (1359),
+	avp_code_E_Ericsson_Charging_Rule_Authorization (1055),
+	avp_code_E_Ericsson_Core_Announcement_Variable_Id (1113),
+	avp_code_E_Ericsson_Policy_Group_Name (1348),
+	avp_code_E_Ericsson_RTCP_Reported_Average_Jitter (1093),
+	avp_code_E_Ericsson_Referred_By_Header (1151),
+	avp_code_E_Ericsson_Instance_ID (1386),
+	avp_code_E_Ericsson_Profile (1369),
+	avp_code_E_Ericsson_Charging_Context_Id (1065),
+	avp_code_E_Ericsson_Service_Extension (1123),
+	avp_code_E_Ericsson_Additional_Other_Party_Id (1358),
+	avp_code_E_Ericsson_Terminating_Identity_Restriction_Service_Information (1161),
+	avp_code_E_Ericsson_Core_Announcement_Data (1106),
+	avp_code_E_Ericsson_Carrier_Information (1396),
+	avp_code_E_Ericsson_Incoming_Dialog (1037),
+	avp_code_E_Ericsson_Ericsson_Subscription_Tag (1202),
+	avp_code_E_Ericsson_Discarded_RTMP_Messages (1379),
+	avp_code_E_Ericsson_Other_Party_Id (1075),
+	avp_code_E_Ericsson_Redirecting_Party_Address (1133),
+	avp_code_E_Ericsson_Operation_Type2 (1368),
+	avp_code_E_Ericsson_Ericsson_Location_MCC_MNC (1171),
+	avp_code_E_Ericsson_Core_Announcement_Variable_Time (1116),
+	avp_code_E_Ericsson_Service_Code (1047),
+	avp_code_E_Ericsson_Calling_Party_Location_Number (1212),
+	avp_code_E_Ericsson_Participants_Involved (1389),
+	avp_code_E_Ericsson_Media_Interface_Statistics (1085),
+	avp_code_E_Ericsson_SIP_Response_NTP_Timestamp (1250),
+	avp_code_E_Ericsson_Credit_Instance_Id (1143),
+	avp_code_E_Ericsson_Accepted_RTMP_Messages (1378),
+	avp_code_E_Ericsson_Acc_Service_Type (261),
+	avp_code_E_Ericsson_SIP_Response_Timestamp_Milliseconds (1181),
+	avp_code_E_Ericsson_Subscription_Type (1126),
+	avp_code_E_Ericsson_Authorization_State_Change_Time (1057),
+	avp_code_E_Ericsson_Called_Party_Network_Id (1222),
+	avp_code_E_Ericsson_SIP_Info (302),
+	avp_code_E_Ericsson_Requested_Task (1399),
+	avp_code_E_Ericsson_Accepted_MRSP_Chunks (1095),
+	avp_code_E_Ericsson_End_User_Message (1260),
+	avp_code_E_Ericsson_From_Header (1153),
+	avp_code_E_Ericsson_UHTZ_Offset (1388),
+	avp_code_E_Ericsson_Ericsson_Location_Number (1191),
+	avp_code_E_Ericsson_Acc_Reported_Packets_Sent (271),
+	avp_code_E_Ericsson_Service_Setup_Result_Requested (1136),
+	avp_code_E_Ericsson_Result_Code_Extension (1067),
+	avp_code_E_Ericsson_Service_Traffic_Case (1232),
+	avp_code_E_Ericsson_Field_Value (312),
+	avp_code_E_Ericsson_Deducted_Amount (1270),
+	avp_code_E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time (1163),
+	avp_code_E_Ericsson_Core_Announcement_Code (1108),
+	avp_code_E_Ericsson_RTSP_Info (301),
+	avp_code_E_Ericsson_Flexible_Charging_Info (1398),
+	avp_code_E_Ericsson_Access_Network_Identifier (281),
+	avp_code_E_Ericsson_Customer_Id (1146),
+	avp_code_E_Ericsson_Ericsson_Subscription_Context (1204),
+	avp_code_E_Ericsson_Communication_Details (1184),
+	avp_code_E_Ericsson_Other_Party_Id_Data (1077),
+	avp_code_E_Ericsson_Calling_Party_Location_Area_Indicator (1242),
+	avp_code_E_Ericsson_Active_Time_Reporting (322),
+	avp_code_E_Ericsson_Round_Trip_Delay (1300),
+	avp_code_E_Ericsson_Other_Party_Id_VPN_Private_Number (1280),
+	avp_code_E_Ericsson_Ericsson_Geo_Location_Cell_Identity (1173),
+	avp_code_E_Ericsson_Core_Announcement_Mid_Time_Moment (1118),
+	avp_code_E_Ericsson_Field_Name (311),
+	avp_code_E_Ericsson_Rule_Space_Decision (291),
+	avp_code_E_Ericsson_Extension_Field (1156),
+	avp_code_E_Ericsson_Calling_Party_Location_Indicator (1214),
+	avp_code_E_Ericsson_Packets_Discarded_Filtering (1087),
+	avp_code_E_Ericsson_Originating_User_Agent (1252),
+	avp_code_E_Ericsson_URL_Modifier (332),
+	avp_code_E_Ericsson_MCX_Company_Type (1310),
+	avp_code_E_Ericsson_Original_Redirection_Reason (1290),
+	avp_code_E_Ericsson_Served_User_Address (1183),
+	avp_code_E_Ericsson_Acc_Received_Packets (263),
+	avp_code_E_Ericsson_Related_ICID (1128),
+	avp_code_E_Ericsson_Apply_Tariff_Immediate (2190),
+	avp_code_E_Ericsson_PDP_Context_Type (321),
+	avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink (1166),
+	avp_code_E_Ericsson_CRedirecting_Party_Type (1224),
+	avp_code_E_Ericsson_MM_Destination (304),
+	avp_code_E_Ericsson_User_IP_Address (1097),
+	avp_code_E_Ericsson_From_Header_Presentation_Status (1262),
+	avp_code_E_Ericsson_MSC_Address (1207),
+	avp_code_E_Ericsson_Fixed_Announcement_Code (1320),
+	avp_code_E_Ericsson_Acc_Sender_Reports (273),
+	avp_code_E_Ericsson_One_Time_Redirect_Control (1193),
+	avp_code_E_Ericsson_Content_Filtering_Profile_Id (1138),
+	avp_code_E_Ericsson_User_Agent (331),
+	avp_code_E_Ericsson_Analyzed_Call_Type (1303),
+	avp_code_E_Ericsson_MCID_Calling_Party_Address (1176),
+	avp_code_E_Ericsson_Ericsson_SIP_Authorization (256),
+	avp_code_E_Ericsson_Roaming_Information (1234),
+	avp_code_E_Ericsson_WSP_PDU_Type (314),
+	avp_code_E_Ericsson_On_Net_Indicator (1272),
+	avp_code_E_Ericsson_Called_Party_Value (1217),
+	avp_code_E_Ericsson_Served_User (1330),
+	avp_code_E_Ericsson_Outgoing_Access_Network_Identifier (283),
+	avp_code_E_Ericsson_Contact_Header (1148),
+	avp_code_E_Ericsson_MCX_Redirect_Party_Prefix (1313),
+	avp_code_E_Ericsson_GSM_Call_Reference_Number (1206),
+	avp_code_E_Ericsson_Acc_Sent_Octets (266),
+	avp_code_E_Ericsson_P_Asserted_Identity_Header (1186),
+	avp_code_E_Ericsson_On_Net_Indicator2 (1244),
+	avp_code_E_Ericsson_Active_Time_Report_Start_Time (324),
+	avp_code_E_Ericsson_Routing_Call_Type (1302),
+	avp_code_E_Ericsson_Redirecting_Party_Nature (1282),
+	avp_code_E_Ericsson_Dialled_Number (1227),
+	avp_code_E_Ericsson_Ericsson_Geo_Location_ECI (1340),
+	avp_code_E_Ericsson_Bearer_Control_Reject (293),
+	avp_code_E_Ericsson_Extension_Field_Value (1158),
+	avp_code_E_Ericsson_Called_Party_Type (1216),
+	avp_code_E_Ericsson_Fixed_Announcement_Time (1323),
+	avp_code_E_Ericsson_Subscription_Id_Nature (1196),
+	avp_code_E_Ericsson_Acc_Talk_Burst_Received (276),
+	avp_code_E_Ericsson_Number_Frame_Information (1254),
+	avp_code_E_Ericsson_Wildcarded_PSI (334),
+	avp_code_E_Ericsson_MCX_Prefix (1312),
+	avp_code_E_Ericsson_Redirection_Reason (1292),
+	avp_code_E_Ericsson_Acc_Received_Bursts (265),
+	avp_code_E_Ericsson_Call_Answering_Time (1237),
+	avp_code_E_Ericsson_Connection_Attempt_Charge (2192),
+	avp_code_E_Ericsson_Policy_Group_Activation_Time (1350),
+	avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink (1168),
+	avp_code_E_Ericsson_Call_Move_Information (1333),
+	avp_code_E_Ericsson_Other_Numbers (1226),
+	avp_code_E_Ericsson_MM_BCC_Destination (306),
+	avp_code_E_Ericsson_Called_Party_Original_Address (286),
+	avp_code_E_Ericsson_Transaction_Info (1264),
+	avp_code_E_Ericsson_Calling_Party_Type (1209),
+	avp_code_E_Ericsson_Fixed_Announcement_Var_Integer (1322),
+	avp_code_E_Ericsson_Acc_Talk_Burst_Sent (275),
+	avp_code_E_Ericsson_Extra_Cost_Distribution_Code (1247),
+	avp_code_E_Ericsson_Deprecated (1360),
+	avp_code_E_Ericsson_Disconnect_Direction (1305),
+	avp_code_E_Ericsson_Occurrence_Timestamp (1178),
+	avp_code_E_Ericsson_Unasigned (258),
+	avp_code_E_Ericsson_Ericsson_Geographical_Location_Extended (1343),
+	avp_code_E_Ericsson_Function_Trace_Overflow (1236),
+	avp_code_E_Ericsson_File_Name (316),
+	avp_code_E_Ericsson_Instance_Stop_Indication (296),
+	avp_code_E_Ericsson_Charging_From_Triggering (1274),
+	avp_code_E_Ericsson_Called_Party_Location_Number (1219),
+	avp_code_E_Ericsson_Subscriber_Provisioned_Info (1332),
+	avp_code_E_Ericsson_Ericsson_Service_Information (285),
+	avp_code_E_Ericsson_System_Load (1257),
+	avp_code_E_Ericsson_Transferred_Amount (1370),
+	avp_code_E_Ericsson_SDD_TADS_Decision (1315),
+	avp_code_E_Ericsson_Privacy_Header (1188),
+	avp_code_E_Ericsson_Acc_Sent_Duration (268),
+	avp_code_E_Ericsson_Preferred_Currency_Code (2195),
+	avp_code_E_Ericsson_Final_Service_Unit (1246),
+	avp_code_E_Ericsson_Time_Quota_Measurement (326),
+	avp_code_E_Ericsson_Policy_Counter_Policy_Group_Name (1353),
+	avp_code_E_Ericsson_Chargeable_Corporate_Number_Type (1284),
+	avp_code_E_Ericsson_Presented_Special_Number (1229),
+	avp_code_E_Ericsson_URI (309),
+	avp_code_E_Ericsson_Ericsson_Access_Classification (1342),
+	avp_code_E_Ericsson_Service_Rating_Info (295),
+	avp_code_E_Ericsson_Transaction_Data_Value (1267),
+	avp_code_E_Ericsson_Tenant (1380),
+	avp_code_E_Ericsson_Version_Number (1325),
+	avp_code_E_Ericsson_SSO_Data (278),
+	avp_code_E_Ericsson_Commissioning_Type (1363),
+	avp_code_E_Ericsson_SIP_Reason_Cause (336),
+	avp_code_E_Ericsson_SIP_Ringing_Timestamp_Fraction (1256),
+	avp_code_E_Ericsson_Charging_Suppression_At_Forwarding (1294),
+	avp_code_E_Ericsson_Extended_Call_Type (1239),
+	avp_code_E_Ericsson_Transport_Protocol (319),
+	avp_code_E_Ericsson_Ericsson_Policy_Counter_Status (1352),
+	avp_code_E_Ericsson_Route_Header (1042),
+	avp_code_E_Ericsson_User_Side (1100),
+	avp_code_E_Ericsson_Subscription_Id_VPN_Location_Indicator (1277),
+	avp_code_E_Ericsson_Participants_List (1390),
+	avp_code_E_Ericsson_Call_Move_Calling_Party_Address (1335),
+	avp_code_E_Ericsson_Received_Volume (1031),
+	avp_code_E_Ericsson_Activity_Information (288),
+	avp_code_E_Ericsson_Services_To_Suppress (1373),
+	avp_code_E_Ericsson_Transaction_Data_Name (1266),
+	avp_code_E_Ericsson_SIP_Request_NTP_Timestamp (1249),
+	avp_code_E_Ericsson_Time_Quota_Inactivity_Time (329),
+	avp_code_E_Ericsson_Account_Type (1362),
+	avp_code_E_Ericsson_Service_Number_Type (1307),
+	avp_code_E_Ericsson_Type_of_Termination (1052),
+	avp_code_E_Ericsson_Core_Announcement_Id (1110),
+	avp_code_E_Ericsson_Bearer_Capability (1287),
+	avp_code_E_Ericsson_Remote_Charging_Data (1345),
+	avp_code_E_Ericsson_Trunk_Context (1041),
+	avp_code_E_Ericsson_WSP_Info (298),
+	avp_code_E_Ericsson_Zone_Identity (1383),
+	avp_code_E_Ericsson_Service_Key (1276),
+	avp_code_E_Ericsson_Acc_WS_File (1024),
+	avp_code_E_Ericsson_System_Load_Age (1259),
+	avp_code_E_Ericsson_Quota_Deduction_Start (339),
+	avp_code_E_Ericsson_Matched_Regular_Expression (1372),
+	avp_code_E_Ericsson_Replenishment_Service_Request (1317),
+	avp_code_E_Ericsson_Time_Zone (1062),
+	avp_code_E_Ericsson_Primary_Interexchange_Carrier (1120),
+	avp_code_E_Ericsson_Network_Call_Reference (1297),
+	avp_code_E_Ericsson_Reference_ID (2197),
+	avp_code_E_Ericsson_Ericsson_Policy_Counter_Status_Report (1355),
+	avp_code_E_Ericsson_Cost_Distribution_Code (1051),
+	avp_code_E_Ericsson_Forward_TTC_Charging_Headers (1393),
+	avp_code_E_Ericsson_IMSI (1286),
+	avp_code_E_Ericsson_Duration (1034),
+	avp_code_E_Ericsson_Reserved_Amount (1269),
+	avp_code_E_Ericsson_Zone_Type (1382),
+	avp_code_E_Ericsson_IVR_Class (1327),
+	avp_code_E_Ericsson_Subscribed_Media_Profile (1072),
+	avp_code_E_Ericsson_Supplementary_Service_Identity (1130),
+	avp_code_E_Ericsson_Currency_Name (1365),
+	avp_code_E_Ericsson_MMT_Information (1061),
+	avp_code_E_Ericsson_Event_Trigger (1006),
+	avp_code_E_Ericsson_Packet_Loss_Rate (1296),
+	avp_code_E_Ericsson_Group_Name (1044),
+	avp_code_E_Ericsson_Ericsson_Requested_Domain (1102),
+	avp_code_E_Ericsson_Other_Party_Id_VPN_Location_Indicator (1279),
+	avp_code_E_Ericsson_Call_Move_IMS_Charging_Identifier (1337),
+	avp_code_E_Ericsson_Traffic_Case (1082),
+	avp_code_E_Ericsson_Reporting_Reason (872),
+	avp_code_E_Ericsson_PS_Previous_Information (1140),
+	avp_code_E_Ericsson_Virtual_Number (1375),
+	avp_code_E_Ericsson_AS_Type (1433),
+	avp_code_E_Ericsson_Default_Handling (1071),
+	avp_code_E_Ericsson_Private_Number_Called_Party (1054),
+	avp_code_E_Ericsson_Core_Announcement_Variable_Date (1112),
+	avp_code_E_Ericsson_Redirection_Information (1289),
+	avp_code_E_Ericsson_Policy_Group (1347),
+	avp_code_E_Ericsson_Packets_Lost (1092),
+	avp_code_E_Ericsson_History_Info_Header (1150),
+	avp_code_E_Ericsson_User_Equimenent_IMEI (1385),
+	avp_code_E_Ericsson_Service_Provider_Id (1081),
+	avp_code_E_Ericsson_Acc_WS_Motion (1026),
+	avp_code_E_Ericsson_CDR_Information (1064),
+	avp_code_E_Ericsson_Service_Scenario (1122),
+	avp_code_E_Ericsson_Total_Session_Duration (1299),
+	avp_code_E_Ericsson_Tariff_Expiry_Policy (2199),
+	avp_code_E_Ericsson_Party_To_Charge (1357),
+	avp_code_E_Ericsson_Dial_Around_Indicator (1160),
+	avp_code_E_Ericsson_Other_Party_Id_MNP_Result (1105),
+	avp_code_E_Ericsson_Charging_Area (1395),
+	avp_code_E_Ericsson_Packets_Out_Of_Sequence (1091),
+	avp_code_E_Ericsson_VPN_Information (1036),
+	avp_code_E_Ericsson_Ericsson_Multiple_Entries_Limit (1201),
+	avp_code_E_Ericsson_Subscription_Id_Location (1074),
+	avp_code_E_Ericsson_Conference_Participant_Count (1132),
+	avp_code_E_Ericsson_Initiating_Other_Party_Id (1367),
+	avp_code_E_Ericsson_Ericsson_Geographical_Location (1170),
+	avp_code_E_Ericsson_Core_Announcement_Variable_Number (1115),
+	avp_code_E_Ericsson_Terminating_Site_Name (1046),
+	avp_code_E_Ericsson_Calling_Party_Location (1211),
+	avp_code_E_Ericsson_Other_Party_Id_MNP_IMSI (1104),
+	avp_code_E_Ericsson_Media_Statistics (1084),
+	avp_code_E_Ericsson_Called_Asserted_Identity_Presentation_Status (1142),
+	avp_code_E_Ericsson_Ericsson_Subscription_Event (1200),
+	avp_code_E_Ericsson_Time_Deviation (1377),
+	avp_code_E_Ericsson_SIP_Request_Timestamp_Milliseconds (1180),
+	avp_code_E_Ericsson_Public_Identification (260),
+	avp_code_E_Ericsson_Start_Of_Call (1125),
+	avp_code_E_Ericsson_Authorization_State (1056),
+	avp_code_E_Ericsson_Called_Party_Location_Indicator (1221),
+	avp_code_E_Ericsson_Core_Announcement_Variable_Integer (1114),
+	avp_code_E_Ericsson_RTCP_Reported_Packets_Lost (1094),
+	avp_code_E_Ericsson_From (1039),
+	avp_code_E_Ericsson_MCID_Register_Timestamp (1152),
+	avp_code_E_Ericsson_Calling_Party_Value (1210),
+	avp_code_E_Ericsson_System_State (1387),
+	avp_code_E_Ericsson_Acc_Reported_Packets_Received (270),
+	avp_code_E_Ericsson_R_Index_Value (1190),
+	avp_code_E_Ericsson_Service_Setup_Result (1135),
+	avp_code_E_Ericsson_Charging_State_Information (1066),
+	avp_code_E_Ericsson_Call_Data (1231),
+	avp_code_E_Ericsson_SMSC_Address (1124),
+	avp_code_E_Ericsson_Call_Type (1049),
+	avp_code_E_Ericsson_Malicious_Communication_Identification_Service_Information (1162),
+	avp_code_E_Ericsson_Core_Announcement_Logic (1107),
+	avp_code_E_Ericsson_Called_Party_Location_Cell_Id (1220),
+	avp_code_E_Ericsson_FTP_Info (300),
+	avp_code_E_Ericsson_Additional_User_Category (1397),
+	avp_code_E_Ericsson_SSO_Status (280),
+	avp_code_E_Ericsson_Cumulative_Used_Service_Unit (1145),
+	avp_code_E_Ericsson_Outgoing_Dialog (1038),
+	avp_code_E_Ericsson_Ericsson_Subscription_Trigger_Data (1203),
+	avp_code_E_Ericsson_Other_Party_Id_Nature (1076),
+	avp_code_E_Ericsson_Pay_Phone_Indicator (1241),
+	avp_code_E_Ericsson_Aware_Policy_based_Routing_Profile (1134),
+	avp_code_E_Ericsson_Next_Authorization_State (1059),
+	avp_code_E_Ericsson_Ericsson_Location_Area_Code (1172),
+	avp_code_E_Ericsson_Core_Mid_Time_Announcement (1117),
+	avp_code_E_Ericsson_Mobile_Charging_Number (1230),
+	avp_code_E_Ericsson_Operator_Defined_Field (310),
+	avp_code_E_Ericsson_Rule_Space_Suggestion (290),
+	avp_code_E_Ericsson_Type_Of_Access (1048),
+	avp_code_E_Ericsson_Originating_Identity_Restriction_Service_Information (1155),
+	avp_code_E_Ericsson_Calling_Party_Location_Cell_Id (1213)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+type enumerated AVP_Code_NONE {
+	avp_code_BASE_NONE_Proxy_State (33),
+	avp_code_E_NONE_SIP_Server_Name (1012),
+	avp_code_BASE_NONE_Host_IP_Address (257),
+	avp_code_BASE_NONE_Session_Timeout (27),
+	avp_code_E_NONE_Indication (1002),
+	avp_code_BASE_NONE_Multi_Round_Time_Out (272),
+	avp_code_BASE_NONE_Experimental_Result_Code (298),
+	avp_code_E_NONE_Item_Number (1021),
+	avp_code_BASE_NONE_Vendor_Id (266),
+	avp_code_BASE_NONE_Redirect_Max_Cache_Time (262),
+	avp_code_E_NONE_Type_Of_Trigger (1015),
+	avp_code_E_NONE_SIP_Server_Capabilities (1011),
+	avp_code_E_NONE_S_CSCF_Name_Terminating (1009),
+	avp_code_E_NONE_P_CSCF_Name (1005),
+	avp_code_BASE_NONE_Error_Message (281),
+	avp_code_BASE_NONE_Session_Server_Failover (271),
+	avp_code_E_NONE_Authentication_Scheme (1020),
+	avp_code_BASE_NONE_Product_Name (269),
+	avp_code_BASE_NONE_Supported_Vendor_Id (265),
+	avp_code_E_NONE_Trigger_Detection_Point (1014),
+	avp_code_BASE_NONE_Acct_Application_Id (259),
+	avp_code_E_NONE_S_CSCF_Name_Originating (1008),
+	avp_code_BASE_NONE_Proxy_Host (280),
+	avp_code_BASE_NONE_Acct_Multi_Session_Id (50),
+	avp_code_BASE_NONE_Auth_Request_Type (274),
+	avp_code_BASE_NONE_Accounting_Session_Id (44),
+	avp_code_E_NONE_Authentication_Info (1023),
+	avp_code_BASE_NONE_Result_Code (268),
+	avp_code_E_NONE_User_Data (1017),
+	avp_code_E_NONE_SIP_Server_Operator_Preference (1013),
+	avp_code_BASE_NONE_Accounting_Record_Type (480),
+	avp_code_BASE_NONE_Acct_Interim_Interval (85),
+	avp_code_BASE_NONE_Destination_Realm (283),
+	avp_code_BASE_NONE_Auth_Session_State (277),
+	avp_code_BASE_NONE_Disconnect_Cause (273),
+	avp_code_E_NONE_Authorization (1022),
+	avp_code_BASE_NONE_Firmware_Revision (267),
+	avp_code_E_NONE_Trigger (1016),
+	avp_code_BASE_NONE_Route_Record (282),
+	avp_code_BASE_NONE_Auth_Grace_Period (276),
+	avp_code_E_NONE_Authenticate (1019),
+	avp_code_BASE_NONE_Authorization_Lifetime (291),
+	avp_code_BASE_NONE_Re_Auth_Request_Type (285),
+	avp_code_BASE_NONE_Event_Timestamp (55),
+	avp_code_BASE_NONE_Failed_AVP (279),
+	avp_code_E_NONE_SIP_Header_Name (1028),
+	avp_code_E_NONE_Auth_Data_Item (1018),
+	avp_code_BASE_NONE_Error_Reporting_Host (294),
+	avp_code_BASE_NONE_Accounting_Record_Number (485),
+	avp_code_BASE_NONE_Proxy_Info (284),
+	avp_code_BASE_NONE_Origin_State_Id (278),
+	avp_code_E_NONE_Application_Server_Name (1001),
+	avp_code_E_NONE_SIP_Header (1027),
+	avp_code_BASE_NONE_Experimental_Result (297),
+	avp_code_BASE_NONE_Destination_Host (293),
+	avp_code_BASE_NONE_Redirect_Host_Usage (261),
+	avp_code_BASE_NONE_Accounting_Sub_Session_Id (287),
+	avp_code_E_NONE_Server_Capability (1010),
+	avp_code_BASE_NONE_Class (25),
+	avp_code_BASE_NONE_User_Name (1),
+	avp_code_E_NONE_Max_No_Simultaneous_Sessions_Allowed (1004),
+	avp_code_BASE_NONE_Session_Binding (270),
+	avp_code_BASE_NONE_Origin_Realm (296),
+	avp_code_BASE_NONE_Redirect_Host (292),
+	avp_code_BASE_NONE_Accounting_Realtime_Required (483),
+	avp_code_BASE_NONE_Origin_Host (264),
+	avp_code_BASE_NONE_Vendor_Specific_Application_Id (260),
+	avp_code_BASE_NONE_E2E_Sequence (300),
+	avp_code_BASE_NONE_Auth_Application_Id (258),
+	avp_code_E_NONE_Max_No_Call_Legs_Per_Sessions (1003),
+	avp_code_E_NONE_SIP_Header_Content (1029),
+	avp_code_BASE_NONE_Inband_Security_Id (299),
+	avp_code_BASE_NONE_Termination_Cause (295),
+	avp_code_BASE_NONE_Session_Id (263)
+} with {
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)"
+	variant "COMP(2scompl)"
+}
+type union AVP_Code {
+	AVP_Code_Ericsson vendor_id_Ericsson,
+	AVP_Code_NONE vendor_id_NONE
+}
+type record AVP_Header {
+	AVP_Code avp_code,
+	BIT8 VMPxxxxx,
+	UINT24 avp_length,
+	Vendor_Id vendor_id optional
+} with {
+	variant (vendor_id) "PRESENCE( {
+		VMPxxxxx = '10000000'B,
+		VMPxxxxx = '10100000'B,
+		VMPxxxxx = '11000000'B,
+		VMPxxxxx = '11100000'B
+	} )"
+	variant (avp_code) "CROSSTAG(
+		vendor_id_Ericsson, vendor_id = vendor_id_Ericsson;
+		vendor_id_NONE, vendor_id = omit;
+	)"
+}
+type union AVP_Data {
+	BASE_NONE_Proxy_State avp_BASE_NONE_Proxy_State,
+	E_Ericsson_Media_Interface_Flow_Statistics avp_E_Ericsson_Media_Interface_Flow_Statistics,
+	E_Ericsson_Threshold_Selection avp_E_Ericsson_Threshold_Selection,
+	E_Ericsson_Service_Start_Timestamp avp_E_Ericsson_Service_Start_Timestamp,
+	E_Ericsson_User_URL avp_E_Ericsson_User_URL,
+	E_Ericsson_Acc_Received_Octets avp_E_Ericsson_Acc_Received_Octets,
+	E_Ericsson_Session_Priority avp_E_Ericsson_Session_Priority,
+	E_Ericsson_Conference_Id avp_E_Ericsson_Conference_Id,
+	E_Ericsson_Unrestricted_Call_Indicator avp_E_Ericsson_Unrestricted_Call_Indicator,
+	E_Ericsson_Server_IP_Address avp_E_Ericsson_Server_IP_Address,
+	E_NONE_SIP_Server_Name avp_E_NONE_SIP_Server_Name,
+	BASE_NONE_Host_IP_Address avp_BASE_NONE_Host_IP_Address,
+	E_Ericsson_Traffic_Class avp_E_Ericsson_Traffic_Class,
+	E_Ericsson_Authorization_Validity_Time avp_E_Ericsson_Authorization_Validity_Time,
+	E_Ericsson_Redirecting_Party avp_E_Ericsson_Redirecting_Party,
+	E_Ericsson_MM_Originator avp_E_Ericsson_MM_Originator,
+	BASE_NONE_Session_Timeout avp_BASE_NONE_Session_Timeout,
+	E_Ericsson_Discarded_MSRP_Chunks avp_E_Ericsson_Discarded_MSRP_Chunks,
+	E_Ericsson_Authentication_Method avp_E_Ericsson_Authentication_Method,
+	E_Ericsson_Conference_Service_Information avp_E_Ericsson_Conference_Service_Information,
+	E_Ericsson_Other_Party_Id_MNP_RN avp_E_Ericsson_Other_Party_Id_MNP_RN,
+	E_Ericsson_Ericsson_Secondary_Digest_HA1 avp_E_Ericsson_Ericsson_Secondary_Digest_HA1,
+	E_Ericsson_Acc_Receiver_Reports avp_E_Ericsson_Acc_Receiver_Reports,
+	E_Ericsson_QoS_Profile_Id avp_E_Ericsson_QoS_Profile_Id,
+	E_Ericsson_User_Redirected avp_E_Ericsson_User_Redirected,
+	E_NONE_Indication avp_E_NONE_Indication,
+	E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code avp_E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code,
+	E_Ericsson_Service_Session_Id avp_E_Ericsson_Service_Session_Id,
+	E_Ericsson_Requested_Bearer_Capability avp_E_Ericsson_Requested_Bearer_Capability,
+	E_Ericsson_Host avp_E_Ericsson_Host,
+	E_Ericsson_BCS_Information avp_E_Ericsson_BCS_Information,
+	E_Ericsson_Ericsson_QoS_Profile avp_E_Ericsson_Ericsson_QoS_Profile,
+	E_Ericsson_Core_Immediate_Announcement avp_E_Ericsson_Core_Immediate_Announcement,
+	E_Ericsson_Packets_Discarded_Policing avp_E_Ericsson_Packets_Discarded_Policing,
+	E_Ericsson_Incoming_Access_Network_Identifier avp_E_Ericsson_Incoming_Access_Network_Identifier,
+	E_Ericsson_MCID_Information avp_E_Ericsson_MCID_Information,
+	E_Ericsson_Event_NTP_Timestamp avp_E_Ericsson_Event_NTP_Timestamp,
+	E_Ericsson_Ericsson_Subscription_Session_Scope avp_E_Ericsson_Ericsson_Subscription_Session_Scope,
+	E_Ericsson_Communication_Timestamp avp_E_Ericsson_Communication_Timestamp,
+	E_Ericsson_Other_Party_Id_Type avp_E_Ericsson_Other_Party_Id_Type,
+	E_Ericsson_SCalled_Party_Location_Area_Indicator avp_E_Ericsson_SCalled_Party_Location_Area_Indicator,
+	E_Ericsson_Active_Time_Report avp_E_Ericsson_Active_Time_Report,
+	E_Ericsson_JB_Discard_Rate avp_E_Ericsson_JB_Discard_Rate,
+	BASE_NONE_Multi_Round_Time_Out avp_BASE_NONE_Multi_Round_Time_Out,
+	E_Ericsson_SMS_Reference_Number avp_E_Ericsson_SMS_Reference_Number,
+	E_Ericsson_Ericsson_Geo_Location_Service_Area_Code avp_E_Ericsson_Ericsson_Geo_Location_Service_Area_Code,
+	E_Ericsson_Core_End_Time_Announcement avp_E_Ericsson_Core_End_Time_Announcement,
+	BASE_NONE_Experimental_Result_Code avp_BASE_NONE_Experimental_Result_Code,
+	E_Ericsson_Network_Location avp_E_Ericsson_Network_Location,
+	E_Ericsson_Bearer_Control_Options avp_E_Ericsson_Bearer_Control_Options,
+	E_Ericsson_Extension_Field_Type avp_E_Ericsson_Extension_Field_Type,
+	E_Ericsson_Called_Party avp_E_Ericsson_Called_Party,
+	E_Ericsson_VLR_Number avp_E_Ericsson_VLR_Number,
+	E_Ericsson_Octets_Discarded_Filtering avp_E_Ericsson_Octets_Discarded_Filtering,
+	E_Ericsson_Terminating_User_Agent avp_E_Ericsson_Terminating_User_Agent,
+	E_Ericsson_GPRS_Roaming_Status avp_E_Ericsson_GPRS_Roaming_Status,
+	E_Ericsson_MCX_Call_Info avp_E_Ericsson_MCX_Call_Info,
+	E_NONE_Item_Number avp_E_NONE_Item_Number,
+	BASE_NONE_Vendor_Id avp_BASE_NONE_Vendor_Id,
+	E_Ericsson_Redirection_Indicator avp_E_Ericsson_Redirection_Indicator,
+	E_Ericsson_Acc_Received_Duration avp_E_Ericsson_Acc_Received_Duration,
+	E_Ericsson_Apply_Tariff_Restart avp_E_Ericsson_Apply_Tariff_Restart,
+	E_Ericsson_Supplementary_Service_Information avp_E_Ericsson_Supplementary_Service_Information,
+	BASE_NONE_Redirect_Max_Cache_Time avp_BASE_NONE_Redirect_Max_Cache_Time,
+	E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed avp_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed,
+	E_Ericsson_Redirecting_Party_Value avp_E_Ericsson_Redirecting_Party_Value,
+	E_Ericsson_MM_CC_Destination avp_E_Ericsson_MM_CC_Destination,
+	E_Ericsson_Location avp_E_Ericsson_Location,
+	E_Ericsson_Zone_Id avp_E_Ericsson_Zone_Id,
+	E_Ericsson_Calling_Party avp_E_Ericsson_Calling_Party,
+	E_Ericsson_Fixed_Announcement_Var avp_E_Ericsson_Fixed_Announcement_Var,
+	E_NONE_Type_Of_Trigger avp_E_NONE_Type_Of_Trigger,
+	E_NONE_SIP_Server_Capabilities avp_E_NONE_SIP_Server_Capabilities,
+	E_Ericsson_Acc_Aggregated_Numbers avp_E_Ericsson_Acc_Aggregated_Numbers,
+	E_Ericsson_Access_Control_Profile_Id avp_E_Ericsson_Access_Control_Profile_Id,
+	E_Ericsson_Original_OtherParty_Id avp_E_Ericsson_Original_OtherParty_Id,
+	E_Ericsson_Ericsson_Digest_HA2 avp_E_Ericsson_Ericsson_Digest_HA2,
+	E_Ericsson_MCID_Called_Party_Address avp_E_Ericsson_MCID_Called_Party_Address,
+	E_Ericsson_Function_Trace avp_E_Ericsson_Function_Trace,
+	E_Ericsson_Request_Method avp_E_Ericsson_Request_Method,
+	E_Ericsson_OFeature_Name avp_E_Ericsson_OFeature_Name,
+	E_Ericsson_Called_Party_Location avp_E_Ericsson_Called_Party_Location,
+	E_NONE_S_CSCF_Name_Terminating avp_E_NONE_S_CSCF_Name_Terminating,
+	E_Ericsson_Subscriber_Additional_Info avp_E_Ericsson_Subscriber_Additional_Info,
+	E_NONE_P_CSCF_Name avp_E_NONE_P_CSCF_Name,
+	E_Ericsson_IMS_Service_Identification avp_E_Ericsson_IMS_Service_Identification,
+	E_Ericsson_To_Header avp_E_Ericsson_To_Header,
+	E_Ericsson_SCC_Service_Identity avp_E_Ericsson_SCC_Service_Identity,
+	E_Ericsson_Acc_Sent_Packets avp_E_Ericsson_Acc_Sent_Packets,
+	E_Ericsson_Request_URI avp_E_Ericsson_Request_URI,
+	E_Ericsson_Origination_Identification avp_E_Ericsson_Origination_Identification,
+	BASE_NONE_Error_Message avp_BASE_NONE_Error_Message,
+	E_Ericsson_Extended_Service_Traffic_Case avp_E_Ericsson_Extended_Service_Traffic_Case,
+	E_Ericsson_Active_Time_Report_End_Time avp_E_Ericsson_Active_Time_Report_End_Time,
+	E_Ericsson_Chargeable_Corporate_Number avp_E_Ericsson_Chargeable_Corporate_Number,
+	E_Ericsson_Additional_Calling_Party_Number avp_E_Ericsson_Additional_Calling_Party_Number,
+	E_Ericsson_Message_Type avp_E_Ericsson_Message_Type,
+	E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code avp_E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code,
+	E_Ericsson_ARP avp_E_Ericsson_ARP,
+	E_Ericsson_Max_No_Contacts avp_E_Ericsson_Max_No_Contacts,
+	E_Ericsson_Business_Personal_Indicator avp_E_Ericsson_Business_Personal_Indicator,
+	E_Ericsson_Registration_Type avp_E_Ericsson_Registration_Type,
+	E_Ericsson_SIP_Reason avp_E_Ericsson_SIP_Reason,
+	E_Ericsson_Address_Presentation_Restricted_Indicator avp_E_Ericsson_Address_Presentation_Restricted_Indicator,
+	BASE_NONE_Session_Server_Failover avp_BASE_NONE_Session_Server_Failover,
+	E_Ericsson_Redirection_Counter avp_E_Ericsson_Redirection_Counter,
+	E_Ericsson_Same_Office_Zone_Indicator avp_E_Ericsson_Same_Office_Zone_Indicator,
+	E_Ericsson_Command_Arg avp_E_Ericsson_Command_Arg,
+	E_Ericsson_Network_Identification avp_E_Ericsson_Network_Identification,
+	E_Ericsson_Policy_Group_Deactivation_Time avp_E_Ericsson_Policy_Group_Deactivation_Time,
+	E_Ericsson_Granted_Service_Unit avp_E_Ericsson_Granted_Service_Unit,
+	E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed avp_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed,
+	E_Ericsson_Call_Move_Timestamp avp_E_Ericsson_Call_Move_Timestamp,
+	E_Ericsson_Content_Location avp_E_Ericsson_Content_Location,
+	E_Ericsson_Sent_Volume avp_E_Ericsson_Sent_Volume,
+	E_NONE_Authentication_Scheme avp_E_NONE_Authentication_Scheme,
+	E_Ericsson_MMInviteStatus avp_E_Ericsson_MMInviteStatus,
+	BASE_NONE_Product_Name avp_BASE_NONE_Product_Name,
+	E_Ericsson_Transaction_Type avp_E_Ericsson_Transaction_Type,
+	BASE_NONE_Supported_Vendor_Id avp_BASE_NONE_Supported_Vendor_Id,
+	E_Ericsson_NTP_Timestamps avp_E_Ericsson_NTP_Timestamps,
+	E_Ericsson_Time_Quota_Resolution avp_E_Ericsson_Time_Quota_Resolution,
+	E_Ericsson_Account_Id avp_E_Ericsson_Account_Id,
+	E_Ericsson_RACS_Result_Code avp_E_Ericsson_RACS_Result_Code,
+	E_Ericsson_Barring_Indication avp_E_Ericsson_Barring_Indication,
+	E_Ericsson_Occurrence_Timestamp_Milliseconds avp_E_Ericsson_Occurrence_Timestamp_Milliseconds,
+	E_Ericsson_Operation_Type avp_E_Ericsson_Operation_Type,
+	E_Ericsson_Command avp_E_Ericsson_Command,
+	E_Ericsson_To avp_E_Ericsson_To,
+	E_NONE_Trigger_Detection_Point avp_E_NONE_Trigger_Detection_Point,
+	E_Ericsson_MMS_Info avp_E_Ericsson_MMS_Info,
+	E_Ericsson_Tariff_Triggering avp_E_Ericsson_Tariff_Triggering,
+	BASE_NONE_Acct_Application_Id avp_BASE_NONE_Acct_Application_Id,
+	E_Ericsson_System_Percentage_Load avp_E_Ericsson_System_Percentage_Load,
+	E_Ericsson_SIP_Ringing_Timestamp avp_E_Ericsson_SIP_Ringing_Timestamp,
+	E_Ericsson_Service_Suppression_Info avp_E_Ericsson_Service_Suppression_Info,
+	E_Ericsson_M2M_Information avp_E_Ericsson_M2M_Information,
+	E_Ericsson_Acc_Sent_Bursts avp_E_Ericsson_Acc_Sent_Bursts,
+	E_Ericsson_Subscriber_Information avp_E_Ericsson_Subscriber_Information,
+	E_Ericsson_Purpose avp_E_Ericsson_Purpose,
+	E_Ericsson_Time_Quota_Method avp_E_Ericsson_Time_Quota_Method,
+	E_Ericsson_Ericsson_Policy_Counter_Identifier avp_E_Ericsson_Ericsson_Policy_Counter_Identifier,
+	E_Ericsson_Service_Subscriber_Id avp_E_Ericsson_Service_Subscriber_Id,
+	E_NONE_S_CSCF_Name_Originating avp_E_NONE_S_CSCF_Name_Originating,
+	E_Ericsson_Community_Charging_Short_Code avp_E_Ericsson_Community_Charging_Short_Code,
+	E_Ericsson_Chargeable_Corporate_Number_Data avp_E_Ericsson_Chargeable_Corporate_Number_Data,
+	E_Ericsson_Unassigned avp_E_Ericsson_Unassigned,
+	E_Ericsson_Charging_Profile_Id avp_E_Ericsson_Charging_Profile_Id,
+	E_Ericsson_Zone_Data avp_E_Ericsson_Zone_Data,
+	E_Ericsson_Requested_Subscription_Data avp_E_Ericsson_Requested_Subscription_Data,
+	BASE_NONE_Proxy_Host avp_BASE_NONE_Proxy_Host,
+	E_Ericsson_Country_Name avp_E_Ericsson_Country_Name,
+	E_Ericsson_SIP_Reason_Text avp_E_Ericsson_SIP_Reason_Text,
+	E_Ericsson_Global_Call_Reference avp_E_Ericsson_Global_Call_Reference,
+	BASE_NONE_Acct_Multi_Session_Id avp_BASE_NONE_Acct_Multi_Session_Id,
+	E_Ericsson_Gx_Capability_List avp_E_Ericsson_Gx_Capability_List,
+	E_Ericsson_Charging_Suppressed avp_E_Ericsson_Charging_Suppressed,
+	E_Ericsson_Company_Name avp_E_Ericsson_Company_Name,
+	E_Ericsson_Media_Statistics_Side avp_E_Ericsson_Media_Statistics_Side,
+	E_Ericsson_Subscription_Id_VPN_Private_Number avp_E_Ericsson_Subscription_Id_VPN_Private_Number,
+	E_Ericsson_Service_Type_Charging avp_E_Ericsson_Service_Type_Charging,
+	E_Ericsson_Call_Move_Called_Party_Address avp_E_Ericsson_Call_Move_Called_Party_Address,
+	BASE_NONE_Auth_Request_Type avp_BASE_NONE_Auth_Request_Type,
+	E_Ericsson_Format avp_E_Ericsson_Format,
+	E_Ericsson_Feature_Tag avp_E_Ericsson_Feature_Tag,
+	E_Ericsson_Host_Number avp_E_Ericsson_Host_Number,
+	E_Ericsson_Announcement_Service_Request avp_E_Ericsson_Announcement_Service_Request,
+	BASE_NONE_Accounting_Session_Id avp_BASE_NONE_Accounting_Session_Id,
+	E_Ericsson_Redirect_Acknowledgement avp_E_Ericsson_Redirect_Acknowledgement,
+	E_Ericsson_Common_Policy_Rule_Id avp_E_Ericsson_Common_Policy_Rule_Id,
+	E_Ericsson_Private_Number_Calling_Party avp_E_Ericsson_Private_Number_Calling_Party,
+	E_Ericsson_Core_Announcement_Variable avp_E_Ericsson_Core_Announcement_Variable,
+	E_Ericsson_Authorization_Code avp_E_Ericsson_Authorization_Code,
+	E_NONE_Authentication_Info avp_E_NONE_Authentication_Info,
+	E_Ericsson_XCON_Id avp_E_Ericsson_XCON_Id,
+	BASE_NONE_Result_Code avp_BASE_NONE_Result_Code,
+	E_Ericsson_HTTP_Info avp_E_Ericsson_HTTP_Info,
+	E_Ericsson_CCMP_User_Info avp_E_Ericsson_CCMP_User_Info,
+	E_Ericsson_Announcement_Language_Id avp_E_Ericsson_Announcement_Language_Id,
+	E_Ericsson_Other_Party_Id_Location avp_E_Ericsson_Other_Party_Id_Location,
+	E_Ericsson_Replenishment_Reason avp_E_Ericsson_Replenishment_Reason,
+	E_Ericsson_Access_Information avp_E_Ericsson_Access_Information,
+	E_Ericsson_Roaming_Position avp_E_Ericsson_Roaming_Position,
+	E_NONE_User_Data avp_E_NONE_User_Data,
+	E_Ericsson_Additional_Charging_Information avp_E_Ericsson_Additional_Charging_Information,
+	E_Ericsson_Set_Up_Charge avp_E_Ericsson_Set_Up_Charge,
+	E_Ericsson_Ericsson_SL_Request_Type avp_E_Ericsson_Ericsson_SL_Request_Type,
+	E_NONE_SIP_Server_Operator_Preference avp_E_NONE_SIP_Server_Operator_Preference,
+	E_Ericsson_Backward_TTC_Charging_Headers avp_E_Ericsson_Backward_TTC_Charging_Headers,
+	E_Ericsson_Call_Move_Access_Network_Information avp_E_Ericsson_Call_Move_Access_Network_Information,
+	E_Ericsson_Octets_Discarded_Policing avp_E_Ericsson_Octets_Discarded_Policing,
+	E_Ericsson_WS_Information avp_E_Ericsson_WS_Information,
+	E_Ericsson_Account_Balance avp_E_Ericsson_Account_Balance,
+	E_Ericsson_Account_Location avp_E_Ericsson_Account_Location,
+	BASE_NONE_Accounting_Record_Type avp_BASE_NONE_Accounting_Record_Type,
+	E_Ericsson_Supplementary_Service_Action avp_E_Ericsson_Supplementary_Service_Action,
+	BASE_NONE_Acct_Interim_Interval avp_BASE_NONE_Acct_Interim_Interval,
+	E_Ericsson_Fee avp_E_Ericsson_Fee,
+	E_Ericsson_Used_Service_Unit avp_E_Ericsson_Used_Service_Unit,
+	E_Ericsson_Policy_Group_Priority avp_E_Ericsson_Policy_Group_Priority,
+	E_Ericsson_Originating_Site_Name avp_E_Ericsson_Originating_Site_Name,
+	BASE_NONE_Destination_Realm avp_BASE_NONE_Destination_Realm,
+	E_Ericsson_Other_Party_Id_MNP avp_E_Ericsson_Other_Party_Id_MNP,
+	E_Ericsson_Call_Move_IOI avp_E_Ericsson_Call_Move_IOI,
+	E_Ericsson_CIP_IP_Version avp_E_Ericsson_CIP_IP_Version,
+	E_Ericsson_Calling_Party_Address_Presentation_Status avp_E_Ericsson_Calling_Party_Address_Presentation_Status,
+	E_Ericsson_Access_Type avp_E_Ericsson_Access_Type,
+	E_Ericsson_Multiple_Services_Credit_Control avp_E_Ericsson_Multiple_Services_Credit_Control,
+	E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index avp_E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index,
+	E_Ericsson_Charging_Rule_Authorization avp_E_Ericsson_Charging_Rule_Authorization,
+	BASE_NONE_Auth_Session_State avp_BASE_NONE_Auth_Session_State,
+	E_Ericsson_Core_Announcement_Variable_Id avp_E_Ericsson_Core_Announcement_Variable_Id,
+	BASE_NONE_Disconnect_Cause avp_BASE_NONE_Disconnect_Cause,
+	E_Ericsson_Policy_Group_Name avp_E_Ericsson_Policy_Group_Name,
+	E_Ericsson_RTCP_Reported_Average_Jitter avp_E_Ericsson_RTCP_Reported_Average_Jitter,
+	E_Ericsson_Referred_By_Header avp_E_Ericsson_Referred_By_Header,
+	E_Ericsson_Instance_ID avp_E_Ericsson_Instance_ID,
+	E_Ericsson_Profile avp_E_Ericsson_Profile,
+	E_NONE_Authorization avp_E_NONE_Authorization,
+	E_Ericsson_Charging_Context_Id avp_E_Ericsson_Charging_Context_Id,
+	E_Ericsson_Service_Extension avp_E_Ericsson_Service_Extension,
+	BASE_NONE_Firmware_Revision avp_BASE_NONE_Firmware_Revision,
+	E_Ericsson_Additional_Other_Party_Id avp_E_Ericsson_Additional_Other_Party_Id,
+	E_Ericsson_Terminating_Identity_Restriction_Service_Information avp_E_Ericsson_Terminating_Identity_Restriction_Service_Information,
+	E_Ericsson_Core_Announcement_Data avp_E_Ericsson_Core_Announcement_Data,
+	E_Ericsson_Carrier_Information avp_E_Ericsson_Carrier_Information,
+	E_Ericsson_Incoming_Dialog avp_E_Ericsson_Incoming_Dialog,
+	E_Ericsson_Ericsson_Subscription_Tag avp_E_Ericsson_Ericsson_Subscription_Tag,
+	E_Ericsson_Discarded_RTMP_Messages avp_E_Ericsson_Discarded_RTMP_Messages,
+	E_NONE_Trigger avp_E_NONE_Trigger,
+	E_Ericsson_Other_Party_Id avp_E_Ericsson_Other_Party_Id,
+	E_Ericsson_Redirecting_Party_Address avp_E_Ericsson_Redirecting_Party_Address,
+	E_Ericsson_Operation_Type2 avp_E_Ericsson_Operation_Type2,
+	E_Ericsson_Ericsson_Location_MCC_MNC avp_E_Ericsson_Ericsson_Location_MCC_MNC,
+	E_Ericsson_Core_Announcement_Variable_Time avp_E_Ericsson_Core_Announcement_Variable_Time,
+	E_Ericsson_Service_Code avp_E_Ericsson_Service_Code,
+	E_Ericsson_Calling_Party_Location_Number avp_E_Ericsson_Calling_Party_Location_Number,
+	E_Ericsson_Participants_Involved avp_E_Ericsson_Participants_Involved,
+	E_Ericsson_Media_Interface_Statistics avp_E_Ericsson_Media_Interface_Statistics,
+	E_Ericsson_SIP_Response_NTP_Timestamp avp_E_Ericsson_SIP_Response_NTP_Timestamp,
+	E_Ericsson_Credit_Instance_Id avp_E_Ericsson_Credit_Instance_Id,
+	E_Ericsson_Accepted_RTMP_Messages avp_E_Ericsson_Accepted_RTMP_Messages,
+	E_Ericsson_Acc_Service_Type avp_E_Ericsson_Acc_Service_Type,
+	E_Ericsson_SIP_Response_Timestamp_Milliseconds avp_E_Ericsson_SIP_Response_Timestamp_Milliseconds,
+	E_Ericsson_Subscription_Type avp_E_Ericsson_Subscription_Type,
+	BASE_NONE_Route_Record avp_BASE_NONE_Route_Record,
+	E_Ericsson_Authorization_State_Change_Time avp_E_Ericsson_Authorization_State_Change_Time,
+	E_Ericsson_Called_Party_Network_Id avp_E_Ericsson_Called_Party_Network_Id,
+	E_Ericsson_SIP_Info avp_E_Ericsson_SIP_Info,
+	E_Ericsson_Requested_Task avp_E_Ericsson_Requested_Task,
+	E_Ericsson_Accepted_MRSP_Chunks avp_E_Ericsson_Accepted_MRSP_Chunks,
+	E_Ericsson_End_User_Message avp_E_Ericsson_End_User_Message,
+	E_Ericsson_From_Header avp_E_Ericsson_From_Header,
+	E_Ericsson_UHTZ_Offset avp_E_Ericsson_UHTZ_Offset,
+	E_Ericsson_Ericsson_Location_Number avp_E_Ericsson_Ericsson_Location_Number,
+	E_Ericsson_Acc_Reported_Packets_Sent avp_E_Ericsson_Acc_Reported_Packets_Sent,
+	E_Ericsson_Service_Setup_Result_Requested avp_E_Ericsson_Service_Setup_Result_Requested,
+	BASE_NONE_Auth_Grace_Period avp_BASE_NONE_Auth_Grace_Period,
+	E_Ericsson_Result_Code_Extension avp_E_Ericsson_Result_Code_Extension,
+	E_Ericsson_Service_Traffic_Case avp_E_Ericsson_Service_Traffic_Case,
+	E_Ericsson_Field_Value avp_E_Ericsson_Field_Value,
+	E_Ericsson_Deducted_Amount avp_E_Ericsson_Deducted_Amount,
+	E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time avp_E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time,
+	E_Ericsson_Core_Announcement_Code avp_E_Ericsson_Core_Announcement_Code,
+	E_Ericsson_RTSP_Info avp_E_Ericsson_RTSP_Info,
+	E_Ericsson_Flexible_Charging_Info avp_E_Ericsson_Flexible_Charging_Info,
+	E_Ericsson_Access_Network_Identifier avp_E_Ericsson_Access_Network_Identifier,
+	E_Ericsson_Customer_Id avp_E_Ericsson_Customer_Id,
+	E_Ericsson_Ericsson_Subscription_Context avp_E_Ericsson_Ericsson_Subscription_Context,
+	E_Ericsson_Communication_Details avp_E_Ericsson_Communication_Details,
+	E_Ericsson_Other_Party_Id_Data avp_E_Ericsson_Other_Party_Id_Data,
+	E_Ericsson_Calling_Party_Location_Area_Indicator avp_E_Ericsson_Calling_Party_Location_Area_Indicator,
+	E_Ericsson_Active_Time_Reporting avp_E_Ericsson_Active_Time_Reporting,
+	E_Ericsson_Round_Trip_Delay avp_E_Ericsson_Round_Trip_Delay,
+	E_Ericsson_Other_Party_Id_VPN_Private_Number avp_E_Ericsson_Other_Party_Id_VPN_Private_Number,
+	E_Ericsson_Ericsson_Geo_Location_Cell_Identity avp_E_Ericsson_Ericsson_Geo_Location_Cell_Identity,
+	E_Ericsson_Core_Announcement_Mid_Time_Moment avp_E_Ericsson_Core_Announcement_Mid_Time_Moment,
+	E_Ericsson_Field_Name avp_E_Ericsson_Field_Name,
+	E_NONE_Authenticate avp_E_NONE_Authenticate,
+	E_Ericsson_Rule_Space_Decision avp_E_Ericsson_Rule_Space_Decision,
+	E_Ericsson_Extension_Field avp_E_Ericsson_Extension_Field,
+	E_Ericsson_Calling_Party_Location_Indicator avp_E_Ericsson_Calling_Party_Location_Indicator,
+	E_Ericsson_Packets_Discarded_Filtering avp_E_Ericsson_Packets_Discarded_Filtering,
+	E_Ericsson_Originating_User_Agent avp_E_Ericsson_Originating_User_Agent,
+	E_Ericsson_URL_Modifier avp_E_Ericsson_URL_Modifier,
+	E_Ericsson_MCX_Company_Type avp_E_Ericsson_MCX_Company_Type,
+	BASE_NONE_Authorization_Lifetime avp_BASE_NONE_Authorization_Lifetime,
+	E_Ericsson_Original_Redirection_Reason avp_E_Ericsson_Original_Redirection_Reason,
+	E_Ericsson_Served_User_Address avp_E_Ericsson_Served_User_Address,
+	E_Ericsson_Acc_Received_Packets avp_E_Ericsson_Acc_Received_Packets,
+	E_Ericsson_Related_ICID avp_E_Ericsson_Related_ICID,
+	E_Ericsson_Apply_Tariff_Immediate avp_E_Ericsson_Apply_Tariff_Immediate,
+	E_Ericsson_PDP_Context_Type avp_E_Ericsson_PDP_Context_Type,
+	E_Ericsson_Guaranteed_Bit_Rate_For_Uplink avp_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink,
+	E_Ericsson_CRedirecting_Party_Type avp_E_Ericsson_CRedirecting_Party_Type,
+	E_Ericsson_MM_Destination avp_E_Ericsson_MM_Destination,
+	E_Ericsson_User_IP_Address avp_E_Ericsson_User_IP_Address,
+	E_Ericsson_From_Header_Presentation_Status avp_E_Ericsson_From_Header_Presentation_Status,
+	E_Ericsson_MSC_Address avp_E_Ericsson_MSC_Address,
+	E_Ericsson_Fixed_Announcement_Code avp_E_Ericsson_Fixed_Announcement_Code,
+	BASE_NONE_Re_Auth_Request_Type avp_BASE_NONE_Re_Auth_Request_Type,
+	E_Ericsson_Acc_Sender_Reports avp_E_Ericsson_Acc_Sender_Reports,
+	E_Ericsson_One_Time_Redirect_Control avp_E_Ericsson_One_Time_Redirect_Control,
+	E_Ericsson_Content_Filtering_Profile_Id avp_E_Ericsson_Content_Filtering_Profile_Id,
+	E_Ericsson_User_Agent avp_E_Ericsson_User_Agent,
+	E_Ericsson_Analyzed_Call_Type avp_E_Ericsson_Analyzed_Call_Type,
+	BASE_NONE_Event_Timestamp avp_BASE_NONE_Event_Timestamp,
+	E_Ericsson_MCID_Calling_Party_Address avp_E_Ericsson_MCID_Calling_Party_Address,
+	E_Ericsson_Ericsson_SIP_Authorization avp_E_Ericsson_Ericsson_SIP_Authorization,
+	E_Ericsson_Roaming_Information avp_E_Ericsson_Roaming_Information,
+	E_Ericsson_WSP_PDU_Type avp_E_Ericsson_WSP_PDU_Type,
+	E_Ericsson_On_Net_Indicator avp_E_Ericsson_On_Net_Indicator,
+	E_Ericsson_Called_Party_Value avp_E_Ericsson_Called_Party_Value,
+	E_Ericsson_Served_User avp_E_Ericsson_Served_User,
+	BASE_NONE_Failed_AVP avp_BASE_NONE_Failed_AVP,
+	E_Ericsson_Outgoing_Access_Network_Identifier avp_E_Ericsson_Outgoing_Access_Network_Identifier,
+	E_Ericsson_Contact_Header avp_E_Ericsson_Contact_Header,
+	E_Ericsson_MCX_Redirect_Party_Prefix avp_E_Ericsson_MCX_Redirect_Party_Prefix,
+	E_Ericsson_GSM_Call_Reference_Number avp_E_Ericsson_GSM_Call_Reference_Number,
+	E_Ericsson_Acc_Sent_Octets avp_E_Ericsson_Acc_Sent_Octets,
+	E_Ericsson_P_Asserted_Identity_Header avp_E_Ericsson_P_Asserted_Identity_Header,
+	E_Ericsson_On_Net_Indicator2 avp_E_Ericsson_On_Net_Indicator2,
+	E_Ericsson_Active_Time_Report_Start_Time avp_E_Ericsson_Active_Time_Report_Start_Time,
+	E_Ericsson_Routing_Call_Type avp_E_Ericsson_Routing_Call_Type,
+	E_Ericsson_Redirecting_Party_Nature avp_E_Ericsson_Redirecting_Party_Nature,
+	E_NONE_SIP_Header_Name avp_E_NONE_SIP_Header_Name,
+	E_Ericsson_Dialled_Number avp_E_Ericsson_Dialled_Number,
+	E_Ericsson_Ericsson_Geo_Location_ECI avp_E_Ericsson_Ericsson_Geo_Location_ECI,
+	E_Ericsson_Bearer_Control_Reject avp_E_Ericsson_Bearer_Control_Reject,
+	E_Ericsson_Extension_Field_Value avp_E_Ericsson_Extension_Field_Value,
+	E_Ericsson_Called_Party_Type avp_E_Ericsson_Called_Party_Type,
+	E_Ericsson_Fixed_Announcement_Time avp_E_Ericsson_Fixed_Announcement_Time,
+	E_Ericsson_Subscription_Id_Nature avp_E_Ericsson_Subscription_Id_Nature,
+	E_Ericsson_Acc_Talk_Burst_Received avp_E_Ericsson_Acc_Talk_Burst_Received,
+	E_Ericsson_Number_Frame_Information avp_E_Ericsson_Number_Frame_Information,
+	E_Ericsson_Wildcarded_PSI avp_E_Ericsson_Wildcarded_PSI,
+	E_Ericsson_MCX_Prefix avp_E_Ericsson_MCX_Prefix,
+	E_Ericsson_Redirection_Reason avp_E_Ericsson_Redirection_Reason,
+	E_Ericsson_Acc_Received_Bursts avp_E_Ericsson_Acc_Received_Bursts,
+	E_Ericsson_Call_Answering_Time avp_E_Ericsson_Call_Answering_Time,
+	E_Ericsson_Connection_Attempt_Charge avp_E_Ericsson_Connection_Attempt_Charge,
+	E_Ericsson_Policy_Group_Activation_Time avp_E_Ericsson_Policy_Group_Activation_Time,
+	E_NONE_Auth_Data_Item avp_E_NONE_Auth_Data_Item,
+	E_Ericsson_Guaranteed_Bit_Rate_For_Downlink avp_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink,
+	E_Ericsson_Call_Move_Information avp_E_Ericsson_Call_Move_Information,
+	E_Ericsson_Other_Numbers avp_E_Ericsson_Other_Numbers,
+	E_Ericsson_MM_BCC_Destination avp_E_Ericsson_MM_BCC_Destination,
+	BASE_NONE_Error_Reporting_Host avp_BASE_NONE_Error_Reporting_Host,
+	E_Ericsson_Called_Party_Original_Address avp_E_Ericsson_Called_Party_Original_Address,
+	E_Ericsson_Transaction_Info avp_E_Ericsson_Transaction_Info,
+	E_Ericsson_Calling_Party_Type avp_E_Ericsson_Calling_Party_Type,
+	E_Ericsson_Fixed_Announcement_Var_Integer avp_E_Ericsson_Fixed_Announcement_Var_Integer,
+	BASE_NONE_Accounting_Record_Number avp_BASE_NONE_Accounting_Record_Number,
+	E_Ericsson_Acc_Talk_Burst_Sent avp_E_Ericsson_Acc_Talk_Burst_Sent,
+	E_Ericsson_Extra_Cost_Distribution_Code avp_E_Ericsson_Extra_Cost_Distribution_Code,
+	E_Ericsson_Deprecated avp_E_Ericsson_Deprecated,
+	E_Ericsson_Disconnect_Direction avp_E_Ericsson_Disconnect_Direction,
+	E_Ericsson_Occurrence_Timestamp avp_E_Ericsson_Occurrence_Timestamp,
+	E_Ericsson_Unasigned avp_E_Ericsson_Unasigned,
+	E_Ericsson_Ericsson_Geographical_Location_Extended avp_E_Ericsson_Ericsson_Geographical_Location_Extended,
+	E_Ericsson_Function_Trace_Overflow avp_E_Ericsson_Function_Trace_Overflow,
+	E_Ericsson_File_Name avp_E_Ericsson_File_Name,
+	E_Ericsson_Instance_Stop_Indication avp_E_Ericsson_Instance_Stop_Indication,
+	E_Ericsson_Charging_From_Triggering avp_E_Ericsson_Charging_From_Triggering,
+	BASE_NONE_Proxy_Info avp_BASE_NONE_Proxy_Info,
+	E_Ericsson_Called_Party_Location_Number avp_E_Ericsson_Called_Party_Location_Number,
+	E_Ericsson_Subscriber_Provisioned_Info avp_E_Ericsson_Subscriber_Provisioned_Info,
+	E_Ericsson_Ericsson_Service_Information avp_E_Ericsson_Ericsson_Service_Information,
+	E_Ericsson_System_Load avp_E_Ericsson_System_Load,
+	E_Ericsson_Transferred_Amount avp_E_Ericsson_Transferred_Amount,
+	E_Ericsson_SDD_TADS_Decision avp_E_Ericsson_SDD_TADS_Decision,
+	E_Ericsson_Privacy_Header avp_E_Ericsson_Privacy_Header,
+	E_Ericsson_Acc_Sent_Duration avp_E_Ericsson_Acc_Sent_Duration,
+	E_Ericsson_Preferred_Currency_Code avp_E_Ericsson_Preferred_Currency_Code,
+	E_Ericsson_Final_Service_Unit avp_E_Ericsson_Final_Service_Unit,
+	E_Ericsson_Time_Quota_Measurement avp_E_Ericsson_Time_Quota_Measurement,
+	E_Ericsson_Policy_Counter_Policy_Group_Name avp_E_Ericsson_Policy_Counter_Policy_Group_Name,
+	E_Ericsson_Chargeable_Corporate_Number_Type avp_E_Ericsson_Chargeable_Corporate_Number_Type,
+	BASE_NONE_Origin_State_Id avp_BASE_NONE_Origin_State_Id,
+	E_Ericsson_Presented_Special_Number avp_E_Ericsson_Presented_Special_Number,
+	E_Ericsson_URI avp_E_Ericsson_URI,
+	E_Ericsson_Ericsson_Access_Classification avp_E_Ericsson_Ericsson_Access_Classification,
+	E_Ericsson_Service_Rating_Info avp_E_Ericsson_Service_Rating_Info,
+	E_Ericsson_Transaction_Data_Value avp_E_Ericsson_Transaction_Data_Value,
+	E_Ericsson_Tenant avp_E_Ericsson_Tenant,
+	E_Ericsson_Version_Number avp_E_Ericsson_Version_Number,
+	E_Ericsson_SSO_Data avp_E_Ericsson_SSO_Data,
+	E_Ericsson_Commissioning_Type avp_E_Ericsson_Commissioning_Type,
+	E_Ericsson_SIP_Reason_Cause avp_E_Ericsson_SIP_Reason_Cause,
+	E_NONE_Application_Server_Name avp_E_NONE_Application_Server_Name,
+	E_Ericsson_SIP_Ringing_Timestamp_Fraction avp_E_Ericsson_SIP_Ringing_Timestamp_Fraction,
+	E_NONE_SIP_Header avp_E_NONE_SIP_Header,
+	E_Ericsson_Charging_Suppression_At_Forwarding avp_E_Ericsson_Charging_Suppression_At_Forwarding,
+	E_Ericsson_Extended_Call_Type avp_E_Ericsson_Extended_Call_Type,
+	E_Ericsson_Transport_Protocol avp_E_Ericsson_Transport_Protocol,
+	E_Ericsson_Ericsson_Policy_Counter_Status avp_E_Ericsson_Ericsson_Policy_Counter_Status,
+	E_Ericsson_Route_Header avp_E_Ericsson_Route_Header,
+	E_Ericsson_User_Side avp_E_Ericsson_User_Side,
+	E_Ericsson_Subscription_Id_VPN_Location_Indicator avp_E_Ericsson_Subscription_Id_VPN_Location_Indicator,
+	E_Ericsson_Participants_List avp_E_Ericsson_Participants_List,
+	E_Ericsson_Call_Move_Calling_Party_Address avp_E_Ericsson_Call_Move_Calling_Party_Address,
+	E_Ericsson_Received_Volume avp_E_Ericsson_Received_Volume,
+	E_Ericsson_Activity_Information avp_E_Ericsson_Activity_Information,
+	E_Ericsson_Services_To_Suppress avp_E_Ericsson_Services_To_Suppress,
+	E_Ericsson_Transaction_Data_Name avp_E_Ericsson_Transaction_Data_Name,
+	E_Ericsson_SIP_Request_NTP_Timestamp avp_E_Ericsson_SIP_Request_NTP_Timestamp,
+	E_Ericsson_Time_Quota_Inactivity_Time avp_E_Ericsson_Time_Quota_Inactivity_Time,
+	E_Ericsson_Account_Type avp_E_Ericsson_Account_Type,
+	E_Ericsson_Service_Number_Type avp_E_Ericsson_Service_Number_Type,
+	E_Ericsson_Type_of_Termination avp_E_Ericsson_Type_of_Termination,
+	BASE_NONE_Experimental_Result avp_BASE_NONE_Experimental_Result,
+	E_Ericsson_Core_Announcement_Id avp_E_Ericsson_Core_Announcement_Id,
+	E_Ericsson_Bearer_Capability avp_E_Ericsson_Bearer_Capability,
+	E_Ericsson_Remote_Charging_Data avp_E_Ericsson_Remote_Charging_Data,
+	BASE_NONE_Destination_Host avp_BASE_NONE_Destination_Host,
+	E_Ericsson_Trunk_Context avp_E_Ericsson_Trunk_Context,
+	E_Ericsson_WSP_Info avp_E_Ericsson_WSP_Info,
+	E_Ericsson_Zone_Identity avp_E_Ericsson_Zone_Identity,
+	E_Ericsson_Service_Key avp_E_Ericsson_Service_Key,
+	E_Ericsson_Acc_WS_File avp_E_Ericsson_Acc_WS_File,
+	E_Ericsson_System_Load_Age avp_E_Ericsson_System_Load_Age,
+	E_Ericsson_Quota_Deduction_Start avp_E_Ericsson_Quota_Deduction_Start,
+	E_Ericsson_Matched_Regular_Expression avp_E_Ericsson_Matched_Regular_Expression,
+	E_Ericsson_Replenishment_Service_Request avp_E_Ericsson_Replenishment_Service_Request,
+	E_Ericsson_Time_Zone avp_E_Ericsson_Time_Zone,
+	BASE_NONE_Redirect_Host_Usage avp_BASE_NONE_Redirect_Host_Usage,
+	E_Ericsson_Primary_Interexchange_Carrier avp_E_Ericsson_Primary_Interexchange_Carrier,
+	E_Ericsson_Network_Call_Reference avp_E_Ericsson_Network_Call_Reference,
+	E_Ericsson_Reference_ID avp_E_Ericsson_Reference_ID,
+	BASE_NONE_Accounting_Sub_Session_Id avp_BASE_NONE_Accounting_Sub_Session_Id,
+	E_Ericsson_Ericsson_Policy_Counter_Status_Report avp_E_Ericsson_Ericsson_Policy_Counter_Status_Report,
+	E_Ericsson_Cost_Distribution_Code avp_E_Ericsson_Cost_Distribution_Code,
+	E_Ericsson_Forward_TTC_Charging_Headers avp_E_Ericsson_Forward_TTC_Charging_Headers,
+	E_Ericsson_IMSI avp_E_Ericsson_IMSI,
+	E_Ericsson_Duration avp_E_Ericsson_Duration,
+	E_Ericsson_Reserved_Amount avp_E_Ericsson_Reserved_Amount,
+	E_Ericsson_Zone_Type avp_E_Ericsson_Zone_Type,
+	E_Ericsson_IVR_Class avp_E_Ericsson_IVR_Class,
+	E_NONE_Server_Capability avp_E_NONE_Server_Capability,
+	E_Ericsson_Subscribed_Media_Profile avp_E_Ericsson_Subscribed_Media_Profile,
+	E_Ericsson_Supplementary_Service_Identity avp_E_Ericsson_Supplementary_Service_Identity,
+	E_Ericsson_Currency_Name avp_E_Ericsson_Currency_Name,
+	E_Ericsson_MMT_Information avp_E_Ericsson_MMT_Information,
+	BASE_NONE_Class avp_BASE_NONE_Class,
+	E_Ericsson_Event_Trigger avp_E_Ericsson_Event_Trigger,
+	E_Ericsson_Packet_Loss_Rate avp_E_Ericsson_Packet_Loss_Rate,
+	E_Ericsson_Group_Name avp_E_Ericsson_Group_Name,
+	E_Ericsson_Ericsson_Requested_Domain avp_E_Ericsson_Ericsson_Requested_Domain,
+	E_Ericsson_Other_Party_Id_VPN_Location_Indicator avp_E_Ericsson_Other_Party_Id_VPN_Location_Indicator,
+	BASE_NONE_User_Name avp_BASE_NONE_User_Name,
+	E_Ericsson_Call_Move_IMS_Charging_Identifier avp_E_Ericsson_Call_Move_IMS_Charging_Identifier,
+	E_NONE_Max_No_Simultaneous_Sessions_Allowed avp_E_NONE_Max_No_Simultaneous_Sessions_Allowed,
+	E_Ericsson_Traffic_Case avp_E_Ericsson_Traffic_Case,
+	E_Ericsson_Reporting_Reason avp_E_Ericsson_Reporting_Reason,
+	E_Ericsson_PS_Previous_Information avp_E_Ericsson_PS_Previous_Information,
+	E_Ericsson_Virtual_Number avp_E_Ericsson_Virtual_Number,
+	E_Ericsson_AS_Type avp_E_Ericsson_AS_Type,
+	E_Ericsson_Default_Handling avp_E_Ericsson_Default_Handling,
+	E_Ericsson_Private_Number_Called_Party avp_E_Ericsson_Private_Number_Called_Party,
+	E_Ericsson_Core_Announcement_Variable_Date avp_E_Ericsson_Core_Announcement_Variable_Date,
+	E_Ericsson_Redirection_Information avp_E_Ericsson_Redirection_Information,
+	E_Ericsson_Policy_Group avp_E_Ericsson_Policy_Group,
+	E_Ericsson_Packets_Lost avp_E_Ericsson_Packets_Lost,
+	E_Ericsson_History_Info_Header avp_E_Ericsson_History_Info_Header,
+	E_Ericsson_User_Equimenent_IMEI avp_E_Ericsson_User_Equimenent_IMEI,
+	E_Ericsson_Service_Provider_Id avp_E_Ericsson_Service_Provider_Id,
+	E_Ericsson_Acc_WS_Motion avp_E_Ericsson_Acc_WS_Motion,
+	BASE_NONE_Session_Binding avp_BASE_NONE_Session_Binding,
+	BASE_NONE_Origin_Realm avp_BASE_NONE_Origin_Realm,
+	E_Ericsson_CDR_Information avp_E_Ericsson_CDR_Information,
+	BASE_NONE_Redirect_Host avp_BASE_NONE_Redirect_Host,
+	E_Ericsson_Service_Scenario avp_E_Ericsson_Service_Scenario,
+	E_Ericsson_Total_Session_Duration avp_E_Ericsson_Total_Session_Duration,
+	E_Ericsson_Tariff_Expiry_Policy avp_E_Ericsson_Tariff_Expiry_Policy,
+	E_Ericsson_Party_To_Charge avp_E_Ericsson_Party_To_Charge,
+	BASE_NONE_Accounting_Realtime_Required avp_BASE_NONE_Accounting_Realtime_Required,
+	E_Ericsson_Dial_Around_Indicator avp_E_Ericsson_Dial_Around_Indicator,
+	E_Ericsson_Other_Party_Id_MNP_Result avp_E_Ericsson_Other_Party_Id_MNP_Result,
+	E_Ericsson_Charging_Area avp_E_Ericsson_Charging_Area,
+	E_Ericsson_Packets_Out_Of_Sequence avp_E_Ericsson_Packets_Out_Of_Sequence,
+	E_Ericsson_VPN_Information avp_E_Ericsson_VPN_Information,
+	E_Ericsson_Ericsson_Multiple_Entries_Limit avp_E_Ericsson_Ericsson_Multiple_Entries_Limit,
+	BASE_NONE_Origin_Host avp_BASE_NONE_Origin_Host,
+	BASE_NONE_Vendor_Specific_Application_Id avp_BASE_NONE_Vendor_Specific_Application_Id,
+	E_Ericsson_Subscription_Id_Location avp_E_Ericsson_Subscription_Id_Location,
+	E_Ericsson_Conference_Participant_Count avp_E_Ericsson_Conference_Participant_Count,
+	BASE_NONE_E2E_Sequence avp_BASE_NONE_E2E_Sequence,
+	E_Ericsson_Initiating_Other_Party_Id avp_E_Ericsson_Initiating_Other_Party_Id,
+	E_Ericsson_Ericsson_Geographical_Location avp_E_Ericsson_Ericsson_Geographical_Location,
+	E_Ericsson_Core_Announcement_Variable_Number avp_E_Ericsson_Core_Announcement_Variable_Number,
+	E_Ericsson_Terminating_Site_Name avp_E_Ericsson_Terminating_Site_Name,
+	E_Ericsson_Calling_Party_Location avp_E_Ericsson_Calling_Party_Location,
+	E_Ericsson_Other_Party_Id_MNP_IMSI avp_E_Ericsson_Other_Party_Id_MNP_IMSI,
+	BASE_NONE_Auth_Application_Id avp_BASE_NONE_Auth_Application_Id,
+	E_Ericsson_Media_Statistics avp_E_Ericsson_Media_Statistics,
+	E_Ericsson_Called_Asserted_Identity_Presentation_Status avp_E_Ericsson_Called_Asserted_Identity_Presentation_Status,
+	E_Ericsson_Ericsson_Subscription_Event avp_E_Ericsson_Ericsson_Subscription_Event,
+	E_Ericsson_Time_Deviation avp_E_Ericsson_Time_Deviation,
+	E_Ericsson_SIP_Request_Timestamp_Milliseconds avp_E_Ericsson_SIP_Request_Timestamp_Milliseconds,
+	E_Ericsson_Public_Identification avp_E_Ericsson_Public_Identification,
+	E_Ericsson_Start_Of_Call avp_E_Ericsson_Start_Of_Call,
+	E_Ericsson_Authorization_State avp_E_Ericsson_Authorization_State,
+	E_NONE_Max_No_Call_Legs_Per_Sessions avp_E_NONE_Max_No_Call_Legs_Per_Sessions,
+	E_Ericsson_Called_Party_Location_Indicator avp_E_Ericsson_Called_Party_Location_Indicator,
+	E_Ericsson_Core_Announcement_Variable_Integer avp_E_Ericsson_Core_Announcement_Variable_Integer,
+	E_NONE_SIP_Header_Content avp_E_NONE_SIP_Header_Content,
+	E_Ericsson_RTCP_Reported_Packets_Lost avp_E_Ericsson_RTCP_Reported_Packets_Lost,
+	E_Ericsson_From avp_E_Ericsson_From,
+	E_Ericsson_MCID_Register_Timestamp avp_E_Ericsson_MCID_Register_Timestamp,
+	E_Ericsson_Calling_Party_Value avp_E_Ericsson_Calling_Party_Value,
+	E_Ericsson_System_State avp_E_Ericsson_System_State,
+	E_Ericsson_Acc_Reported_Packets_Received avp_E_Ericsson_Acc_Reported_Packets_Received,
+	E_Ericsson_R_Index_Value avp_E_Ericsson_R_Index_Value,
+	E_Ericsson_Service_Setup_Result avp_E_Ericsson_Service_Setup_Result,
+	E_Ericsson_Charging_State_Information avp_E_Ericsson_Charging_State_Information,
+	E_Ericsson_Call_Data avp_E_Ericsson_Call_Data,
+	E_Ericsson_SMSC_Address avp_E_Ericsson_SMSC_Address,
+	E_Ericsson_Call_Type avp_E_Ericsson_Call_Type,
+	E_Ericsson_Malicious_Communication_Identification_Service_Information avp_E_Ericsson_Malicious_Communication_Identification_Service_Information,
+	E_Ericsson_Core_Announcement_Logic avp_E_Ericsson_Core_Announcement_Logic,
+	E_Ericsson_Called_Party_Location_Cell_Id avp_E_Ericsson_Called_Party_Location_Cell_Id,
+	E_Ericsson_FTP_Info avp_E_Ericsson_FTP_Info,
+	E_Ericsson_Additional_User_Category avp_E_Ericsson_Additional_User_Category,
+	BASE_NONE_Inband_Security_Id avp_BASE_NONE_Inband_Security_Id,
+	E_Ericsson_SSO_Status avp_E_Ericsson_SSO_Status,
+	E_Ericsson_Cumulative_Used_Service_Unit avp_E_Ericsson_Cumulative_Used_Service_Unit,
+	E_Ericsson_Outgoing_Dialog avp_E_Ericsson_Outgoing_Dialog,
+	BASE_NONE_Termination_Cause avp_BASE_NONE_Termination_Cause,
+	E_Ericsson_Ericsson_Subscription_Trigger_Data avp_E_Ericsson_Ericsson_Subscription_Trigger_Data,
+	E_Ericsson_Other_Party_Id_Nature avp_E_Ericsson_Other_Party_Id_Nature,
+	E_Ericsson_Pay_Phone_Indicator avp_E_Ericsson_Pay_Phone_Indicator,
+	E_Ericsson_Aware_Policy_based_Routing_Profile avp_E_Ericsson_Aware_Policy_based_Routing_Profile,
+	E_Ericsson_Next_Authorization_State avp_E_Ericsson_Next_Authorization_State,
+	E_Ericsson_Ericsson_Location_Area_Code avp_E_Ericsson_Ericsson_Location_Area_Code,
+	E_Ericsson_Core_Mid_Time_Announcement avp_E_Ericsson_Core_Mid_Time_Announcement,
+	E_Ericsson_Mobile_Charging_Number avp_E_Ericsson_Mobile_Charging_Number,
+	E_Ericsson_Operator_Defined_Field avp_E_Ericsson_Operator_Defined_Field,
+	BASE_NONE_Session_Id avp_BASE_NONE_Session_Id,
+	E_Ericsson_Rule_Space_Suggestion avp_E_Ericsson_Rule_Space_Suggestion,
+	E_Ericsson_Type_Of_Access avp_E_Ericsson_Type_Of_Access,
+	E_Ericsson_Originating_Identity_Restriction_Service_Information avp_E_Ericsson_Originating_Identity_Restriction_Service_Information,
+	E_Ericsson_Calling_Party_Location_Cell_Id avp_E_Ericsson_Calling_Party_Location_Cell_Id,
+	octetstring avp_UNKNOWN
+}
+type union GenericAVP {
+	AVP avp,
+	Undefined_AVP avp_undefined,
+	octetstring avp_UNKNOWN
+}
+type record Undefined_AVP {
+	OCTET4 avp_code,
+	BIT8 VMPxxxxx,
+	UINT24 avp_length,
+	OCTET4 vendor_id optional,
+	octetstring avp_data
+} with {
+	variant "PADDING(dword32)"
+	variant (vendor_id) "PRESENCE( {
+		VMPxxxxx = '10000000'B,
+		VMPxxxxx = '10100000'B,
+		VMPxxxxx = '11000000'B,
+		VMPxxxxx = '11100000'B
+	} )"
+	variant (avp_length) "LENGTHTO(avp_code, VMPxxxxx, avp_length, vendor_id, avp_data)"
+}
+type record AVP {
+	AVP_Header avp_header,
+	AVP_Data avp_data
+} with {
+	variant "PADDING(dword32)"
+	variant (avp_header) "LENGTHTO(avp_header, avp_data)"
+	variant (avp_header) "LENGTHINDEX(avp_length)"
+	variant (avp_data) "CROSSTAG(
+		avp_BASE_NONE_Proxy_State, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_State;
+		avp_E_Ericsson_Media_Interface_Flow_Statistics, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Media_Interface_Flow_Statistics;
+		avp_E_Ericsson_Threshold_Selection, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Threshold_Selection;
+		avp_E_Ericsson_Service_Start_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Start_Timestamp;
+		avp_E_Ericsson_User_URL, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_User_URL;
+		avp_E_Ericsson_Acc_Received_Octets, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Received_Octets;
+		avp_E_Ericsson_Session_Priority, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Session_Priority;
+		avp_E_Ericsson_Conference_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Conference_Id;
+		avp_E_Ericsson_Unrestricted_Call_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Unrestricted_Call_Indicator;
+		avp_E_Ericsson_Server_IP_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Server_IP_Address;
+		avp_E_NONE_SIP_Server_Name, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_SIP_Server_Name;
+		avp_BASE_NONE_Host_IP_Address, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Host_IP_Address;
+		avp_E_Ericsson_Traffic_Class, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Traffic_Class;
+		avp_E_Ericsson_Authorization_Validity_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Authorization_Validity_Time;
+		avp_E_Ericsson_Redirecting_Party, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirecting_Party;
+		avp_E_Ericsson_MM_Originator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MM_Originator;
+		avp_BASE_NONE_Session_Timeout, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Timeout;
+		avp_E_Ericsson_Discarded_MSRP_Chunks, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Discarded_MSRP_Chunks;
+		avp_E_Ericsson_Authentication_Method, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Authentication_Method;
+		avp_E_Ericsson_Conference_Service_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Conference_Service_Information;
+		avp_E_Ericsson_Other_Party_Id_MNP_RN, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_MNP_RN;
+		avp_E_Ericsson_Ericsson_Secondary_Digest_HA1, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Secondary_Digest_HA1;
+		avp_E_Ericsson_Acc_Receiver_Reports, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Receiver_Reports;
+		avp_E_Ericsson_QoS_Profile_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_QoS_Profile_Id;
+		avp_E_Ericsson_User_Redirected, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_User_Redirected;
+		avp_E_NONE_Indication, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Indication;
+		avp_E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code;
+		avp_E_Ericsson_Service_Session_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Session_Id;
+		avp_E_Ericsson_Requested_Bearer_Capability, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Requested_Bearer_Capability;
+		avp_E_Ericsson_Host, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Host;
+		avp_E_Ericsson_BCS_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_BCS_Information;
+		avp_E_Ericsson_Ericsson_QoS_Profile, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_QoS_Profile;
+		avp_E_Ericsson_Core_Immediate_Announcement, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Immediate_Announcement;
+		avp_E_Ericsson_Packets_Discarded_Policing, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Packets_Discarded_Policing;
+		avp_E_Ericsson_Incoming_Access_Network_Identifier, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Incoming_Access_Network_Identifier;
+		avp_E_Ericsson_MCID_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCID_Information;
+		avp_E_Ericsson_Event_NTP_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Event_NTP_Timestamp;
+		avp_E_Ericsson_Ericsson_Subscription_Session_Scope, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Subscription_Session_Scope;
+		avp_E_Ericsson_Communication_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Communication_Timestamp;
+		avp_E_Ericsson_Other_Party_Id_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_Type;
+		avp_E_Ericsson_SCalled_Party_Location_Area_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SCalled_Party_Location_Area_Indicator;
+		avp_E_Ericsson_Active_Time_Report, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Active_Time_Report;
+		avp_E_Ericsson_JB_Discard_Rate, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_JB_Discard_Rate;
+		avp_BASE_NONE_Multi_Round_Time_Out, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Multi_Round_Time_Out;
+		avp_E_Ericsson_SMS_Reference_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SMS_Reference_Number;
+		avp_E_Ericsson_Ericsson_Geo_Location_Service_Area_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geo_Location_Service_Area_Code;
+		avp_E_Ericsson_Core_End_Time_Announcement, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_End_Time_Announcement;
+		avp_BASE_NONE_Experimental_Result_Code, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Experimental_Result_Code;
+		avp_E_Ericsson_Network_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Network_Location;
+		avp_E_Ericsson_Bearer_Control_Options, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Bearer_Control_Options;
+		avp_E_Ericsson_Extension_Field_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Extension_Field_Type;
+		avp_E_Ericsson_Called_Party, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party;
+		avp_E_Ericsson_VLR_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_VLR_Number;
+		avp_E_Ericsson_Octets_Discarded_Filtering, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Octets_Discarded_Filtering;
+		avp_E_Ericsson_Terminating_User_Agent, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Terminating_User_Agent;
+		avp_E_Ericsson_GPRS_Roaming_Status, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_GPRS_Roaming_Status;
+		avp_E_Ericsson_MCX_Call_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCX_Call_Info;
+		avp_E_NONE_Item_Number, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Item_Number;
+		avp_BASE_NONE_Vendor_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Vendor_Id;
+		avp_E_Ericsson_Redirection_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirection_Indicator;
+		avp_E_Ericsson_Acc_Received_Duration, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Received_Duration;
+		avp_E_Ericsson_Apply_Tariff_Restart, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Apply_Tariff_Restart;
+		avp_E_Ericsson_Supplementary_Service_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Supplementary_Service_Information;
+		avp_BASE_NONE_Redirect_Max_Cache_Time, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Max_Cache_Time;
+		avp_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed;
+		avp_E_Ericsson_Redirecting_Party_Value, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirecting_Party_Value;
+		avp_E_Ericsson_MM_CC_Destination, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MM_CC_Destination;
+		avp_E_Ericsson_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Location;
+		avp_E_Ericsson_Zone_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Zone_Id;
+		avp_E_Ericsson_Calling_Party, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party;
+		avp_E_Ericsson_Fixed_Announcement_Var, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Fixed_Announcement_Var;
+		avp_E_NONE_Type_Of_Trigger, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Type_Of_Trigger;
+		avp_E_NONE_SIP_Server_Capabilities, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_SIP_Server_Capabilities;
+		avp_E_Ericsson_Acc_Aggregated_Numbers, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Aggregated_Numbers;
+		avp_E_Ericsson_Access_Control_Profile_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Access_Control_Profile_Id;
+		avp_E_Ericsson_Original_OtherParty_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Original_OtherParty_Id;
+		avp_E_Ericsson_Ericsson_Digest_HA2, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Digest_HA2;
+		avp_E_Ericsson_MCID_Called_Party_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCID_Called_Party_Address;
+		avp_E_Ericsson_Function_Trace, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Function_Trace;
+		avp_E_Ericsson_Request_Method, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Request_Method;
+		avp_E_Ericsson_OFeature_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_OFeature_Name;
+		avp_E_Ericsson_Called_Party_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Location;
+		avp_E_NONE_S_CSCF_Name_Terminating, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_S_CSCF_Name_Terminating;
+		avp_E_Ericsson_Subscriber_Additional_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscriber_Additional_Info;
+		avp_E_NONE_P_CSCF_Name, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_P_CSCF_Name;
+		avp_E_Ericsson_IMS_Service_Identification, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_IMS_Service_Identification;
+		avp_E_Ericsson_To_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_To_Header;
+		avp_E_Ericsson_SCC_Service_Identity, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SCC_Service_Identity;
+		avp_E_Ericsson_Acc_Sent_Packets, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Sent_Packets;
+		avp_E_Ericsson_Request_URI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Request_URI;
+		avp_E_Ericsson_Origination_Identification, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Origination_Identification;
+		avp_BASE_NONE_Error_Message, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Error_Message;
+		avp_E_Ericsson_Extended_Service_Traffic_Case, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Extended_Service_Traffic_Case;
+		avp_E_Ericsson_Active_Time_Report_End_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Active_Time_Report_End_Time;
+		avp_E_Ericsson_Chargeable_Corporate_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Chargeable_Corporate_Number;
+		avp_E_Ericsson_Additional_Calling_Party_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Additional_Calling_Party_Number;
+		avp_E_Ericsson_Message_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Message_Type;
+		avp_E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code;
+		avp_E_Ericsson_ARP, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_ARP;
+		avp_E_Ericsson_Max_No_Contacts, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Max_No_Contacts;
+		avp_E_Ericsson_Business_Personal_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Business_Personal_Indicator;
+		avp_E_Ericsson_Registration_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Registration_Type;
+		avp_E_Ericsson_SIP_Reason, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Reason;
+		avp_E_Ericsson_Address_Presentation_Restricted_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Address_Presentation_Restricted_Indicator;
+		avp_BASE_NONE_Session_Server_Failover, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Server_Failover;
+		avp_E_Ericsson_Redirection_Counter, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirection_Counter;
+		avp_E_Ericsson_Same_Office_Zone_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Same_Office_Zone_Indicator;
+		avp_E_Ericsson_Command_Arg, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Command_Arg;
+		avp_E_Ericsson_Network_Identification, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Network_Identification;
+		avp_E_Ericsson_Policy_Group_Deactivation_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Policy_Group_Deactivation_Time;
+		avp_E_Ericsson_Granted_Service_Unit, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Granted_Service_Unit;
+		avp_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed;
+		avp_E_Ericsson_Call_Move_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Move_Timestamp;
+		avp_E_Ericsson_Content_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Content_Location;
+		avp_E_Ericsson_Sent_Volume, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Sent_Volume;
+		avp_E_NONE_Authentication_Scheme, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Authentication_Scheme;
+		avp_E_Ericsson_MMInviteStatus, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MMInviteStatus;
+		avp_BASE_NONE_Product_Name, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Product_Name;
+		avp_E_Ericsson_Transaction_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Transaction_Type;
+		avp_BASE_NONE_Supported_Vendor_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Supported_Vendor_Id;
+		avp_E_Ericsson_NTP_Timestamps, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_NTP_Timestamps;
+		avp_E_Ericsson_Time_Quota_Resolution, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Time_Quota_Resolution;
+		avp_E_Ericsson_Account_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Account_Id;
+		avp_E_Ericsson_RACS_Result_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_RACS_Result_Code;
+		avp_E_Ericsson_Barring_Indication, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Barring_Indication;
+		avp_E_Ericsson_Occurrence_Timestamp_Milliseconds, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Occurrence_Timestamp_Milliseconds;
+		avp_E_Ericsson_Operation_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Operation_Type;
+		avp_E_Ericsson_Command, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Command;
+		avp_E_Ericsson_To, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_To;
+		avp_E_NONE_Trigger_Detection_Point, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Trigger_Detection_Point;
+		avp_E_Ericsson_MMS_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MMS_Info;
+		avp_E_Ericsson_Tariff_Triggering, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Tariff_Triggering;
+		avp_BASE_NONE_Acct_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Application_Id;
+		avp_E_Ericsson_System_Percentage_Load, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_System_Percentage_Load;
+		avp_E_Ericsson_SIP_Ringing_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Ringing_Timestamp;
+		avp_E_Ericsson_Service_Suppression_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Suppression_Info;
+		avp_E_Ericsson_M2M_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_M2M_Information;
+		avp_E_Ericsson_Acc_Sent_Bursts, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Sent_Bursts;
+		avp_E_Ericsson_Subscriber_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscriber_Information;
+		avp_E_Ericsson_Purpose, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Purpose;
+		avp_E_Ericsson_Time_Quota_Method, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Time_Quota_Method;
+		avp_E_Ericsson_Ericsson_Policy_Counter_Identifier, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Policy_Counter_Identifier;
+		avp_E_Ericsson_Service_Subscriber_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Subscriber_Id;
+		avp_E_NONE_S_CSCF_Name_Originating, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_S_CSCF_Name_Originating;
+		avp_E_Ericsson_Community_Charging_Short_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Community_Charging_Short_Code;
+		avp_E_Ericsson_Chargeable_Corporate_Number_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Chargeable_Corporate_Number_Data;
+		avp_E_Ericsson_Unassigned, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Unassigned;
+		avp_E_Ericsson_Charging_Profile_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_Profile_Id;
+		avp_E_Ericsson_Zone_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Zone_Data;
+		avp_E_Ericsson_Requested_Subscription_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Requested_Subscription_Data;
+		avp_BASE_NONE_Proxy_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_Host;
+		avp_E_Ericsson_Country_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Country_Name;
+		avp_E_Ericsson_SIP_Reason_Text, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Reason_Text;
+		avp_E_Ericsson_Global_Call_Reference, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Global_Call_Reference;
+		avp_BASE_NONE_Acct_Multi_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Multi_Session_Id;
+		avp_E_Ericsson_Gx_Capability_List, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Gx_Capability_List;
+		avp_E_Ericsson_Charging_Suppressed, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_Suppressed;
+		avp_E_Ericsson_Company_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Company_Name;
+		avp_E_Ericsson_Media_Statistics_Side, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Media_Statistics_Side;
+		avp_E_Ericsson_Subscription_Id_VPN_Private_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscription_Id_VPN_Private_Number;
+		avp_E_Ericsson_Service_Type_Charging, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Type_Charging;
+		avp_E_Ericsson_Call_Move_Called_Party_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Move_Called_Party_Address;
+		avp_BASE_NONE_Auth_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Request_Type;
+		avp_E_Ericsson_Format, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Format;
+		avp_E_Ericsson_Feature_Tag, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Feature_Tag;
+		avp_E_Ericsson_Host_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Host_Number;
+		avp_E_Ericsson_Announcement_Service_Request, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Announcement_Service_Request;
+		avp_BASE_NONE_Accounting_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Session_Id;
+		avp_E_Ericsson_Redirect_Acknowledgement, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirect_Acknowledgement;
+		avp_E_Ericsson_Common_Policy_Rule_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Common_Policy_Rule_Id;
+		avp_E_Ericsson_Private_Number_Calling_Party, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Private_Number_Calling_Party;
+		avp_E_Ericsson_Core_Announcement_Variable, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Variable;
+		avp_E_Ericsson_Authorization_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Authorization_Code;
+		avp_E_NONE_Authentication_Info, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Authentication_Info;
+		avp_E_Ericsson_XCON_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_XCON_Id;
+		avp_BASE_NONE_Result_Code, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Result_Code;
+		avp_E_Ericsson_HTTP_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_HTTP_Info;
+		avp_E_Ericsson_CCMP_User_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_CCMP_User_Info;
+		avp_E_Ericsson_Announcement_Language_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Announcement_Language_Id;
+		avp_E_Ericsson_Other_Party_Id_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_Location;
+		avp_E_Ericsson_Replenishment_Reason, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Replenishment_Reason;
+		avp_E_Ericsson_Access_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Access_Information;
+		avp_E_Ericsson_Roaming_Position, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Roaming_Position;
+		avp_E_NONE_User_Data, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_User_Data;
+		avp_E_Ericsson_Additional_Charging_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Additional_Charging_Information;
+		avp_E_Ericsson_Set_Up_Charge, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Set_Up_Charge;
+		avp_E_Ericsson_Ericsson_SL_Request_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_SL_Request_Type;
+		avp_E_NONE_SIP_Server_Operator_Preference, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_SIP_Server_Operator_Preference;
+		avp_E_Ericsson_Backward_TTC_Charging_Headers, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Backward_TTC_Charging_Headers;
+		avp_E_Ericsson_Call_Move_Access_Network_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Move_Access_Network_Information;
+		avp_E_Ericsson_Octets_Discarded_Policing, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Octets_Discarded_Policing;
+		avp_E_Ericsson_WS_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_WS_Information;
+		avp_E_Ericsson_Account_Balance, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Account_Balance;
+		avp_E_Ericsson_Account_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Account_Location;
+		avp_BASE_NONE_Accounting_Record_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Record_Type;
+		avp_E_Ericsson_Supplementary_Service_Action, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Supplementary_Service_Action;
+		avp_BASE_NONE_Acct_Interim_Interval, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Acct_Interim_Interval;
+		avp_E_Ericsson_Fee, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Fee;
+		avp_E_Ericsson_Used_Service_Unit, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Used_Service_Unit;
+		avp_E_Ericsson_Policy_Group_Priority, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Policy_Group_Priority;
+		avp_E_Ericsson_Originating_Site_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Originating_Site_Name;
+		avp_BASE_NONE_Destination_Realm, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Destination_Realm;
+		avp_E_Ericsson_Other_Party_Id_MNP, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_MNP;
+		avp_E_Ericsson_Call_Move_IOI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Move_IOI;
+		avp_E_Ericsson_CIP_IP_Version, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_CIP_IP_Version;
+		avp_E_Ericsson_Calling_Party_Address_Presentation_Status, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Address_Presentation_Status;
+		avp_E_Ericsson_Access_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Access_Type;
+		avp_E_Ericsson_Multiple_Services_Credit_Control, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Multiple_Services_Credit_Control;
+		avp_E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index;
+		avp_E_Ericsson_Charging_Rule_Authorization, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_Rule_Authorization;
+		avp_BASE_NONE_Auth_Session_State, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Session_State;
+		avp_E_Ericsson_Core_Announcement_Variable_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Variable_Id;
+		avp_BASE_NONE_Disconnect_Cause, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Disconnect_Cause;
+		avp_E_Ericsson_Policy_Group_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Policy_Group_Name;
+		avp_E_Ericsson_RTCP_Reported_Average_Jitter, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_RTCP_Reported_Average_Jitter;
+		avp_E_Ericsson_Referred_By_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Referred_By_Header;
+		avp_E_Ericsson_Instance_ID, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Instance_ID;
+		avp_E_Ericsson_Profile, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Profile;
+		avp_E_NONE_Authorization, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Authorization;
+		avp_E_Ericsson_Charging_Context_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_Context_Id;
+		avp_E_Ericsson_Service_Extension, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Extension;
+		avp_BASE_NONE_Firmware_Revision, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Firmware_Revision;
+		avp_E_Ericsson_Additional_Other_Party_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Additional_Other_Party_Id;
+		avp_E_Ericsson_Terminating_Identity_Restriction_Service_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Terminating_Identity_Restriction_Service_Information;
+		avp_E_Ericsson_Core_Announcement_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Data;
+		avp_E_Ericsson_Carrier_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Carrier_Information;
+		avp_E_Ericsson_Incoming_Dialog, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Incoming_Dialog;
+		avp_E_Ericsson_Ericsson_Subscription_Tag, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Subscription_Tag;
+		avp_E_Ericsson_Discarded_RTMP_Messages, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Discarded_RTMP_Messages;
+		avp_E_NONE_Trigger, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Trigger;
+		avp_E_Ericsson_Other_Party_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id;
+		avp_E_Ericsson_Redirecting_Party_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirecting_Party_Address;
+		avp_E_Ericsson_Operation_Type2, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Operation_Type2;
+		avp_E_Ericsson_Ericsson_Location_MCC_MNC, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Location_MCC_MNC;
+		avp_E_Ericsson_Core_Announcement_Variable_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Variable_Time;
+		avp_E_Ericsson_Service_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Code;
+		avp_E_Ericsson_Calling_Party_Location_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Location_Number;
+		avp_E_Ericsson_Participants_Involved, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Participants_Involved;
+		avp_E_Ericsson_Media_Interface_Statistics, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Media_Interface_Statistics;
+		avp_E_Ericsson_SIP_Response_NTP_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Response_NTP_Timestamp;
+		avp_E_Ericsson_Credit_Instance_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Credit_Instance_Id;
+		avp_E_Ericsson_Accepted_RTMP_Messages, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Accepted_RTMP_Messages;
+		avp_E_Ericsson_Acc_Service_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Service_Type;
+		avp_E_Ericsson_SIP_Response_Timestamp_Milliseconds, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Response_Timestamp_Milliseconds;
+		avp_E_Ericsson_Subscription_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscription_Type;
+		avp_BASE_NONE_Route_Record, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Route_Record;
+		avp_E_Ericsson_Authorization_State_Change_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Authorization_State_Change_Time;
+		avp_E_Ericsson_Called_Party_Network_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Network_Id;
+		avp_E_Ericsson_SIP_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Info;
+		avp_E_Ericsson_Requested_Task, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Requested_Task;
+		avp_E_Ericsson_Accepted_MRSP_Chunks, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Accepted_MRSP_Chunks;
+		avp_E_Ericsson_End_User_Message, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_End_User_Message;
+		avp_E_Ericsson_From_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_From_Header;
+		avp_E_Ericsson_UHTZ_Offset, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_UHTZ_Offset;
+		avp_E_Ericsson_Ericsson_Location_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Location_Number;
+		avp_E_Ericsson_Acc_Reported_Packets_Sent, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Reported_Packets_Sent;
+		avp_E_Ericsson_Service_Setup_Result_Requested, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Setup_Result_Requested;
+		avp_BASE_NONE_Auth_Grace_Period, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Grace_Period;
+		avp_E_Ericsson_Result_Code_Extension, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Result_Code_Extension;
+		avp_E_Ericsson_Service_Traffic_Case, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Traffic_Case;
+		avp_E_Ericsson_Field_Value, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Field_Value;
+		avp_E_Ericsson_Deducted_Amount, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Deducted_Amount;
+		avp_E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time;
+		avp_E_Ericsson_Core_Announcement_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Code;
+		avp_E_Ericsson_RTSP_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_RTSP_Info;
+		avp_E_Ericsson_Flexible_Charging_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Flexible_Charging_Info;
+		avp_E_Ericsson_Access_Network_Identifier, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Access_Network_Identifier;
+		avp_E_Ericsson_Customer_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Customer_Id;
+		avp_E_Ericsson_Ericsson_Subscription_Context, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Subscription_Context;
+		avp_E_Ericsson_Communication_Details, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Communication_Details;
+		avp_E_Ericsson_Other_Party_Id_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_Data;
+		avp_E_Ericsson_Calling_Party_Location_Area_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Location_Area_Indicator;
+		avp_E_Ericsson_Active_Time_Reporting, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Active_Time_Reporting;
+		avp_E_Ericsson_Round_Trip_Delay, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Round_Trip_Delay;
+		avp_E_Ericsson_Other_Party_Id_VPN_Private_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_VPN_Private_Number;
+		avp_E_Ericsson_Ericsson_Geo_Location_Cell_Identity, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geo_Location_Cell_Identity;
+		avp_E_Ericsson_Core_Announcement_Mid_Time_Moment, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Mid_Time_Moment;
+		avp_E_Ericsson_Field_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Field_Name;
+		avp_E_NONE_Authenticate, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Authenticate;
+		avp_E_Ericsson_Rule_Space_Decision, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Rule_Space_Decision;
+		avp_E_Ericsson_Extension_Field, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Extension_Field;
+		avp_E_Ericsson_Calling_Party_Location_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Location_Indicator;
+		avp_E_Ericsson_Packets_Discarded_Filtering, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Packets_Discarded_Filtering;
+		avp_E_Ericsson_Originating_User_Agent, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Originating_User_Agent;
+		avp_E_Ericsson_URL_Modifier, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_URL_Modifier;
+		avp_E_Ericsson_MCX_Company_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCX_Company_Type;
+		avp_BASE_NONE_Authorization_Lifetime, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Authorization_Lifetime;
+		avp_E_Ericsson_Original_Redirection_Reason, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Original_Redirection_Reason;
+		avp_E_Ericsson_Served_User_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Served_User_Address;
+		avp_E_Ericsson_Acc_Received_Packets, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Received_Packets;
+		avp_E_Ericsson_Related_ICID, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Related_ICID;
+		avp_E_Ericsson_Apply_Tariff_Immediate, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Apply_Tariff_Immediate;
+		avp_E_Ericsson_PDP_Context_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_PDP_Context_Type;
+		avp_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink;
+		avp_E_Ericsson_CRedirecting_Party_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_CRedirecting_Party_Type;
+		avp_E_Ericsson_MM_Destination, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MM_Destination;
+		avp_E_Ericsson_User_IP_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_User_IP_Address;
+		avp_E_Ericsson_From_Header_Presentation_Status, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_From_Header_Presentation_Status;
+		avp_E_Ericsson_MSC_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MSC_Address;
+		avp_E_Ericsson_Fixed_Announcement_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Fixed_Announcement_Code;
+		avp_BASE_NONE_Re_Auth_Request_Type, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Re_Auth_Request_Type;
+		avp_E_Ericsson_Acc_Sender_Reports, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Sender_Reports;
+		avp_E_Ericsson_One_Time_Redirect_Control, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_One_Time_Redirect_Control;
+		avp_E_Ericsson_Content_Filtering_Profile_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Content_Filtering_Profile_Id;
+		avp_E_Ericsson_User_Agent, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_User_Agent;
+		avp_E_Ericsson_Analyzed_Call_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Analyzed_Call_Type;
+		avp_BASE_NONE_Event_Timestamp, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Event_Timestamp;
+		avp_E_Ericsson_MCID_Calling_Party_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCID_Calling_Party_Address;
+		avp_E_Ericsson_Ericsson_SIP_Authorization, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_SIP_Authorization;
+		avp_E_Ericsson_Roaming_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Roaming_Information;
+		avp_E_Ericsson_WSP_PDU_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_WSP_PDU_Type;
+		avp_E_Ericsson_On_Net_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_On_Net_Indicator;
+		avp_E_Ericsson_Called_Party_Value, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Value;
+		avp_E_Ericsson_Served_User, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Served_User;
+		avp_BASE_NONE_Failed_AVP, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Failed_AVP;
+		avp_E_Ericsson_Outgoing_Access_Network_Identifier, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Outgoing_Access_Network_Identifier;
+		avp_E_Ericsson_Contact_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Contact_Header;
+		avp_E_Ericsson_MCX_Redirect_Party_Prefix, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCX_Redirect_Party_Prefix;
+		avp_E_Ericsson_GSM_Call_Reference_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_GSM_Call_Reference_Number;
+		avp_E_Ericsson_Acc_Sent_Octets, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Sent_Octets;
+		avp_E_Ericsson_P_Asserted_Identity_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_P_Asserted_Identity_Header;
+		avp_E_Ericsson_On_Net_Indicator2, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_On_Net_Indicator2;
+		avp_E_Ericsson_Active_Time_Report_Start_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Active_Time_Report_Start_Time;
+		avp_E_Ericsson_Routing_Call_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Routing_Call_Type;
+		avp_E_Ericsson_Redirecting_Party_Nature, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirecting_Party_Nature;
+		avp_E_NONE_SIP_Header_Name, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_SIP_Header_Name;
+		avp_E_Ericsson_Dialled_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Dialled_Number;
+		avp_E_Ericsson_Ericsson_Geo_Location_ECI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geo_Location_ECI;
+		avp_E_Ericsson_Bearer_Control_Reject, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Bearer_Control_Reject;
+		avp_E_Ericsson_Extension_Field_Value, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Extension_Field_Value;
+		avp_E_Ericsson_Called_Party_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Type;
+		avp_E_Ericsson_Fixed_Announcement_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Fixed_Announcement_Time;
+		avp_E_Ericsson_Subscription_Id_Nature, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscription_Id_Nature;
+		avp_E_Ericsson_Acc_Talk_Burst_Received, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Talk_Burst_Received;
+		avp_E_Ericsson_Number_Frame_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Number_Frame_Information;
+		avp_E_Ericsson_Wildcarded_PSI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Wildcarded_PSI;
+		avp_E_Ericsson_MCX_Prefix, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCX_Prefix;
+		avp_E_Ericsson_Redirection_Reason, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirection_Reason;
+		avp_E_Ericsson_Acc_Received_Bursts, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Received_Bursts;
+		avp_E_Ericsson_Call_Answering_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Answering_Time;
+		avp_E_Ericsson_Connection_Attempt_Charge, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Connection_Attempt_Charge;
+		avp_E_Ericsson_Policy_Group_Activation_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Policy_Group_Activation_Time;
+		avp_E_NONE_Auth_Data_Item, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Auth_Data_Item;
+		avp_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink;
+		avp_E_Ericsson_Call_Move_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Move_Information;
+		avp_E_Ericsson_Other_Numbers, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Numbers;
+		avp_E_Ericsson_MM_BCC_Destination, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MM_BCC_Destination;
+		avp_BASE_NONE_Error_Reporting_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Error_Reporting_Host;
+		avp_E_Ericsson_Called_Party_Original_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Original_Address;
+		avp_E_Ericsson_Transaction_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Transaction_Info;
+		avp_E_Ericsson_Calling_Party_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Type;
+		avp_E_Ericsson_Fixed_Announcement_Var_Integer, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Fixed_Announcement_Var_Integer;
+		avp_BASE_NONE_Accounting_Record_Number, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Record_Number;
+		avp_E_Ericsson_Acc_Talk_Burst_Sent, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Talk_Burst_Sent;
+		avp_E_Ericsson_Extra_Cost_Distribution_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Extra_Cost_Distribution_Code;
+		avp_E_Ericsson_Deprecated, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Deprecated;
+		avp_E_Ericsson_Disconnect_Direction, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Disconnect_Direction;
+		avp_E_Ericsson_Occurrence_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Occurrence_Timestamp;
+		avp_E_Ericsson_Unasigned, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Unasigned;
+		avp_E_Ericsson_Ericsson_Geographical_Location_Extended, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geographical_Location_Extended;
+		avp_E_Ericsson_Function_Trace_Overflow, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Function_Trace_Overflow;
+		avp_E_Ericsson_File_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_File_Name;
+		avp_E_Ericsson_Instance_Stop_Indication, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Instance_Stop_Indication;
+		avp_E_Ericsson_Charging_From_Triggering, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_From_Triggering;
+		avp_BASE_NONE_Proxy_Info, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Proxy_Info;
+		avp_E_Ericsson_Called_Party_Location_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Location_Number;
+		avp_E_Ericsson_Subscriber_Provisioned_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscriber_Provisioned_Info;
+		avp_E_Ericsson_Ericsson_Service_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Service_Information;
+		avp_E_Ericsson_System_Load, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_System_Load;
+		avp_E_Ericsson_Transferred_Amount, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Transferred_Amount;
+		avp_E_Ericsson_SDD_TADS_Decision, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SDD_TADS_Decision;
+		avp_E_Ericsson_Privacy_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Privacy_Header;
+		avp_E_Ericsson_Acc_Sent_Duration, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Sent_Duration;
+		avp_E_Ericsson_Preferred_Currency_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Preferred_Currency_Code;
+		avp_E_Ericsson_Final_Service_Unit, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Final_Service_Unit;
+		avp_E_Ericsson_Time_Quota_Measurement, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Time_Quota_Measurement;
+		avp_E_Ericsson_Policy_Counter_Policy_Group_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Policy_Counter_Policy_Group_Name;
+		avp_E_Ericsson_Chargeable_Corporate_Number_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Chargeable_Corporate_Number_Type;
+		avp_BASE_NONE_Origin_State_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_State_Id;
+		avp_E_Ericsson_Presented_Special_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Presented_Special_Number;
+		avp_E_Ericsson_URI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_URI;
+		avp_E_Ericsson_Ericsson_Access_Classification, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Access_Classification;
+		avp_E_Ericsson_Service_Rating_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Rating_Info;
+		avp_E_Ericsson_Transaction_Data_Value, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Transaction_Data_Value;
+		avp_E_Ericsson_Tenant, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Tenant;
+		avp_E_Ericsson_Version_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Version_Number;
+		avp_E_Ericsson_SSO_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SSO_Data;
+		avp_E_Ericsson_Commissioning_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Commissioning_Type;
+		avp_E_Ericsson_SIP_Reason_Cause, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Reason_Cause;
+		avp_E_NONE_Application_Server_Name, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Application_Server_Name;
+		avp_E_Ericsson_SIP_Ringing_Timestamp_Fraction, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Ringing_Timestamp_Fraction;
+		avp_E_NONE_SIP_Header, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_SIP_Header;
+		avp_E_Ericsson_Charging_Suppression_At_Forwarding, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_Suppression_At_Forwarding;
+		avp_E_Ericsson_Extended_Call_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Extended_Call_Type;
+		avp_E_Ericsson_Transport_Protocol, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Transport_Protocol;
+		avp_E_Ericsson_Ericsson_Policy_Counter_Status, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Policy_Counter_Status;
+		avp_E_Ericsson_Route_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Route_Header;
+		avp_E_Ericsson_User_Side, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_User_Side;
+		avp_E_Ericsson_Subscription_Id_VPN_Location_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscription_Id_VPN_Location_Indicator;
+		avp_E_Ericsson_Participants_List, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Participants_List;
+		avp_E_Ericsson_Call_Move_Calling_Party_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Move_Calling_Party_Address;
+		avp_E_Ericsson_Received_Volume, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Received_Volume;
+		avp_E_Ericsson_Activity_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Activity_Information;
+		avp_E_Ericsson_Services_To_Suppress, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Services_To_Suppress;
+		avp_E_Ericsson_Transaction_Data_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Transaction_Data_Name;
+		avp_E_Ericsson_SIP_Request_NTP_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Request_NTP_Timestamp;
+		avp_E_Ericsson_Time_Quota_Inactivity_Time, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Time_Quota_Inactivity_Time;
+		avp_E_Ericsson_Account_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Account_Type;
+		avp_E_Ericsson_Service_Number_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Number_Type;
+		avp_E_Ericsson_Type_of_Termination, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Type_of_Termination;
+		avp_BASE_NONE_Experimental_Result, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Experimental_Result;
+		avp_E_Ericsson_Core_Announcement_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Id;
+		avp_E_Ericsson_Bearer_Capability, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Bearer_Capability;
+		avp_E_Ericsson_Remote_Charging_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Remote_Charging_Data;
+		avp_BASE_NONE_Destination_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Destination_Host;
+		avp_E_Ericsson_Trunk_Context, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Trunk_Context;
+		avp_E_Ericsson_WSP_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_WSP_Info;
+		avp_E_Ericsson_Zone_Identity, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Zone_Identity;
+		avp_E_Ericsson_Service_Key, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Key;
+		avp_E_Ericsson_Acc_WS_File, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_WS_File;
+		avp_E_Ericsson_System_Load_Age, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_System_Load_Age;
+		avp_E_Ericsson_Quota_Deduction_Start, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Quota_Deduction_Start;
+		avp_E_Ericsson_Matched_Regular_Expression, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Matched_Regular_Expression;
+		avp_E_Ericsson_Replenishment_Service_Request, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Replenishment_Service_Request;
+		avp_E_Ericsson_Time_Zone, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Time_Zone;
+		avp_BASE_NONE_Redirect_Host_Usage, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Host_Usage;
+		avp_E_Ericsson_Primary_Interexchange_Carrier, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Primary_Interexchange_Carrier;
+		avp_E_Ericsson_Network_Call_Reference, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Network_Call_Reference;
+		avp_E_Ericsson_Reference_ID, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Reference_ID;
+		avp_BASE_NONE_Accounting_Sub_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Sub_Session_Id;
+		avp_E_Ericsson_Ericsson_Policy_Counter_Status_Report, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Policy_Counter_Status_Report;
+		avp_E_Ericsson_Cost_Distribution_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Cost_Distribution_Code;
+		avp_E_Ericsson_Forward_TTC_Charging_Headers, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Forward_TTC_Charging_Headers;
+		avp_E_Ericsson_IMSI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_IMSI;
+		avp_E_Ericsson_Duration, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Duration;
+		avp_E_Ericsson_Reserved_Amount, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Reserved_Amount;
+		avp_E_Ericsson_Zone_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Zone_Type;
+		avp_E_Ericsson_IVR_Class, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_IVR_Class;
+		avp_E_NONE_Server_Capability, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Server_Capability;
+		avp_E_Ericsson_Subscribed_Media_Profile, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscribed_Media_Profile;
+		avp_E_Ericsson_Supplementary_Service_Identity, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Supplementary_Service_Identity;
+		avp_E_Ericsson_Currency_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Currency_Name;
+		avp_E_Ericsson_MMT_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MMT_Information;
+		avp_BASE_NONE_Class, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Class;
+		avp_E_Ericsson_Event_Trigger, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Event_Trigger;
+		avp_E_Ericsson_Packet_Loss_Rate, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Packet_Loss_Rate;
+		avp_E_Ericsson_Group_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Group_Name;
+		avp_E_Ericsson_Ericsson_Requested_Domain, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Requested_Domain;
+		avp_E_Ericsson_Other_Party_Id_VPN_Location_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_VPN_Location_Indicator;
+		avp_BASE_NONE_User_Name, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_User_Name;
+		avp_E_Ericsson_Call_Move_IMS_Charging_Identifier, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Move_IMS_Charging_Identifier;
+		avp_E_NONE_Max_No_Simultaneous_Sessions_Allowed, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Max_No_Simultaneous_Sessions_Allowed;
+		avp_E_Ericsson_Traffic_Case, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Traffic_Case;
+		avp_E_Ericsson_Reporting_Reason, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Reporting_Reason;
+		avp_E_Ericsson_PS_Previous_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_PS_Previous_Information;
+		avp_E_Ericsson_Virtual_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Virtual_Number;
+		avp_E_Ericsson_AS_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_AS_Type;
+		avp_E_Ericsson_Default_Handling, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Default_Handling;
+		avp_E_Ericsson_Private_Number_Called_Party, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Private_Number_Called_Party;
+		avp_E_Ericsson_Core_Announcement_Variable_Date, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Variable_Date;
+		avp_E_Ericsson_Redirection_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Redirection_Information;
+		avp_E_Ericsson_Policy_Group, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Policy_Group;
+		avp_E_Ericsson_Packets_Lost, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Packets_Lost;
+		avp_E_Ericsson_History_Info_Header, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_History_Info_Header;
+		avp_E_Ericsson_User_Equimenent_IMEI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_User_Equimenent_IMEI;
+		avp_E_Ericsson_Service_Provider_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Provider_Id;
+		avp_E_Ericsson_Acc_WS_Motion, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_WS_Motion;
+		avp_BASE_NONE_Session_Binding, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Binding;
+		avp_BASE_NONE_Origin_Realm, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_Realm;
+		avp_E_Ericsson_CDR_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_CDR_Information;
+		avp_BASE_NONE_Redirect_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Redirect_Host;
+		avp_E_Ericsson_Service_Scenario, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Scenario;
+		avp_E_Ericsson_Total_Session_Duration, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Total_Session_Duration;
+		avp_E_Ericsson_Tariff_Expiry_Policy, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Tariff_Expiry_Policy;
+		avp_E_Ericsson_Party_To_Charge, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Party_To_Charge;
+		avp_BASE_NONE_Accounting_Realtime_Required, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Accounting_Realtime_Required;
+		avp_E_Ericsson_Dial_Around_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Dial_Around_Indicator;
+		avp_E_Ericsson_Other_Party_Id_MNP_Result, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_MNP_Result;
+		avp_E_Ericsson_Charging_Area, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_Area;
+		avp_E_Ericsson_Packets_Out_Of_Sequence, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Packets_Out_Of_Sequence;
+		avp_E_Ericsson_VPN_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_VPN_Information;
+		avp_E_Ericsson_Ericsson_Multiple_Entries_Limit, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Multiple_Entries_Limit;
+		avp_BASE_NONE_Origin_Host, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Origin_Host;
+		avp_BASE_NONE_Vendor_Specific_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Vendor_Specific_Application_Id;
+		avp_E_Ericsson_Subscription_Id_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Subscription_Id_Location;
+		avp_E_Ericsson_Conference_Participant_Count, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Conference_Participant_Count;
+		avp_BASE_NONE_E2E_Sequence, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_E2E_Sequence;
+		avp_E_Ericsson_Initiating_Other_Party_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Initiating_Other_Party_Id;
+		avp_E_Ericsson_Ericsson_Geographical_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Geographical_Location;
+		avp_E_Ericsson_Core_Announcement_Variable_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Variable_Number;
+		avp_E_Ericsson_Terminating_Site_Name, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Terminating_Site_Name;
+		avp_E_Ericsson_Calling_Party_Location, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Location;
+		avp_E_Ericsson_Other_Party_Id_MNP_IMSI, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_MNP_IMSI;
+		avp_BASE_NONE_Auth_Application_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Auth_Application_Id;
+		avp_E_Ericsson_Media_Statistics, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Media_Statistics;
+		avp_E_Ericsson_Called_Asserted_Identity_Presentation_Status, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Asserted_Identity_Presentation_Status;
+		avp_E_Ericsson_Ericsson_Subscription_Event, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Subscription_Event;
+		avp_E_Ericsson_Time_Deviation, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Time_Deviation;
+		avp_E_Ericsson_SIP_Request_Timestamp_Milliseconds, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SIP_Request_Timestamp_Milliseconds;
+		avp_E_Ericsson_Public_Identification, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Public_Identification;
+		avp_E_Ericsson_Start_Of_Call, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Start_Of_Call;
+		avp_E_Ericsson_Authorization_State, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Authorization_State;
+		avp_E_NONE_Max_No_Call_Legs_Per_Sessions, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_Max_No_Call_Legs_Per_Sessions;
+		avp_E_Ericsson_Called_Party_Location_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Location_Indicator;
+		avp_E_Ericsson_Core_Announcement_Variable_Integer, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Variable_Integer;
+		avp_E_NONE_SIP_Header_Content, avp_header.avp_code.vendor_id_NONE = avp_code_E_NONE_SIP_Header_Content;
+		avp_E_Ericsson_RTCP_Reported_Packets_Lost, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_RTCP_Reported_Packets_Lost;
+		avp_E_Ericsson_From, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_From;
+		avp_E_Ericsson_MCID_Register_Timestamp, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_MCID_Register_Timestamp;
+		avp_E_Ericsson_Calling_Party_Value, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Value;
+		avp_E_Ericsson_System_State, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_System_State;
+		avp_E_Ericsson_Acc_Reported_Packets_Received, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Acc_Reported_Packets_Received;
+		avp_E_Ericsson_R_Index_Value, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_R_Index_Value;
+		avp_E_Ericsson_Service_Setup_Result, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Service_Setup_Result;
+		avp_E_Ericsson_Charging_State_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Charging_State_Information;
+		avp_E_Ericsson_Call_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Data;
+		avp_E_Ericsson_SMSC_Address, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SMSC_Address;
+		avp_E_Ericsson_Call_Type, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Call_Type;
+		avp_E_Ericsson_Malicious_Communication_Identification_Service_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Malicious_Communication_Identification_Service_Information;
+		avp_E_Ericsson_Core_Announcement_Logic, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Announcement_Logic;
+		avp_E_Ericsson_Called_Party_Location_Cell_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Called_Party_Location_Cell_Id;
+		avp_E_Ericsson_FTP_Info, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_FTP_Info;
+		avp_E_Ericsson_Additional_User_Category, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Additional_User_Category;
+		avp_BASE_NONE_Inband_Security_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Inband_Security_Id;
+		avp_E_Ericsson_SSO_Status, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_SSO_Status;
+		avp_E_Ericsson_Cumulative_Used_Service_Unit, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Cumulative_Used_Service_Unit;
+		avp_E_Ericsson_Outgoing_Dialog, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Outgoing_Dialog;
+		avp_BASE_NONE_Termination_Cause, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Termination_Cause;
+		avp_E_Ericsson_Ericsson_Subscription_Trigger_Data, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Subscription_Trigger_Data;
+		avp_E_Ericsson_Other_Party_Id_Nature, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Other_Party_Id_Nature;
+		avp_E_Ericsson_Pay_Phone_Indicator, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Pay_Phone_Indicator;
+		avp_E_Ericsson_Aware_Policy_based_Routing_Profile, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Aware_Policy_based_Routing_Profile;
+		avp_E_Ericsson_Next_Authorization_State, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Next_Authorization_State;
+		avp_E_Ericsson_Ericsson_Location_Area_Code, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Ericsson_Location_Area_Code;
+		avp_E_Ericsson_Core_Mid_Time_Announcement, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Core_Mid_Time_Announcement;
+		avp_E_Ericsson_Mobile_Charging_Number, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Mobile_Charging_Number;
+		avp_E_Ericsson_Operator_Defined_Field, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Operator_Defined_Field;
+		avp_BASE_NONE_Session_Id, avp_header.avp_code.vendor_id_NONE = avp_code_BASE_NONE_Session_Id;
+		avp_E_Ericsson_Rule_Space_Suggestion, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Rule_Space_Suggestion;
+		avp_E_Ericsson_Type_Of_Access, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Type_Of_Access;
+		avp_E_Ericsson_Originating_Identity_Restriction_Service_Information, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Originating_Identity_Restriction_Service_Information;
+		avp_E_Ericsson_Calling_Party_Location_Cell_Id, avp_header.avp_code.vendor_id_Ericsson = avp_code_E_Ericsson_Calling_Party_Location_Cell_Id;
+		avp_UNKNOWN, OTHERWISE
+	)"
+}
+type set of GenericAVP AVP_list;
+const AVP_Code c_AVP_Code_BASE_NONE_Proxy_State := {
+	vendor_id_NONE := avp_code_BASE_NONE_Proxy_State };
+const AVP_Code c_AVP_Code_E_Ericsson_Media_Interface_Flow_Statistics := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Media_Interface_Flow_Statistics };
+const AVP_Code c_AVP_Code_E_Ericsson_Threshold_Selection := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Threshold_Selection };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Start_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Start_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_User_URL := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_User_URL };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Received_Octets := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Received_Octets };
+const AVP_Code c_AVP_Code_E_Ericsson_Session_Priority := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Session_Priority };
+const AVP_Code c_AVP_Code_E_Ericsson_Conference_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Conference_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Unrestricted_Call_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Unrestricted_Call_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Server_IP_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Server_IP_Address };
+const AVP_Code c_AVP_Code_E_NONE_SIP_Server_Name := {
+	vendor_id_NONE := avp_code_E_NONE_SIP_Server_Name };
+const AVP_Code c_AVP_Code_BASE_NONE_Host_IP_Address := {
+	vendor_id_NONE := avp_code_BASE_NONE_Host_IP_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Traffic_Class := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Traffic_Class };
+const AVP_Code c_AVP_Code_E_Ericsson_Authorization_Validity_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Authorization_Validity_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirecting_Party := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirecting_Party };
+const AVP_Code c_AVP_Code_E_Ericsson_MM_Originator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MM_Originator };
+const AVP_Code c_AVP_Code_BASE_NONE_Session_Timeout := {
+	vendor_id_NONE := avp_code_BASE_NONE_Session_Timeout };
+const AVP_Code c_AVP_Code_E_Ericsson_Discarded_MSRP_Chunks := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Discarded_MSRP_Chunks };
+const AVP_Code c_AVP_Code_E_Ericsson_Authentication_Method := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Authentication_Method };
+const AVP_Code c_AVP_Code_E_Ericsson_Conference_Service_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Conference_Service_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_MNP_RN := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_MNP_RN };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Secondary_Digest_HA1 := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Secondary_Digest_HA1 };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Receiver_Reports := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Receiver_Reports };
+const AVP_Code c_AVP_Code_E_Ericsson_QoS_Profile_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_QoS_Profile_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_User_Redirected := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_User_Redirected };
+const AVP_Code c_AVP_Code_E_NONE_Indication := {
+	vendor_id_NONE := avp_code_E_NONE_Indication };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geo_Location_Routing_Area_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Session_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Session_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Requested_Bearer_Capability := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Requested_Bearer_Capability };
+const AVP_Code c_AVP_Code_E_Ericsson_Host := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Host };
+const AVP_Code c_AVP_Code_E_Ericsson_BCS_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_BCS_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_QoS_Profile := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_QoS_Profile };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Immediate_Announcement := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Immediate_Announcement };
+const AVP_Code c_AVP_Code_E_Ericsson_Packets_Discarded_Policing := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Packets_Discarded_Policing };
+const AVP_Code c_AVP_Code_E_Ericsson_Incoming_Access_Network_Identifier := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Incoming_Access_Network_Identifier };
+const AVP_Code c_AVP_Code_E_Ericsson_MCID_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCID_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Event_NTP_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Event_NTP_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Subscription_Session_Scope := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Subscription_Session_Scope };
+const AVP_Code c_AVP_Code_E_Ericsson_Communication_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Communication_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_SCalled_Party_Location_Area_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SCalled_Party_Location_Area_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Active_Time_Report := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Active_Time_Report };
+const AVP_Code c_AVP_Code_E_Ericsson_JB_Discard_Rate := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_JB_Discard_Rate };
+const AVP_Code c_AVP_Code_BASE_NONE_Multi_Round_Time_Out := {
+	vendor_id_NONE := avp_code_BASE_NONE_Multi_Round_Time_Out };
+const AVP_Code c_AVP_Code_E_Ericsson_SMS_Reference_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SMS_Reference_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geo_Location_Service_Area_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geo_Location_Service_Area_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_End_Time_Announcement := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_End_Time_Announcement };
+const AVP_Code c_AVP_Code_BASE_NONE_Experimental_Result_Code := {
+	vendor_id_NONE := avp_code_BASE_NONE_Experimental_Result_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Network_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Network_Location };
+const AVP_Code c_AVP_Code_E_Ericsson_Bearer_Control_Options := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Bearer_Control_Options };
+const AVP_Code c_AVP_Code_E_Ericsson_Extension_Field_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Extension_Field_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party };
+const AVP_Code c_AVP_Code_E_Ericsson_VLR_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_VLR_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Octets_Discarded_Filtering := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Octets_Discarded_Filtering };
+const AVP_Code c_AVP_Code_E_Ericsson_Terminating_User_Agent := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Terminating_User_Agent };
+const AVP_Code c_AVP_Code_E_Ericsson_GPRS_Roaming_Status := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_GPRS_Roaming_Status };
+const AVP_Code c_AVP_Code_E_Ericsson_MCX_Call_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCX_Call_Info };
+const AVP_Code c_AVP_Code_E_NONE_Item_Number := {
+	vendor_id_NONE := avp_code_E_NONE_Item_Number };
+const AVP_Code c_AVP_Code_BASE_NONE_Vendor_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Vendor_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirection_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirection_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Received_Duration := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Received_Duration };
+const AVP_Code c_AVP_Code_E_Ericsson_Apply_Tariff_Restart := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Apply_Tariff_Restart };
+const AVP_Code c_AVP_Code_E_Ericsson_Supplementary_Service_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Supplementary_Service_Information };
+const AVP_Code c_AVP_Code_BASE_NONE_Redirect_Max_Cache_Time := {
+	vendor_id_NONE := avp_code_BASE_NONE_Redirect_Max_Cache_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink_Subscribed };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirecting_Party_Value := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirecting_Party_Value };
+const AVP_Code c_AVP_Code_E_Ericsson_MM_CC_Destination := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MM_CC_Destination };
+const AVP_Code c_AVP_Code_E_Ericsson_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Location };
+const AVP_Code c_AVP_Code_E_Ericsson_Zone_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Zone_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party };
+const AVP_Code c_AVP_Code_E_Ericsson_Fixed_Announcement_Var := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Fixed_Announcement_Var };
+const AVP_Code c_AVP_Code_E_NONE_Type_Of_Trigger := {
+	vendor_id_NONE := avp_code_E_NONE_Type_Of_Trigger };
+const AVP_Code c_AVP_Code_E_NONE_SIP_Server_Capabilities := {
+	vendor_id_NONE := avp_code_E_NONE_SIP_Server_Capabilities };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Aggregated_Numbers := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Aggregated_Numbers };
+const AVP_Code c_AVP_Code_E_Ericsson_Access_Control_Profile_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Access_Control_Profile_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Original_OtherParty_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Original_OtherParty_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Digest_HA2 := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Digest_HA2 };
+const AVP_Code c_AVP_Code_E_Ericsson_MCID_Called_Party_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCID_Called_Party_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Function_Trace := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Function_Trace };
+const AVP_Code c_AVP_Code_E_Ericsson_Request_Method := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Request_Method };
+const AVP_Code c_AVP_Code_E_Ericsson_OFeature_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_OFeature_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Location };
+const AVP_Code c_AVP_Code_E_NONE_S_CSCF_Name_Terminating := {
+	vendor_id_NONE := avp_code_E_NONE_S_CSCF_Name_Terminating };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscriber_Additional_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscriber_Additional_Info };
+const AVP_Code c_AVP_Code_E_NONE_P_CSCF_Name := {
+	vendor_id_NONE := avp_code_E_NONE_P_CSCF_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_IMS_Service_Identification := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_IMS_Service_Identification };
+const AVP_Code c_AVP_Code_E_Ericsson_To_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_To_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_SCC_Service_Identity := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SCC_Service_Identity };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Sent_Packets := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Sent_Packets };
+const AVP_Code c_AVP_Code_E_Ericsson_Request_URI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Request_URI };
+const AVP_Code c_AVP_Code_E_Ericsson_Origination_Identification := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Origination_Identification };
+const AVP_Code c_AVP_Code_BASE_NONE_Error_Message := {
+	vendor_id_NONE := avp_code_BASE_NONE_Error_Message };
+const AVP_Code c_AVP_Code_E_Ericsson_Extended_Service_Traffic_Case := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Extended_Service_Traffic_Case };
+const AVP_Code c_AVP_Code_E_Ericsson_Active_Time_Report_End_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Active_Time_Report_End_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Chargeable_Corporate_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Chargeable_Corporate_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Additional_Calling_Party_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Additional_Calling_Party_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Message_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Message_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geo_Location_Tracking_Area_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_ARP := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_ARP };
+const AVP_Code c_AVP_Code_E_Ericsson_Max_No_Contacts := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Max_No_Contacts };
+const AVP_Code c_AVP_Code_E_Ericsson_Business_Personal_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Business_Personal_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Registration_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Registration_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Reason := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Reason };
+const AVP_Code c_AVP_Code_E_Ericsson_Address_Presentation_Restricted_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Address_Presentation_Restricted_Indicator };
+const AVP_Code c_AVP_Code_BASE_NONE_Session_Server_Failover := {
+	vendor_id_NONE := avp_code_BASE_NONE_Session_Server_Failover };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirection_Counter := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirection_Counter };
+const AVP_Code c_AVP_Code_E_Ericsson_Same_Office_Zone_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Same_Office_Zone_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Command_Arg := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Command_Arg };
+const AVP_Code c_AVP_Code_E_Ericsson_Network_Identification := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Network_Identification };
+const AVP_Code c_AVP_Code_E_Ericsson_Policy_Group_Deactivation_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Policy_Group_Deactivation_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Granted_Service_Unit := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Granted_Service_Unit };
+const AVP_Code c_AVP_Code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink_Subscribed };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Move_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Move_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Content_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Content_Location };
+const AVP_Code c_AVP_Code_E_Ericsson_Sent_Volume := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Sent_Volume };
+const AVP_Code c_AVP_Code_E_NONE_Authentication_Scheme := {
+	vendor_id_NONE := avp_code_E_NONE_Authentication_Scheme };
+const AVP_Code c_AVP_Code_E_Ericsson_MMInviteStatus := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MMInviteStatus };
+const AVP_Code c_AVP_Code_BASE_NONE_Product_Name := {
+	vendor_id_NONE := avp_code_BASE_NONE_Product_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Transaction_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Transaction_Type };
+const AVP_Code c_AVP_Code_BASE_NONE_Supported_Vendor_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Supported_Vendor_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_NTP_Timestamps := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_NTP_Timestamps };
+const AVP_Code c_AVP_Code_E_Ericsson_Time_Quota_Resolution := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Time_Quota_Resolution };
+const AVP_Code c_AVP_Code_E_Ericsson_Account_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Account_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_RACS_Result_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_RACS_Result_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Barring_Indication := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Barring_Indication };
+const AVP_Code c_AVP_Code_E_Ericsson_Occurrence_Timestamp_Milliseconds := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Occurrence_Timestamp_Milliseconds };
+const AVP_Code c_AVP_Code_E_Ericsson_Operation_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Operation_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Command := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Command };
+const AVP_Code c_AVP_Code_E_Ericsson_To := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_To };
+const AVP_Code c_AVP_Code_E_NONE_Trigger_Detection_Point := {
+	vendor_id_NONE := avp_code_E_NONE_Trigger_Detection_Point };
+const AVP_Code c_AVP_Code_E_Ericsson_MMS_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MMS_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Tariff_Triggering := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Tariff_Triggering };
+const AVP_Code c_AVP_Code_BASE_NONE_Acct_Application_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Acct_Application_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_System_Percentage_Load := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_System_Percentage_Load };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Ringing_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Ringing_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Suppression_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Suppression_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_M2M_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_M2M_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Sent_Bursts := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Sent_Bursts };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscriber_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscriber_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Purpose := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Purpose };
+const AVP_Code c_AVP_Code_E_Ericsson_Time_Quota_Method := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Time_Quota_Method };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Policy_Counter_Identifier := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Policy_Counter_Identifier };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Subscriber_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Subscriber_Id };
+const AVP_Code c_AVP_Code_E_NONE_S_CSCF_Name_Originating := {
+	vendor_id_NONE := avp_code_E_NONE_S_CSCF_Name_Originating };
+const AVP_Code c_AVP_Code_E_Ericsson_Community_Charging_Short_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Community_Charging_Short_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Chargeable_Corporate_Number_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Chargeable_Corporate_Number_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_Unassigned := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Unassigned };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_Profile_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_Profile_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Zone_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Zone_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_Requested_Subscription_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Requested_Subscription_Data };
+const AVP_Code c_AVP_Code_BASE_NONE_Proxy_Host := {
+	vendor_id_NONE := avp_code_BASE_NONE_Proxy_Host };
+const AVP_Code c_AVP_Code_E_Ericsson_Country_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Country_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Reason_Text := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Reason_Text };
+const AVP_Code c_AVP_Code_E_Ericsson_Global_Call_Reference := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Global_Call_Reference };
+const AVP_Code c_AVP_Code_BASE_NONE_Acct_Multi_Session_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Acct_Multi_Session_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Gx_Capability_List := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Gx_Capability_List };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_Suppressed := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_Suppressed };
+const AVP_Code c_AVP_Code_E_Ericsson_Company_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Company_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Media_Statistics_Side := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Media_Statistics_Side };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscription_Id_VPN_Private_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscription_Id_VPN_Private_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Type_Charging := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Type_Charging };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Move_Called_Party_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Move_Called_Party_Address };
+const AVP_Code c_AVP_Code_BASE_NONE_Auth_Request_Type := {
+	vendor_id_NONE := avp_code_BASE_NONE_Auth_Request_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Format := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Format };
+const AVP_Code c_AVP_Code_E_Ericsson_Feature_Tag := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Feature_Tag };
+const AVP_Code c_AVP_Code_E_Ericsson_Host_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Host_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Announcement_Service_Request := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Announcement_Service_Request };
+const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Session_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Accounting_Session_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirect_Acknowledgement := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirect_Acknowledgement };
+const AVP_Code c_AVP_Code_E_Ericsson_Common_Policy_Rule_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Common_Policy_Rule_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Private_Number_Calling_Party := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Private_Number_Calling_Party };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Variable := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Variable };
+const AVP_Code c_AVP_Code_E_Ericsson_Authorization_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Authorization_Code };
+const AVP_Code c_AVP_Code_E_NONE_Authentication_Info := {
+	vendor_id_NONE := avp_code_E_NONE_Authentication_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_XCON_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_XCON_Id };
+const AVP_Code c_AVP_Code_BASE_NONE_Result_Code := {
+	vendor_id_NONE := avp_code_BASE_NONE_Result_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_HTTP_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_HTTP_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_CCMP_User_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_CCMP_User_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Announcement_Language_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Announcement_Language_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_Location };
+const AVP_Code c_AVP_Code_E_Ericsson_Replenishment_Reason := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Replenishment_Reason };
+const AVP_Code c_AVP_Code_E_Ericsson_Access_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Access_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Roaming_Position := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Roaming_Position };
+const AVP_Code c_AVP_Code_E_NONE_User_Data := {
+	vendor_id_NONE := avp_code_E_NONE_User_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_Additional_Charging_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Additional_Charging_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Set_Up_Charge := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Set_Up_Charge };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_SL_Request_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_SL_Request_Type };
+const AVP_Code c_AVP_Code_E_NONE_SIP_Server_Operator_Preference := {
+	vendor_id_NONE := avp_code_E_NONE_SIP_Server_Operator_Preference };
+const AVP_Code c_AVP_Code_E_Ericsson_Backward_TTC_Charging_Headers := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Backward_TTC_Charging_Headers };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Move_Access_Network_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Move_Access_Network_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Octets_Discarded_Policing := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Octets_Discarded_Policing };
+const AVP_Code c_AVP_Code_E_Ericsson_WS_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_WS_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Account_Balance := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Account_Balance };
+const AVP_Code c_AVP_Code_E_Ericsson_Account_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Account_Location };
+const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Record_Type := {
+	vendor_id_NONE := avp_code_BASE_NONE_Accounting_Record_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Supplementary_Service_Action := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Supplementary_Service_Action };
+const AVP_Code c_AVP_Code_BASE_NONE_Acct_Interim_Interval := {
+	vendor_id_NONE := avp_code_BASE_NONE_Acct_Interim_Interval };
+const AVP_Code c_AVP_Code_E_Ericsson_Fee := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Fee };
+const AVP_Code c_AVP_Code_E_Ericsson_Used_Service_Unit := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Used_Service_Unit };
+const AVP_Code c_AVP_Code_E_Ericsson_Policy_Group_Priority := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Policy_Group_Priority };
+const AVP_Code c_AVP_Code_E_Ericsson_Originating_Site_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Originating_Site_Name };
+const AVP_Code c_AVP_Code_BASE_NONE_Destination_Realm := {
+	vendor_id_NONE := avp_code_BASE_NONE_Destination_Realm };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_MNP := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_MNP };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Move_IOI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Move_IOI };
+const AVP_Code c_AVP_Code_E_Ericsson_CIP_IP_Version := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_CIP_IP_Version };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Address_Presentation_Status := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Address_Presentation_Status };
+const AVP_Code c_AVP_Code_E_Ericsson_Access_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Access_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Multiple_Services_Credit_Control := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Multiple_Services_Credit_Control };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geo_Location_Timing_Advance_Index };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_Rule_Authorization := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_Rule_Authorization };
+const AVP_Code c_AVP_Code_BASE_NONE_Auth_Session_State := {
+	vendor_id_NONE := avp_code_BASE_NONE_Auth_Session_State };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Variable_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Variable_Id };
+const AVP_Code c_AVP_Code_BASE_NONE_Disconnect_Cause := {
+	vendor_id_NONE := avp_code_BASE_NONE_Disconnect_Cause };
+const AVP_Code c_AVP_Code_E_Ericsson_Policy_Group_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Policy_Group_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_RTCP_Reported_Average_Jitter := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_RTCP_Reported_Average_Jitter };
+const AVP_Code c_AVP_Code_E_Ericsson_Referred_By_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Referred_By_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_Instance_ID := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Instance_ID };
+const AVP_Code c_AVP_Code_E_Ericsson_Profile := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Profile };
+const AVP_Code c_AVP_Code_E_NONE_Authorization := {
+	vendor_id_NONE := avp_code_E_NONE_Authorization };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_Context_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_Context_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Extension := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Extension };
+const AVP_Code c_AVP_Code_BASE_NONE_Firmware_Revision := {
+	vendor_id_NONE := avp_code_BASE_NONE_Firmware_Revision };
+const AVP_Code c_AVP_Code_E_Ericsson_Additional_Other_Party_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Additional_Other_Party_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Terminating_Identity_Restriction_Service_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Terminating_Identity_Restriction_Service_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_Carrier_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Carrier_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Incoming_Dialog := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Incoming_Dialog };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Subscription_Tag := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Subscription_Tag };
+const AVP_Code c_AVP_Code_E_Ericsson_Discarded_RTMP_Messages := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Discarded_RTMP_Messages };
+const AVP_Code c_AVP_Code_E_NONE_Trigger := {
+	vendor_id_NONE := avp_code_E_NONE_Trigger };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirecting_Party_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirecting_Party_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Operation_Type2 := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Operation_Type2 };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Location_MCC_MNC := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Location_MCC_MNC };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Variable_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Variable_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Location_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Location_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Participants_Involved := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Participants_Involved };
+const AVP_Code c_AVP_Code_E_Ericsson_Media_Interface_Statistics := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Media_Interface_Statistics };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Response_NTP_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Response_NTP_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Credit_Instance_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Credit_Instance_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Accepted_RTMP_Messages := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Accepted_RTMP_Messages };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Service_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Service_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Response_Timestamp_Milliseconds := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Response_Timestamp_Milliseconds };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscription_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscription_Type };
+const AVP_Code c_AVP_Code_BASE_NONE_Route_Record := {
+	vendor_id_NONE := avp_code_BASE_NONE_Route_Record };
+const AVP_Code c_AVP_Code_E_Ericsson_Authorization_State_Change_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Authorization_State_Change_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Network_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Network_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Requested_Task := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Requested_Task };
+const AVP_Code c_AVP_Code_E_Ericsson_Accepted_MRSP_Chunks := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Accepted_MRSP_Chunks };
+const AVP_Code c_AVP_Code_E_Ericsson_End_User_Message := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_End_User_Message };
+const AVP_Code c_AVP_Code_E_Ericsson_From_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_From_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_UHTZ_Offset := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_UHTZ_Offset };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Location_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Location_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Reported_Packets_Sent := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Reported_Packets_Sent };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Setup_Result_Requested := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Setup_Result_Requested };
+const AVP_Code c_AVP_Code_BASE_NONE_Auth_Grace_Period := {
+	vendor_id_NONE := avp_code_BASE_NONE_Auth_Grace_Period };
+const AVP_Code c_AVP_Code_E_Ericsson_Result_Code_Extension := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Result_Code_Extension };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Traffic_Case := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Traffic_Case };
+const AVP_Code c_AVP_Code_E_Ericsson_Field_Value := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Field_Value };
+const AVP_Code c_AVP_Code_E_Ericsson_Deducted_Amount := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Deducted_Amount };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Final_Unit_Indication_Validity_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_RTSP_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_RTSP_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Flexible_Charging_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Flexible_Charging_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Access_Network_Identifier := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Access_Network_Identifier };
+const AVP_Code c_AVP_Code_E_Ericsson_Customer_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Customer_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Subscription_Context := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Subscription_Context };
+const AVP_Code c_AVP_Code_E_Ericsson_Communication_Details := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Communication_Details };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Location_Area_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Location_Area_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Active_Time_Reporting := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Active_Time_Reporting };
+const AVP_Code c_AVP_Code_E_Ericsson_Round_Trip_Delay := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Round_Trip_Delay };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_VPN_Private_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_VPN_Private_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geo_Location_Cell_Identity := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geo_Location_Cell_Identity };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Mid_Time_Moment := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Mid_Time_Moment };
+const AVP_Code c_AVP_Code_E_Ericsson_Field_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Field_Name };
+const AVP_Code c_AVP_Code_E_NONE_Authenticate := {
+	vendor_id_NONE := avp_code_E_NONE_Authenticate };
+const AVP_Code c_AVP_Code_E_Ericsson_Rule_Space_Decision := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Rule_Space_Decision };
+const AVP_Code c_AVP_Code_E_Ericsson_Extension_Field := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Extension_Field };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Location_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Location_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Packets_Discarded_Filtering := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Packets_Discarded_Filtering };
+const AVP_Code c_AVP_Code_E_Ericsson_Originating_User_Agent := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Originating_User_Agent };
+const AVP_Code c_AVP_Code_E_Ericsson_URL_Modifier := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_URL_Modifier };
+const AVP_Code c_AVP_Code_E_Ericsson_MCX_Company_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCX_Company_Type };
+const AVP_Code c_AVP_Code_BASE_NONE_Authorization_Lifetime := {
+	vendor_id_NONE := avp_code_BASE_NONE_Authorization_Lifetime };
+const AVP_Code c_AVP_Code_E_Ericsson_Original_Redirection_Reason := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Original_Redirection_Reason };
+const AVP_Code c_AVP_Code_E_Ericsson_Served_User_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Served_User_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Received_Packets := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Received_Packets };
+const AVP_Code c_AVP_Code_E_Ericsson_Related_ICID := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Related_ICID };
+const AVP_Code c_AVP_Code_E_Ericsson_Apply_Tariff_Immediate := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Apply_Tariff_Immediate };
+const AVP_Code c_AVP_Code_E_Ericsson_PDP_Context_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_PDP_Context_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Uplink };
+const AVP_Code c_AVP_Code_E_Ericsson_CRedirecting_Party_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_CRedirecting_Party_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_MM_Destination := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MM_Destination };
+const AVP_Code c_AVP_Code_E_Ericsson_User_IP_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_User_IP_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_From_Header_Presentation_Status := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_From_Header_Presentation_Status };
+const AVP_Code c_AVP_Code_E_Ericsson_MSC_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MSC_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Fixed_Announcement_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Fixed_Announcement_Code };
+const AVP_Code c_AVP_Code_BASE_NONE_Re_Auth_Request_Type := {
+	vendor_id_NONE := avp_code_BASE_NONE_Re_Auth_Request_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Sender_Reports := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Sender_Reports };
+const AVP_Code c_AVP_Code_E_Ericsson_One_Time_Redirect_Control := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_One_Time_Redirect_Control };
+const AVP_Code c_AVP_Code_E_Ericsson_Content_Filtering_Profile_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Content_Filtering_Profile_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_User_Agent := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_User_Agent };
+const AVP_Code c_AVP_Code_E_Ericsson_Analyzed_Call_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Analyzed_Call_Type };
+const AVP_Code c_AVP_Code_BASE_NONE_Event_Timestamp := {
+	vendor_id_NONE := avp_code_BASE_NONE_Event_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_MCID_Calling_Party_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCID_Calling_Party_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_SIP_Authorization := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_SIP_Authorization };
+const AVP_Code c_AVP_Code_E_Ericsson_Roaming_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Roaming_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_WSP_PDU_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_WSP_PDU_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_On_Net_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_On_Net_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Value := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Value };
+const AVP_Code c_AVP_Code_E_Ericsson_Served_User := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Served_User };
+const AVP_Code c_AVP_Code_BASE_NONE_Failed_AVP := {
+	vendor_id_NONE := avp_code_BASE_NONE_Failed_AVP };
+const AVP_Code c_AVP_Code_E_Ericsson_Outgoing_Access_Network_Identifier := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Outgoing_Access_Network_Identifier };
+const AVP_Code c_AVP_Code_E_Ericsson_Contact_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Contact_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_MCX_Redirect_Party_Prefix := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCX_Redirect_Party_Prefix };
+const AVP_Code c_AVP_Code_E_Ericsson_GSM_Call_Reference_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_GSM_Call_Reference_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Sent_Octets := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Sent_Octets };
+const AVP_Code c_AVP_Code_E_Ericsson_P_Asserted_Identity_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_P_Asserted_Identity_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_On_Net_Indicator2 := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_On_Net_Indicator2 };
+const AVP_Code c_AVP_Code_E_Ericsson_Active_Time_Report_Start_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Active_Time_Report_Start_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Routing_Call_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Routing_Call_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirecting_Party_Nature := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirecting_Party_Nature };
+const AVP_Code c_AVP_Code_E_NONE_SIP_Header_Name := {
+	vendor_id_NONE := avp_code_E_NONE_SIP_Header_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Dialled_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Dialled_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geo_Location_ECI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geo_Location_ECI };
+const AVP_Code c_AVP_Code_E_Ericsson_Bearer_Control_Reject := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Bearer_Control_Reject };
+const AVP_Code c_AVP_Code_E_Ericsson_Extension_Field_Value := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Extension_Field_Value };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Fixed_Announcement_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Fixed_Announcement_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscription_Id_Nature := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscription_Id_Nature };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Talk_Burst_Received := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Talk_Burst_Received };
+const AVP_Code c_AVP_Code_E_Ericsson_Number_Frame_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Number_Frame_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Wildcarded_PSI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Wildcarded_PSI };
+const AVP_Code c_AVP_Code_E_Ericsson_MCX_Prefix := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCX_Prefix };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirection_Reason := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirection_Reason };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Received_Bursts := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Received_Bursts };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Answering_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Answering_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Connection_Attempt_Charge := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Connection_Attempt_Charge };
+const AVP_Code c_AVP_Code_E_Ericsson_Policy_Group_Activation_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Policy_Group_Activation_Time };
+const AVP_Code c_AVP_Code_E_NONE_Auth_Data_Item := {
+	vendor_id_NONE := avp_code_E_NONE_Auth_Data_Item };
+const AVP_Code c_AVP_Code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Guaranteed_Bit_Rate_For_Downlink };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Move_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Move_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Numbers := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Numbers };
+const AVP_Code c_AVP_Code_E_Ericsson_MM_BCC_Destination := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MM_BCC_Destination };
+const AVP_Code c_AVP_Code_BASE_NONE_Error_Reporting_Host := {
+	vendor_id_NONE := avp_code_BASE_NONE_Error_Reporting_Host };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Original_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Original_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Transaction_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Transaction_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Fixed_Announcement_Var_Integer := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Fixed_Announcement_Var_Integer };
+const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Record_Number := {
+	vendor_id_NONE := avp_code_BASE_NONE_Accounting_Record_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Talk_Burst_Sent := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Talk_Burst_Sent };
+const AVP_Code c_AVP_Code_E_Ericsson_Extra_Cost_Distribution_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Extra_Cost_Distribution_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Deprecated := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Deprecated };
+const AVP_Code c_AVP_Code_E_Ericsson_Disconnect_Direction := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Disconnect_Direction };
+const AVP_Code c_AVP_Code_E_Ericsson_Occurrence_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Occurrence_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Unasigned := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Unasigned };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geographical_Location_Extended := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geographical_Location_Extended };
+const AVP_Code c_AVP_Code_E_Ericsson_Function_Trace_Overflow := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Function_Trace_Overflow };
+const AVP_Code c_AVP_Code_E_Ericsson_File_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_File_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Instance_Stop_Indication := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Instance_Stop_Indication };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_From_Triggering := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_From_Triggering };
+const AVP_Code c_AVP_Code_BASE_NONE_Proxy_Info := {
+	vendor_id_NONE := avp_code_BASE_NONE_Proxy_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Location_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Location_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscriber_Provisioned_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscriber_Provisioned_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Service_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Service_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_System_Load := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_System_Load };
+const AVP_Code c_AVP_Code_E_Ericsson_Transferred_Amount := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Transferred_Amount };
+const AVP_Code c_AVP_Code_E_Ericsson_SDD_TADS_Decision := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SDD_TADS_Decision };
+const AVP_Code c_AVP_Code_E_Ericsson_Privacy_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Privacy_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Sent_Duration := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Sent_Duration };
+const AVP_Code c_AVP_Code_E_Ericsson_Preferred_Currency_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Preferred_Currency_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Final_Service_Unit := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Final_Service_Unit };
+const AVP_Code c_AVP_Code_E_Ericsson_Time_Quota_Measurement := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Time_Quota_Measurement };
+const AVP_Code c_AVP_Code_E_Ericsson_Policy_Counter_Policy_Group_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Policy_Counter_Policy_Group_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Chargeable_Corporate_Number_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Chargeable_Corporate_Number_Type };
+const AVP_Code c_AVP_Code_BASE_NONE_Origin_State_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Origin_State_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Presented_Special_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Presented_Special_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_URI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_URI };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Access_Classification := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Access_Classification };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Rating_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Rating_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Transaction_Data_Value := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Transaction_Data_Value };
+const AVP_Code c_AVP_Code_E_Ericsson_Tenant := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Tenant };
+const AVP_Code c_AVP_Code_E_Ericsson_Version_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Version_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_SSO_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SSO_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_Commissioning_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Commissioning_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Reason_Cause := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Reason_Cause };
+const AVP_Code c_AVP_Code_E_NONE_Application_Server_Name := {
+	vendor_id_NONE := avp_code_E_NONE_Application_Server_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Ringing_Timestamp_Fraction := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Ringing_Timestamp_Fraction };
+const AVP_Code c_AVP_Code_E_NONE_SIP_Header := {
+	vendor_id_NONE := avp_code_E_NONE_SIP_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_Suppression_At_Forwarding := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_Suppression_At_Forwarding };
+const AVP_Code c_AVP_Code_E_Ericsson_Extended_Call_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Extended_Call_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Transport_Protocol := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Transport_Protocol };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Policy_Counter_Status := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Policy_Counter_Status };
+const AVP_Code c_AVP_Code_E_Ericsson_Route_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Route_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_User_Side := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_User_Side };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscription_Id_VPN_Location_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscription_Id_VPN_Location_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Participants_List := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Participants_List };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Move_Calling_Party_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Move_Calling_Party_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Received_Volume := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Received_Volume };
+const AVP_Code c_AVP_Code_E_Ericsson_Activity_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Activity_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Services_To_Suppress := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Services_To_Suppress };
+const AVP_Code c_AVP_Code_E_Ericsson_Transaction_Data_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Transaction_Data_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Request_NTP_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Request_NTP_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Time_Quota_Inactivity_Time := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Time_Quota_Inactivity_Time };
+const AVP_Code c_AVP_Code_E_Ericsson_Account_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Account_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Number_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Number_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Type_of_Termination := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Type_of_Termination };
+const AVP_Code c_AVP_Code_BASE_NONE_Experimental_Result := {
+	vendor_id_NONE := avp_code_BASE_NONE_Experimental_Result };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Bearer_Capability := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Bearer_Capability };
+const AVP_Code c_AVP_Code_E_Ericsson_Remote_Charging_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Remote_Charging_Data };
+const AVP_Code c_AVP_Code_BASE_NONE_Destination_Host := {
+	vendor_id_NONE := avp_code_BASE_NONE_Destination_Host };
+const AVP_Code c_AVP_Code_E_Ericsson_Trunk_Context := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Trunk_Context };
+const AVP_Code c_AVP_Code_E_Ericsson_WSP_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_WSP_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Zone_Identity := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Zone_Identity };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Key := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Key };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_WS_File := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_WS_File };
+const AVP_Code c_AVP_Code_E_Ericsson_System_Load_Age := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_System_Load_Age };
+const AVP_Code c_AVP_Code_E_Ericsson_Quota_Deduction_Start := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Quota_Deduction_Start };
+const AVP_Code c_AVP_Code_E_Ericsson_Matched_Regular_Expression := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Matched_Regular_Expression };
+const AVP_Code c_AVP_Code_E_Ericsson_Replenishment_Service_Request := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Replenishment_Service_Request };
+const AVP_Code c_AVP_Code_E_Ericsson_Time_Zone := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Time_Zone };
+const AVP_Code c_AVP_Code_BASE_NONE_Redirect_Host_Usage := {
+	vendor_id_NONE := avp_code_BASE_NONE_Redirect_Host_Usage };
+const AVP_Code c_AVP_Code_E_Ericsson_Primary_Interexchange_Carrier := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Primary_Interexchange_Carrier };
+const AVP_Code c_AVP_Code_E_Ericsson_Network_Call_Reference := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Network_Call_Reference };
+const AVP_Code c_AVP_Code_E_Ericsson_Reference_ID := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Reference_ID };
+const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Sub_Session_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Accounting_Sub_Session_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Policy_Counter_Status_Report := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Policy_Counter_Status_Report };
+const AVP_Code c_AVP_Code_E_Ericsson_Cost_Distribution_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Cost_Distribution_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Forward_TTC_Charging_Headers := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Forward_TTC_Charging_Headers };
+const AVP_Code c_AVP_Code_E_Ericsson_IMSI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_IMSI };
+const AVP_Code c_AVP_Code_E_Ericsson_Duration := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Duration };
+const AVP_Code c_AVP_Code_E_Ericsson_Reserved_Amount := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Reserved_Amount };
+const AVP_Code c_AVP_Code_E_Ericsson_Zone_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Zone_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_IVR_Class := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_IVR_Class };
+const AVP_Code c_AVP_Code_E_NONE_Server_Capability := {
+	vendor_id_NONE := avp_code_E_NONE_Server_Capability };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscribed_Media_Profile := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscribed_Media_Profile };
+const AVP_Code c_AVP_Code_E_Ericsson_Supplementary_Service_Identity := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Supplementary_Service_Identity };
+const AVP_Code c_AVP_Code_E_Ericsson_Currency_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Currency_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_MMT_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MMT_Information };
+const AVP_Code c_AVP_Code_BASE_NONE_Class := {
+	vendor_id_NONE := avp_code_BASE_NONE_Class };
+const AVP_Code c_AVP_Code_E_Ericsson_Event_Trigger := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Event_Trigger };
+const AVP_Code c_AVP_Code_E_Ericsson_Packet_Loss_Rate := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Packet_Loss_Rate };
+const AVP_Code c_AVP_Code_E_Ericsson_Group_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Group_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Requested_Domain := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Requested_Domain };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_VPN_Location_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_VPN_Location_Indicator };
+const AVP_Code c_AVP_Code_BASE_NONE_User_Name := {
+	vendor_id_NONE := avp_code_BASE_NONE_User_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Move_IMS_Charging_Identifier := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Move_IMS_Charging_Identifier };
+const AVP_Code c_AVP_Code_E_NONE_Max_No_Simultaneous_Sessions_Allowed := {
+	vendor_id_NONE := avp_code_E_NONE_Max_No_Simultaneous_Sessions_Allowed };
+const AVP_Code c_AVP_Code_E_Ericsson_Traffic_Case := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Traffic_Case };
+const AVP_Code c_AVP_Code_E_Ericsson_Reporting_Reason := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Reporting_Reason };
+const AVP_Code c_AVP_Code_E_Ericsson_PS_Previous_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_PS_Previous_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Virtual_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Virtual_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_AS_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_AS_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Default_Handling := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Default_Handling };
+const AVP_Code c_AVP_Code_E_Ericsson_Private_Number_Called_Party := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Private_Number_Called_Party };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Variable_Date := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Variable_Date };
+const AVP_Code c_AVP_Code_E_Ericsson_Redirection_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Redirection_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Policy_Group := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Policy_Group };
+const AVP_Code c_AVP_Code_E_Ericsson_Packets_Lost := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Packets_Lost };
+const AVP_Code c_AVP_Code_E_Ericsson_History_Info_Header := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_History_Info_Header };
+const AVP_Code c_AVP_Code_E_Ericsson_User_Equimenent_IMEI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_User_Equimenent_IMEI };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Provider_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Provider_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_WS_Motion := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_WS_Motion };
+const AVP_Code c_AVP_Code_BASE_NONE_Session_Binding := {
+	vendor_id_NONE := avp_code_BASE_NONE_Session_Binding };
+const AVP_Code c_AVP_Code_BASE_NONE_Origin_Realm := {
+	vendor_id_NONE := avp_code_BASE_NONE_Origin_Realm };
+const AVP_Code c_AVP_Code_E_Ericsson_CDR_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_CDR_Information };
+const AVP_Code c_AVP_Code_BASE_NONE_Redirect_Host := {
+	vendor_id_NONE := avp_code_BASE_NONE_Redirect_Host };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Scenario := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Scenario };
+const AVP_Code c_AVP_Code_E_Ericsson_Total_Session_Duration := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Total_Session_Duration };
+const AVP_Code c_AVP_Code_E_Ericsson_Tariff_Expiry_Policy := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Tariff_Expiry_Policy };
+const AVP_Code c_AVP_Code_E_Ericsson_Party_To_Charge := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Party_To_Charge };
+const AVP_Code c_AVP_Code_BASE_NONE_Accounting_Realtime_Required := {
+	vendor_id_NONE := avp_code_BASE_NONE_Accounting_Realtime_Required };
+const AVP_Code c_AVP_Code_E_Ericsson_Dial_Around_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Dial_Around_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_MNP_Result := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_MNP_Result };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_Area := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_Area };
+const AVP_Code c_AVP_Code_E_Ericsson_Packets_Out_Of_Sequence := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Packets_Out_Of_Sequence };
+const AVP_Code c_AVP_Code_E_Ericsson_VPN_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_VPN_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Multiple_Entries_Limit := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Multiple_Entries_Limit };
+const AVP_Code c_AVP_Code_BASE_NONE_Origin_Host := {
+	vendor_id_NONE := avp_code_BASE_NONE_Origin_Host };
+const AVP_Code c_AVP_Code_BASE_NONE_Vendor_Specific_Application_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Vendor_Specific_Application_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Subscription_Id_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Subscription_Id_Location };
+const AVP_Code c_AVP_Code_E_Ericsson_Conference_Participant_Count := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Conference_Participant_Count };
+const AVP_Code c_AVP_Code_BASE_NONE_E2E_Sequence := {
+	vendor_id_NONE := avp_code_BASE_NONE_E2E_Sequence };
+const AVP_Code c_AVP_Code_E_Ericsson_Initiating_Other_Party_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Initiating_Other_Party_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Geographical_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Geographical_Location };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Variable_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Variable_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Terminating_Site_Name := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Terminating_Site_Name };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Location := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Location };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_MNP_IMSI := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_MNP_IMSI };
+const AVP_Code c_AVP_Code_BASE_NONE_Auth_Application_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Auth_Application_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Media_Statistics := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Media_Statistics };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Asserted_Identity_Presentation_Status := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Asserted_Identity_Presentation_Status };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Subscription_Event := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Subscription_Event };
+const AVP_Code c_AVP_Code_E_Ericsson_Time_Deviation := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Time_Deviation };
+const AVP_Code c_AVP_Code_E_Ericsson_SIP_Request_Timestamp_Milliseconds := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SIP_Request_Timestamp_Milliseconds };
+const AVP_Code c_AVP_Code_E_Ericsson_Public_Identification := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Public_Identification };
+const AVP_Code c_AVP_Code_E_Ericsson_Start_Of_Call := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Start_Of_Call };
+const AVP_Code c_AVP_Code_E_Ericsson_Authorization_State := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Authorization_State };
+const AVP_Code c_AVP_Code_E_NONE_Max_No_Call_Legs_Per_Sessions := {
+	vendor_id_NONE := avp_code_E_NONE_Max_No_Call_Legs_Per_Sessions };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Location_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Location_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Variable_Integer := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Variable_Integer };
+const AVP_Code c_AVP_Code_E_NONE_SIP_Header_Content := {
+	vendor_id_NONE := avp_code_E_NONE_SIP_Header_Content };
+const AVP_Code c_AVP_Code_E_Ericsson_RTCP_Reported_Packets_Lost := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_RTCP_Reported_Packets_Lost };
+const AVP_Code c_AVP_Code_E_Ericsson_From := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_From };
+const AVP_Code c_AVP_Code_E_Ericsson_MCID_Register_Timestamp := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_MCID_Register_Timestamp };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Value := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Value };
+const AVP_Code c_AVP_Code_E_Ericsson_System_State := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_System_State };
+const AVP_Code c_AVP_Code_E_Ericsson_Acc_Reported_Packets_Received := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Acc_Reported_Packets_Received };
+const AVP_Code c_AVP_Code_E_Ericsson_R_Index_Value := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_R_Index_Value };
+const AVP_Code c_AVP_Code_E_Ericsson_Service_Setup_Result := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Service_Setup_Result };
+const AVP_Code c_AVP_Code_E_Ericsson_Charging_State_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Charging_State_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_SMSC_Address := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SMSC_Address };
+const AVP_Code c_AVP_Code_E_Ericsson_Call_Type := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Call_Type };
+const AVP_Code c_AVP_Code_E_Ericsson_Malicious_Communication_Identification_Service_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Malicious_Communication_Identification_Service_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Announcement_Logic := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Announcement_Logic };
+const AVP_Code c_AVP_Code_E_Ericsson_Called_Party_Location_Cell_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Called_Party_Location_Cell_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_FTP_Info := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_FTP_Info };
+const AVP_Code c_AVP_Code_E_Ericsson_Additional_User_Category := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Additional_User_Category };
+const AVP_Code c_AVP_Code_BASE_NONE_Inband_Security_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Inband_Security_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_SSO_Status := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_SSO_Status };
+const AVP_Code c_AVP_Code_E_Ericsson_Cumulative_Used_Service_Unit := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Cumulative_Used_Service_Unit };
+const AVP_Code c_AVP_Code_E_Ericsson_Outgoing_Dialog := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Outgoing_Dialog };
+const AVP_Code c_AVP_Code_BASE_NONE_Termination_Cause := {
+	vendor_id_NONE := avp_code_BASE_NONE_Termination_Cause };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Subscription_Trigger_Data := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Subscription_Trigger_Data };
+const AVP_Code c_AVP_Code_E_Ericsson_Other_Party_Id_Nature := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Other_Party_Id_Nature };
+const AVP_Code c_AVP_Code_E_Ericsson_Pay_Phone_Indicator := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Pay_Phone_Indicator };
+const AVP_Code c_AVP_Code_E_Ericsson_Aware_Policy_based_Routing_Profile := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Aware_Policy_based_Routing_Profile };
+const AVP_Code c_AVP_Code_E_Ericsson_Next_Authorization_State := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Next_Authorization_State };
+const AVP_Code c_AVP_Code_E_Ericsson_Ericsson_Location_Area_Code := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Ericsson_Location_Area_Code };
+const AVP_Code c_AVP_Code_E_Ericsson_Core_Mid_Time_Announcement := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Core_Mid_Time_Announcement };
+const AVP_Code c_AVP_Code_E_Ericsson_Mobile_Charging_Number := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Mobile_Charging_Number };
+const AVP_Code c_AVP_Code_E_Ericsson_Operator_Defined_Field := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Operator_Defined_Field };
+const AVP_Code c_AVP_Code_BASE_NONE_Session_Id := {
+	vendor_id_NONE := avp_code_BASE_NONE_Session_Id };
+const AVP_Code c_AVP_Code_E_Ericsson_Rule_Space_Suggestion := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Rule_Space_Suggestion };
+const AVP_Code c_AVP_Code_E_Ericsson_Type_Of_Access := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Type_Of_Access };
+const AVP_Code c_AVP_Code_E_Ericsson_Originating_Identity_Restriction_Service_Information := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Originating_Identity_Restriction_Service_Information };
+const AVP_Code c_AVP_Code_E_Ericsson_Calling_Party_Location_Cell_Id := {
+	vendor_id_Ericsson := avp_code_E_Ericsson_Calling_Party_Location_Cell_Id };
+} with { encode "RAW" } // End module
diff --git a/demo/DIAMETER_demo.tpd b/demo/DIAMETER_demo.tpd
new file mode 100644
index 0000000000000000000000000000000000000000..e6a900d8605c0eac9edf4d38333a7ae203855afc
--- /dev/null
+++ b/demo/DIAMETER_demo.tpd
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2014 Ericsson
+
+  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
+ -->
+<TITAN_Project_File_Information version="1.0">
+  <ProjectName>DIAMETER_demo</ProjectName>
+  <ReferencedProjects>
+    <ReferencedProject name="SCTPasp_CNL113469" projectLocationURI="../../../TestPorts/SCTPasp_CNL113469/SCTPasp_CNL113469.tpd"/>
+    <ReferencedProject name="TCPasp_CNL113347" projectLocationURI="../../../TestPorts/TCPasp_CNL113347/TCPasp_CNL113347.tpd"/>
+  </ReferencedProjects>
+  <Files>
+    <FileResource projectRelativePath="DIAMETER_EncDec.cc" relativeURI="../src/DIAMETER_EncDec.cc"/>
+    <FileResource projectRelativePath="DIAMETER_Demo.ttcn" relativeURI="DIAMETER_Demo.ttcn"/>
+    <FileResource projectRelativePath="DIAMETER_Mapping.ttcn" relativeURI="DIAMETER_Mapping.ttcn"/>
+    <FileResource projectRelativePath="DIAMETER_SCTP_Client_Demo.cfg" relativeURI="DIAMETER_SCTP_Client_Demo.cfg"/>
+    <FileResource projectRelativePath="DIAMETER_SCTP_Server_Demo.cfg" relativeURI="DIAMETER_SCTP_Server_Demo.cfg"/>
+    <FileResource projectRelativePath="DIAMETER_TCP_Client_Demo.cfg" relativeURI="DIAMETER_TCP_Client_Demo.cfg"/>
+    <FileResource projectRelativePath="DIAMETER_TCP_Server_Demo.cfg" relativeURI="DIAMETER_TCP_Server_Demo.cfg"/>
+    <FileResource projectRelativePath="DIAMETER_Types.ttcn" relativeURI="DIAMETER_Types.ttcn"/>
+    <FileResource projectRelativePath="demo_note.txt" relativeURI="demo_note.txt"/>
+  </Files>
+  <ActiveConfiguration>Default</ActiveConfiguration>
+  <Configurations>
+    <Configuration name="Default">
+      <ProjectProperties>
+        <MakefileSettings>
+          <generateInternalMakefile>true</generateInternalMakefile>
+          <GNUMake>true</GNUMake>
+          <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+          <targetExecutable>bin/DIAMETER_demo</targetExecutable>
+        </MakefileSettings>
+        <LocalBuildSettings>
+          <workingDirectory>bin</workingDirectory>
+        </LocalBuildSettings>
+        <NamingCoventions>
+          <enableProjectSpecificSettings>true</enableProjectSpecificSettings>
+          <globalConstant>.*</globalConstant>
+          <externalConstant>.*</externalConstant>
+          <function>.*</function>
+          <externalFunction>.*</externalFunction>
+          <moduleParameter>.*</moduleParameter>
+          <globalPort>.*</globalPort>
+          <globalTimer>.*</globalTimer>
+          <localVariable>.*</localVariable>
+          <formalParameter>.*</formalParameter>
+          <componentConstant>.*</componentConstant>
+          <componentVariable>.*</componentVariable>
+          <componentTimer>.*</componentTimer>
+        </NamingCoventions>
+      </ProjectProperties>
+    </Configuration>
+  </Configurations>
+</TITAN_Project_File_Information>
diff --git a/demo/demo_note.txt b/demo/demo_note.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36e00f18af5b8ad7bf24a93c08a5a875797fde43
--- /dev/null
+++ b/demo/demo_note.txt
@@ -0,0 +1,13 @@
+/******************************************************************************
+* 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:
+*   Gabor Szalai - initial implementation and initial documentation
+******************************************************************************/
+
+This demo shows how to use create DIAMETER server or client uding TCP or SCTP 
+test port and the generated DIAMETER_types.ttcn
diff --git a/doc/DIAMETER_ProtocolModule_Generator_CNL113462_1551.doc b/doc/DIAMETER_ProtocolModule_Generator_CNL113462_1551.doc
new file mode 100644
index 0000000000000000000000000000000000000000..e5341a7e62a1deff96d3ed469b1935874ddf8c61
Binary files /dev/null and b/doc/DIAMETER_ProtocolModule_Generator_CNL113462_1551.doc differ
diff --git a/doc/DIAMETER_ProtocolModule_Generator_CNL113462_PRI.doc b/doc/DIAMETER_ProtocolModule_Generator_CNL113462_PRI.doc
new file mode 100644
index 0000000000000000000000000000000000000000..016c3c5cfb7b8fe0aa32e6b84f34c2075b71ae27
Binary files /dev/null and b/doc/DIAMETER_ProtocolModule_Generator_CNL113462_PRI.doc differ
diff --git a/src/AAAInterface_3GPP_TS29272_940.ddf b/src/AAAInterface_3GPP_TS29272_940.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..3cae5bbf27182c2ad89ffcc6968cd4137eb665ac
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_940.ddf
@@ -0,0 +1,75 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_940.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V9.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V9_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V9.4.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 V9.4.0
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier
+
+// 3GPP TS 29.272 V9.4.0
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile
+
+// 3GPP TS 29.272 V9.4.0
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR
+
+// 3GPP TS 29.272 V9.4.0
+// 7.3.62
+// AVP: PDN-Type (1456) 3GPP (10415)
+type enumerated PDN_Type
+{
+  IPv4 (0),
+  IPv6 (1),
+  IPv4v6 (2),
+  IPv4_OR_IPv6 (3)  
+}
diff --git a/src/AAAInterface_3GPP_TS29272_950.ddf b/src/AAAInterface_3GPP_TS29272_950.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..bfc352918da3afa323d21a4b2407538e90bf2894
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_950.ddf
@@ -0,0 +1,708 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_950.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V9.5.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V9_5_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V9.5.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 V9.5.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)
+}
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.2
+// AVP: Subscription-Data (1400) 3GPP (10415)
+type AVP_Grouped Subscription_Data
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.3
+// AVP: Terminal-Information (1401) 3GPP (10415)
+type AVP_Grouped Terminal_Information
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.4
+// AVP: IMEI (1402) 3GPP (10415)
+type AVP_UTF8String IMEI
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.5
+// AVP: Software-Version (1403) 3GPP (10415)
+type AVP_UTF8String Software_Version
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.77
+// AVP: QoS-Subscribed (1404) 3GPP (10415)
+type AVP_OctetString QoS_Subscribed
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.7
+// AVP: ULR-Flags (1405) 3GPP (10415)
+type AVP_Unsigned32 ULR_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.8
+// AVP: ULA-Flags (1406) 3GPP (10415)
+type AVP_Unsigned32 ULA_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.9
+// AVP: Visited-PLMN-Id (1407) 3GPP (10415) 
+type AVP_OctetString Visited_PLMN_Id
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.11
+// AVP: Requested-EUTRAN-Authentication-Info (1408) 3GPP (10415)
+type AVP_Grouped Requested_EUTRAN_Authentication_Info
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.14
+// AVP: Number-Of-Requested-Vectors (1410) 3GPP (10415)
+type AVP_Unsigned32 Number_Of_Requested_Vectors
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.15
+// AVP: Re-Synchronization-Info (1411) 3GPP (10415)
+type AVP_OctetString Re_Synchronization_Info
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.16
+// AVP: Immediate-Response-Preferred (1412) 3GPP (10415)
+type AVP_Unsigned32 Immediate_Response_Preferred
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.17
+// AVP: Authentication-Info (1413) 3GPP (10415)
+type AVP_Grouped Authentication_Info
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.18
+// AVP: E-UTRAN-Vector (1414) 3GPP (10415)
+type AVP_Grouped E_UTRAN_Vector
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.19
+// AVP: UTRAN-Vector (1415) 3GPP (10415)
+type AVP_Grouped UTRAN_Vector
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.20
+// AVP: GERAN-Vector (1416) 3GPP (10415)
+type AVP_Grouped GERAN_Vector
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.22
+// AVP: HPLMN-ODB (1418) 3GPP (10415)
+type AVP_Unsigned32 HPLMN_ODB
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.23
+// AVP: Item-Number (1419) 3GPP (10415)
+type AVP_Unsigned32 Item_Number
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.25
+// AVP: DSR-Flags (1421) 3GPP (10415)
+type AVP_Unsigned32 DSR_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.26
+// AVP: DSA-Flags (1422) 3GPP (10415)
+type AVP_Unsigned32 DSA_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.30
+// AVP: Operator-Determined-Barring (1425) 3GPP (10415)
+type AVP_Unsigned32 Operator_Determined_Barring
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.31
+// AVP: Access-Restriction-Data (1426) 3GPP (10415)
+type AVP_Unsigned32 Access_Restriction_Data
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.32
+// AVP: APN-OI-Replacement (1427) 3GPP (10415)
+type AVP_UTF8String APN_OI_Replacement
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.34
+// AVP: APN-Configuration-Profile (1429) 3GPP (10415)
+type AVP_Grouped APN_Configuration_Profile
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.35
+// AVP: APN-Configuration (1430) 3GPP (10415)
+type AVP_Grouped APN_Configuration
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.39
+// AVP: STN-SR (1433) 3GPP (10415)
+type AVP_OctetString STN_SR
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.78
+// AVP: CSG-Subscription-Data (1436) 3GPP (10415)
+type AVP_Grouped CSG_Subscription_Data
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.79
+// AVP: CSG-Id (1437) 3GPP (10415)
+type AVP_Unsigned32 CSG_Id
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.80
+// AVP: Expiration-Date (1439) 3GPP (10415)
+type AVP_Time Expiration_Date
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.47
+// AVP: IDA-Flags (1441) 3GPP (10415)
+type AVP_Unsigned32 IDA_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.48
+// AVP: PUA-Flags (1442) 3GPP (10415)
+type AVP_Unsigned32 PUA_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.49
+// AVP: NOR-Flags (1443) 3GPP (10415)
+type AVP_Unsigned32 NOR_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.50
+// AVP: User-Id (1444) 3GPP (10415)
+type AVP_UTF8String User_Id
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.51
+// AVP: Equipment-Status (1445) 3GPP (10415)
+type enumerated Equipment_Status
+{
+  WHITELISTED (0),
+  BLACKLISTED (1),
+  GREYLISTED  (2)
+}
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.52
+// AVP: Regional-Subscription-Zone-Code (1446) 3GPP (10415)
+type AVP_OctetString Regional_Subscription_Zone_Code
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.53
+// AVP: RAND (1447) 3GPP (10415)
+type AVP_OctetString RAND
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.54
+// AVP: XRES (1448) 3GPP (10415)
+type AVP_OctetString XRES
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.55
+// AVP: AUTN (1449) 3GPP (10415)
+type AVP_OctetString AUTN
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.56
+// AVP: KASME (1450) 3GPP (10415)
+type AVP_OctetString KASME
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.98
+// AVP: Trace-Collection-Entity (1452) 3GPP (10415)
+type AVP_Address Trace_Collection_Entity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.59
+// AVP: Kc (1453) 3GPP (10415)
+type AVP_OctetString Kc
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.60
+// AVP: SRES (1454) 3GPP (10415)
+type AVP_OctetString SRES
+
+// 3GPP TS 29.272 V9.5.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 V9.5.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 V9.5.0
+// 7.3.63
+// AVP: Trace-Data (1458) 3GPP (10415)
+type AVP_Grouped Trace_Data
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.64
+// AVP: Trace-Reference (1459) 3GPP (10415)
+type AVP_OctetString Trace_Reference
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.67
+// AVP: Trace-Depth (1462) 3GPP (10415)
+// FS 3.3.2.10
+type AVP_Unsigned32 Trace_Depth
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.68
+// AVP: Trace-NE-Type-List (1463) 3GPP (10415)
+type AVP_OctetString Trace_NE_Type_List
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.69
+// AVP: Trace-Interface-List (1464) 3GPP (10415)
+type AVP_OctetString Trace_Interface_List
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.70
+// AVP: Trace-Event-List (1465) 3GPP (10415)
+type AVP_OctetString Trace_Event_List
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.71
+// AVP: OMC-Id (1466) 3GPP (10415)
+type AVP_OctetString OMC_Id
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.72
+// AVP: GPRS-Subscription-Data (1467) 3GPP (10415)
+type AVP_Grouped GPRS_Subscription_Data
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.74
+// AVP: PDP-Context (1469) 3GPP (10415)
+type AVP_Grouped PDP_Context
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.75
+// AVP: PDP-Type (1470) 3GPP (10415)
+type AVP_OctetString PDP_Type
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.6
+// AVP: 3GPP2-MEID (1471) 3GPP (10415)
+type AVP_OctetString 3GPP2_MEID
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.82
+// AVP: Specific-APN-Info (1472) 3GPP (10415)
+type AVP_Grouped Specific_APN_Info
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.84
+// AVP: LCS-Info (1473) 3GPP (10415)
+type AVP_Grouped LCS_Info
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.85
+// AVP: GMLC-Number (1474) 3GPP (10415)
+type AVP_OctetString GMLC_Number
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.86
+// AVP: LCS-PrivacyException (1475) 3GPP (10415)
+type AVP_Grouped LCS_PrivacyException
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.87
+// AVP: SS-Code (1476) 3GPP (10415)
+type AVP_OctetString SS_Code
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.88
+// AVP: SS-Status (1477) 3GPP (10415)
+type AVP_Grouped SS_Status
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.90
+// AVP: External-Client (1479) 3GPP (10415)
+type AVP_Grouped External_Client
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.91
+// AVP: Client-Identity (1480) 3GPP (10415)
+type AVP_OctetString Client_Identity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.92
+// AVP: GMLC-Restriction (1481) 3GPP (10415)
+type enumerated GMLC_Restriction
+{
+  GMLC_LIST    (0),
+  HOME_COUNTRY (1)
+}
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.94
+// AVP: Service-Type (1483) 3GPP (10415)
+type AVP_Grouped Service_Type
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.95
+// AVP: ServiceTypeIdentity (1484) 3GPP (10415)
+type AVP_Unsigned32 ServiceTypeIdentity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.96
+// AVP: MO-LR (1485) 3GPP (10415)
+type AVP_Grouped MO_LR
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.99
+// AVP: Teleservice-List (1486) 3GPP (10415)
+type AVP_Grouped Teleservice_List
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.100
+// AVP: TS-Code (1487) 3GPP (10415)
+type AVP_OctetString TS_Code
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.101
+// AVP: Call-Barring-Infor-List (1488) 3GPP (10415)
+type AVP_Grouped Call_Barring_Infor_List
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.102
+// AVP: SGSN-Number (1489) 3GPP (10415)
+type AVP_OctetString SGSN_Number
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.103
+// AVP: IDR-Flags (1490) 3GPP (10415)
+type AVP_Unsigned32 IDR_Flags
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.104
+// AVP: ICS-Indicator (1491) 3GPP (10415)
+type enumerated ICS_Indicator
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// 3GPP TS 29.272 V9.5.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 V9.5.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 V9.5.0
+// 7.3.108
+// AVP: Last-UE-Activity-Time (1494) 3GPP (10415)
+type AVP_Time Last_UE_Activity_Time
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.110
+// AVP: EPS-User-State (1495) 3GPP (10415)
+type AVP_Grouped EPS_User_State
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.111
+// AVP: EPS-Location-Information (1496) 3GPP (10415)
+type AVP_Grouped EPS_Location_Information
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.112
+// AVP: MME-User-State (1497) 3GPP (10415)
+type AVP_Grouped MME_User_State
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.113
+// AVP: SGSN-User-State (1498) 3GPP (10415)
+type AVP_Grouped SGSN_User_State
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.115
+// AVP: MME-Location-Information (1600) 3GPP (10415)
+type AVP_Grouped MME_Location_Information
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.116
+// AVP: SGSN-Location-Information (1601) 3GPP (10415)
+type AVP_Grouped SGSN_Location_Information
+
+// 3GPP TS 29.272 V9.5.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 V9.5.0
+// 7.3.118
+// AVP: Tracking-Area-Identity (1603) 3GPP (10415)
+type AVP_OctetString Tracking_Area_Identity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.119
+// AVP: Cell-Global-Identity (1604) 3GPP (10415)
+type AVP_OctetString Cell_Global_Identity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.120
+// AVP: Routing-Area-Identity (1605) 3GPP (10415)
+type AVP_OctetString Routing_Area_Identity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.121
+// AVP: Location-Area-Identity (1606) 3GPP (10415)
+type AVP_OctetString Location_Area_Identity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.122
+// AVP: Service-Area-Identity (1607) 3GPP (10415)
+type AVP_OctetString Service_Area_Identity
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.123
+// AVP: Geographical-Information (1608) 3GPP (10415)
+type AVP_OctetString Geographical_Information
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.124
+// AVP: Geodetic-Information (1609) 3GPP (10415)
+type AVP_OctetString Geodetic_Information
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.125
+// AVP: Current-Location-Retrieved (1610) 3GPP (10415)
+type enumerated Current_Location_Retrieved
+{
+  ACTIVE_LOCATION_RETRIEVAL (0)
+}
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.126
+// AVP: Age-Of-Location-Information (1611) 3GPP (10415)
+type AVP_Unsigned32 Age_Of_Location_Information
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.127
+// AVP: Active-APN (1612) 3GPP (10415)
+type AVP_Grouped Active_APN
+
+// 3GPP TS 29.272 V9.5.0
+// 7.3.128
+// AVP: Error-Diagnostic (1614) 3GPP (10415)
+type enumerated Error_Diagnostic
+{
+  GPRS_DATA_SUBSCRIBED    (0),
+  NO_GPRS_DATA_SUBSCRIBED (1)
+}
diff --git a/src/AAAInterface_3GPP_TS29272_970.ddf b/src/AAAInterface_3GPP_TS29272_970.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..d6f33603116c9b646d1f4f94190bb7954f3a8b1f
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_970.ddf
@@ -0,0 +1,719 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_970.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V9.7.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V9_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V9.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 V9.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)
+}
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.2
+// AVP: Subscription-Data (1400) 3GPP (10415)
+type AVP_Grouped Subscription_Data
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.3
+// AVP: Terminal-Information (1401) 3GPP (10415)
+type AVP_Grouped Terminal_Information
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.4
+// AVP: IMEI (1402) 3GPP (10415)
+type AVP_UTF8String IMEI
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.5
+// AVP: Software-Version (1403) 3GPP (10415)
+type AVP_UTF8String Software_Version
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.77
+// AVP: QoS-Subscribed (1404) 3GPP (10415)
+type AVP_OctetString QoS_Subscribed
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.7
+// AVP: ULR-Flags (1405) 3GPP (10415)
+type AVP_Unsigned32 ULR_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.8
+// AVP: ULA-Flags (1406) 3GPP (10415)
+type AVP_Unsigned32 ULA_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.9
+// AVP: Visited-PLMN-Id (1407) 3GPP (10415) 
+type AVP_OctetString Visited_PLMN_Id
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.11
+// AVP: Requested-EUTRAN-Authentication-Info (1408) 3GPP (10415)
+type AVP_Grouped Requested_EUTRAN_Authentication_Info
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.14
+// AVP: Number-Of-Requested-Vectors (1410) 3GPP (10415)
+type AVP_Unsigned32 Number_Of_Requested_Vectors
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.15
+// AVP: Re-Synchronization-Info (1411) 3GPP (10415)
+type AVP_OctetString Re_Synchronization_Info
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.16
+// AVP: Immediate-Response-Preferred (1412) 3GPP (10415)
+type AVP_Unsigned32 Immediate_Response_Preferred
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.17
+// AVP: Authentication-Info (1413) 3GPP (10415)
+type AVP_Grouped Authentication_Info
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.18
+// AVP: E-UTRAN-Vector (1414) 3GPP (10415)
+type AVP_Grouped E_UTRAN_Vector
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.19
+// AVP: UTRAN-Vector (1415) 3GPP (10415)
+type AVP_Grouped UTRAN_Vector
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.20
+// AVP: GERAN-Vector (1416) 3GPP (10415)
+type AVP_Grouped GERAN_Vector
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.22
+// AVP: HPLMN-ODB (1418) 3GPP (10415)
+type AVP_Unsigned32 HPLMN_ODB
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.23
+// AVP: Item-Number (1419) 3GPP (10415)
+type AVP_Unsigned32 Item_Number
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.25
+// AVP: DSR-Flags (1421) 3GPP (10415)
+type AVP_Unsigned32 DSR_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.26
+// AVP: DSA-Flags (1422) 3GPP (10415)
+type AVP_Unsigned32 DSA_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.30
+// AVP: Operator-Determined-Barring (1425) 3GPP (10415)
+type AVP_Unsigned32 Operator_Determined_Barring
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.31
+// AVP: Access-Restriction-Data (1426) 3GPP (10415)
+type AVP_Unsigned32 Access_Restriction_Data
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.32
+// AVP: APN-OI-Replacement (1427) 3GPP (10415)
+type AVP_UTF8String APN_OI_Replacement
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.34
+// AVP: APN-Configuration-Profile (1429) 3GPP (10415)
+type AVP_Grouped APN_Configuration_Profile
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.35
+// AVP: APN-Configuration (1430) 3GPP (10415)
+type AVP_Grouped APN_Configuration
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.39
+// AVP: STN-SR (1433) 3GPP (10415)
+type AVP_OctetString STN_SR
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.78
+// AVP: CSG-Subscription-Data (1436) 3GPP (10415)
+type AVP_Grouped CSG_Subscription_Data
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.79
+// AVP: CSG-Id (1437) 3GPP (10415)
+type AVP_Unsigned32 CSG_Id
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.80
+// AVP: Expiration-Date (1439) 3GPP (10415)
+type AVP_Time Expiration_Date
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.47
+// AVP: IDA-Flags (1441) 3GPP (10415)
+type AVP_Unsigned32 IDA_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.48
+// AVP: PUA-Flags (1442) 3GPP (10415)
+type AVP_Unsigned32 PUA_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.49
+// AVP: NOR-Flags (1443) 3GPP (10415)
+type AVP_Unsigned32 NOR_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.50
+// AVP: User-Id (1444) 3GPP (10415)
+type AVP_UTF8String User_Id
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.52
+// AVP: Regional-Subscription-Zone-Code (1446) 3GPP (10415)
+type AVP_OctetString Regional_Subscription_Zone_Code
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.53
+// AVP: RAND (1447) 3GPP (10415)
+type AVP_OctetString RAND
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.54
+// AVP: XRES (1448) 3GPP (10415)
+type AVP_OctetString XRES
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.55
+// AVP: AUTN (1449) 3GPP (10415)
+type AVP_OctetString AUTN
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.56
+// AVP: KASME (1450) 3GPP (10415)
+type AVP_OctetString KASME
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.98
+// AVP: Trace-Collection-Entity (1452) 3GPP (10415)
+type AVP_Address Trace_Collection_Entity
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.59
+// AVP: Kc (1453) 3GPP (10415)
+type AVP_OctetString Kc
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.60
+// AVP: SRES (1454) 3GPP (10415)
+type AVP_OctetString SRES
+
+// 3GPP TS 29.272 V9.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 V9.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 V9.7.0
+// 7.3.63
+// AVP: Trace-Data (1458) 3GPP (10415)
+type AVP_Grouped Trace_Data
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.64
+// AVP: Trace-Reference (1459) 3GPP (10415)
+type AVP_OctetString Trace_Reference
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.68
+// AVP: Trace-NE-Type-List (1463) 3GPP (10415)
+type AVP_OctetString Trace_NE_Type_List
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.69
+// AVP: Trace-Interface-List (1464) 3GPP (10415)
+type AVP_OctetString Trace_Interface_List
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.70
+// AVP: Trace-Event-List (1465) 3GPP (10415)
+type AVP_OctetString Trace_Event_List
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.71
+// AVP: OMC-Id (1466) 3GPP (10415)
+type AVP_OctetString OMC_Id
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.72
+// AVP: GPRS-Subscription-Data (1467) 3GPP (10415)
+type AVP_Grouped GPRS_Subscription_Data
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.74
+// AVP: PDP-Context (1469) 3GPP (10415)
+type AVP_Grouped PDP_Context
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.75
+// AVP: PDP-Type (1470) 3GPP (10415)
+type AVP_OctetString PDP_Type
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.6
+// AVP: 3GPP2-MEID (1471) 3GPP (10415)
+type AVP_OctetString 3GPP2_MEID
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.82
+// AVP: Specific-APN-Info (1472) 3GPP (10415)
+type AVP_Grouped Specific_APN_Info
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.84
+// AVP: LCS-Info (1473) 3GPP (10415)
+type AVP_Grouped LCS_Info
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.85
+// AVP: GMLC-Number (1474) 3GPP (10415)
+type AVP_OctetString GMLC_Number
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.86
+// AVP: LCS-PrivacyException (1475) 3GPP (10415)
+type AVP_Grouped LCS_PrivacyException
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.87
+// AVP: SS-Code (1476) 3GPP (10415)
+type AVP_OctetString SS_Code
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.88
+// AVP: SS-Status (1477) 3GPP (10415)
+type AVP_Grouped SS_Status
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.90
+// AVP: External-Client (1479) 3GPP (10415)
+type AVP_Grouped External_Client
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.91
+// AVP: Client-Identity (1480) 3GPP (10415)
+type AVP_OctetString Client_Identity
+
+// 3GPP TS 29.272 V9.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 V9.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 V9.7.0
+// 7.3.94
+// AVP: Service-Type (1483) 3GPP (10415)
+type AVP_Grouped Service_Type
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.95
+// AVP: ServiceTypeIdentity (1484) 3GPP (10415)
+type AVP_Unsigned32 ServiceTypeIdentity
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.96
+// AVP: MO-LR (1485) 3GPP (10415)
+type AVP_Grouped MO_LR
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.99
+// AVP: Teleservice-List (1486) 3GPP (10415)
+type AVP_Grouped Teleservice_List
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.100
+// AVP: TS-Code (1487) 3GPP (10415)
+type AVP_OctetString TS_Code
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.101
+// AVP: Call-Barring-Infor-List (1488) 3GPP (10415)
+type AVP_Grouped Call_Barring_Infor_List
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.102
+// AVP: SGSN-Number (1489) 3GPP (10415)
+type AVP_OctetString SGSN_Number
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.103
+// AVP: IDR-Flags (1490) 3GPP (10415)
+type AVP_Unsigned32 IDR_Flags
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.104
+// AVP: ICS-Indicator (1491) 3GPP (10415)
+type enumerated ICS_Indicator
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// 3GPP TS 29.272 V9.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 V9.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 V9.7.0
+// 7.3.108
+// AVP: Last-UE-Activity-Time (1494) 3GPP (10415)
+type AVP_Time Last_UE_Activity_Time
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.110
+// AVP: EPS-User-State (1495) 3GPP (10415)
+type AVP_Grouped EPS_User_State
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.111
+// AVP: EPS-Location-Information (1496) 3GPP (10415)
+type AVP_Grouped EPS_Location_Information
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.112
+// AVP: MME-User-State (1497) 3GPP (10415)
+type AVP_Grouped MME_User_State
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.113
+// AVP: SGSN-User-State (1498) 3GPP (10415)
+type AVP_Grouped SGSN_User_State
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.115
+// AVP: MME-Location-Information (1600) 3GPP (10415)
+type AVP_Grouped MME_Location_Information
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.116
+// AVP: SGSN-Location-Information (1601) 3GPP (10415)
+type AVP_Grouped SGSN_Location_Information
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.118
+// AVP: Tracking-Area-Identity (1603) 3GPP (10415)
+type AVP_OctetString Tracking_Area_Identity
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.119
+// AVP: Cell-Global-Identity (1604) 3GPP (10415)
+type AVP_OctetString Cell_Global_Identity
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.120
+// AVP: Routing-Area-Identity (1605) 3GPP (10415)
+type AVP_OctetString Routing_Area_Identity
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.121
+// AVP: Location-Area-Identity (1606) 3GPP (10415)
+type AVP_OctetString Location_Area_Identity
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.122
+// AVP: Service-Area-Identity (1607) 3GPP (10415)
+type AVP_OctetString Service_Area_Identity
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.123
+// AVP: Geographical-Information (1608) 3GPP (10415)
+type AVP_OctetString Geographical_Information
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.124
+// AVP: Geodetic-Information (1609) 3GPP (10415)
+type AVP_OctetString Geodetic_Information
+
+// 3GPP TS 29.272 V9.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 V9.7.0
+// 7.3.126
+// AVP: Age-Of-Location-Information (1611) 3GPP (10415)
+type AVP_Unsigned32 Age_Of_Location_Information
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.127
+// AVP: Active-APN (1612) 3GPP (10415)
+type AVP_Grouped Active_APN
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.128
+// AVP: Error-Diagnostic (1614) 3GPP (10415)
+type enumerated Error_Diagnostic
+{
+  GPRS_DATA_SUBSCRIBED    (0),
+  NO_GPRS_DATA_SUBSCRIBED (1)
+}
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.75A
+// AVP: Ext-PDP-Type (1620) 3GPP (10415)
+type AVP_OctetString Ext_PDP_Type
+
+
+// 3GPP TS 29.272 V9.7.0
+// 7.3.129
+// AVP: Ext-PDP-Address (1621) 3GPP (10415)
+type AVP_Address Ext_PDP_Address
diff --git a/src/AAAInterface_3GPP_TS29272_a30.ddf b/src/AAAInterface_3GPP_TS29272_a30.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..c57e240f9ec24b8d0585ca0cbbd2325c47cd51d5
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_a30.ddf
@@ -0,0 +1,916 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_a30.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V10.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V10_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V10.3.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 V10.3.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)
+}
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.2
+// AVP: Subscription-Data (1400) 3GPP (10415)
+type AVP_Grouped Subscription_Data;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.3
+// AVP: Terminal-Information (1401) 3GPP (10415)
+type AVP_Grouped Terminal_Information;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.4
+// AVP: IMEI (1402) 3GPP (10415)
+type AVP_UTF8String IMEI;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.5
+// AVP: Software-Version (1403) 3GPP (10415)
+type AVP_UTF8String Software_Version;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.77
+// AVP: QoS-Subscribed (1404) 3GPP (10415)
+type AVP_OctetString QoS_Subscribed;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.7
+// AVP: ULR-Flags (1405) 3GPP (10415)
+type AVP_Unsigned32 ULR_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.8
+// AVP: ULA-Flags (1406) 3GPP (10415)
+type AVP_Unsigned32 ULA_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.9
+// AVP: Visited-PLMN-Id (1407) 3GPP (10415) 
+type AVP_OctetString Visited_PLMN_Id;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.11
+// AVP: Requested-EUTRAN-Authentication-Info (1408) 3GPP (10415)
+type AVP_Grouped Requested_EUTRAN_Authentication_Info;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.14
+// AVP: Number-Of-Requested-Vectors (1410) 3GPP (10415)
+type AVP_Unsigned32 Number_Of_Requested_Vectors;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.15
+// AVP: Re-Synchronization-Info (1411) 3GPP (10415)
+type AVP_OctetString Re_Synchronization_Info;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.16
+// AVP: Immediate-Response-Preferred (1412) 3GPP (10415)
+type AVP_Unsigned32 Immediate_Response_Preferred;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.17
+// AVP: Authentication-Info (1413) 3GPP (10415)
+type AVP_Grouped Authentication_Info;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.18
+// AVP: E-UTRAN-Vector (1414) 3GPP (10415)
+type AVP_Grouped E_UTRAN_Vector;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.19
+// AVP: UTRAN-Vector (1415) 3GPP (10415)
+type AVP_Grouped UTRAN_Vector;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.20
+// AVP: GERAN-Vector (1416) 3GPP (10415)
+type AVP_Grouped GERAN_Vector;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.22
+// AVP: HPLMN-ODB (1418) 3GPP (10415)
+type AVP_Unsigned32 HPLMN_ODB;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.23
+// AVP: Item-Number (1419) 3GPP (10415)
+type AVP_Unsigned32 Item_Number;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.25
+// AVP: DSR-Flags (1421) 3GPP (10415)
+type AVP_Unsigned32 DSR_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.26
+// AVP: DSA-Flags (1422) 3GPP (10415)
+type AVP_Unsigned32 DSA_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.30
+// AVP: Operator-Determined-Barring (1425) 3GPP (10415)
+type AVP_Unsigned32 Operator_Determined_Barring;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.31
+// AVP: Access-Restriction-Data (1426) 3GPP (10415)
+type AVP_Unsigned32 Access_Restriction_Data;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.32
+// AVP: APN-OI-Replacement (1427) 3GPP (10415)
+type AVP_UTF8String APN_OI_Replacement;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.34
+// AVP: APN-Configuration-Profile (1429) 3GPP (10415)
+type AVP_Grouped APN_Configuration_Profile;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.35
+// AVP: APN-Configuration (1430) 3GPP (10415)
+type AVP_Grouped APN_Configuration;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.39
+// AVP: STN-SR (1433) 3GPP (10415)
+type AVP_OctetString STN_SR;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.78
+// AVP: CSG-Subscription-Data (1436) 3GPP (10415)
+type AVP_Grouped CSG_Subscription_Data;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.79
+// AVP: CSG-Id (1437) 3GPP (10415)
+type AVP_Unsigned32 CSG_Id;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.80
+// AVP: Expiration-Date (1439) 3GPP (10415)
+type AVP_Time Expiration_Date;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.47
+// AVP: IDA-Flags (1441) 3GPP (10415)
+type AVP_Unsigned32 IDA_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.48
+// AVP: PUA-Flags (1442) 3GPP (10415)
+type AVP_Unsigned32 PUA_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.49
+// AVP: NOR-Flags (1443) 3GPP (10415)
+type AVP_Unsigned32 NOR_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.50
+// AVP: User-Id (1444) 3GPP (10415)
+type AVP_UTF8String User_Id;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.51
+// AVP: Equipment-Status (1445) 3GPP (10415)
+type enumerated Equipment_Status
+{
+  WHITELISTED (0),
+  BLACKLISTED (1),
+  GREYLISTED  (2)
+}
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.52
+// AVP: Regional-Subscription-Zone-Code (1446) 3GPP (10415)
+type AVP_OctetString Regional_Subscription_Zone_Code;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.53
+// AVP: RAND (1447) 3GPP (10415)
+type AVP_OctetString RAND;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.54
+// AVP: XRES (1448) 3GPP (10415)
+type AVP_OctetString XRES;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.55
+// AVP: AUTN (1449) 3GPP (10415)
+type AVP_OctetString AUTN;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.56
+// AVP: KASME (1450) 3GPP (10415)
+type AVP_OctetString KASME;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.98
+// AVP: Trace-Collection-Entity (1452) 3GPP (10415)
+type AVP_Address Trace_Collection_Entity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.59
+// AVP: Kc (1453) 3GPP (10415)
+type AVP_OctetString Kc;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.60
+// AVP: SRES (1454) 3GPP (10415)
+type AVP_OctetString SRES;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.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 V10.3.0
+// 7.3.63
+// AVP: Trace-Data (1458) 3GPP (10415)
+type AVP_Grouped Trace_Data;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.64
+// AVP: Trace-Reference (1459) 3GPP (10415)
+type AVP_OctetString Trace_Reference;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.67
+// AVP: Trace-Depth (1462) 3GPP (10415)
+// FS 3.3.2.10
+type AVP_Unsigned32 Trace_Depth;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.68
+// AVP: Trace-NE-Type-List (1463) 3GPP (10415)
+type AVP_OctetString Trace_NE_Type_List;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.69
+// AVP: Trace-Interface-List (1464) 3GPP (10415)
+type AVP_OctetString Trace_Interface_List;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.70
+// AVP: Trace-Event-List (1465) 3GPP (10415)
+type AVP_OctetString Trace_Event_List;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.71
+// AVP: OMC-Id (1466) 3GPP (10415)
+type AVP_OctetString OMC_Id;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.72
+// AVP: GPRS-Subscription-Data (1467) 3GPP (10415)
+type AVP_Grouped GPRS_Subscription_Data;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.74
+// AVP: PDP-Context (1469) 3GPP (10415)
+type AVP_Grouped PDP_Context;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.75
+// AVP: PDP-Type (1470) 3GPP (10415)
+type AVP_OctetString PDP_Type;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.6
+// AVP: 3GPP2-MEID (1471) 3GPP (10415)
+type AVP_OctetString 3GPP2_MEID;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.82
+// AVP: Specific-APN-Info (1472) 3GPP (10415)
+type AVP_Grouped Specific_APN_Info;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.84
+// AVP: LCS-Info (1473) 3GPP (10415)
+type AVP_Grouped LCS_Info;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.85
+// AVP: GMLC-Number (1474) 3GPP (10415)
+type AVP_OctetString GMLC_Number;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.86
+// AVP: LCS-PrivacyException (1475) 3GPP (10415)
+type AVP_Grouped LCS_PrivacyException;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.87
+// AVP: SS-Code (1476) 3GPP (10415)
+type AVP_OctetString SS_Code;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.88
+// AVP: SS-Status (1477) 3GPP (10415)
+type AVP_Grouped SS_Status;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.90
+// AVP: External-Client (1479) 3GPP (10415)
+type AVP_Grouped External_Client;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.91
+// AVP: Client-Identity (1480) 3GPP (10415)
+type AVP_OctetString Client_Identity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.92
+// AVP: GMLC-Restriction (1481) 3GPP (10415)
+type enumerated GMLC_Restriction
+{
+  GMLC_LIST    (0),
+  HOME_COUNTRY (1)
+}
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.94
+// AVP: Service-Type (1483) 3GPP (10415)
+type AVP_Grouped Service_Type;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.95
+// AVP: ServiceTypeIdentity (1484) 3GPP (10415)
+type AVP_Unsigned32 ServiceTypeIdentity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.96
+// AVP: MO-LR (1485) 3GPP (10415)
+type AVP_Grouped MO_LR;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.99
+// AVP: Teleservice-List (1486) 3GPP (10415)
+type AVP_Grouped Teleservice_List;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.100
+// AVP: TS-Code (1487) 3GPP (10415)
+type AVP_OctetString TS_Code;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.101
+// AVP: Call-Barring-Infor-List (1488) 3GPP (10415)
+type AVP_Grouped Call_Barring_Infor_List;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.102
+// AVP: SGSN-Number (1489) 3GPP (10415)
+type AVP_OctetString SGSN_Number;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.103
+// AVP: IDR-Flags (1490) 3GPP (10415)
+type AVP_Unsigned32 IDR_Flags;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.104
+// AVP: ICS-Indicator (1491) 3GPP (10415)
+type enumerated ICS_Indicator
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// 3GPP TS 29.272 V10.3.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 V10.3.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 V10.3.0
+// 7.3.108
+// AVP: Last-UE-Activity-Time (1494) 3GPP (10415)
+type AVP_Time Last_UE_Activity_Time;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.110
+// AVP: EPS-User-State (1495) 3GPP (10415)
+type AVP_Grouped EPS_User_State;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.111
+// AVP: EPS-Location-Information (1496) 3GPP (10415)
+type AVP_Grouped EPS_Location_Information;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.112
+// AVP: MME-User-State (1497) 3GPP (10415)
+type AVP_Grouped MME_User_State;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.113
+// AVP: SGSN-User-State (1498) 3GPP (10415)
+type AVP_Grouped SGSN_User_State;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.115
+// AVP: MME-Location-Information (1600) 3GPP (10415)
+type AVP_Grouped MME_Location_Information;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.116
+// AVP: SGSN-Location-Information (1601) 3GPP (10415)
+type AVP_Grouped SGSN_Location_Information;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.118
+// AVP: Tracking-Area-Identity (1603) 3GPP (10415)
+type AVP_OctetString Tracking_Area_Identity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.119
+// AVP: Cell-Global-Identity (1604) 3GPP (10415)
+type AVP_OctetString Cell_Global_Identity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.120
+// AVP: Routing-Area-Identity (1605) 3GPP (10415)
+type AVP_OctetString Routing_Area_Identity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.121
+// AVP: Location-Area-Identity (1606) 3GPP (10415)
+type AVP_OctetString Location_Area_Identity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.122
+// AVP: Service-Area-Identity (1607) 3GPP (10415)
+type AVP_OctetString Service_Area_Identity;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.123
+// AVP: Geographical-Information (1608) 3GPP (10415)
+type AVP_OctetString Geographical_Information;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.124
+// AVP: Geodetic-Information (1609) 3GPP (10415)
+type AVP_OctetString Geodetic_Information;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.125
+// AVP: Current-Location-Retrieved (1610) 3GPP (10415)
+type enumerated Current_Location_Retrieved
+{
+  ACTIVE_LOCATION_RETRIEVAL (0)
+}
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.126
+// AVP: Age-Of-Location-Information (1611) 3GPP (10415)
+type AVP_Unsigned32 Age_Of_Location_Information;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.127
+// AVP: Active-APN (1612) 3GPP (10415)
+type AVP_Grouped Active_APN;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.128
+// AVP: SIPTO-Permission (1613) 3GPP (10415)
+type enumerated SIPTO_Permission
+{
+  SIPTO_ALLOWED    (0),
+  SIPTO_NOTALLOWED (1)
+}
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.129
+// 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 V10.3.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 V10.3.0
+// 7.3.131
+// AVP: MPS-Priority (1616) 3GPP (10415)
+type AVP_Unsigned32 MPS_Priority;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.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 V10.3.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 V10.3.0
+// 7.3.75A
+// AVP: Ext-PDP-Type (1620) 3GPP (10415)
+type AVP_OctetString Ext_PDP_Type;
+
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.135
+// AVP: Ext-PDP-Address (1621) 3GPP (10415)
+type AVP_Address Ext_PDP_Address;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.136
+// AVP: MDT-Configuration (1622) 3GPP (10415)
+type AVP_Grouped MDT_Configuration;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.0
+// 7.3.138
+// AVP: Area-Scope (1624) 3GPP (10415)
+type AVP_Grouped Area_Scope;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.139
+// AVP: List-Of-Measurements (1625) 3GPP (10415)
+type AVP_Unsigned32 List_Of_Measurements;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.140
+// AVP: Reporting-Trigger (1626) 3GPP (10415)
+type AVP_Unsigned32 Reporting_Trigger;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.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 V10.3.0
+// 7.3.143
+// AVP: Event-Threshold-RSRP (1629) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRP;
+
+// 3GPP TS 29.272 V10.3.0
+// 7.3.144
+// AVP: Event-Threshold-RSRQ (1630) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRQ;
+
+// 3GPP TS 29.272 V10.3.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 V10.3.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 V10.3.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 V10.3.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 V10.3.0
+// 7.3.149
+// AVP: PUR-Flags (1635) 3GPP (10415)
+type AVP_Unsigned32 PUR_Flags;
+
+
+
+
+
diff --git a/src/AAAInterface_3GPP_TS29272_a60.ddf b/src/AAAInterface_3GPP_TS29272_a60.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..8446bc4f754ede4261b0012b42567d0e64dbc370
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_a60.ddf
@@ -0,0 +1,917 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_a60.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V10.6.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V10_6_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V10.6.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 V10.6.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)
+}
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.2
+// AVP: Subscription-Data (1400) 3GPP (10415)
+type AVP_Grouped Subscription_Data;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.3
+// AVP: Terminal-Information (1401) 3GPP (10415)
+type AVP_Grouped Terminal_Information;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.4
+// AVP: IMEI (1402) 3GPP (10415)
+type AVP_UTF8String IMEI;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.5
+// AVP: Software-Version (1403) 3GPP (10415)
+type AVP_UTF8String Software_Version;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.77
+// AVP: QoS-Subscribed (1404) 3GPP (10415)
+type AVP_OctetString QoS_Subscribed;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.7
+// AVP: ULR-Flags (1405) 3GPP (10415)
+type AVP_Unsigned32 ULR_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.8
+// AVP: ULA-Flags (1406) 3GPP (10415)
+type AVP_Unsigned32 ULA_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.9
+// AVP: Visited-PLMN-Id (1407) 3GPP (10415) 
+type AVP_OctetString Visited_PLMN_Id;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.11
+// AVP: Requested-EUTRAN-Authentication-Info (1408) 3GPP (10415)
+type AVP_Grouped Requested_EUTRAN_Authentication_Info;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.14
+// AVP: Number-Of-Requested-Vectors (1410) 3GPP (10415)
+type AVP_Unsigned32 Number_Of_Requested_Vectors;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.15
+// AVP: Re-Synchronization-Info (1411) 3GPP (10415)
+type AVP_OctetString Re_Synchronization_Info;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.16
+// AVP: Immediate-Response-Preferred (1412) 3GPP (10415)
+type AVP_Unsigned32 Immediate_Response_Preferred;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.17
+// AVP: Authentication-Info (1413) 3GPP (10415)
+type AVP_Grouped Authentication_Info;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.18
+// AVP: E-UTRAN-Vector (1414) 3GPP (10415)
+type AVP_Grouped E_UTRAN_Vector;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.19
+// AVP: UTRAN-Vector (1415) 3GPP (10415)
+type AVP_Grouped UTRAN_Vector;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.20
+// AVP: GERAN-Vector (1416) 3GPP (10415)
+type AVP_Grouped GERAN_Vector;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.22
+// AVP: HPLMN-ODB (1418) 3GPP (10415)
+type AVP_Unsigned32 HPLMN_ODB;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.23
+// AVP: Item-Number (1419) 3GPP (10415)
+type AVP_Unsigned32 Item_Number;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.25
+// AVP: DSR-Flags (1421) 3GPP (10415)
+type AVP_Unsigned32 DSR_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.26
+// AVP: DSA-Flags (1422) 3GPP (10415)
+type AVP_Unsigned32 DSA_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.30
+// AVP: Operator-Determined-Barring (1425) 3GPP (10415)
+type AVP_Unsigned32 Operator_Determined_Barring;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.31
+// AVP: Access-Restriction-Data (1426) 3GPP (10415)
+type AVP_Unsigned32 Access_Restriction_Data;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.32
+// AVP: APN-OI-Replacement (1427) 3GPP (10415)
+type AVP_UTF8String APN_OI_Replacement;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.34
+// AVP: APN-Configuration-Profile (1429) 3GPP (10415)
+type AVP_Grouped APN_Configuration_Profile;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.35
+// AVP: APN-Configuration (1430) 3GPP (10415)
+type AVP_Grouped APN_Configuration;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.39
+// AVP: STN-SR (1433) 3GPP (10415)
+type AVP_OctetString STN_SR;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.78
+// AVP: CSG-Subscription-Data (1436) 3GPP (10415)
+type AVP_Grouped CSG_Subscription_Data;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.79
+// AVP: CSG-Id (1437) 3GPP (10415)
+type AVP_Unsigned32 CSG_Id;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.80
+// AVP: Expiration-Date (1439) 3GPP (10415)
+type AVP_Time Expiration_Date;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.47
+// AVP: IDA-Flags (1441) 3GPP (10415)
+type AVP_Unsigned32 IDA_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.48
+// AVP: PUA-Flags (1442) 3GPP (10415)
+type AVP_Unsigned32 PUA_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.49
+// AVP: NOR-Flags (1443) 3GPP (10415)
+type AVP_Unsigned32 NOR_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.50
+// AVP: User-Id (1444) 3GPP (10415)
+type AVP_UTF8String User_Id;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.51
+// AVP: Equipment-Status (1445) 3GPP (10415)
+type enumerated Equipment_Status
+{
+  WHITELISTED (0),
+  BLACKLISTED (1),
+  GREYLISTED  (2)
+}
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.52
+// AVP: Regional-Subscription-Zone-Code (1446) 3GPP (10415)
+type AVP_OctetString Regional_Subscription_Zone_Code;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.53
+// AVP: RAND (1447) 3GPP (10415)
+type AVP_OctetString RAND;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.54
+// AVP: XRES (1448) 3GPP (10415)
+type AVP_OctetString XRES;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.55
+// AVP: AUTN (1449) 3GPP (10415)
+type AVP_OctetString AUTN;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.56
+// AVP: KASME (1450) 3GPP (10415)
+type AVP_OctetString KASME;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.98
+// AVP: Trace-Collection-Entity (1452) 3GPP (10415)
+type AVP_Address Trace_Collection_Entity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.59
+// AVP: Kc (1453) 3GPP (10415)
+type AVP_OctetString Kc;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.60
+// AVP: SRES (1454) 3GPP (10415)
+type AVP_OctetString SRES;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.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 V10.6.0
+// 7.3.63
+// AVP: Trace-Data (1458) 3GPP (10415)
+type AVP_Grouped Trace_Data;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.64
+// AVP: Trace-Reference (1459) 3GPP (10415)
+type AVP_OctetString Trace_Reference;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.67
+// AVP: Trace-Depth (1462) 3GPP (10415)
+// FS 3.3.2.10
+type AVP_Unsigned32 Trace_Depth;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.68
+// AVP: Trace-NE-Type-List (1463) 3GPP (10415)
+type AVP_OctetString Trace_NE_Type_List;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.69
+// AVP: Trace-Interface-List (1464) 3GPP (10415)
+type AVP_OctetString Trace_Interface_List;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.70
+// AVP: Trace-Event-List (1465) 3GPP (10415)
+type AVP_OctetString Trace_Event_List;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.71
+// AVP: OMC-Id (1466) 3GPP (10415)
+type AVP_OctetString OMC_Id;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.72
+// AVP: GPRS-Subscription-Data (1467) 3GPP (10415)
+type AVP_Grouped GPRS_Subscription_Data;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.74
+// AVP: PDP-Context (1469) 3GPP (10415)
+type AVP_Grouped PDP_Context;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.75
+// AVP: PDP-Type (1470) 3GPP (10415)
+type AVP_OctetString PDP_Type;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.6
+// AVP: 3GPP2-MEID (1471) 3GPP (10415)
+type AVP_OctetString 3GPP2_MEID;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.82
+// AVP: Specific-APN-Info (1472) 3GPP (10415)
+type AVP_Grouped Specific_APN_Info;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.84
+// AVP: LCS-Info (1473) 3GPP (10415)
+type AVP_Grouped LCS_Info;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.85
+// AVP: GMLC-Number (1474) 3GPP (10415)
+type AVP_OctetString GMLC_Number;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.86
+// AVP: LCS-PrivacyException (1475) 3GPP (10415)
+type AVP_Grouped LCS_PrivacyException;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.87
+// AVP: SS-Code (1476) 3GPP (10415)
+type AVP_OctetString SS_Code;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.88
+// AVP: SS-Status (1477) 3GPP (10415)
+type AVP_Grouped SS_Status;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.90
+// AVP: External-Client (1479) 3GPP (10415)
+type AVP_Grouped External_Client;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.91
+// AVP: Client-Identity (1480) 3GPP (10415)
+type AVP_OctetString Client_Identity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.92
+// AVP: GMLC-Restriction (1481) 3GPP (10415)
+type enumerated GMLC_Restriction
+{
+  GMLC_LIST    (0),
+  HOME_COUNTRY (1)
+}
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.94
+// AVP: Service-Type (1483) 3GPP (10415)
+type AVP_Grouped Service_Type;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.95
+// AVP: ServiceTypeIdentity (1484) 3GPP (10415)
+type AVP_Unsigned32 ServiceTypeIdentity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.96
+// AVP: MO-LR (1485) 3GPP (10415)
+type AVP_Grouped MO_LR;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.99
+// AVP: Teleservice-List (1486) 3GPP (10415)
+type AVP_Grouped Teleservice_List;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.100
+// AVP: TS-Code (1487) 3GPP (10415)
+type AVP_OctetString TS_Code;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.101
+// AVP: Call-Barring-Infor-List (1488) 3GPP (10415)
+type AVP_Grouped Call_Barring_Infor_List;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.102
+// AVP: SGSN-Number (1489) 3GPP (10415)
+type AVP_OctetString SGSN_Number;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.103
+// AVP: IDR-Flags (1490) 3GPP (10415)
+type AVP_Unsigned32 IDR_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.104
+// AVP: ICS-Indicator (1491) 3GPP (10415)
+type enumerated ICS_Indicator
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// 3GPP TS 29.272 V10.6.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 V10.6.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 V10.6.0
+// 7.3.108
+// AVP: Last-UE-Activity-Time (1494) 3GPP (10415)
+type AVP_Time Last_UE_Activity_Time;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.110
+// AVP: EPS-User-State (1495) 3GPP (10415)
+type AVP_Grouped EPS_User_State;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.111
+// AVP: EPS-Location-Information (1496) 3GPP (10415)
+type AVP_Grouped EPS_Location_Information;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.112
+// AVP: MME-User-State (1497) 3GPP (10415)
+type AVP_Grouped MME_User_State;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.113
+// AVP: SGSN-User-State (1498) 3GPP (10415)
+type AVP_Grouped SGSN_User_State;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.115
+// AVP: MME-Location-Information (1600) 3GPP (10415)
+type AVP_Grouped MME_Location_Information;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.116
+// AVP: SGSN-Location-Information (1601) 3GPP (10415)
+type AVP_Grouped SGSN_Location_Information;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.118
+// AVP: Tracking-Area-Identity (1603) 3GPP (10415)
+type AVP_OctetString Tracking_Area_Identity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.119
+// AVP: Cell-Global-Identity (1604) 3GPP (10415)
+type AVP_OctetString Cell_Global_Identity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.120
+// AVP: Routing-Area-Identity (1605) 3GPP (10415)
+type AVP_OctetString Routing_Area_Identity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.121
+// AVP: Location-Area-Identity (1606) 3GPP (10415)
+type AVP_OctetString Location_Area_Identity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.122
+// AVP: Service-Area-Identity (1607) 3GPP (10415)
+type AVP_OctetString Service_Area_Identity;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.123
+// AVP: Geographical-Information (1608) 3GPP (10415)
+type AVP_OctetString Geographical_Information;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.124
+// AVP: Geodetic-Information (1609) 3GPP (10415)
+type AVP_OctetString Geodetic_Information;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.125
+// AVP: Current-Location-Retrieved (1610) 3GPP (10415)
+type enumerated Current_Location_Retrieved
+{
+  ACTIVE_LOCATION_RETRIEVAL (0)
+}
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.126
+// AVP: Age-Of-Location-Information (1611) 3GPP (10415)
+type AVP_Unsigned32 Age_Of_Location_Information;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.127
+// AVP: Active-APN (1612) 3GPP (10415)
+type AVP_Grouped Active_APN;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.129
+// AVP: Ext-PDP-Address (1621) 3GPP (10415)
+type AVP_Address Ext_PDP_Address;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.131
+// AVP: MPS-Priority (1616) 3GPP (10415)
+type AVP_Unsigned32 MPS_Priority;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.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 V10.6.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 V10.6.0
+// 7.3.75A
+// AVP: Ext-PDP-Type (1620) 3GPP (10415)
+type AVP_OctetString Ext_PDP_Type;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.135
+// AVP: SIPTO-Permission (1613) 3GPP (10415)
+type enumerated SIPTO_Permission
+{
+  SIPTO_ALLOWED    (0),
+  SIPTO_NOTALLOWED (1)
+}
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.136
+// AVP: MDT-Configuration (1622) 3GPP (10415)
+type AVP_Grouped MDT_Configuration;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.0
+// 7.3.138
+// AVP: Area-Scope (1624) 3GPP (10415)
+type AVP_Grouped Area_Scope;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.139
+// AVP: List-Of-Measurements (1625) 3GPP (10415)
+type AVP_Unsigned32 List_Of_Measurements;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.140
+// AVP: Reporting-Trigger (1626) 3GPP (10415)
+type AVP_Unsigned32 Reporting_Trigger;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.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 V10.6.0
+// 7.3.143
+// AVP: Event-Threshold-RSRP (1629) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRP;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.144
+// AVP: Event-Threshold-RSRQ (1630) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRQ;
+
+// 3GPP TS 29.272 V10.6.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 V10.6.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 V10.6.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 V10.6.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 V10.6.0
+// 7.3.149
+// AVP: PUR-Flags (1635) 3GPP (10415)
+type AVP_Unsigned32 PUR_Flags;
+
+// 3GPP TS 29.272 V10.6.0
+// 7.3.152
+// AVP: CLR-Flags (1638) 3GPP (10415)
+type AVP_Unsigned32 CLR_Flags;
+
+
diff --git a/src/AAAInterface_3GPP_TS29272_b60.ddf b/src/AAAInterface_3GPP_TS29272_b60.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..6043494fca07ed4e40c324fc6413299a32d69c70
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29272_b60.ddf
@@ -0,0 +1,1087 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29272_b60.ddf
+//  Description:        DDF for S6a/S6d and S13 Interfaces according to 3GPP TS 29.272 V11.6.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V11_6_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.0
+// 7.3.2
+// AVP: Subscription-Data (1400) 3GPP (10415)
+type AVP_Grouped Subscription_Data;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.3
+// AVP: Terminal-Information (1401) 3GPP (10415)
+type AVP_Grouped Terminal_Information;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.4
+// AVP: IMEI (1402) 3GPP (10415)
+type AVP_UTF8String IMEI;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.5
+// AVP: Software-Version (1403) 3GPP (10415)
+type AVP_UTF8String Software_Version;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.77
+// AVP: QoS-Subscribed (1404) 3GPP (10415)
+type AVP_OctetString QoS_Subscribed;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.7
+// AVP: ULR-Flags (1405) 3GPP (10415)
+type AVP_Unsigned32 ULR_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.8
+// AVP: ULA-Flags (1406) 3GPP (10415)
+type AVP_Unsigned32 ULA_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.9
+// AVP: Visited-PLMN-Id (1407) 3GPP (10415) 
+type AVP_OctetString Visited_PLMN_Id;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.11
+// AVP: Requested-EUTRAN-Authentication-Info (1408) 3GPP (10415)
+type AVP_Grouped Requested_EUTRAN_Authentication_Info;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.14
+// AVP: Number-Of-Requested-Vectors (1410) 3GPP (10415)
+type AVP_Unsigned32 Number_Of_Requested_Vectors;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.15
+// AVP: Re-Synchronization-Info (1411) 3GPP (10415)
+type AVP_OctetString Re_Synchronization_Info;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.16
+// AVP: Immediate-Response-Preferred (1412) 3GPP (10415)
+type AVP_Unsigned32 Immediate_Response_Preferred;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.17
+// AVP: Authentication-Info (1413) 3GPP (10415)
+type AVP_Grouped Authentication_Info;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.18
+// AVP: E-UTRAN-Vector (1414) 3GPP (10415)
+type AVP_Grouped E_UTRAN_Vector;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.19
+// AVP: UTRAN-Vector (1415) 3GPP (10415)
+type AVP_Grouped UTRAN_Vector;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.20
+// AVP: GERAN-Vector (1416) 3GPP (10415)
+type AVP_Grouped GERAN_Vector;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.22
+// AVP: HPLMN-ODB (1418) 3GPP (10415)
+type AVP_Unsigned32 HPLMN_ODB;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.23
+// AVP: Item-Number (1419) 3GPP (10415)
+type AVP_Unsigned32 Item_Number;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.25
+// AVP: DSR-Flags (1421) 3GPP (10415)
+type AVP_Unsigned32 DSR_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.26
+// AVP: DSA-Flags (1422) 3GPP (10415)
+type AVP_Unsigned32 DSA_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.27
+// AVP: Context-Identifier (1423) 3GPP (10415)
+type AVP_Unsigned32 Context_Identifier;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.30
+// AVP: Operator-Determined-Barring (1425) 3GPP (10415)
+type AVP_Unsigned32 Operator_Determined_Barring;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.31
+// AVP: Access-Restriction-Data (1426) 3GPP (10415)
+type AVP_Unsigned32 Access_Restriction_Data;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.32
+// AVP: APN-OI-Replacement (1427) 3GPP (10415)
+type AVP_UTF8String APN_OI_Replacement;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.34
+// AVP: APN-Configuration-Profile (1429) 3GPP (10415)
+type AVP_Grouped APN_Configuration_Profile;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.35
+// AVP: APN-Configuration (1430) 3GPP (10415)
+type AVP_Grouped APN_Configuration;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.37
+// AVP: EPS-Subscribed-QoS-Profile (1431) 3GPP (10415)
+type AVP_Grouped EPS_Subscribed_QoS_Profile;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.39
+// AVP: STN-SR (1433) 3GPP (10415)
+type AVP_OctetString STN_SR;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.41
+// AVP: AMBR (1435) 3GPP (10415)
+type AVP_Grouped AMBR;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.78
+// AVP: CSG-Subscription-Data (1436) 3GPP (10415)
+type AVP_Grouped CSG_Subscription_Data;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.79
+// AVP: CSG-Id (1437) 3GPP (10415)
+type AVP_Unsigned32 CSG_Id;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.80
+// AVP: Expiration-Date (1439) 3GPP (10415)
+type AVP_Time Expiration_Date;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.47
+// AVP: IDA-Flags (1441) 3GPP (10415)
+type AVP_Unsigned32 IDA_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.48
+// AVP: PUA-Flags (1442) 3GPP (10415)
+type AVP_Unsigned32 PUA_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.49
+// AVP: NOR-Flags (1443) 3GPP (10415)
+type AVP_Unsigned32 NOR_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.50
+// AVP: User-Id (1444) 3GPP (10415)
+type AVP_UTF8String User_Id;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.51
+// AVP: Equipment-Status (1445) 3GPP (10415)
+type enumerated Equipment_Status
+{
+  WHITELISTED (0),
+  BLACKLISTED (1),
+  GREYLISTED  (2)
+}
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.52
+// AVP: Regional-Subscription-Zone-Code (1446) 3GPP (10415)
+type AVP_OctetString Regional_Subscription_Zone_Code;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.53
+// AVP: RAND (1447) 3GPP (10415)
+type AVP_OctetString RAND;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.54
+// AVP: XRES (1448) 3GPP (10415)
+type AVP_OctetString XRES;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.55
+// AVP: AUTN (1449) 3GPP (10415)
+type AVP_OctetString AUTN;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.56
+// AVP: KASME (1450) 3GPP (10415)
+type AVP_OctetString KASME;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.98
+// AVP: Trace-Collection-Entity (1452) 3GPP (10415)
+type AVP_Address Trace_Collection_Entity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.59
+// AVP: Kc (1453) 3GPP (10415)
+type AVP_OctetString Kc;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.60
+// AVP: SRES (1454) 3GPP (10415)
+type AVP_OctetString SRES;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.0
+// 7.3.63
+// AVP: Trace-Data (1458) 3GPP (10415)
+type AVP_Grouped Trace_Data;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.64
+// AVP: Trace-Reference (1459) 3GPP (10415)
+type AVP_OctetString Trace_Reference;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.67
+// AVP: Trace-Depth (1462) 3GPP (10415)
+// FS 3.3.2.10
+type AVP_Unsigned32 Trace_Depth;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.68
+// AVP: Trace-NE-Type-List (1463) 3GPP (10415)
+type AVP_OctetString Trace_NE_Type_List;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.69
+// AVP: Trace-Interface-List (1464) 3GPP (10415)
+type AVP_OctetString Trace_Interface_List;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.70
+// AVP: Trace-Event-List (1465) 3GPP (10415)
+type AVP_OctetString Trace_Event_List;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.71
+// AVP: OMC-Id (1466) 3GPP (10415)
+type AVP_OctetString OMC_Id;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.72
+// AVP: GPRS-Subscription-Data (1467) 3GPP (10415)
+type AVP_Grouped GPRS_Subscription_Data;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.74
+// AVP: PDP-Context (1469) 3GPP (10415)
+type AVP_Grouped PDP_Context;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.75
+// AVP: PDP-Type (1470) 3GPP (10415)
+type AVP_OctetString PDP_Type;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.6
+// AVP: 3GPP2-MEID (1471) 3GPP (10415)
+type AVP_OctetString 3GPP2_MEID;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.82
+// AVP: Specific-APN-Info (1472) 3GPP (10415)
+type AVP_Grouped Specific_APN_Info;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.84
+// AVP: LCS-Info (1473) 3GPP (10415)
+type AVP_Grouped LCS_Info;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.85
+// AVP: GMLC-Number (1474) 3GPP (10415)
+type AVP_OctetString GMLC_Number;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.86
+// AVP: LCS-PrivacyException (1475) 3GPP (10415)
+type AVP_Grouped LCS_PrivacyException;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.87
+// AVP: SS-Code (1476) 3GPP (10415)
+type AVP_OctetString SS_Code;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.88
+// AVP: SS-Status (1477) 3GPP (10415)
+type AVP_Grouped SS_Status;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.90
+// AVP: External-Client (1479) 3GPP (10415)
+type AVP_Grouped External_Client;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.91
+// AVP: Client-Identity (1480) 3GPP (10415)
+type AVP_OctetString Client_Identity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.92
+// AVP: GMLC-Restriction (1481) 3GPP (10415)
+type enumerated GMLC_Restriction
+{
+  GMLC_LIST    (0),
+  HOME_COUNTRY (1)
+}
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.94
+// AVP: Service-Type (1483) 3GPP (10415)
+type AVP_Grouped Service_Type;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.95
+// AVP: ServiceTypeIdentity (1484) 3GPP (10415)
+type AVP_Unsigned32 ServiceTypeIdentity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.96
+// AVP: MO-LR (1485) 3GPP (10415)
+type AVP_Grouped MO_LR;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.99
+// AVP: Teleservice-List (1486) 3GPP (10415)
+type AVP_Grouped Teleservice_List;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.100
+// AVP: TS-Code (1487) 3GPP (10415)
+type AVP_OctetString TS_Code;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.101
+// AVP: Call-Barring-Infor-List (1488) 3GPP (10415)
+type AVP_Grouped Call_Barring_Infor_List;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.102
+// AVP: SGSN-Number (1489) 3GPP (10415)
+type AVP_OctetString SGSN_Number;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.103
+// AVP: IDR-Flags (1490) 3GPP (10415)
+type AVP_Unsigned32 IDR_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.104
+// AVP: ICS-Indicator (1491) 3GPP (10415)
+type enumerated ICS_Indicator
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.0
+// 7.3.108
+// AVP: Last-UE-Activity-Time (1494) 3GPP (10415)
+type AVP_Time Last_UE_Activity_Time;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.110
+// AVP: EPS-User-State (1495) 3GPP (10415)
+type AVP_Grouped EPS_User_State;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.111
+// AVP: EPS-Location-Information (1496) 3GPP (10415)
+type AVP_Grouped EPS_Location_Information;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.112
+// AVP: MME-User-State (1497) 3GPP (10415)
+type AVP_Grouped MME_User_State;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.113
+// AVP: SGSN-User-State (1498) 3GPP (10415)
+type AVP_Grouped SGSN_User_State;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.115
+// AVP: MME-Location-Information (1600) 3GPP (10415)
+type AVP_Grouped MME_Location_Information;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.116
+// AVP: SGSN-Location-Information (1601) 3GPP (10415)
+type AVP_Grouped SGSN_Location_Information;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.118
+// AVP: Tracking-Area-Identity (1603) 3GPP (10415)
+type AVP_OctetString Tracking_Area_Identity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.119
+// AVP: Cell-Global-Identity (1604) 3GPP (10415)
+type AVP_OctetString Cell_Global_Identity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.120
+// AVP: Routing-Area-Identity (1605) 3GPP (10415)
+type AVP_OctetString Routing_Area_Identity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.121
+// AVP: Location-Area-Identity (1606) 3GPP (10415)
+type AVP_OctetString Location_Area_Identity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.122
+// AVP: Service-Area-Identity (1607) 3GPP (10415)
+type AVP_OctetString Service_Area_Identity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.123
+// AVP: Geographical-Information (1608) 3GPP (10415)
+type AVP_OctetString Geographical_Information;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.124
+// AVP: Geodetic-Information (1609) 3GPP (10415)
+type AVP_OctetString Geodetic_Information;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.125
+// AVP: Current-Location-Retrieved (1610) 3GPP (10415)
+type enumerated Current_Location_Retrieved
+{
+  ACTIVE_LOCATION_RETRIEVAL (0)
+}
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.126
+// AVP: Age-Of-Location-Information (1611) 3GPP (10415)
+type AVP_Unsigned32 Age_Of_Location_Information;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.127
+// AVP: Active-APN (1612) 3GPP (10415)
+type AVP_Grouped Active_APN;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.129
+// AVP: Ext-PDP-Address (1621) 3GPP (10415)
+type AVP_Address Ext_PDP_Address;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.131
+// AVP: MPS-Priority (1616) 3GPP (10415)
+type AVP_Unsigned32 MPS_Priority;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.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 V11.6.0
+// 7.3.75A
+// AVP: Ext-PDP-Type (1620) 3GPP (10415)
+type AVP_OctetString Ext_PDP_Type;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.135
+// AVP: SIPTO-Permission (1613) 3GPP (10415)
+type enumerated SIPTO_Permission
+{
+  SIPTO_ALLOWED    (0),
+  SIPTO_NOTALLOWED (1)
+}
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.136
+// AVP: MDT-Configuration (1622) 3GPP (10415)
+type AVP_Grouped MDT_Configuration;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.138
+// AVP: Area-Scope (1624) 3GPP (10415)
+type AVP_Grouped Area_Scope;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.139
+// AVP: List-Of-Measurements (1625) 3GPP (10415)
+type AVP_Unsigned32 List_Of_Measurements;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.140
+// AVP: Reporting-Trigger (1626) 3GPP (10415)
+type AVP_Unsigned32 Reporting_Trigger;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.0
+// 7.3.143
+// AVP: Event-Threshold-RSRP (1629) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRP;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.144
+// AVP: Event-Threshold-RSRQ (1630) 3GPP (10415)
+type AVP_Unsigned32 Event_Threshold_RSRQ;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.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 V11.6.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 V11.6.0
+// 7.3.149
+// AVP: PUR-Flags (1635) 3GPP (10415)
+type AVP_Unsigned32 PUR_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.150
+// AVP: Subscribed-VSRVCC (1636) 3GPP (10415)
+type enumerated Subscribed_VSRVCC
+{
+  VSRVCC_SUBSCRIBED  (0) 
+}
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.151
+// AVP: Equivalent-PLMN-List (1637) 3GPP (10415)
+type AVP_Grouped Equivalent_PLMN_List;
+
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.152
+// AVP: CLR-Flags (1638) 3GPP (10415)
+type AVP_Unsigned32 CLR_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.153
+// AVP: UVR-Flags (1639) 3GPP (10415)
+type AVP_Unsigned32 UVR_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.154
+// AVP: UVA-Flags (1640) 3GPP (10415)
+type AVP_Unsigned32 UVA_Flags;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.155
+// AVP: VPLMN-CSG-Subscription-Data (1641) 3GPP (10415)
+type AVP_Grouped VPLMN_CSG_Subscription_Data;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.156
+// AVP: Local-Time-Zone (1649) 3GPP (10415)
+type AVP_Grouped Local_Time_Zone;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.157
+// AVP: A-MSISDN (1643) 3GPP (10415)
+type AVP_OctetString A_MSISDN;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.0
+// 7.3.163
+// AVP: Time-Zone (1642) 3GPP (10415)
+type AVP_UTF8String Time_Zone;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.0
+// 7.3.165
+// AVP: Subscription-Data-Flags (1654) 3GPP (10415)
+type AVP_Unsigned32 Subscription_Data_Flags;
+
+// 3GPP TS 29.272 V11.6.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 V11.6.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 V11.6.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 V11.6.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 V11.6.0
+// 7.3.170
+// AVP: Positioning-Method (1659) 3GPP (10415)
+type AVP_OctetString Positioning_Method;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.171
+// AVP: Measurement_Quantity (1660) 3GPP (10415)
+type AVP_OctetString Measurement_Quantity;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.172
+// AVP: Event-Threshold-Event-1F (1661) 3GPP (10415)
+type AVP_Integer32 Event_Threshold_Event_1F;
+
+// 3GPP TS 29.272 V11.6.0
+// 7.3.173
+// AVP: Event-Threshold-Event-1I (1662) 3GPP (10415)
+type AVP_Integer32 Event_Threshold_Event_1I;
+
+
+
+
diff --git a/src/AAAInterface_3GPP_TS29273_840.ddf b/src/AAAInterface_3GPP_TS29273_840.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..2873560626433a910613c3e860bf8a339aa214b4
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29273_840.ddf
@@ -0,0 +1,71 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29273_840.ddf
+//  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V8.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V8_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.273 V8.4.0 - EPS AAA interfaces based on the Diameter protocol
+// Statement of Compiance  X/174 02-AXB 250 20 Uen PA2
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Access Server Application
+
+// 3GPP TS 32.273 V8.4.0  9.2.2
+type enumerated Command_Code {  
+  AA                    (265),
+  Session_Termination   (275), 
+  Abort_Session         (274)  
+}
+
+// 3GPP 29.273 V8.4.0
+// AVP: MIP6-Agent-Info (486)
+// 9.2.3.2.2
+type AVP_Grouped MIP6_Agent_Info
+
+// 3GPP 29.273 V8.4.0
+// AVP: MIP6-Feature-Vector (124)
+// 9.2.3.2.3
+type AVP_Unsigned64 MIP6_Feature_Vector
diff --git a/src/AAAInterface_3GPP_TS29273_940.ddf b/src/AAAInterface_3GPP_TS29273_940.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..628d51799a124cb833c1b16a75f42ba5d8203380
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29273_940.ddf
@@ -0,0 +1,115 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29273_940.ddf
+//  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V9.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V9_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.273 V9.4.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 V9.4.0  9.2.2
+type enumerated Command_Code {  
+  AA                     (265),
+  Session_Termination    (275), 
+  Abort_Session          (274)  
+}
+
+// 3GPP 29.273 V9.4.0
+// AVP: ANID (1504) 3GPP (10415)
+// 5.2.3.7
+type AVP_UTF8String ANID
+
+// 3GPP 29.273 V9.4.0
+// AVP: AN-Trusted (1503) 3GPP (10415)
+// 5.2.3.9
+type enumerated AN_Trusted {
+  TRUSTED                            (0),
+  UNTRUSTED                          (1)
+}
+
+// 3GPP 29.273 V9.4.0
+// AVP: Non-3GPP-User-Data (1500) 3GPP (10415)
+// 8.2.3.1
+type AVP_Grouped Non_3GPP_User_Data
+
+// 3GPP 29.273 V9.4.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 V9.4.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 V9.4.0
+// AVP: MIP6-Agent-Info (486)
+// 9.2.3.2.2
+type AVP_Grouped MIP6_Agent_Info
+
+// 3GPP 29.273 V9.4.0
+// AVP: MIP6-Feature-Vector (124)
+// 9.2.3.2.3
+type AVP_Unsigned64 MIP6_Feature_Vector
+
+// 3GPP 29.273 V9.4.0, CR 0205
+// AVP: Visited-Network-Identifier (600)
+// 9.2.3.1.2
+type AVP_OctetString Visited_Network_Identifier
+
+// 3GPP 29.273 V9.4.0, CR 0205
+// AVP: APN-Configuration (1430) 3GPP (10415)
+// 8.2.3.7
+type AVP_Grouped APN_Configuration
diff --git a/src/AAAInterface_3GPP_TS29273_b30.ddf b/src/AAAInterface_3GPP_TS29273_b30.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..ed1361cd1a8a449467842eb4a65151a07c6f6ecc
--- /dev/null
+++ b/src/AAAInterface_3GPP_TS29273_b30.ddf
@@ -0,0 +1,131 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               AAAInterface_3GPP_TS29273_940.ddf
+//  Description:        DDF for EPS AAA according to 3GPP TS 29.273 V11.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: AAA
+// APPLICATION-REVISION: V11_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.273 V11.3.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 V11.3.0  9.2.2
+type enumerated Command_Code {  
+  AA                     (265),
+  Session_Termination    (275), 
+  Abort_Session          (274)  
+}
+
+// 3GPP 29.273 V11.3.0
+// AVP: ANID (1504) 3GPP (10415)
+// 5.2.3.7
+type AVP_UTF8String ANID
+
+// 3GPP 29.273 V11.3.0
+// AVP: AN-Trusted (1503) 3GPP (10415)
+// 5.2.3.9
+type enumerated AN_Trusted {
+  TRUSTED                            (0),
+  UNTRUSTED                          (1)
+}
+
+// 3GPP 29.273 V11.3.0
+// AVP: Non-3GPP-User-Data (1500) 3GPP (10415)
+// 8.2.3.1
+type AVP_Grouped Non_3GPP_User_Data
+
+// 3GPP 29.273 V11.3.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 V11.3.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 V11.3.0
+// AVP: MIP6-Agent-Info (486)
+// 9.2.3.2.2
+type AVP_Grouped MIP6_Agent_Info
+
+// 3GPP 29.273 V11.3.0
+// AVP: MIP6-Feature-Vector (124)
+// 9.2.3.2.3
+type AVP_Unsigned64 MIP6_Feature_Vector
+
+// 3GPP 29.273 V11.3.0, CR 0205
+// AVP: Visited-Network-Identifier (600)
+// 9.2.3.1.2
+type AVP_OctetString Visited_Network_Identifier
+
+// 3GPP 29.273 V11.3.0, CR 0205
+// AVP: APN-Configuration (1430) 3GPP (10415)
+// 8.2.3.7
+type AVP_Grouped APN_Configuration
+
+// 3GPP 29.273 V11.3.0
+// AVP: Trust-Relationship-Update (1515) 3GPP (10415)
+// 9.2.3.1.4
+type enumerated Trust_Relationship_Update {
+  REQUEST_UPDATE          (1)
+}
+
+// 3GPP 29.273 V11.3.0
+// AVP: Trace-Info (1505)
+// 8.2.3.13
+type AVP_Grouped Trace_Info
+
+
+
+
diff --git a/src/AVP.awk b/src/AVP.awk
new file mode 100644
index 0000000000000000000000000000000000000000..00eb8a7a00bbe0889110f3fc8cc8edb845e44855
--- /dev/null
+++ b/src/AVP.awk
@@ -0,0 +1,409 @@
+###############################################################################
+# 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
+#   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
+###############################################################################
+#                                                                           #
+#  File:               AVP.awk                                              #
+#  Description:	       Diameter Protocol Module Generator (DPMG) GNU awk    #
+#                      script for weaving DDF files                         #
+#                      Requires GNU awk 3.1.6                               #
+#  Rev:                RnXnn                                                #
+#  Prodnr:             CNL 113 462                                          #
+#                                                                           #
+#############################################################################
+
+BEGIN {
+  FS = "[ \t\n;]+"
+  HT = "\t"
+  SP = " "
+  # Number of AVP descriptors found in input DDF file
+  avp_descriptors = 0
+  # Number of AVP type definitions matching preceeding AVP descriptor
+  matching_avp_types = 0
+  # Identifier of generated TTCN-3 module
+  if(!module_id) module_id = "DIAMETER_Types"
+  # Use APPLICATION-REVISION prefix in AVP type identifiers when true
+  if(!use_application_revision) use_application_revision = 0
+  # Replace all enumeration type AVPs with type Unsigned32 when true
+  if(!enum_2_Unsigned32) enum_2_Unsigned32 = 0
+  # Use integer for 32 bit unsigned and 64 bit signed types when true
+  if(!use_bigint) use_bigint = 0
+  # Use detailed description for RPET and VMP bits
+  if(!detailed_bits) detailed_bits = 0
+  # Disable application name prefix
+  if(!disable_prefix) disable_prefix = 0
+  # Replace the listed enumeration type AVPs with type Unsigned32
+  enum_replace_list["0 0"]=1
+  if(enum_2_Unsigned32_list){
+    while ((getline < enum_2_Unsigned32_list) > 0)
+    {
+      split($0,el," ")
+      enum_replace_list["(" el[1] ")" SP "(" el[2] ")"]=1
+    }
+    close(enum_2_Unsigned32_list);
+  } 
+
+
+  print "module " module_id " {"
+}
+
+{ 
+  # Remove excess WS from beginning and end of EACH record
+  sub(/^[ \t]+/, "") 
+  sub(/[ \t]+$/, "")
+}
+
+/\/\/ APPLICATION-NAME:/ {
+  # Will be used to prefix generated AVP type definitions
+  if(disable_prefix) {
+    application_id = "AVP_"
+  } else {
+    application_id = $3 "_"
+  }
+}
+
+/\/\/ APPLICATION-REVISION:/ {
+  # Could be used as additional prefix for generated AVP type definitions
+  application_revision = $3
+  if(use_application_revision && !disable_prefix && application_revision) {
+    application_id = application_id application_revision "_"
+  }
+}
+
+/\/\/ AVP:/ {
+  # AVP descriptor line e.g.:
+  # // AVP: Official-AVP-Name (Official-AVP-Code) Vendor-Id (Vendor-Id-Code)
+  #         <------ $3 -----> <------  $4 ------> <- $5  -> <----- $6 ----->
+  new_avp_name = $3
+  new_avp_code = $4
+  new_avp_vendor_id = $5
+  new_avp_vendor_id_code = $6
+  if(!new_avp_vendor_id) {
+    new_avp_vendor_id = "NONE"
+    new_avp_vendor_id_code = "(0)"
+  }
+  gsub(/-/, "_", new_avp_name)
+  gsub(/-/, "_", new_vendor_id)
+  avp_descriptors++ 
+}
+
+/\<type/ {
+  # TTCN-3 type definition MUST be in a single line!
+  # <type> <kind> <identifier>
+  if($3 == new_avp_name && (new_avp_code SP new_avp_vendor_id_code) in AVP) {
+    print "// WARNING: Duplicated AVP definition removed by gawk script!"
+    if($2 == "enumerated") { f_ReadTotalEnum() }
+    ++deleted_avp_types
+    next
+  } else if($3 == new_avp_name) {
+    ++matching_avp_types
+    $3 = new_avp_id = application_id new_avp_vendor_id "_" new_avp_name 
+    AVP[new_avp_code SP new_avp_vendor_id_code] = new_avp_id
+    if(!(new_avp_vendor_id_code in VENDORID)) {
+      VENDORID[new_avp_vendor_id_code] = new_avp_vendor_id
+    }
+    if($2 == "enumerated") {
+      f_ReadTotalEnum()
+      if(enum_2_Unsigned32 || ((new_avp_code SP new_avp_vendor_id_code) in enum_replace_list)) {
+        print "// WARNING: Enumeration type AVP replaced by Unsigned32!"
+        print "type AVP_Unsigned32 " new_avp_id ";"
+      } else {
+        gsub(/\,/, ",\n", total_enum)
+        sub(/\{/, " {\n", total_enum)
+        sub(/\}/, "\n}", total_enum)
+        f_AddVariant_U32(total_enum)
+      }
+      next
+    }
+  } else if($2 == "enumerated" && $3 == "Command_Code") {
+    # TODO: check unique entries!
+    f_ReadTotalEnum()
+    f_ParseStoreTotalEnum("Command_Code")
+  }
+}
+
+/!2 / {
+  if(use_bigint){
+    sub(/!2 /,"")
+    print
+  }
+  next
+}
+/!1 / {
+  if(!use_bigint){
+    sub(/!1 /,"")
+    print
+  }
+  next
+}
+
+/!4 / {
+  if(detailed_bits){
+    sub(/!4 /,"")
+    print
+  }
+  next
+}
+/!3 / {
+  if(!detailed_bits){
+    sub(/!3 /,"")
+    print
+  }
+  next
+}
+
+/!5 / {
+  if(!use_UTF8_encoding){
+    sub(/!5 /,"")
+    print
+  }
+  next
+}
+/!6 / {
+  if(use_UTF8_encoding){
+    sub(/!6 /,"")
+    print
+  }
+  next
+}
+
+
+
+
+
+{print}
+
+END {
+  print "// STATISTICS: " avp_descriptors " AVP descriptors found"
+  print "// STATISTICS: " matching_avp_types \
+    " AVP type definitions matching AVP descriptors found"
+  print "// STATISTICS: " deleted_avp_types " duplicate AVP definitions deleted"
+  if(avp_descriptors != matching_avp_types + deleted_avp_types) {
+    print "// ERROR: avp_descriptors " avp_descriptors \
+      " != matching_avp_types " matching_avp_types
+  exit(1)
+  }
+
+  print "type enumerated Command_Code {"
+  print ENUM["Command_Code"]
+  print "} with {"
+  print HT "variant \"FIELDLENGTH(24)\""
+  print HT "variant \"BYTEORDER(last)\""
+  print "}\n"
+	
+  print "type enumerated Vendor_Id {"
+  len = length(VENDORID)
+  for (i in VENDORID) {
+    printf ("\tvendor_id_%s %s%s\n", VENDORID[i], i, (--len) ? "," : "")
+  }
+  f_AddVariant_U32("}")
+
+  for (i in VENDORID) {
+    AVP_Code_VENDORID[i] = "type enumerated AVP_Code_" VENDORID[i] " {\n"
+  }
+  for (i in AVP) {
+    split(i, t)
+    AVP_Code_VENDORID[t[2]] = \
+      AVP_Code_VENDORID[t[2]] HT "avp_code_" AVP[i] SP t[1] ",\n"
+  }
+  for (i in VENDORID) {
+    sub(/\,\n$/, "", AVP_Code_VENDORID[i])
+    print AVP_Code_VENDORID[i]
+    f_AddVariant_U32("}");
+  }
+
+  print "type union AVP_Code {"
+  len = length(VENDORID)
+  for (i in VENDORID) {
+    printf ("\tAVP_Code_%s vendor_id_%s%s\n", \
+      VENDORID[i], VENDORID[i], (--len) ? "," : "")
+  }	
+  print "}"
+
+  print "type record AVP_Header {"
+  print HT "AVP_Code avp_code,"
+  if(detailed_bits){
+    print HT "BIT1 V_bit,"
+    print HT "BIT1 M_bit,"
+    print HT "BIT1 P_bit,"
+    print HT "BIT5 r_bits,"
+  } else {  
+    print HT "BIT8 VMPxxxxx,"
+  }
+  print HT "UINT24 avp_length,"
+  print HT "Vendor_Id vendor_id optional"
+  print "} with {"
+  print HT "variant (vendor_id) \"PRESENCE( {"
+  if(detailed_bits){
+    print HT HT "V_bit = '1'B"
+  } else {  
+    print HT HT "VMPxxxxx = '10000000'B,"
+    print HT HT "VMPxxxxx = '10100000'B,"
+    print HT HT "VMPxxxxx = '11000000'B,"
+    print HT HT "VMPxxxxx = '11100000'B"
+  }
+  print HT "} )\""
+  print HT "variant (avp_code) \"CROSSTAG("
+  for(i in VENDORID) {
+    if(VENDORID[i] == "NONE") { tmp = "omit" }
+    else { tmp = "vendor_id_" VENDORID[i] }
+    print HT HT "vendor_id_" VENDORID[i] ", vendor_id = " tmp ";"
+  }
+  print HT ")\""
+  if(detailed_bits){
+    print HT "variant (r_bits, P_bit, M_bit, V_bit) \"FIELDORDER(msb)\""
+  }
+  print "}"
+
+  print "type union AVP_Data {"
+  for (i in AVP) {
+    print HT AVP[i] " avp_" AVP[i] ","
+  }
+  print HT "octetstring", "avp_UNKNOWN"
+  print "}"
+        
+  print "type union GenericAVP {"
+  print HT "AVP avp,"
+  print HT "Undefined_AVP avp_undefined,"
+  print HT "octetstring avp_UNKNOWN"
+  print "}"
+
+  print "type record Undefined_AVP {"
+  print HT "OCTET4 avp_code,"
+  if(detailed_bits){
+    print HT "BIT1 V_bit,"
+    print HT "BIT1 M_bit,"
+    print HT "BIT1 P_bit,"
+    print HT "BIT5 r_bits,"
+  } else {  
+    print HT "BIT8 VMPxxxxx,"
+  }
+  print HT "UINT24 avp_length,"
+  print HT "OCTET4 vendor_id optional,"
+  print HT "octetstring avp_data"
+  print "} with {"
+  print HT "variant \"PADDING(dword32)\""
+  print HT "variant (vendor_id) \"PRESENCE( {"
+  if(detailed_bits){
+    print HT HT "V_bit = '1'B"
+  } else {  
+    print HT HT "VMPxxxxx = '10000000'B,"
+    print HT HT "VMPxxxxx = '10100000'B,"
+    print HT HT "VMPxxxxx = '11000000'B,"
+    print HT HT "VMPxxxxx = '11100000'B"
+  }
+  print HT "} )\""
+  if(detailed_bits){
+    print HT "variant (avp_length) \"LENGTHTO(avp_code, V_bit, M_bit, P_bit, r_bits, avp_length, vendor_id, avp_data)\""
+    print HT "variant (r_bits, P_bit, M_bit, V_bit) \"FIELDORDER(msb)\""
+  } else {
+    print HT "variant (avp_length) \"LENGTHTO(avp_code, VMPxxxxx, avp_length, vendor_id, avp_data)\""
+  }
+  print "}"
+
+  print "type record AVP {"
+  print HT "AVP_Header", "avp_header,"
+  print HT "AVP_Data", "avp_data"
+  print "} with {"
+  print HT "variant \"PADDING(dword32)\""
+  print HT "variant (avp_header) \"LENGTHTO(avp_header, avp_data)\""
+  print HT "variant (avp_header) \"LENGTHINDEX(avp_length)\""
+  print HT "variant (avp_data) \"CROSSTAG("
+  for (i in AVP) {
+    split(i, t)
+    print HT HT "avp_" AVP[i] ", " \
+      "avp_header.avp_code.vendor_id_" VENDORID[t[2]] " = " \
+      "avp_code_" AVP[i] ";"
+  }
+  print HT HT "avp_UNKNOWN, OTHERWISE"
+  print HT ")\""
+  print "}"
+
+  print "type set of GenericAVP AVP_list;"
+
+  # AVP_Code constants' generation 
+  for (i in AVP) {
+    split(i, t)
+    print "const AVP_Code c_AVP_Code_" AVP[i] " := {"
+    print HT "vendor_id_" VENDORID[t[2]] " := avp_code_" AVP[i] " };"
+  }
+
+  print "} with { encode \"RAW\" } // End module"
+  
+}
+
+function f_AddVariant_U32(prefix)
+{
+  print prefix, "with {"
+  print HT "variant \"FIELDLENGTH(32)\""
+  print HT "variant \"BYTEORDER(last)\""
+  print HT "variant \"COMP(2scompl)\""
+  print "}"
+}
+
+# Read entire type definition into total_enum
+function f_ReadTotalEnum()
+{
+  total_enum = $0
+  while(total_enum !~ /\}/) { 
+    getline
+    sub(/\/\/.*/, "")
+    total_enum = total_enum $0
+  }	
+  gsub(/[ \t]+/, " ", total_enum)
+  # Replace $0 contents with data following } 
+  idx = index(total_enum, "}")
+  $0 = substr(total_enum, idx+1)
+  total_enum = substr(total_enum, 1, idx)
+}
+
+# Extract and store enumeration items from total_enum into ENUM array for key
+function f_ParseStoreTotalEnum(key)
+{
+  sub(/^[^\{]+\{/, "", total_enum)
+  sub(/\}[^\}]*$/, "", total_enum)
+  if(ENUM[key]) {
+    split(total_enum, t, /,/)
+    for(i in t) {
+      enum_item = t[i]
+      match(enum_item, /(\([0-9]+\))/, enum_code)
+      if(!index(ENUM[key], enum_code[1])) { ENUM[key] = ENUM[key] "," t[i] }
+      else {
+        print "// WARNING: Enumeration item with code", enum_code[1], \
+          "exists in type", key
+      }
+    }
+  } else { ENUM[key] = total_enum }
+}
diff --git a/src/AVP.sh b/src/AVP.sh
new file mode 100644
index 0000000000000000000000000000000000000000..877a74a48a794d2e49bdf39a429feb04e6a1dfa4
--- /dev/null
+++ b/src/AVP.sh
@@ -0,0 +1,187 @@
+#!/bin/sh
+##############################################################################
+# 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
+#   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
+##############################################################################
+#set -x
+
+# AVP.sh [OPTION] ... DDF-FILEs
+# {-v <variable-name>=<value>} {DDF-files} 
+
+AVPSCRIPT="AVP.awk"
+AVPENCDECSCRIPT="AVP_encdec.awk"
+TTCN3FILE="DIAMETER_Types"
+CUSTOMENC=""
+USEBIGINT=""
+USEDETAILED_BITS=""
+ENCDECFILE="DIAMETER_EncDec.cc"
+UTF8ENC=""
+
+
+if [ $# -lt 1 ]; then 
+  echo "ERROR: Too few arguments"
+  echo "Usage: $0 [-vNAME=VALUE] ... DDF-FILEs"
+  echo "Where: -v sets variable NAME to VALUE"
+  echo ""
+  echo "Supported variables:"
+  echo "  module_id ................ Name of generated TTCN-3 module"
+  echo "  use_application_revision . Use revision prefix in AVP identifier"
+  echo "  enum_2_Unsigned32 ........ Replace enumeration AVPs with Unsigned32"
+  echo "  use_UTF8_encoding ........ Use UTF8 encoding for AVP_UTF8String"  
+  exit 1
+fi
+
+     # check gawk version
+     FIRSTLINE=`gawk --version|head -1`
+     PRODUCT=`echo ${FIRSTLINE} | gawk '{ print $1 $2 }'`
+     VERSION=`echo ${FIRSTLINE} | gawk '{ print $3 }'`
+     if [ ${PRODUCT} != "GNUAwk" ]; then
+       echo "ERROR: GNU Awk required"
+       exit 1
+     fi
+     RESULT=`echo ${VERSION} | gawk '{ print ($0 < "3.1.6") }'`
+     if [ ${RESULT} != 0 ]; then
+       echo "ERROR: GNU Awk version >3.1.6 required (${VERSION} found)"
+       exit 1
+     fi
+
+# Process arguments
+
+AWKARGS=$@
+while [ $# -ge 1 ]; do
+  case $1 in
+  -v)
+      shift; 
+      case $1 in
+      module_id=*)
+        TTCN3FILE=`echo $1 | sed 's/module_id=//'`
+        if [ -f "DIAMETER_EncDec.cc" ]; then 
+          cmd="s/#include \"DIAMETER_Types.hh\"/#include \"${TTCN3FILE}.hh\"/
+               s/namespace DIAMETER__Types/namespace ${TTCN3FILE}/
+               s/DIAMETER_EncDec/${TTCN3FILE}_DIAMETER_EncDec/g"
+          cat "DIAMETER_EncDec.cc" \
+              | sed "${cmd}" > ${TTCN3FILE}"_DIAMETER_EncDec.cc"
+        else
+          echo "ERROR: Missing DIAMETER_EncDec.cc file"
+          exit 1
+        fi
+        ;;
+      use_application_revision=*)
+        ;;
+      use_bigint=*)
+        USEBIGINT="YES"
+        ;;
+      detailed_bits=*)
+        USEDETAILED_BITS="YES"
+        ;;
+      enum_2_Unsigned32=*) 
+        ;;
+      enum_2_Unsigned32_list=*) 
+        ;;
+      disable_prefix=*) 
+        ;;
+      custom_enc=*)
+        CUSTOMENC="YES"
+        ;;
+      use_UTF8_encoding=*)
+	UTF8ENC="YES"
+	;;	
+      *) echo "ERROR: Unknown variable $1!"; exit 1;;
+      esac
+      ;;
+  *) 
+     # end of options
+     if [ $# -lt 1 ]; then
+       echo "ERROR: No input DDF file"
+       exit 1
+     fi
+     # check if custom_enc is defined when use_UTF8_encoding is used
+     if [ "$UTF8ENC" = "YES" ]; then
+       if [ "$CUSTOMENC" = "" ]; then     
+        echo "ERROR: No custom_enc defined. It is needed for use_UTF8_encoding!"
+        exit 1       
+       fi  
+     fi
+     ddf_files=$@
+     # check gawk existence
+     which gawk > /dev/null 2> /dev/null
+     if [ ! $? ]; then
+      echo "ERROR: GNU awk can not be found"
+      exit 1
+     fi
+     # check input awk script
+     comm_name=`which $0`
+     comm_dir_name=`dirname $comm_name`
+     if [ -f "${comm_dir_name}/${AVPSCRIPT}" ]; then
+       echo "// Generated with command:" > ${TTCN3FILE}".ttcn"
+       echo "// AVP.sh ${AWKARGS}"  >> ${TTCN3FILE}".ttcn"
+       gawk -f ${comm_dir_name}/${AVPSCRIPT} ${AWKARGS} >> ${TTCN3FILE}".ttcn"
+     else
+       echo "ERROR: AVP.awk not found"
+       exit 1
+     fi
+     if [ "$CUSTOMENC" = "YES" ]; then
+       echo "" > $ENCDECFILE
+       if [ "$USEBIGINT" = "YES" ]; then
+         echo "#define DPMG_USE_INTEGER_FOR_UINT32_INT64" >> $ENCDECFILE
+       fi
+       if [ "$USEDETAILED_BITS" = "YES" ]; then
+         echo "#define DPMG_USE_DETAILED_BITS" >> $ENCDECFILE
+       fi
+       if [ "$UTF8ENC" = "YES" ]; then
+         echo "#define DPMG_USE_UTF8_ENC" >> $ENCDECFILE
+       fi
+       cat $comm_dir_name/DIAMETER_EncDec.tpl >> $ENCDECFILE
+       
+       ext_cc_tpls=`grep -h "EXT_CC:" $ddf_files | cut -d : -f 2`
+       if [ "$ext_cc_tpls" ]
+       then
+         for i in $ext_cc_tpls
+         do
+           if [ -f $i ]
+           then 
+             cat $i >> $ENCDECFILE
+           else 
+             cat $comm_dir_name/$i >> $ENCDECFILE
+           fi
+         done
+       fi
+       gawk -f  ${comm_dir_name}/${AVPENCDECSCRIPT} ${AWKARGS} >> ${ENCDECFILE}
+     fi
+     break
+     ;;
+  esac
+  shift
+done
diff --git a/src/AVP_encdec.awk b/src/AVP_encdec.awk
new file mode 100644
index 0000000000000000000000000000000000000000..45bdd4118d02e8ea05070e814f19ed0d21194a3a
--- /dev/null
+++ b/src/AVP_encdec.awk
@@ -0,0 +1,444 @@
+###############################################################################
+# 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
+#   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
+##############################################################################
+#                                                                           #
+#  File:               AVP.awk                                              #
+#  Description:	       Diameter Protocol Module Generator (DPMG) GNU awk    #
+#                      script for weaving DDF files                         #
+#                      Requires GNU awk 3.1.6                               #
+#  Rev:                RnXnn                                                #
+#  Prodnr:             CNL 113 462                                          #
+#                                                                           #
+#############################################################################
+
+BEGIN {
+  FS = "[ \t\n;]+"
+  HT = "\t"
+  SP = " "
+  # Number of deleted AVP types
+  deleted_avp_types = 0
+  # Number of AVP descriptors found in input DDF file
+  avp_descriptors = 0
+  # Number of AVP type definitions matching preceeding AVP descriptor
+  matching_avp_types = 0
+  # Identifier of generated TTCN-3 module
+  if(!module_id) module_id = "DIAMETER_Types"
+  # Use APPLICATION-REVISION prefix in AVP type identifiers when true
+  if(!use_application_revision) use_application_revision = 0
+  # Replace all enumeration type AVPs with type Unsigned32 when true
+  if(!enum_2_Unsigned32) enum_2_Unsigned32 = 0
+  # Use integer for 32 bit unsigned and 64 bit signed types when true
+  if(!use_bigint) use_bigint = 0
+  # Use detailed description for RPET and VMP bits
+  if(!detailed_bits) detailed_bits = 0
+  # Disable application name prefix
+  if(!disable_prefix) disable_prefix = 0
+  # Replace the listed enumeration type AVPs with type Unsigned32
+  enum_replace_list["0 0"]=1
+  if(enum_2_Unsigned32_list){
+    while ((getline < enum_2_Unsigned32_list)>0)
+    {
+      split($0,el," ")
+      enum_replace_list["(" el[1] ")" SP "(" el[2] ")"]=1
+    }
+    close(enum_2_Unsigned32_list);
+  } 
+
+
+  print "int encode_AVP_Grouped(unsigned char* & p, const AVP__Grouped& avp){" 
+  print "  int avp_len=0;"
+  print "  unsigned char* start =p;"
+  print " 	for (int count = 0; count < avp.size_of(); count++) {"
+  print "    switch(avp[count].get_selection()){"
+  print "      case GenericAVP::ALT_avp__undefined:{"
+  print "        const Undefined__AVP& avptype=avp[count].avp__undefined();"
+  print "        encode_octets(4,p,avptype.avp__code());"
+  print "#ifdef DPMG_USE_DETAILED_BITS"
+  print "          encode_bits_1byte(p, avptype.V__bit(), avptype.M__bit(), avptype.P__bit(),"
+  print "	                         avptype.r__bits());"
+  print "#else"
+  print "          encode_octets(p, bit2oct(avptype.VMPxxxxx()));"
+  print "#endif "
+  print "          unsigned int avp_size = 8 + 4 * (avptype.vendor__id().ispresent()) + avptype.avp__data().lengthof();"
+  print "          encode_int_3byte(p, avp_size);"
+  print "          if (avptype.vendor__id().ispresent()){"
+  print "             encode_octets(p, avptype.vendor__id()());"
+  print "          }"
+  print "        encode_octets(p,avptype.avp__data());"
+  print "        }"
+  print "        break;"
+  print "      case GenericAVP::ALT_avp__UNKNOWN:"
+  print "        encode_octets(p, avp[count].avp__UNKNOWN());"
+  print "        break;"
+  print "      case GenericAVP::ALT_avp:{"
+  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 "          switch(avptype.avp__data().get_selection()){"
+
+
+} #BEGIN
+
+{ 
+  # Remove excess WS from beginning and end of EACH record
+  sub(/^[ \t]+/, "") 
+  sub(/[ \t]+$/, "")
+}
+
+/\/\/ APPLICATION-NAME:/ {
+  # Will be used to prefix generated AVP type definitions
+  if(disable_prefix) {
+    application_id = "AVP_"
+  } else {
+    application_id = $3 "_"
+  }
+}
+
+/\/\/ APPLICATION-REVISION:/ {
+  # Could be used as additional prefix for generated AVP type definitions
+  application_revision = $3
+  if(use_application_revision && !disable_prefix && application_revision) {
+    application_id = application_id application_revision "_"
+  }
+}
+
+/\/\/ AVP:/ {
+  # AVP descriptor line e.g.:
+  # // AVP: Official-AVP-Name (Official-AVP-Code) Vendor-Id (Vendor-Id-Code)
+  #         <------ $3 -----> <------  $4 ------> <- $5  -> <----- $6 ----->
+  new_avp_name = $3
+  new_avp_code = $4
+  new_avp_vendor_id = $5
+  new_avp_vendor_id_code = $6
+  if(!new_avp_vendor_id) {
+    new_avp_vendor_id = "NONE"
+    new_avp_vendor_id_code = "(0)"
+  }
+  gsub(/-/, "_", new_avp_name)
+  gsub(/-/, "_", new_avp_vendor_id)
+  avp_descriptors++ 
+}
+
+/\<type/ {
+  # TTCN-3 type definition MUST be in a single line!
+  # <type> <kind> <identifier>
+  if($3 == new_avp_name && (new_avp_code SP new_avp_vendor_id_code) in AVP) {
+    ++deleted_avp_types
+    next
+  } else if($3 == new_avp_name) {
+    ++matching_avp_types
+    $3 = new_avp_id = application_id new_avp_vendor_id "_" new_avp_name 
+    AVP[new_avp_code SP new_avp_vendor_id_code] = new_avp_id
+    if(!(new_avp_vendor_id_code in VENDORID)) {
+      VENDORID[new_avp_vendor_id_code] = new_avp_vendor_id
+    }
+   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, "
+        TYPE = "AVP_Unsigned32"
+        printCaseCommand(BUFFER, TYPE)
+
+      } else {
+        AVP_type[new_avp_code SP new_avp_vendor_id_code] = "enumerated"
+        BUFFER = "(p,(int)"
+        TYPE = "AVP_enumerated"
+        printCaseCommand(BUFFER, TYPE)
+      }
+      next
+    } else {
+        AVP_type[new_avp_code SP new_avp_vendor_id_code] = $2
+        BUFFER = "(p,"
+        TYPE = $2
+        printCaseCommand(BUFFER, TYPE)
+    }
+  } 
+}
+
+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 "   "       
+  print "        }"
+  print "        break;"
+  print "      default:"
+  print "        break;"
+  print "     "
+  print "    }"
+  print "	} // for AVPs"
+  print " "
+  print "return p-start;" 
+  print "}"
+  print ""
+  print "int get_AVP_code_val(const AVP__Code& avpcodes){"
+  print "  int ret_val=0;"
+  print "  switch(avpcodes.get_selection()){"
+  len = length(VENDORID)
+  for (i in VENDORID) {
+    vid=VENDORID[i]
+    gsub("_", "__", vid)
+    
+  print "case AVP__Code::ALT_vendor__id__" vid ":"
+  print HT HT "ret_val=avpcodes.vendor__id__" vid "();"
+  print HT HT "break;"
+  }	
+
+
+  print "    default:"
+  print "      break;"
+  print "  }"
+  print "  return ret_val;"
+  print "}"
+
+  print "bool decode_AVP(const unsigned char* &p, AVP &avptype, const unsigned char* buf_end){"
+  print "  "
+  print "  const unsigned char* start=p;"
+  print "  bool ret_val=false;"
+  print " " 
+  print "  if(decode_header(p,avptype.avp__header(),buf_end)){"
+  print "    Vendor__Id vendor_id;"
+  print ""
+  print "    int data_len=avptype.avp__header().avp__length()-8;"
+  print "    if(avptype.avp__header().vendor__id().ispresent()){"
+  print "      data_len-=4;"
+  print "      vendor_id=avptype.avp__header().vendor__id()();"
+  print "    } else {"
+  print "      vendor_id=Vendor__Id::vendor__id__NONE;"
+  print "    }"
+  print "    switch(vendor_id){"
+  print ""
+  
+  for (i in VENDORID ){
+    ii=VENDORID[i]
+    gsub("_", "__", ii)
+    print "     case Vendor__Id::vendor__id__" ii ":"
+    print "       switch(avptype.avp__header().avp__code().vendor__id__" ii "()){"
+    for (k in AVP) {
+      split(k,j,SP)
+      if(j[2] == i){
+        l=AVP[k]
+        gsub("_", "__", l)
+        print "         case AVP__Code__" ii "::avp__code__" l ": {"
+        if(AVP_type[k]=="enumerated"){
+          print "             int enum_val=-1;"
+          print "             if(decode_AVP_" AVP_type[k] "(p,enum_val ,data_len) ){"
+          print "               if(" l "::is_valid_enum(enum_val)){"
+          print "                 avptype.avp__data().avp__" l "()=enum_val;"
+          print "                 ret_val=true;"
+          print "               } else {"
+        	print "                 p = start;"
+	        print "                 ret_val=false;"
+          print "               }"
+
+          print "             } else {"
+        	print "               p = start;"
+	        print "               ret_val=false;"
+          print "             }"
+          
+        } else {
+          print "           if(decode_" AVP_type[k] "(p,avptype.avp__data().avp__" l "(),data_len) ){"
+          print "             ret_val=true;"
+          print "           } else {"
+        	print "             p = start;"
+	        print "             ret_val=false;"
+          print "           }"
+        }
+          print "           }"
+        print "           break;"
+      }
+    }
+    print "         default:"
+  	print "           p = start;"
+	  print "           ret_val=false;"
+    print "           break;"
+    
+    print "       }"
+    print "       break;"
+  }
+  print ""
+
+  print "         default:"
+  print "           p = start;"
+  print "           ret_val=false;"
+  print "           break;"
+  print "       }"
+  print "  } else {"
+  print "    p=start;"
+  print "    ret_val=false;"
+  print "  }"
+  print "  if(ret_val){"
+  print "    int paddlength=(3 - (avptype.avp__header().avp__length() - 1) % 4);"
+  print "    if(buf_end-p>=paddlength){  // padding"
+  print "      p+=paddlength;"
+  print "    }"
+  print "  }"
+  print "  return ret_val;"
+  print "}"
+  print ""
+  print "bool decode_header(const unsigned char* &p, AVP__Header &head, const unsigned char* buf_end) {"
+  print "	if (buf_end - p < 8) {"
+  print "		return false;"
+  print "	}"
+
+  print "  const unsigned char* start=p;"
+  print "	int avp_code_val = ((*p) << 24) + ((*(p + 1)) << 16) + ((*(p + 2)) << 8)"
+  print "			+ *(p + 3);"
+  print "	p += 4; // advance by size of avpcode"
+
+  print "	unsigned char flagvalue = 0;"
+
+
+  print "#ifdef DPMG_USE_DETAILED_BITS"
+  print "	flagvalue += (((*p) & 0x10) >> 4); // 0001 0000"
+  print "	flagvalue += (((*p) & 0x08) >> 2); // 0000 1000"
+  print "	flagvalue += (((*p) & 0x04)); // 0000 0100"
+  print "	flagvalue += (((*p) & 0x02) << 2); // 0000 0010"
+  print "	flagvalue += (((*p) & 0x01) << 4); // 0000 0001"
+  print "	head.r__bits() = BITSTRING(5, &flagvalue);"
+  print "	flagvalue = ((*p) >> 5); // removes reserved bits"
+  print "	head.P__bit() = BITSTRING(1, &flagvalue);"
+  print "	flagvalue = (flagvalue >> 1); // removes P bit"
+  print "	head.M__bit() = BITSTRING(1, &flagvalue);"
+  print "	flagvalue = (flagvalue >> 1); // removes M bit"
+  print "	head.V__bit() = BITSTRING(1, &flagvalue);"
+  print "#else"
+  print "  head.VMPxxxxx()=oct2bit(OCTETSTRING(1,p));"
+  print "  flagvalue=(*p)>>7;"
+  print "#endif  "
+
+
+  print "	p++; // advance by size of flags"
+
+  print "	int avplength = ((*p) << 16) + ((*(p + 1)) << 8) + *(p + 2);"
+  print "	head.avp__length() = avplength;"
+  print "	p += 3; // advance by size of length"
+  print "	if ((avplength < 8) || (avplength>(buf_end-start))) {"
+  print "		p = start;"
+  print "		return false;"
+  print "	}"
+
+  print "	if (flagvalue) { // contains value of V-bit"
+  print "		if (avplength < 12) { // possible for octetstring!"
+  print "		  p = start;"
+  print "		  return false;"
+  print "		} else {// ASSUME next 4-byte is a Vendor-ID!"
+  print "			if (buf_end - p >= 4) {"
+  print "	      int vendor_id_val = ((*p) << 24) + ((*(p + 1)) << 16) + ((*(p + 2)) << 8)"
+  print "			      + *(p + 3);"
+        
+  print "				if (Vendor__Id::is_valid_enum(vendor_id_val)) {"
+  print "					head.vendor__id()= vendor_id_val;"
+  print "				} else {"
+  print "  		    p = start;"
+  print "	  	    return false;"
+  print "				}"
+  print "				p += 4;"
+  print "			} else {"
+  print "  		  p = start;"
+  print "	  	  return false;"
+  print "			}"
+  print "		}"
+  print "    switch(head.vendor__id()()){"
+
+
+  for (i in VENDORID) {
+    vid=VENDORID[i]
+    gsub("_", "__", vid)
+    print "      case Vendor__Id::vendor__id__" vid ":"
+    print "				if (AVP__Code__" vid "::is_valid_enum(avp_code_val)) {"
+    print "					head.avp__code().vendor__id__" vid "()= avp_code_val;"
+    print "				} else {"
+    print "  		    p = start;"
+    print "	  	    return false;"
+    print "				}"
+    print "        break;"
+    
+  }	
+
+
+  print "      default:"
+  print "  		  p = start;"
+  print "	  	  return false;"
+  print "        break;"
+  print "    }"
+  print "	} else {// DON'T read any Vendor-ID at all..!"
+  print "		head.vendor__id() = OMIT_VALUE;"
+  print "		if (AVP__Code__NONE::is_valid_enum(avp_code_val)) {"
+  print "			head.avp__code().vendor__id__NONE()= avp_code_val;"
+  print "		} else {"
+  print "  		p = start;"
+  print "	  	return false;"
+  print "		}"
+    
+  print "	}"
+  print "	return true;"
+  print "}"
+
+
+  print "}"
+  print "TTCN_Module DIAMETER_EncDec(\"DIAMETER_EncDec\", __DATE__, __TIME__);"
+  print ""
+
+
+  exit(1)
+
+}
+
+function printCaseCommand(BUFFER, TYPE) {
+  gsub("_", "__", new_avp_id)
+  print "case AVP__Data::ALT_avp__" new_avp_id ":"
+  print HT HT "encoded_octets=encode_" TYPE BUFFER "avptype.avp__data().avp__" new_avp_id "());"
+  print HT HT "break;"
+}
+
diff --git a/src/Acision_Specific.ddf b/src/Acision_Specific.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..cab1dc6f455f0106ee2e4242fb9449f37d4f3094
--- /dev/null
+++ b/src/Acision_Specific.ddf
@@ -0,0 +1,216 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Acision_Specific.ddf
+//  Description:        Acision specific AVP definitions
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+//  Reference:          
+//
+
+// APPLICATION-NAME: AC
+// APPLICATION-REVISION: 1
+
+// SMS-Information
+// AVP: SMS-Information (29) Acision (3830)
+type AVP_Grouped SMS_Information;
+
+// SMS-Network-Info
+// AVP: SMS-Network-Info (32) Acision (3830)
+type AVP_Grouped SMS_Network_Info;
+
+// SMS-Network-Technology
+// AVP: SMS-Network-Technology (35) Acision (3830)
+type enumerated SMS_Network_Technology
+{
+  OTHER (0),
+  NMT (1),
+  GSM (2),
+  GPRS (3),
+  UMTS (4),
+  CDMA (5),
+  TDMA (6),
+  IDEN (7),
+  PDC (8),
+  GAIT (9)
+};
+
+// SMS-Originator-Info
+// AVP: SMS-Originator-Info (37) Acision (3830)
+type AVP_Grouped SMS_Originator_Info;
+
+// SMS-Recipient-Info
+// AVP: SMS-Recipient-Info (39) Acision (3830)
+type AVP_Grouped SMS_Recipient_Info;
+
+// SMS-Time-Submission
+// AVP: SMS-Time-Submission (50) Acision (3830)
+type AVP_Time SMS_Time_Submission;
+
+// SMS-Trajectory-Info
+// AVP: SMS-Trajectory-Info (55) Acision (3830)
+type AVP_Grouped SMS_Trajectory_Info;
+
+// SMS-Trajectory-Message-Id
+// AVP: SMS-Trajectory-Message-Id (56) Acision (3830)
+type AVP_UTF8String SMS_Trajectory_Message_Id;
+
+// SMS-Trajectory-Type
+// AVP: SMS-Trajectory-Type (61) Acision (3830)
+type enumerated SMS_Trajectory_Type
+{
+  MO (1),
+  MT (2)
+};
+
+// Originating-Identity
+// AVP: Originating-Identity (1009) Acision (3830)
+type AVP_Grouped Originating_Identity;
+
+// MSC-Address
+// AVP: MSC-Address (10004) Acision (3830)
+type AVP_UTF8String MSC_Address;
+
+// SMS-Content-CM-Reference
+// AVP: SMS-Content-CM-Reference (19) Acision (3830) 
+type AVP_Unsigned32 SMS_Content_CM_Reference;
+
+// SMS-Content-CM-Segment
+// AVP: SMS-Content-CM-Segment (20) Acision (3830) 
+type AVP_Unsigned32 SMS_Content_CM_Segment;
+
+// SMS-Content-CM-Size
+// AVP: SMS-Content-CM-Size (21) Acision (3830) 
+type AVP_Unsigned32 SMS_Content_CM_Size;
+
+// SMS-Content-CM-Total
+// AVP: SMS-Content-CM-Total (22) Acision (3830) 
+type AVP_Unsigned32 SMS_Content_CM_Total;
+
+// SMS-Content-Data
+// AVP: SMS-Content-Data (23) Acision (3830)
+type AVP_OctetString SMS_Content_Data;
+
+// SMS-Content-DCS
+// AVP: SMS-Content-DCS (24) Acision (3830)
+type AVP_OctetString SMS_Content_DCS;
+
+// SMS-Content-Info
+// AVP: SMS-Content-Info (25) Acision (3830)
+type AVP_Grouped SMS_Content_Info;
+
+// SMS-Address-TON
+// AVP: SMS-Address-TON (67) Acision (3830)
+type AVP_UTF8String SMS_Address_TON;
+
+// SMS-Address-NPI
+// AVP: SMS-Address-NPI (68) Acision (3830)
+type AVP_UTF8String SMS_Address_NPI;
+
+// Arm-Future-Notification
+// AVP: Arm-Future-Notification (1000) Acision (3830)
+type enumerated Arm_Future_Notification
+{
+  All_any (0),
+  Pre_submission (1),
+  Post_submission (2),
+  Pre_delivery (3),
+  Post_delivery (4)
+};
+
+// Destination-Identity
+// AVP: Destination-Identity (1001) Acision (3830)
+type AVP_Grouped Destination_Identity;
+
+// Msg-Content
+// AVP: Msg-Content (1005) Acision (3830)
+type AVP_Grouped Msg_Content;
+
+// Notification-Point
+// AVP: Notification-Point (1006) Acision (3830)
+type enumerated Notification_Point
+{
+  Pre_submission (1),
+  Post_submission (2),
+  Pre_delivery (3),
+  Post_delivery (4),
+  Subscriber_status_change (100)
+};
+
+// Opaque-Data
+// AVP: Opaque-Data (1007) Acision (3830)
+type AVP_OctetString Opaque_Data;
+
+// Originating-Identity
+// AVP: Originating-Identity (1009) Acision (3830)
+type AVP_Grouped Originating_Identity;
+
+// Recommended-Decision
+// AVP: Recommended-Decision (1011) Acision (3830)
+type enumerated Recommended_Decision
+{
+  Proceed (0),
+  Reject (1),
+  Complete (2),
+  Drop (3)
+};
+
+// SMS-Error-Code
+// AVP: SMS-Error-Code (1012) Acision (3830) 
+type AVP_Integer32 SMS_Error_Code;
+
+// SMS-Info
+// AVP: SMS-Info (1013) Acision (3830)
+type AVP_Grouped SMS_Info;
+
+// SMS-Message-Text
+// AVP: SMS-Message-Text (1018) Acision (3830)
+type AVP_UTF8String SMS_Message_Text;
+
+// Service-Type
+// AVP: Service-Type (1028) Acision (3830)
+type enumerated Service_Type
+{
+  SMS (0),
+  MMS (1),
+  Email (2)
+};
+
+// Service-Info
+// AVP: Service-Info (1029) Acision (3830)
+type AVP_Grouped Service_Info;
+
diff --git a/src/Alcatel_Lucent_Specific_AVPs.ddf b/src/Alcatel_Lucent_Specific_AVPs.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..e436a19b913ba29a7209466746135e0efda82367
--- /dev/null
+++ b/src/Alcatel_Lucent_Specific_AVPs.ddf
@@ -0,0 +1,192 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Alcatel_Lucent_Specific_AVPs.ddf
+//  Description:        Alcatel Lucent (ALU) specific AVP definitions
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Rf
+// APPLICATION-REVISION:
+
+// AVP implementations according to: 
+// Diameter Offline Charging in MTAS
+//
+// Ro interface enhancements based on Verizon's call flows and requirements
+//
+// IS Verizon Ro Interface for Prompt and Collect in MTAS
+
+// Diameter Offline Charging in MTAS
+// AVP: Action (3) ALU (1751)
+// 5.2.6
+type enumerated Action
+{
+  Service_Activation    (1), 
+  Service_Deactivation  (2)
+}
+
+// Diameter Offline Charging in MTAS
+// AVP: ALU-Specific-Extension (100) ALU (1751)
+// 5.2.7
+type AVP_Grouped ALU_Specific_Extension;
+
+// Diameter Offline Charging in MTAS
+// AVP: Associated-Number (6) ALU (1751) 
+// 5.2.9
+type AVP_UTF8String Associated_Number; 
+
+// Diameter Offline Charging in MTAS
+// AVP: Call-Direction (11) ALU (1751)  
+// 5.2.10
+type enumerated Call_Direction
+{
+  Origination   (0),
+  Termination   (1)
+}
+
+// Diameter Offline Charging in MTAS
+// AVP: Call-Type (12) ALU (1751)
+// 5.2.11 
+type enumerated Call_Type
+{
+  Mobile   (32) 
+}
+
+// Diameter Offline Charging in MTAS
+// AVP: Service-ID (5) ALU (1751)
+// 5.2.65
+type AVP_UTF8String Service_ID;
+
+// Diameter Offline Charging in MTAS
+// AVP: Service-Mode (4) ALU (1751)
+// 5.2.67
+type enumerated Service_Mode
+{
+  unCond        (1),
+  busy          (2),
+  noAnswer      (3),
+  nWay          (10),
+  callRejected  (55),
+  prefixCall1   (58)
+}
+
+// Diameter Offline Charging in MTAS
+// AVP: Service-Type (2) ALU (1751)
+// 5.2.73
+type enumerated Service_Type
+{
+  callForward     (5),
+  nWayCall        (7),
+  callingLineIDRestriction  (32),
+  callWaiting     (34),
+  callBarring     (36),
+  outgoingCallBarring  (37),
+  prefixCall      (42)  
+}
+
+// Diameter Offline Charging in MTAS
+// AVP: Supplementary-Service-Information (1) ALU (1751)
+// 5.2.88
+type AVP_Grouped Supplementary_Service_Information;
+
+
+// Ro interface enhancements based on Verizon's call flows and requirements
+// AVP: Announcement-Instructions (700) ALU (1751)
+// 5.6.5.2.2
+type AVP_Grouped Announcement_Instructions
+
+// Ro interface enhancements based on Verizon's call flows and requirements
+// AVP: Announcement-Number (701) ALU (1751)	
+// 5.6.5.2.3
+type AVP_Unsigned32 Announcement_Number
+
+// Ro interface enhancements based on Verizon's call flows and requirements
+// AVP: Announcement-Order (702) ALU (1751)
+// 5.6.5.2.4
+type AVP_Unsigned32 Announcement_Order
+
+// Ro interface enhancements based on Verizon's call flows and requirements
+// AVP: Announcement-Type (703) ALU (1751)
+// 5.6.5.2.5
+type AVP_Unsigned32 Announcement_Type
+
+// Ro interface enhancements based on Verizon's call flows and requirements
+// AVP: Announcement-Variable-Part (704) ALU (1751)
+// 5.6.5.2.6
+type AVP_Grouped Announcement_Variable_Part
+
+// Ro interface enhancements based on Verizon's call flows and requirements
+// AVP: Announcement-Variable-Part-Data (705) ALU (1751)
+// 5.6.5.2.7
+type AVP_UTF8String Announcement_Variable_Part_Data
+
+// Ro interface enhancements based on Verizon's call flows and requirements
+// AVP: Announcement-Variable-Part-Type (706) ALU (1751)
+// 5.6.5.2.8
+type enumerated Announcement_Variable_Part_Type
+{
+  INTEGER (0),
+  NUMBER  (1),
+  TIME    (2),
+  DATE    (3),
+  PRICE   (4)  
+}
+
+// IS Verizon Ro Interface for Prompt and Collect in MTAS
+// AVP: Announcement-Prompt-Collect-Parameter (708) ALU (1751)
+// 5.6.5.1.1
+type AVP_Grouped Announcement_Prompt_Collect_Parameter 
+
+// IS Verizon Ro Interface for Prompt and Collect in MTAS
+// AVP: Announcement-Prompt-Collect-Interruptible (709) ALU (1751) 
+// 5.6.5.1.2
+type enumerated Announcement_Prompt_Collect_Interruptible
+{
+  FALSE (0),
+  TRUE  (1)
+}
+
+// IS Verizon Ro Interface for Prompt and Collect in MTAS
+// AVP: Announcement-Prompt-Collect-MinDigits (710) ALU (1751)
+// 5.6.5.1.3
+type AVP_Unsigned32 Announcement_Prompt_Collect_MinDigits
+
+// IS Verizon Ro Interface for Prompt and Collect in MTAS
+// AVP: Announcement-Prompt-Collect-MaxDigits (711) ALU (1751) 
+// 5.6.5.1.4
+type AVP_Unsigned32 Announcement_Prompt_Collect_MaxDigits	
diff --git a/src/BaseTypes_IETF_RFC3588.ddf b/src/BaseTypes_IETF_RFC3588.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..e13480301e9b234be6e57abcf8bcf2cd0f287334
--- /dev/null
+++ b/src/BaseTypes_IETF_RFC3588.ddf
@@ -0,0 +1,281 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               BaseTypes_IETF_RFC3588.ddf
+//  Description:	DDF for the Diameter base types
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+//
+// External functions for encoding and decoding
+//
+
+external function f_DIAMETER_Enc(in PDU_DIAMETER pl_pdu) return octetstring;
+external function f_DIAMETER_Dec(in octetstring pl_oct) return PDU_DIAMETER;
+external function f_DIAMETER_Enc_fast(in PDU_DIAMETER pl_pdu, out octetstring pl_oct );
+external function f_DIAMETER_Dec_fast(in octetstring pl_oct, out PDU_DIAMETER pl_pdu) return integer;
+
+!1 external function f_DIAMETER_genHopByHop_oct() return UINT32;
+!1 external function f_DIAMETER_genEndToEnd_oct() return UINT32;
+!2 external function f_DIAMETER_genHopByHop_int() return UINT32;
+!2 external function f_DIAMETER_genEndToEnd_int() return UINT32;
+external function f_DIAMETER_GetAVPByListOfCodes(in octetstring pl_oct, in integerList pl_codeList) return octetstring;
+external function f_DIAMETER_GetAVPByListOfCodesCombined(in octetstring pl_oct, in integerList pl_codeList, in integerList pl_groupcodeList) return octetstring;
+external function f_DIAMETER_GetAVPByListOfCodesFromGroupedAVP(in octetstring pl_oct, in integerList pl_codeList) return octetstring;
+
+function f_get_R_bit(in PDU_DIAMETER pl_pdu) return boolean
+{
+!3   return pl_pdu.RPETxxxx[7]=='1'B;
+!4   return pl_pdu.R_bit=='1'B;
+}
+
+ function f_DIAMETER_genEndToEnd() return UINT32
+ {
+!1   return f_DIAMETER_genEndToEnd_oct()
+!2   return f_DIAMETER_genEndToEnd_int()
+}
+
+function f_DIAMETER_genHopByHop() return UINT32
+{
+!1   return f_DIAMETER_genHopByHop_oct()
+!2   return f_DIAMETER_genHopByHop_int()
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//  Type: IntegerList
+//
+//  Purpose:
+//    List of integer
+//
+//  Elements:
+//    record of *integer*
+//
+// Detailed Comments:
+//    -
+//
+///////////////////////////////////////////////////////////////////////////////
+type record of integer integerList; 
+
+//
+// Basic type definitions used in AVP type definitions
+//
+
+type integer UINT8 (0..255) with { 
+	variant "FIELDLENGTH(8)" 
+	variant "BYTEORDER(last)" 
+}
+
+type integer UINT24 (0..16777215) with { 
+	variant "FIELDLENGTH(24)"
+	variant "BYTEORDER(last)" 
+}
+
+!1 type octetstring UINT32 length(4) with { 
+!1 	variant "FIELDLENGTH(4)" 
+!1 }
+
+!2 type integer UINT32 with { 
+!2 	variant "FIELDLENGTH(32)"
+!2 	variant "BYTEORDER(last)" 
+!2 	variant "COMP(nosign)" 
+!2 }
+
+
+type integer INT32 with { 
+	variant "FIELDLENGTH(32)"
+	variant "BYTEORDER(last)" 
+	variant "COMP(signbit)" 
+}
+
+!1 type octetstring INT64 length(8) with {
+!1 	variant "FIELDLENGTH(8)"
+!1 }
+
+!2 type integer INT64 with { 
+!2 	variant "FIELDLENGTH(64)"
+!2 	variant "BYTEORDER(last)" 
+!2 	variant "COMP(signbit)" 
+!2 }
+
+
+!1 type octetstring UINT64 length(8) with { 
+!1   variant "FIELDLENGTH(8)" 
+!1 }
+
+!2 type integer UINT64 with { 
+!2 	variant "FIELDLENGTH(64)"
+!2 	variant "BYTEORDER(last)" 
+!2 	variant "COMP(nosign)" 
+!2 }
+
+type float FLOAT32 with {
+        variant "FORMAT(IEEE754 float)"
+}
+
+type float FLOAT64 with {
+        variant "FORMAT(IEEE754 double)"
+}
+
+type bitstring BIT8 length(8) with { variant "FIELDLENGTH(8)" }
+!4 type bitstring BIT1 length(1) with { variant "FIELDLENGTH(1)" }
+!4 type bitstring BIT4 length(4) with { variant "FIELDLENGTH(4)" }
+!4 type bitstring BIT5 length(5) with { variant "FIELDLENGTH(5)" }
+type octetstring OCTET4 length(4) with { variant "FIELDLENGTH(4)" }
+type octetstring OCTET8 length(8) with { variant "FIELDLENGTH(8)" }
+type charstring DiameterIdentity;
+type charstring DiameterURI;
+type OCTET4 Time;
+!5 type octetstring UTF8;
+!6 type universal charstring UTF8;
+type charstring IPFilterRule;
+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;
+
+//
+// 4.3. Derived AVP Data Formats
+//
+
+// http://www.iana.org/assignments/address-family-numbers (2002-05-14)
+type enumerated AddressType {
+Reserved_0 (0),
+IP (1),
+IP6 (2),
+NSAP (3),
+HDLC (4),
+BBN1822 (5),
+IEEE802 (6),
+E163 (7),
+E164 (8),
+F69 (9),
+X121 (10),
+IPX (11),
+Appletalk (12),
+Decnet_IV (13),
+Banyan_Vines (14),
+E164_NSAP (15),
+DNS (16),
+Distinguished_Name (17),
+AS_Number (18),
+XTP_IP (19),
+XTP_IP6 (20),
+XTP_native (21),
+Fibre_Channel_WW_Port (22),
+Fibre_Channel_WW_Node (23),
+GWID (24),
+Reserved_65535 (65535)
+} with {
+variant "FIELDLENGTH(16)"
+variant "BYTEORDER(last)"
+variant "COMP(nosign)"
+}
+
+type record AVP_Address {
+AddressType address_type,
+octetstring address_data
+}
+
+// Non-standard? AVP type for 4octet IPv4 addresses
+type OCTET4 AVP_IP_Address;
+
+type Time AVP_Time;
+
+// Supports only 1byte/char
+type UTF8 AVP_UTF8String;
+
+type DiameterIdentity AVP_DiameterIdentity;
+type DiameterURI AVP_DiameterURI;
+
+// Enumerated
+// Enumerations must be solved uniqly for each enumerated type AVP!
+
+type IPFilterRule AVP_IPFilterRule;
+type QoSFilterRule AVP_QoSFilterRule;
+
+type enumerated Command_Code
+{ 
+  Abort_Session         (274), // Abort-Session-Request(ASR) or 
+	                             // Abort-Session-Answer(ASA)
+  Accounting            (271), // Accounting-Request(ACR) or 
+	                             // Accounting-Answer(ACA)
+  Capabilities_Exchange (257), // Capabilities-Exchange-Request(CER) or
+                                     // Capabilities-Exchange-Answer(CEA)
+  Device_Watchdog       (280), // Device-Watchdog-Request(DWR) or 
+	                             // Device-Watchdog-Answer(DWA)
+  Disconnect_Peer       (282), // Disconnect-Peer-Request(DPR) or
+	                             // Disconnect-Peer-Answer (DPA)
+  Re_Auth               (258), // Re-Auth-Request(RAR) or Re-Auth-Answer(RAA)
+  Session_Termination   (275), // Session-Termination-Request(STR) or
+	                             // Session-Termination-Answer(STA)
+  Experimental1    (16777214), // Experimental command code
+  Experimental2    (16777215)  // Experimental command code
+}
+
+type record PDU_DIAMETER
+{
+  UINT8         version,
+  UINT24        message_length,
+!3 BIT8          RPETxxxx,
+!4 BIT1          R_bit,
+!4 BIT1          P_bit,
+!4 BIT1          E_bit,
+!4 BIT1          T_bit,
+!4 BIT4          r_bits,
+  Command_Code  command_code,        
+  OCTET4        application_id,
+  UINT32        hop_by_hop_id,
+  UINT32        end_to_end_id,
+  AVP_list      avps
+} with {
+	variant (message_length) "LENGTHTO(version, message_length, 
+!3 	RPETxxxx,
+!4  R_bit, P_bit, E_bit, T_bit, r_bits, 
+		command_code, application_id, hop_by_hop_id, end_to_end_id, avps)";
+!4 variant (R_bit, P_bit, E_bit, T_bit, r_bits) "FIELDORDER(msb)"
+}
diff --git a/src/Base_IETF_RFC3588.ddf b/src/Base_IETF_RFC3588.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..8850840a44790ce2383c5d10c45deb88eccd93f2
--- /dev/null
+++ b/src/Base_IETF_RFC3588.ddf
@@ -0,0 +1,368 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Base_IETF_RFC3588.ddf
+//  Description:	DDF for the Diameter base AVPs
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: BASE
+// APPLICATION-REVISION: RFC3588
+
+//
+// 4.5. Diameter Base Protocol AVPs
+//
+
+// RFC 3588 3.1
+type enumerated Command_Code 
+{
+  Abort_Session         (274),
+  Accounting            (271),
+  Capabilities_Exchange (257),
+  Device_Watchdog       (280),
+  Disconnect_Peer       (282),
+  Re_Auth               (258),
+  Session_Termination   (275)
+}
+   
+
+
+// RFC 3588 
+// AVP: Acct-Interim-Interval (85)
+// 9.8.2
+type AVP_Unsigned32 Acct_Interim_Interval;
+
+// RFC 3588 
+// AVP: Accounting-Realtime-Required (483)
+// 9.8.7
+type enumerated Accounting_Realtime_Required
+{
+  DELIVER_AND_GRANT (1),
+  GRANT_AND_STORE   (2),
+  GRANT_AND_LOSE    (3)
+} 
+
+// RFC 3588 
+// AVP: Acct-Multi-Session-Id (50)
+// 9.8.5
+type AVP_UTF8String Acct_Multi_Session_Id;
+
+// RFC 3588 
+// AVP: Accounting-Record-Number (485)
+// 9.8.3
+type AVP_Unsigned32 Accounting_Record_Number;
+
+// RFC 3588 
+// AVP: Accounting-Record-Type (480)
+// 9.8.1
+type enumerated Accounting_Record_Type
+{
+  EVENT_RECORD                   (1),
+  START_RECORD                   (2),
+  INTERIM_RECORD                 (3),
+  STOP_RECORD                    (4)
+}
+
+// RFC 3588 
+// AVP: Accounting-Session-Id (44)
+// 9.8.4
+type AVP_OctetString Accounting_Session_Id;
+
+// RFC 3588 
+// AVP: Accounting-Sub-Session-Id (287)
+// 9.8.6
+type AVP_Unsigned64 Accounting_Sub_Session_Id;
+
+// RFC 3588 
+// AVP: Acct-Application-Id (259)
+// 6.9
+type AVP_Unsigned32 Acct_Application_Id;
+
+// RFC 3588 
+// AVP: Auth-Application-Id (258)
+// 6.8
+type AVP_Unsigned32 Auth_Application_Id;
+
+// RFC 3588 
+// AVP: Auth-Request-Type (274) 
+// 8.7
+type enumerated Auth_Request_Type
+{
+  AUTHENTICATE_ONLY         (1),
+  AUTHORIZE_ONLY            (2),
+  AUTHORIZE_AUTHENTICATE    (3)
+}
+
+// RFC 3588 
+// AVP: Authorization-Lifetime (291)
+// 8.9
+type AVP_Unsigned32 Authorization_Lifetime;
+
+// RFC 3588 
+// AVP: Auth-Grace-Period (276)
+// 8.10
+type AVP_Unsigned32 Auth_Grace_Period;
+     
+// RFC 3588 
+// AVP: Auth-Session-State (277)
+// 8.11
+type enumerated Auth_Session_State
+{
+  STATE_MAINTAINED         (0),
+  NO_STATE_MAINTAINED      (1)
+}
+
+// RFC 3588 
+// AVP: Re-Auth-Request-Type (285) 
+// 8.12
+type enumerated Re_Auth_Request_Type
+{
+  AUTHORIZE_ONLY         (0),
+  AUTHORIZE_AUTHENTICATE (1)
+}
+
+// RFC 3588 
+// AVP: Class (25)
+// 8.20
+type AVP_OctetString Class;
+
+// RFC 3588 
+// AVP: Destination-Host (293)
+// 6.5
+type AVP_DiameterIdentity Destination_Host;
+
+// RFC 3588 
+// AVP: Destination-Realm (283)
+// 6.6
+type AVP_DiameterIdentity Destination_Realm;
+
+// RFC 3588 
+// AVP: Disconnect-Cause (273)
+// 5.4.3
+type enumerated Disconnect_Cause
+{
+  REBOOTING                  (0),
+  BUSY                       (1),
+  DO_NOT_WANT_TO_TALK_TO_YOU (2)
+}
+
+// RFC 3588 
+// AVP: E2E-Sequence (300)
+// 6.15
+type AVP_Grouped E2E_Sequence;
+
+// RFC 3588 
+// AVP: Error-Message (281)
+// 7.3
+type AVP_UTF8String Error_Message;
+
+// RFC 3588 
+// AVP: Error-Reporting-Host (294) 
+// 7.4
+type AVP_DiameterIdentity Error_Reporting_Host;
+
+// RFC 3588 
+// AVP: Event-Timestamp (55)
+// 8.21
+type AVP_Time Event_Timestamp;
+
+// RFC 3588 
+// AVP: Experimental-Result (297)
+// 7.6
+type AVP_Grouped Experimental_Result;
+
+// RFC 3588 
+// AVP: Experimental-Result-Code (298)
+// 7.7
+type AVP_Unsigned32 Experimental_Result_Code;
+
+// RFC 3588 
+// AVP: Failed-AVP (279)
+// 7.5
+type AVP_Grouped Failed_AVP;
+
+// RFC 3588 
+// AVP: Firmware-Revision (267)
+// 5.3.4
+type AVP_Unsigned32 Firmware_Revision;
+
+// RFC 3588 
+// AVP: Host-IP-Address (257)
+// 5.3.5
+type AVP_Address Host_IP_Address;
+
+// RFC 3588 
+// AVP: Inband-Security-Id (299)
+// 6.10
+type AVP_Unsigned32 Inband_Security_Id;
+
+// RFC 3588 
+// AVP: Multi-Round-Time-Out (272)
+// 8.19
+type AVP_Unsigned32 Multi_Round_Time_Out;
+
+// RFC 3588 
+// AVP: Origin-Host (264)
+// 6.3
+type AVP_DiameterIdentity Origin_Host;
+
+// RFC 3588 
+// AVP: Origin-Realm (296)
+// 6.4
+type AVP_DiameterIdentity Origin_Realm;
+
+// RFC 3588 
+// AVP: Origin-State-Id (278)
+// 8.16
+type AVP_Unsigned32 Origin_State_Id;
+
+// RFC 3588 
+// AVP: Product-Name (269)
+// 5.3.7
+type AVP_UTF8String Product_Name;
+
+// RFC 3588 
+// AVP: Proxy-Host (280)
+// 6.7.3
+type AVP_DiameterIdentity Proxy_Host;
+
+// RFC 3588 
+// AVP: Proxy-Info (284)
+// 6.7.2
+type AVP_Grouped Proxy_Info;
+
+// RFC 3588 
+// AVP: Proxy-State (33)
+// 6.7.4
+type AVP_OctetString Proxy_State;
+
+// RFC 3588 
+// AVP: Redirect-Host (292)
+// 6.12
+type AVP_DiameterURI Redirect_Host;
+
+// RFC 3588 
+// AVP: Redirect-Host-Usage (261)
+// 6.13
+type enumerated 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)
+}
+
+// RFC 3588 
+// AVP: Redirect-Max-Cache-Time (262)
+// 6.14
+type AVP_Unsigned32 Redirect_Max_Cache_Time;
+
+// RFC 3588 
+// AVP: Result-Code (268)
+// 7.1
+type AVP_Unsigned32 Result_Code;
+
+// RFC 3588 
+// AVP: Route-Record (282)
+// 6.7.1
+type AVP_DiameterIdentity Route_Record;
+
+// RFC 3588 
+// AVP: Session-Id (263)
+// 8.8
+type AVP_UTF8String Session_Id;
+
+// RFC 3588 
+// AVP: Session-Timeout (27)
+// 8.13
+type AVP_Unsigned32 Session_Timeout;
+
+// RFC 3588 
+// AVP: Session-Binding (270)
+// 8.17
+type AVP_Unsigned32 Session_Binding;
+
+// RFC 3588 
+// AVP: Session-Server-Failover (271)
+// 8.18
+type enumerated Session_Server_Failover
+{
+  REFUSE_SERVICE                 (0),
+  TRY_AGAIN                      (1),
+  ALLOW_SERVICE                  (2),
+  TRY_AGAIN_ALLOW_SERVICE        (3)
+}
+
+// RFC 3588 
+// AVP: Supported-Vendor-Id (265)
+// 5.3.6
+type AVP_Unsigned32 Supported_Vendor_Id;
+
+// RFC 3588 
+// AVP: Termination-Cause (295)
+// 8.15
+type enumerated Termination_Cause
+{
+  DIAMETER_LOGOUT                (1),
+  DIAMETER_SERVICE_NOT_PROVIDED  (2),
+  DIAMETER_BAD_ANSWER            (3),
+  DIAMETER_ADMINISTRATIVE        (4),
+  DIAMETER_LINK_BROKEN           (5),
+  DIAMETER_AUTH_EXPIRED          (6),
+  DIAMETER_USER_MOVED            (7),
+  DIAMETER_SESSION_TIMEOUT       (8)
+}
+
+// RFC 3588 
+// AVP: User-Name (1)
+// 8.14
+type AVP_UTF8String User_Name;			
+
+// RFC 3588 
+// AVP: Vendor-Id (266)
+// 5.3.3
+type AVP_Unsigned32 Vendor_Id;
+
+// 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
new file mode 100644
index 0000000000000000000000000000000000000000..34f0ced9870a489f1d427a397e04bd98555baae3
--- /dev/null
+++ b/src/CLCInterface_Vodafone_Rev2.ddf
@@ -0,0 +1,223 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               CLCInterface_Vodafone_Rev2.ddf
+//  Description:        DDF for CLC according to Intelligent Packet Core
+//                      Vodafone Diameter CCA Specification for the CLCI 
+//                      Version 2
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: CLCI
+// APPLICATION-REVISION: V2
+
+// Dependant applications
+
+
+// Vodafone CLCI Version 2
+// AVP: Context-Type (256) Vodafone (12645) 
+// 10
+type enumerated Context_Type {
+  PRIMARY                       (0),
+  SECONDARY                     (1)
+}
+
+// Vodafone CLCI Version 2
+// AVP: Quota-Consumption-Time (257) Vodafone (12645)
+// 10
+type AVP_Unsigned32 Quota_Consumption_Time;
+
+// Vodafone CLCI Version 2
+// AVP: Quota-Holding-Time (258) Vodafone (12645)
+// 10
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// Vodafone CLCI Version 2
+// AVP: Time-Quota-Threshold (259) Vodafone (12645)
+// 10
+type AVP_Unsigned32 Time_Quota_Threshold; 
+
+// Vodafone CLCI Version 2
+// AVP: Radio-Access-Technology (260) Vodafone (12645)
+// 10
+type enumerated Radio_Access_Technology {
+  UTRAN                         (1),
+  GERAN                         (2),
+  WLAN                          (3),
+  GAN                           (4),
+  HSPA_Evolution                (5),
+  EUTRAN                        (6)
+}
+
+// Vodafone CLCI Version 2
+// AVP: Reporting-Reason (261) Vodafone (12645)
+// 10
+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)
+}
+
+// Vodafone CLCI Version 2
+// AVP: Rulebase-Id (262) Vodafone (12645)
+// 10
+type AVP_UTF8String Rulebase_Id
+
+// Vodafone CLCI Version 2
+// AVP: Time-Of-First-Usage (263) Vodafone (12645) 
+// 10
+type AVP_Time Time_Of_First_Usage;
+
+// Vodafone CLCI Version 2
+// AVP: Time-Of-Last-Usage (264) Vodafone (12645) 
+// 10
+type AVP_Time Time_Of_Last_Usage;
+
+// Vodafone CLCI Version 2
+// AVP: Trigger (265) Vodafone (12645)  
+// 10
+type AVP_Grouped Trigger;
+
+// Vodafone CLCI Version 2
+// AVP: Trigger-Type (266) Vodafone (12645) 
+// 10
+type enumerated Trigger_Type {
+  CHANGE_IN_SGSN_IP_ADDRESS     (1),
+  CHANGEINQOS_ANY               (2),
+  CHANGEINRAT                   (4),
+  CHANGEINLOCATION_MCC          (30), // CR_TR00017107
+  CHANGEINLOCATION_MNC          (31), // CR_TR00017107
+  CHANGEINLOCATION_LAC          (33),
+  CHANGEINLOCATION_CellId       (34)
+}
+
+// Vodafone CLCI Version 2
+// AVP: User-Location-Information (267) Vodafone (12645) 
+// 10
+type AVP_OctetString User_Location_Information;
+
+// Vodafone CLCI Version 2
+// AVP: Volume-Quota-Threshold (268) Vodafone (12645) 
+// 10
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+// Vodafone CLCI Version 2
+// AVP: Unit-Quota-Threshold (273) Vodafone (12645) 
+// 10
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// Vodafone CLCI Version 2
+// AVP: Envelope (269) Vodafone (12645)  
+// 10
+type AVP_Grouped Envelope;
+
+// Vodafone CLCI Version 2
+// AVP: Envelope-Start-Time (270) Vodafone (12645) 
+// 10
+type AVP_Time Envelope_Start_Time;
+
+// Vodafone CLCI Version 2
+// AVP: Envelope-End-Time (271) Vodafone (12645) 
+// 10
+type AVP_Time Envelope_End_Time;
+
+// Vodafone CLCI Version 2
+// AVP: Envelope-Reporting (272) Vodafone (12645) 
+// 10
+type enumerated Envelope_Reporting
+{
+  DO_NOT_REPORT_ENVELOPES       (0),
+  REPORT_ENVELOPES              (1),
+  REPORT_ENVELOPES_WITH_VOLUME  (2)
+}
+
+// Vodafone CLCI Version 2
+// AVP: Time-Quota-Mechanism (274) Vodafone (12645)  
+// 10
+type AVP_Grouped Time_Quota_Mechanism;
+
+// Vodafone CLCI Version 2
+// AVP: Time-Quota-Type (275) Vodafone (12645)  
+// 10
+type enumerated Time_Quota_Type
+{
+  PARKING_METER                 (2),
+  CONTINUOUS_TIME_PERIOD        (3)
+}
+
+// Vodafone CLCI Version 2
+// AVP: Base-Time-Interval (276) Vodafone (12645) 
+// 10
+type AVP_Unsigned32 Base_Time_Interval;
+
+// Vodafone CLCI Version 2
+// AVP: Offline-Charging (277) Vodafone (12645) 
+// 10
+type AVP_Grouped Offline_Charging
+
+// Vodafone CLCI Version 2
+// AVP: Traffic-Redirected (278) Vodafone (12645)  
+// 10
+type AVP_Grouped Traffic_Redirected
+
+// Vodafone CLCI Version 2
+// AVP: User-Agent (279) Vodafone (12645)
+// 10
+type AVP_UTF8String User_Agent
+
+// Vodafone CLCI Version 2
+// AVP: User-URL (280) Vodafone (12645) 
+// 10
+type AVP_UTF8String User_URL
+
+// Vodafone CLCI Version 2
+// AVP: URL-Append (281) Vodafone (12645) 
+// 10
+type enumerated URL_Append
+{
+  DO_NOT_APPEND_URL             (0),
+  APPEND_URL                    (1)
+}
+
+
+
diff --git a/src/ChargingApplications_3GPP_TS32299_850.ddf b/src/ChargingApplications_3GPP_TS32299_850.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..775a7b4fe82dd6d6fb7f392c40f1274a5385eff7
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_850.ddf
@@ -0,0 +1,1376 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ChargingApplication_3GPP_TS32299_850.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V8.5.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V8_5_0
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 V8.5.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:
+// Trigger-Type - CHANGE_IN_SERVING_NODE enum integer value is undefined in standard, 
+// possibly wrong value associated
+//
+// LCS-Format-Indicator - SIP_URL enum integer value is undefined in standard, 
+// possibly wrong value associated
+//
+// Type-Number is Type-Number instead of enum containing types from OMNA WASP Content 
+// Type Codes database
+//
+// AVPs MMTel-Information and Recipients have same AVP code: 2026
+//
+// AVPs Number-Of-Diversion and SM-Service-Type have same AVP code: 2029
+// 
+
+
+// 3GPP TS 32.299 V8.5.0 
+type enumerated Command_Code {  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Event_Type;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.154
+type AVP_UTF8String SIP_Method;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.45
+type AVP_UTF8String Event;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Content_Type;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.31
+type AVP_Unsigned32 Content_Length;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.30
+type AVP_UTF8String Content_Disposition;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Role-of-Node (829) 3GPP (10415)
+// 7.2.138
+type enumerated Role_of_Node
+{
+  ORIGINATING_ROLE  (0),
+  TERMINATING_ROLE  (1),
+  PROXY_ROLE	    (2),
+  B2BUA_ROLE	    (3)
+}
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String User_Session_Id;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Calling_Party_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.22
+type AVP_UTF8String Called_Party_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.173
+type AVP_Grouped Time_Stamps;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.155
+type AVP_Time SIP_Request_Timestamp;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.156
+type AVP_Time SIP_Response_Timestamp;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.14
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-provided-Called-Party-Address (837) 3GPP (10415)
+// 7.2.13
+type AVP_UTF8String Application_provided_Called_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.60
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.94
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.169
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.56
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.144
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.140
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.142
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String SDP_Media_Description;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.25
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.50
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Served-Party-IP-Address	(848)
+// 7.2.146
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.17
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.177
+type AVP_Grouped Trunk_Group_Id;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.59
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.99
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.20
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.147
+type AVP_UTF8String Service_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.16
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.109
+type AVP_UTF8String PoC_Controlling_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.110
+type AVP_UTF8String PoC_Group_Name;	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.24
+type AVP_Unsigned32 Cause_Code;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Node-Functionality (862) 3GPP (10415)
+// 7.2.89
+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)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.95
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.123
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.122
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Append-Free-Format-Data (867) 3GPP (10415)
+// 7.2.121
+type enumerated PS_Append_Free_Format_Data
+{
+  APPEND    (0),
+  OVERWRITE (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.171
+type AVP_Unsigned32 Time_Quota_Threshold;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.182
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trigger-Type (870) 3GPP (10415)
+// 7.2.176
+type enumerated Trigger_Type 
+{
+  CHANGE_IN_SGSN_IP_ADDRESS                     (1),
+  CHANGE_IN_QOS                                 (2),
+  CHANGE_IN_LOCATION                            (3),
+  CHANGE_IN_RAT                                 (4),
+  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),
+  CHANGEINLOCATION_MCC                         (30),
+  CHANGEINLOCATION_MNC                         (31),
+  CHANGEINLOCATION_RAC                         (32),
+  CHANGEINLOCATION_LAC                         (33),
+  CHANGEINLOCATION_CellId                      (34),
+  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)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.126
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reporting-Reason (872) 3GPP (10415)
+// 7.2.136
+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 V8.5.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.124
+type AVP_Grouped PS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Information (875) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped WLAN_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.88
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped MBMS_Information;		
+				
+// 3GPP TS 32.299 V8.5.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.125
+type AVP_Unsigned32 Quota_Consumption_Time;		
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Media-Initiator-Flag (882) 3GPP (10415)
+// 7.2.79
+type enumerated Media_Initiator_Flag
+{
+  CALLED_PARTY   (0),
+  CALLING_PARTY  (1),
+  UNKNOWN        (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Server-Role	 (883) 3GPP (10415)
+// 7.2.112
+type enumerated PoC_Server_Role	
+{
+  PARTICIPATING_POC_SERVER  (0),
+  CONTROLLING_POC_SERVER    (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Type (884) 3GPP (10415)
+// 7.2.115
+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 V8.5.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.90
+type AVP_Unsigned32 Number_Of_Participants;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Originator_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.100
+type AVP_UTF8String Participants_Involved;	
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.48
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.81
+type AVP_Grouped Message_Body;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WAG-Address (890) 3GPP (10415)
+// 7.2.183
+type AVP_Address WAG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WAG-PLMN-Id (891) 3GPP (10415)
+// 7.2.184
+type AVP_OctetString WAG_PLMN_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Radio-Container (892) 3GPP (10415)
+// 7.2.186
+type AVP_Grouped WLAN_Radio_Container;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Technology (893) 3GPP (10415)
+// 7.2.188
+type AVP_Unsigned32 WLAN_Technology;	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-UE-Local-IPAddress (894) 3GPP (10415)
+// 7.2.189
+type AVP_Address WLAN_UE_Local_IPAddress;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDG-Address (895) 3GPP (10415)
+// 7.2.103
+type AVP_Address PDG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDG-Charging-Id (896) 3GPP (10415)
+// 7.2.104
+type AVP_Unsigned32 PDG_Charging_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.5
+type AVP_UTF8String Address_Data;
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.6
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Type (899) 3GPP (10415)
+// 7.2.7
+type enumerated Address_Type
+{
+  E_MAIL_ADDRESS         (0),
+  MSISDN                 (1),
+  IPV4_ADDRESS           (2),
+  IPV6_ADDRESS           (3),
+  NUMERIC_SHORTCODE      (4),
+  ALPHANUMERIC_SHORTCODE (5),
+  OTHER                  (6)
+}
+
+
+
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.38
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.130
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.165
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.86
+type AVP_Grouped MM_Content_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.178
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.4
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.32
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.8
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.120
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Type (1211) 3GPP (10415)
+// 7.2.85
+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 V8.5.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.84
+type AVP_Unsigned32 Message_Size;	 	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.82
+type AVP_Grouped Message_Class;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Class-Identifier (1214) 3GPP (10415)
+// 7.2.27
+type enumerated Class_Identifier
+{
+  PERSONAL      (0),
+  ADVERTISMENT  (1),
+  INFORMATIONAL (2),
+  AUTO          (3)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.174
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.36
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.1
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.9
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.18
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Class (1220) 3GPP (10415)
+// 7.2.29
+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 V8.5.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.39
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Read-Reply-Report-Requested (1222) 3GPP (10415)
+// 7.2.127
+type enumerated Read_Reply_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Applic-ID (1223) 3GPP (10415)
+// 7.2.134
+type AVP_UTF8String Reply_Applic_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: File-Repair-Supported (1224) 3GPP (10415)
+// 7.2.49
+type enumerated File_Repair_Supported
+{
+  SUPPORTED     (1),
+  NOT_SUPPORTED (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MBMS-User-Service-Type (1225) 3GPP (10415)
+// 7.2.78
+type enumerated MBMS_User_Service_Type
+{
+  DOWNLOAD  (1),
+  STREAMING (2)
+}		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.179
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.105
+type AVP_Address PDP_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.153
+type AVP_Address SGSN_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.113
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Deferred-Location-Even-Type (1230) 3GPP (10415)
+// 7.2.35
+type AVP_UTF8String Deferred_Location_Even_Type;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.61
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.64
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Dialed-By-MS (1233) 3GPP (10415)
+// 7.2.62
+type AVP_UTF8String LCS_Client_Dialed_By_MS;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.67
+type AVP_UTF8String LCS_Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Format-Indicator (1237) 3GPP (10415)
+// 7.2.68
+type enumerated LCS_Format_Indicator
+{
+  LOGICAL_NAME   (0),
+  EMAIL_ADDRESS  (1),
+  MSISDN         (2),
+  URL		 (3),
+  SIP_URL        (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.70
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.71
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Type (1241) 3GPP (10415)
+// 7.2.66
+type enumerated LCS_Client_Type
+{
+  EMERGENCY_SERVICES        (0),
+  VALUE_ADDED_SERVICES      (1),
+  PLMN_OPERATOR_SERVICES    (2),
+  LAWFUL_INTERCEPT_SERVICES (3)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Location_Estimate;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Location-Estimate-Type (1243) 3GPP (10415)
+// 7.2.74
+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 V8.5.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.75
+type AVP_Grouped Location_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.119
+type AVP_UTF8String Positioning_Data;		 	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Session-Id (1246) 3GPP (10415)
+// 7.2.187
+type AVP_Unsigned32 WLAN_Session_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.106
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.87
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.151
+type AVP_Grouped Service_Specific_Info;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.137
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.116
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.117
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role-info-Units (1254) 3GPP (10415)
+// 7.2.118
+type enumerated PoC_User_Role_info_Units
+{
+  MODERATOR           (1),
+  DISPATCHER          (2),
+  SESSION_OWNER       (3),
+  SESSION_PARTICIPANT (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.166
+type AVP_Grouped Talk_Burst_Exchange;	 	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.148
+type AVP_Grouped Service_Generic_Information;	 			
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.152
+type AVP_Unsigned32 Service_Specific_Type;	
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.46
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participant-Access-Priority (1259) 3GPP (10415)
+// 7.2.102
+type enumerated Participant_Access_Priority
+{
+  PRE_EMPTIVE_PRIORITY (1),
+  HIGH_PRIORITY        (2),
+  NORMAL_PRIORITY      (3),
+  LOW_PRIORITY         (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.101
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Change-Conditions (1261) 3GPP (10415)
+// 7.2.107
+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 V8.5.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.108
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.2
+type AVP_OctetString Access_Network_Information;	 	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.175
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.19
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.41
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.42
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope-Reporting (1268) 3GPP (10415)
+// 7.2.43
+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 V8.5.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.44
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.170
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Type (1271) 3GPP (10415)
+// 7.2.172
+type enumerated Time_Quota_Type
+{
+  DISCRETE_TIME_PERIOD    (0),
+  CONTINUOUS_TIME_PERIOD  (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.40
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.145
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.143
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.139
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Initiation-Type (1277) 3GPP (10415)
+// 7.2.114
+type enumerated PoC_Session_Initiation_Type
+{
+  PRE_ESTABLISHED (0),
+  ON_DEMAND       (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.93
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: User-Participating-Type (1279) 3GPP (10415)
+// 7.2.180
+type enumerated User_Participating_Type
+{
+  NORMAL     (0),
+  NW_POC_BOX (1),
+  UE_POC_BOX (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.57
+type AVP_UTF8String IMS_Communication_Service_Identifier;		
+			
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Of-Received-Talk-Bursts (1282) 3GPP (10415)
+// 7.2.91
+type AVP_Unsigned32 Number_Of_Received_Talk_Bursts;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.92
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.128
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.129
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.167
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.168
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.80
+type AVP_UTF8String Media_Initiator_Party;		
+	
+        
+        
+        
+        
+        
+        		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.162
+type AVP_Grouped SMS_Information;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 
+type AVP_Unsigned32 Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.37
+type AVP_Grouped Destination_Interface;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.52
+type AVP_UTF8String Interface_Id;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.53
+type AVP_UTF8String Interface_Port;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.54
+type AVP_UTF8String Interface_Text;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Type (2006) 3GPP (10415)
+// 7.2.55
+type enumerated Interface_Type;	
+{
+  UNKNOWN                 (0),
+  MOBILE_ORIGINATING      (1),
+  MOBILE_TERMINATING      (2),
+  APPLICATION_ORIGINATING (3),
+  APPLICATION_TERMINATION (4)
+}
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Message-Type (2007) 3GPP (10415)
+// 7.2.158
+type enumerated SM_Message_Type
+{
+  SUBMISSION         (0),
+  DELIVERY_REPORT    (1),
+  SM_SERVICE_REQUEST (2)
+}		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.98
+type AVP_Address Originating_SCCP_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.97
+type AVP_Grouped Originator_Interface;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.131
+type AVP_Address Recipient_SCCP_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Path-Requested (2011) 3GPP (10415)
+// 7.2.135
+type enumerated Reply_Path_Requested
+{
+  NO_REPLY_PATH_SET (0),
+  REPLY_PATH_SET    (1)
+}
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.157
+type AVP_Time SM_Discharge_Time;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.159
+type AVP_OctetString SM_Protocol_ID;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.160
+type AVP_OctetString SM_Status;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.161
+type AVP_OctetString SM_User_Data_Header;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SMS-Node (2016) 3GPP (10415)
+// 7.2.163
+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 V8.5.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.164
+type AVP_Address SMSC_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.28
+type AVP_Address Client_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.89A
+type AVP_Unsigned32 Number_of_Messages_Sent;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Low-Balance-Indication (2020) 3GPP (10415)
+// 7.2.76
+type enumerated Low_Balance_Indication
+{
+  NOT_APPLICABLE (0),
+  YES            (1)
+}
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Remaining-Balance (2021) 3GPP (10415)
+// 7.2.133
+type AVP_Grouped Remaining_Balance;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.132
+type AVP_OctetString Refund_Information;
+
+
+
+
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.23A
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.92A
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Event-Type (2025) 3GPP (10415)
+// 7.2.109A
+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 V8.5.0
+// AVP: Recipients (2026) 3GPP (10415)
+// 7.2.129A 
+type AVP_Grouped Recipients;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.97A 
+type AVP_Grouped Originator_Received_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.130A 
+type AVP_Grouped Recipient_Received_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.163A
+type AVP_Unsigned32 SM_Service_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.165A
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.15A
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.145A
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Non-3GPP-Access-Information (2050) 3GPP (10415)
+// 7.2.89a 
+type AVP_Grouped Non_3GPP_Access_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.51
+type AVP_Grouped IM_Information;		
+
diff --git a/src/ChargingApplications_3GPP_TS32299_870.ddf b/src/ChargingApplications_3GPP_TS32299_870.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..b1cd43a005c05835df8a309b77e136b06cd78d7e
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_870.ddf
@@ -0,0 +1,1563 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ChargingApplication_3GPP_TS32299_870.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V8.7.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V8_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 V8.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:
+// Trigger-Type - CHANGE_IN_SERVING_NODE enum integer value is undefined in standard, 
+// possibly wrong value associated
+//
+// LCS-Format-Indicator - SIP_URL enum integer value is undefined in standard, 
+// possibly wrong value associated
+//
+// Type-Number is Type-Number instead of enum containing types from OMNA WASP Content 
+// Type Codes database
+//
+// AVPs MMTel-Information and Recipients have same AVP code: 2026
+//
+// AVPs Number-Of-Diversion and SM-Service-Type have same AVP code: 2029
+// 
+
+
+// 3GPP TS 32.299 V8.5.0 
+type enumerated Command_Code {  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Event_Type;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.154
+type AVP_UTF8String SIP_Method;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.45
+type AVP_UTF8String Event;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Content_Type;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.31
+type AVP_Unsigned32 Content_Length;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.30
+type AVP_UTF8String Content_Disposition;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Role-of-Node (829) 3GPP (10415)
+// 7.2.138
+type enumerated Role_of_Node
+{
+  ORIGINATING_ROLE  (0),
+  TERMINATING_ROLE  (1),
+  PROXY_ROLE	    (2),
+  B2BUA_ROLE	    (3)
+}
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String User_Session_Id;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Calling_Party_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.22
+type AVP_UTF8String Called_Party_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.173
+type AVP_Grouped Time_Stamps;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.155
+type AVP_Time SIP_Request_Timestamp;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.156
+type AVP_Time SIP_Response_Timestamp;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.14
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-provided-Called-Party-Address (837) 3GPP (10415)
+// 7.2.13
+type AVP_UTF8String Application_provided_Called_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.60
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.94
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.169
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.56
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.144
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.140
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.142
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String SDP_Media_Description;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.25
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.50
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Served-Party-IP-Address	(848)
+// 7.2.146
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.17
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.177
+type AVP_Grouped Trunk_Group_Id;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.59
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.99
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.20
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.147
+type AVP_UTF8String Service_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.16
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.109
+type AVP_UTF8String PoC_Controlling_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.110
+type AVP_UTF8String PoC_Group_Name;	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.24
+type AVP_Unsigned32 Cause_Code;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Node-Functionality (862) 3GPP (10415)
+// 7.2.89
+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)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.95
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.123
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.122
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Append-Free-Format-Data (867) 3GPP (10415)
+// 7.2.121
+type enumerated PS_Append_Free_Format_Data
+{
+  APPEND    (0),
+  OVERWRITE (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.171
+type AVP_Unsigned32 Time_Quota_Threshold;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.182
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trigger-Type (870) 3GPP (10415)
+// 7.2.176
+type enumerated Trigger_Type 
+{
+  CHANGE_IN_SGSN_IP_ADDRESS                     (1),
+  CHANGE_IN_QOS                                 (2),
+  CHANGE_IN_LOCATION                            (3),
+  CHANGE_IN_RAT                                 (4),
+  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),
+  CHANGEINLOCATION_MCC                         (30),
+  CHANGEINLOCATION_MNC                         (31),
+  CHANGEINLOCATION_RAC                         (32),
+  CHANGEINLOCATION_LAC                         (33),
+  CHANGEINLOCATION_CellId                      (34),
+  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)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.126
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reporting-Reason (872) 3GPP (10415)
+// 7.2.136
+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 V8.5.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.124
+type AVP_Grouped PS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Information (875) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped WLAN_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.88
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped MBMS_Information;		
+				
+// 3GPP TS 32.299 V8.5.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.125
+type AVP_Unsigned32 Quota_Consumption_Time;		
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Media-Initiator-Flag (882) 3GPP (10415)
+// 7.2.79
+type enumerated Media_Initiator_Flag
+{
+  CALLED_PARTY   (0),
+  CALLING_PARTY  (1),
+  UNKNOWN        (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Server-Role	 (883) 3GPP (10415)
+// 7.2.112
+type enumerated PoC_Server_Role	
+{
+  PARTICIPATING_POC_SERVER  (0),
+  CONTROLLING_POC_SERVER    (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Type (884) 3GPP (10415)
+// 7.2.115
+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 V8.5.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.90
+type AVP_Unsigned32 Number_Of_Participants;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Originator_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.100
+type AVP_UTF8String Participants_Involved;	
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.48
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.81
+type AVP_Grouped Message_Body;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WAG-Address (890) 3GPP (10415)
+// 7.2.183
+type AVP_Address WAG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WAG-PLMN-Id (891) 3GPP (10415)
+// 7.2.184
+type AVP_OctetString WAG_PLMN_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Radio-Container (892) 3GPP (10415)
+// 7.2.186
+type AVP_Grouped WLAN_Radio_Container;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Technology (893) 3GPP (10415)
+// 7.2.188
+type AVP_Unsigned32 WLAN_Technology;	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-UE-Local-IPAddress (894) 3GPP (10415)
+// 7.2.189
+type AVP_Address WLAN_UE_Local_IPAddress;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDG-Address (895) 3GPP (10415)
+// 7.2.103
+type AVP_Address PDG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDG-Charging-Id (896) 3GPP (10415)
+// 7.2.104
+type AVP_Unsigned32 PDG_Charging_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.5
+type AVP_UTF8String Address_Data;
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.6
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Type (899) 3GPP (10415)
+// 7.2.7
+type enumerated Address_Type
+{
+  E_MAIL_ADDRESS         (0),
+  MSISDN                 (1),
+  IPV4_ADDRESS           (2),
+  IPV6_ADDRESS           (3),
+  NUMERIC_SHORTCODE      (4),
+  ALPHANUMERIC_SHORTCODE (5),
+  OTHER                  (6)
+}
+
+
+
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.38
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.130
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.165
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.86
+type AVP_Grouped MM_Content_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.178
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.4
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.32
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.8
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.120
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Type (1211) 3GPP (10415)
+// 7.2.85
+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 V8.5.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.84
+type AVP_Unsigned32 Message_Size;	 	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.82
+type AVP_Grouped Message_Class;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Class-Identifier (1214) 3GPP (10415)
+// 7.2.27
+type enumerated Class_Identifier
+{
+  PERSONAL      (0),
+  ADVERTISMENT  (1),
+  INFORMATIONAL (2),
+  AUTO          (3)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.174
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.36
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.1
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.9
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.18
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Class (1220) 3GPP (10415)
+// 7.2.29
+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 V8.5.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.39
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Read-Reply-Report-Requested (1222) 3GPP (10415)
+// 7.2.127
+type enumerated Read_Reply_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Applic-ID (1223) 3GPP (10415)
+// 7.2.134
+type AVP_UTF8String Reply_Applic_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: File-Repair-Supported (1224) 3GPP (10415)
+// 7.2.49
+type enumerated File_Repair_Supported
+{
+  SUPPORTED     (1),
+  NOT_SUPPORTED (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MBMS-User-Service-Type (1225) 3GPP (10415)
+// 7.2.78
+type enumerated MBMS_User_Service_Type
+{
+  DOWNLOAD  (1),
+  STREAMING (2)
+}		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.179
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.105
+type AVP_Address PDP_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.153
+type AVP_Address SGSN_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.113
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.61
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.64
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Dialed-By-MS (1233) 3GPP (10415)
+// 7.2.62
+type AVP_UTF8String LCS_Client_Dialed_By_MS;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.67
+type AVP_UTF8String LCS_Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Format-Indicator (1237) 3GPP (10415)
+// 7.2.68
+type enumerated LCS_Format_Indicator
+{
+  LOGICAL_NAME   (0),
+  EMAIL_ADDRESS  (1),
+  MSISDN         (2),
+  URL		 (3),
+  SIP_URL        (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.70
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.71
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Type (1241) 3GPP (10415)
+// 7.2.66
+type enumerated LCS_Client_Type
+{
+  EMERGENCY_SERVICES        (0),
+  VALUE_ADDED_SERVICES      (1),
+  PLMN_OPERATOR_SERVICES    (2),
+  LAWFUL_INTERCEPT_SERVICES (3)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Location_Estimate;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Location-Estimate-Type (1243) 3GPP (10415)
+// 7.2.74
+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 V8.5.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.75
+type AVP_Grouped Location_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.119
+type AVP_UTF8String Positioning_Data;		 	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Session-Id (1246) 3GPP (10415)
+// 7.2.187
+type AVP_Unsigned32 WLAN_Session_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.106
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.87
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.151
+type AVP_Grouped Service_Specific_Info;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.137
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.116
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.117
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role-info-Units (1254) 3GPP (10415)
+// 7.2.118
+type enumerated PoC_User_Role_info_Units
+{
+  MODERATOR           (1),
+  DISPATCHER          (2),
+  SESSION_OWNER       (3),
+  SESSION_PARTICIPANT (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.166
+type AVP_Grouped Talk_Burst_Exchange;	 	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.148
+type AVP_Grouped Service_Generic_Information;	 			
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.152
+type AVP_Unsigned32 Service_Specific_Type;	
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.46
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participant-Access-Priority (1259) 3GPP (10415)
+// 7.2.102
+type enumerated Participant_Access_Priority
+{
+  PRE_EMPTIVE_PRIORITY (1),
+  HIGH_PRIORITY        (2),
+  NORMAL_PRIORITY      (3),
+  LOW_PRIORITY         (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.101
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Change-Conditions (1261) 3GPP (10415)
+// 7.2.107
+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 V8.5.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.108
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.2
+type AVP_OctetString Access_Network_Information;	 	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.175
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.19
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.41
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.42
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope-Reporting (1268) 3GPP (10415)
+// 7.2.43
+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 V8.5.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.44
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.170
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Type (1271) 3GPP (10415)
+// 7.2.172
+type enumerated Time_Quota_Type
+{
+  DISCRETE_TIME_PERIOD    (0),
+  CONTINUOUS_TIME_PERIOD  (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.40
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.145
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.143
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.139
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Initiation-Type (1277) 3GPP (10415)
+// 7.2.114
+type enumerated PoC_Session_Initiation_Type
+{
+  PRE_ESTABLISHED (0),
+  ON_DEMAND       (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.93
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: User-Participating-Type (1279) 3GPP (10415)
+// 7.2.180
+type enumerated User_Participating_Type
+{
+  NORMAL     (0),
+  NW_POC_BOX (1),
+  UE_POC_BOX (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.57
+type AVP_UTF8String IMS_Communication_Service_Identifier;		
+			
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Of-Received-Talk-Bursts (1282) 3GPP (10415)
+// 7.2.91
+type AVP_Unsigned32 Number_Of_Received_Talk_Bursts;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.92
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.128
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.129
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.167
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.168
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.80
+type AVP_UTF8String Media_Initiator_Party;		
+	
+        
+        
+        
+        
+        
+        		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.162
+type AVP_Grouped SMS_Information;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 
+type AVP_Unsigned32 Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.37
+type AVP_Grouped Destination_Interface;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.52
+type AVP_UTF8String Interface_Id;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.53
+type AVP_UTF8String Interface_Port;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.54
+type AVP_UTF8String Interface_Text;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Type (2006) 3GPP (10415)
+// 7.2.55
+type enumerated Interface_Type;	
+{
+  UNKNOWN                 (0),
+  MOBILE_ORIGINATING      (1),
+  MOBILE_TERMINATING      (2),
+  APPLICATION_ORIGINATING (3),
+  APPLICATION_TERMINATION (4)
+}
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Message-Type (2007) 3GPP (10415)
+// 7.2.158
+type enumerated SM_Message_Type
+{
+  SUBMISSION         (0),
+  DELIVERY_REPORT    (1),
+  SM_SERVICE_REQUEST (2)
+}		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.98
+type AVP_Address Originating_SCCP_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.97
+type AVP_Grouped Originator_Interface;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.131
+type AVP_Address Recipient_SCCP_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Path-Requested (2011) 3GPP (10415)
+// 7.2.135
+type enumerated Reply_Path_Requested
+{
+  NO_REPLY_PATH_SET (0),
+  REPLY_PATH_SET    (1)
+}
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.157
+type AVP_Time SM_Discharge_Time;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.159
+type AVP_OctetString SM_Protocol_ID;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.160
+type AVP_OctetString SM_Status;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.161
+type AVP_OctetString SM_User_Data_Header;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SMS-Node (2016) 3GPP (10415)
+// 7.2.163
+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 V8.5.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.164
+type AVP_Address SMSC_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.28
+type AVP_Address Client_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.89A
+type AVP_Unsigned32 Number_of_Messages_Sent;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Low-Balance-Indication (2020) 3GPP (10415)
+// 7.2.76
+type enumerated Low_Balance_Indication
+{
+  NOT_APPLICABLE (0),
+  YES            (1)
+}
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Remaining-Balance (2021) 3GPP (10415)
+// 7.2.133
+type AVP_Grouped Remaining_Balance;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.132
+type AVP_OctetString Refund_Information;
+
+
+
+
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.23A
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.92A
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Event-Type (2025) 3GPP (10415)
+// 7.2.109A
+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 V8.5.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.97A 
+type AVP_Grouped Originator_Received_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.130A 
+type AVP_Grouped Recipient_Received_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.163A
+type AVP_Unsigned32 SM_Service_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.165A
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.15A
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.145A
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.51
+type AVP_Grouped IM_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Accumulated-Cost (2052) 3GPP (10415)
+// 7.2.2a
+type AVP_Grouped Accumulated_Cost;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: AoC-Cost-Information (2053) 3GPP (10415)
+// 7.2.12a
+type AVP_Grouped AoC_Cost_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: AoC-Information (2054) 3GPP (10415)
+// 7.2.12b
+type AVP_Grouped AoC_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: AoC-Request-Type (2055) 3GPP (10415)
+// 7.2.12b
+type enumerated AoC_Request_Type
+{
+  AoC_NOT_REQUESTED     (0),
+  AoC_FULL              (1),
+  AoC_COST_ONLY         (2),
+  AoC_TARIFF_ONLY       (3)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Change-Condition  (2037) 3GPP (10415)
+// 7.2.25a
+type AVP_Integer32 Change_Condition;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Change-Time  (2038) 3GPP (10415)
+// 7.2.25b
+type AVP_Time Change_Time;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Current-Tariff (2056) 3GPP (10415)
+// 7.2.33A
+type AVP_Grouped Current_Tariff;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Deferred-Location-Event-Type (1230) 3GPP (10415)
+// 7.2.35
+type AVP_UTF8String Deferred_Location_Event_Type;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Diagnostics (2039) 3GPP (10415)
+// 7.2.37A
+type AVP_Integer32 Diagnostics;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Dynamic-Address-Flag (2051) 3GPP (10415)
+// 7.2.39A
+type enumerated Dynamic_Address_Flag
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Incremental-Cost (2062) 3GPP (10415)
+// 7.2.51A
+type AVP_Grouped Incremental_Cost;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Local-Sequence-Number (2063) 3GPP (10415)
+// 7.2.72A
+type AVP_Unsigned32 Local_Sequence_Number;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: MMTel-Information (2030) 3GPP (10415)
+// 7.2.88A
+type AVP_Grouped MMTel_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Next-Tariff (2057) 3GPP (10415)
+// 7.2.88B
+type AVP_Grouped Next_Tariff;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Node-Id (2064) 3GPP (10415)
+// 7.2.89b
+type AVP_UTF8String Node_Id;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Number-Of-Diversions (2034) 3GPP (10415)
+// 7.2.89aa
+type AVP_Unsigned32 Number_Of_Diversions;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Participant-Action-Type (2049) 3GPP (10415)
+// 7.2.102A
+type enumerated Participant_Action_Type
+{
+  CREATE_CONF       (0),
+  JOIN_CONF         (1),
+  INVITE_INTO_CONF  (2),
+  QUIT_CONF         (3)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: PDN-Connection-ID (2050) 3GPP (10415)
+// 7.2.104a
+type AVP_Unsigned32 PDN_Connection_ID;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Rate-Element (2058) 3GPP (10415)
+// 7.2.126A
+type AVP_Grouped Rate_Element;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Recipient-Info (2026) 3GPP (10415)
+// 7.2.130a
+type AVP_Grouped Recipient_Info;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Scale-Factor (2059) 3GPP (10415)
+// 7.2.138A
+type AVP_Grouped Scale_Factor;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Service-Data-Container (2040) 3GPP (10415)
+// 7.2.146B
+type AVP_Grouped Service_Data_Container;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Service-Mode (2032) 3GPP (10415)
+// 7.2.149A
+type AVP_Unsigned32 Service_Mode;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Serving-Node-Type (2047) 3GPP (10415)
+// 7.2.152B
+type enumerated Serving_Node_Type
+{
+  SGSN      (0),
+  PMIPSGW   (1),
+  GTPSGW    (2),
+  ePDG      (3),
+  hSGW      (4),
+  MME       (5)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Service-Type (2031) 3GPP (10415)
+// 7.2.152A
+type AVP_Unsigned32 Service_Type;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: SGW-Change (2065) 3GPP (10415)
+// 7.2.153A
+type enumerated SGW_Change
+{
+  ACR_Start_NOT_due_to_SGW_Change      (0),
+  ACR_Start_due_to_SGW_Change          (1)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Start-Time (2041) 3GPP (10415)
+// 7.2.164A
+type AVP_Time Start_Time;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Stop-Time (2042) 3GPP (10415)
+// 7.2.164B
+type AVP_Time Stop_Time;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Supplementary-Service (2048) 3GPP (10415)
+// 7.2.165B
+type AVP_Grouped Supplementary_Service;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Tariff-Information (2060) 3GPP (10415)
+// 7.2.168B
+type AVP_Grouped Tariff_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Time_First_Usage (2043) 3GPP (10415)
+// 7.2.169A
+type AVP_Time Time_First_Usage;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Time_Last_Usage (2044) 3GPP (10415)
+// 7.2.169B
+type AVP_Time Time_Last_Usage;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Time-Usage (2045) 3GPP (10415)
+// 7.2.173a
+type AVP_Unsigned32 Time_Usage;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Traffic-Data-Volumes (2046) 3GPP (10415)
+// 7.2.173A
+type AVP_Grouped Traffic_Data_Volumes;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Unit-Cost (2061) 3GPP (10415)
+// 7.2.178A
+type AVP_Grouped Unit_Cost;
diff --git a/src/ChargingApplications_3GPP_TS32299_900.ddf b/src/ChargingApplications_3GPP_TS32299_900.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..37d3b51b35d2f3adcf5ae2decb7bc13e891bd7dc
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_900.ddf
@@ -0,0 +1,1580 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ChargingApplication_3GPP_TS32299_900.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V9.0.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V9_0_0
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 V9.0.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 V8.5.0 
+type enumerated Command_Code {  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Event_Type;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.154
+type AVP_UTF8String SIP_Method;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.45
+type AVP_UTF8String Event;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Content_Type;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.31
+type AVP_Unsigned32 Content_Length;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.30
+type AVP_UTF8String Content_Disposition;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Role-of-Node (829) 3GPP (10415)
+// Note: not compatible with V9.3.0 or newer (see spec.)
+// 7.2.138
+type enumerated Role_of_Node
+{
+  ORIGINATING_ROLE  (0),
+  TERMINATING_ROLE  (1),
+  PROXY_ROLE	    (2),
+  B2BUA_ROLE	    (3)
+}
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String User_Session_Id;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Calling_Party_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.22
+type AVP_UTF8String Called_Party_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.173
+type AVP_Grouped Time_Stamps;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.155
+type AVP_Time SIP_Request_Timestamp;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.156
+type AVP_Time SIP_Response_Timestamp;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.14
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-provided-Called-Party-Address (837) 3GPP (10415)
+// 7.2.13
+type AVP_UTF8String Application_provided_Called_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.60
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.94
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.169
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.56
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.144
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.140
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.142
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String SDP_Media_Description;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.25
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.50
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Served-Party-IP-Address	(848)
+// 7.2.146
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.17
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.177
+type AVP_Grouped Trunk_Group_Id;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.59
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.99
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.20
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.147
+type AVP_UTF8String Service_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.16
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.109
+type AVP_UTF8String PoC_Controlling_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.110
+type AVP_UTF8String PoC_Group_Name;	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.24
+type AVP_Unsigned32 Cause_Code;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Node-Functionality (862) 3GPP (10415)
+// 7.2.89
+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)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.95
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.123
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.122
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Append-Free-Format-Data (867) 3GPP (10415)
+// 7.2.121
+type enumerated PS_Append_Free_Format_Data
+{
+  APPEND    (0),
+  OVERWRITE (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.171
+type AVP_Unsigned32 Time_Quota_Threshold;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.182
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trigger-Type (870) 3GPP (10415)
+// 7.2.176
+type enumerated Trigger_Type 
+{
+  CHANGE_IN_SGSN_IP_ADDRESS                     (1),
+  CHANGE_IN_QOS                                 (2),
+  CHANGE_IN_LOCATION                            (3),
+  CHANGE_IN_RAT                                 (4),
+  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),
+  CHANGEINLOCATION_MCC                         (30),
+  CHANGEINLOCATION_MNC                         (31),
+  CHANGEINLOCATION_RAC                         (32),
+  CHANGEINLOCATION_LAC                         (33),
+  CHANGEINLOCATION_CellId                      (34),
+  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)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.126
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reporting-Reason (872) 3GPP (10415)
+// 7.2.136
+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 V8.5.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.124
+type AVP_Grouped PS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Information (875) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped WLAN_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.88
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped MBMS_Information;		
+				
+// 3GPP TS 32.299 V8.5.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.125
+type AVP_Unsigned32 Quota_Consumption_Time;		
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Media-Initiator-Flag (882) 3GPP (10415)
+// 7.2.79
+type enumerated Media_Initiator_Flag
+{
+  CALLED_PARTY   (0),
+  CALLING_PARTY  (1),
+  UNKNOWN        (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Server-Role	 (883) 3GPP (10415)
+// 7.2.112
+type enumerated PoC_Server_Role	
+{
+  PARTICIPATING_POC_SERVER  (0),
+  CONTROLLING_POC_SERVER    (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Type (884) 3GPP (10415)
+// 7.2.115
+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 V8.5.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.90
+type AVP_Unsigned32 Number_Of_Participants;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Originator_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.100
+type AVP_UTF8String Participants_Involved;	
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.48
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.81
+type AVP_Grouped Message_Body;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WAG-Address (890) 3GPP (10415)
+// 7.2.183
+type AVP_Address WAG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WAG-PLMN-Id (891) 3GPP (10415)
+// 7.2.184
+type AVP_OctetString WAG_PLMN_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Radio-Container (892) 3GPP (10415)
+// 7.2.186
+type AVP_Grouped WLAN_Radio_Container;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Technology (893) 3GPP (10415)
+// 7.2.188
+type AVP_Unsigned32 WLAN_Technology;	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-UE-Local-IPAddress (894) 3GPP (10415)
+// 7.2.189
+type AVP_Address WLAN_UE_Local_IPAddress;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDG-Address (895) 3GPP (10415)
+// 7.2.103
+type AVP_Address PDG_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDG-Charging-Id (896) 3GPP (10415)
+// 7.2.104
+type AVP_Unsigned32 PDG_Charging_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.5
+type AVP_UTF8String Address_Data;
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.6
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Address-Type (899) 3GPP (10415)
+// 7.2.7
+type enumerated Address_Type
+{
+  E_MAIL_ADDRESS         (0),
+  MSISDN                 (1),
+  IPV4_ADDRESS           (2),
+  IPV6_ADDRESS           (3),
+  NUMERIC_SHORTCODE      (4),
+  ALPHANUMERIC_SHORTCODE (5),
+  OTHER                  (6)
+}
+
+
+
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.38
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.130
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.165
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.86
+type AVP_Grouped MM_Content_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.178
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.4
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.32
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.8
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.120
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Type (1211) 3GPP (10415)
+// 7.2.85
+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 V8.5.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.84
+type AVP_Unsigned32 Message_Size;	 	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.82
+type AVP_Grouped Message_Class;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Class-Identifier (1214) 3GPP (10415)
+// 7.2.27
+type enumerated Class_Identifier
+{
+  PERSONAL      (0),
+  ADVERTISMENT  (1),
+  INFORMATIONAL (2),
+  AUTO          (3)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.174
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.36
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.1
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.9
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.18
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Content-Class (1220) 3GPP (10415)
+// 7.2.29
+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 V8.5.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.39
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Read-Reply-Report-Requested (1222) 3GPP (10415)
+// 7.2.127
+type enumerated Read_Reply_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Applic-ID (1223) 3GPP (10415)
+// 7.2.134
+type AVP_UTF8String Reply_Applic_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: File-Repair-Supported (1224) 3GPP (10415)
+// 7.2.49
+type enumerated File_Repair_Supported
+{
+  SUPPORTED     (1),
+  NOT_SUPPORTED (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MBMS-User-Service-Type (1225) 3GPP (10415)
+// 7.2.78
+type enumerated MBMS_User_Service_Type
+{
+  DOWNLOAD  (1),
+  STREAMING (2)
+}		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.179
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.105
+type AVP_Address PDP_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.153
+type AVP_Address SGSN_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.113
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.61
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.64
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Dialed-By-MS (1233) 3GPP (10415)
+// 7.2.62
+type AVP_UTF8String LCS_Client_Dialed_By_MS;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.67
+type AVP_UTF8String LCS_Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Format-Indicator (1237) 3GPP (10415)
+// 7.2.68
+type enumerated LCS_Format_Indicator
+{
+  LOGICAL_NAME   (0),
+  EMAIL_ADDRESS  (1),
+  MSISDN         (2),
+  URL		 (3),
+  SIP_URL        (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.70
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.71
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: LCS-Client-Type (1241) 3GPP (10415)
+// 7.2.66
+type enumerated LCS_Client_Type
+{
+  EMERGENCY_SERVICES        (0),
+  VALUE_ADDED_SERVICES      (1),
+  PLMN_OPERATOR_SERVICES    (2),
+  LAWFUL_INTERCEPT_SERVICES (3)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Location_Estimate;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Location-Estimate-Type (1243) 3GPP (10415)
+// 7.2.74
+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 V8.5.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.75
+type AVP_Grouped Location_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.119
+type AVP_UTF8String Positioning_Data;		 	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: WLAN-Session-Id (1246) 3GPP (10415)
+// 7.2.187
+type AVP_Unsigned32 WLAN_Session_Id;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.106
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.87
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.151
+type AVP_Grouped Service_Specific_Info;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.137
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.116
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.117
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-User-Role-info-Units (1254) 3GPP (10415)
+// 7.2.118
+type enumerated PoC_User_Role_info_Units
+{
+  MODERATOR           (1),
+  DISPATCHER          (2),
+  SESSION_OWNER       (3),
+  SESSION_PARTICIPANT (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.166
+type AVP_Grouped Talk_Burst_Exchange;	 	
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.148
+type AVP_Grouped Service_Generic_Information;	 			
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.152
+type AVP_Unsigned32 Service_Specific_Type;	
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.46
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participant-Access-Priority (1259) 3GPP (10415)
+// 7.2.102
+type enumerated Participant_Access_Priority
+{
+  PRE_EMPTIVE_PRIORITY (1),
+  HIGH_PRIORITY        (2),
+  NORMAL_PRIORITY      (3),
+  LOW_PRIORITY         (4)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.101
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Change-Conditions (1261) 3GPP (10415)
+// 7.2.107
+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 V8.5.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.108
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.2
+type AVP_OctetString Access_Network_Information;	 	
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.175
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.19
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.41
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.42
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Envelope-Reporting (1268) 3GPP (10415)
+// 7.2.43
+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 V8.5.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.44
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.170
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Time-Quota-Type (1271) 3GPP (10415)
+// 7.2.172
+type enumerated Time_Quota_Type
+{
+  DISCRETE_TIME_PERIOD    (0),
+  CONTINUOUS_TIME_PERIOD  (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.40
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.145
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.143
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.139
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Session-Initiation-Type (1277) 3GPP (10415)
+// 7.2.114
+type enumerated PoC_Session_Initiation_Type
+{
+  PRE_ESTABLISHED (0),
+  ON_DEMAND       (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.93
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: User-Participating-Type (1279) 3GPP (10415)
+// 7.2.180
+type enumerated User_Participating_Type
+{
+  NORMAL     (0),
+  NW_POC_BOX (1),
+  UE_POC_BOX (2)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.57
+type AVP_UTF8String IMS_Communication_Service_Identifier;		
+			
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Of-Received-Talk-Bursts (1282) 3GPP (10415)
+// 7.2.91
+type AVP_Unsigned32 Number_Of_Received_Talk_Bursts;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.92
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.128
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.129
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.167
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.168
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.80
+type AVP_UTF8String Media_Initiator_Party;		
+	
+        
+        
+        
+        
+        
+        		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.162
+type AVP_Grouped SMS_Information;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 
+type AVP_Unsigned32 Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.37
+type AVP_Grouped Destination_Interface;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.52
+type AVP_UTF8String Interface_Id;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.53
+type AVP_UTF8String Interface_Port;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.54
+type AVP_UTF8String Interface_Text;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Interface-Type (2006) 3GPP (10415)
+// 7.2.55
+type enumerated Interface_Type;	
+{
+  UNKNOWN                 (0),
+  MOBILE_ORIGINATING      (1),
+  MOBILE_TERMINATING      (2),
+  APPLICATION_ORIGINATING (3),
+  APPLICATION_TERMINATION (4)
+}
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Message-Type (2007) 3GPP (10415)
+// 7.2.158
+type enumerated SM_Message_Type
+{
+  SUBMISSION         (0),
+  DELIVERY_REPORT    (1),
+  SM_SERVICE_REQUEST (2)
+}		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.98
+type AVP_Address Originating_SCCP_Address;		
+		
+// 3GPP TS 32.299 V8.5.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.97
+type AVP_Grouped Originator_Interface;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.131
+type AVP_Address Recipient_SCCP_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Reply-Path-Requested (2011) 3GPP (10415)
+// 7.2.135
+type enumerated Reply_Path_Requested
+{
+  NO_REPLY_PATH_SET (0),
+  REPLY_PATH_SET    (1)
+}
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.157
+type AVP_Time SM_Discharge_Time;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.159
+type AVP_OctetString SM_Protocol_ID;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.160
+type AVP_OctetString SM_Status;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.161
+type AVP_OctetString SM_User_Data_Header;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: SMS-Node (2016) 3GPP (10415)
+// 7.2.163
+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 V8.5.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.164
+type AVP_Address SMSC_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.28
+type AVP_Address Client_Address;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.89A
+type AVP_Unsigned32 Number_of_Messages_Sent;		
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Low-Balance-Indication (2020) 3GPP (10415)
+// 7.2.76
+type enumerated Low_Balance_Indication
+{
+  NOT_APPLICABLE (0),
+  YES            (1)
+}
+	
+// 3GPP TS 32.299 V8.5.0
+// AVP: Remaining-Balance (2021) 3GPP (10415)
+// 7.2.133
+type AVP_Grouped Remaining_Balance;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.132
+type AVP_OctetString Refund_Information;
+
+
+
+
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.23A
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.92A
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: PoC-Event-Type (2025) 3GPP (10415)
+// 7.2.109A
+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 V8.5.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.97A 
+type AVP_Grouped Originator_Received_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.130A 
+type AVP_Grouped Recipient_Received_Address;
+
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.163A
+type AVP_Unsigned32 SM_Service_Type;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.165A
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.15A
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.145A
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V8.5.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.51
+type AVP_Grouped IM_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Accumulated-Cost (2052) 3GPP (10415)
+// 7.2.2a
+type AVP_Grouped Accumulated_Cost;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: AoC-Cost-Information (2053) 3GPP (10415)
+// 7.2.12a
+type AVP_Grouped AoC_Cost_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: AoC-Information (2054) 3GPP (10415)
+// 7.2.12b
+type AVP_Grouped AoC_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: AoC-Request-Type (2055) 3GPP (10415)
+// 7.2.12b
+type enumerated AoC_Request_Type
+{
+  AoC_NOT_REQUESTED     (0),
+  AoC_FULL              (1),
+  AoC_COST_ONLY         (2),
+  AoC_TARIFF_ONLY       (3)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Change-Condition  (2037) 3GPP (10415)
+// 7.2.25a
+type AVP_Integer32 Change_Condition;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Change-Time  (2038) 3GPP (10415)
+// 7.2.25b
+type AVP_Time Change_Time;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Current-Tariff (2056) 3GPP (10415)
+// 7.2.33A
+type AVP_Grouped Current_Tariff;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Deferred-Location-Event-Type (1230) 3GPP (10415)
+// 7.2.35
+type AVP_UTF8String Deferred_Location_Event_Type;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Diagnostics (2039) 3GPP (10415)
+// 7.2.37A
+type AVP_Integer32 Diagnostics;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Dynamic-Address-Flag (2051) 3GPP (10415)
+// 7.2.39A
+type enumerated Dynamic_Address_Flag
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Incremental-Cost (2062) 3GPP (10415)
+// 7.2.51A
+type AVP_Grouped Incremental_Cost;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Local-Sequence-Number (2063) 3GPP (10415)
+// 7.2.72A
+type AVP_Unsigned32 Local_Sequence_Number;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: MMTel-Information (2030) 3GPP (10415)
+// 7.2.88A
+type AVP_Grouped MMTel_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Next-Tariff (2057) 3GPP (10415)
+// 7.2.88B
+type AVP_Grouped Next_Tariff;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Node-Id (2064) 3GPP (10415)
+// 7.2.89b
+type AVP_UTF8String Node_Id;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Number-Of-Diversions (2034) 3GPP (10415)
+// 7.2.89aa
+type AVP_Unsigned32 Number_Of_Diversions;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Participant-Action-Type (2049) 3GPP (10415)
+// 7.2.102A
+type enumerated Participant_Action_Type
+{
+  CREATE_CONF       (0),
+  JOIN_CONF         (1),
+  INVITE_INTO_CONF  (2),
+  QUIT_CONF         (3)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: PDN-Connection-ID (2050) 3GPP (10415)
+// 7.2.104a
+type AVP_Unsigned32 PDN_Connection_ID;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Rate-Element (2058) 3GPP (10415)
+// 7.2.126A
+type AVP_Grouped Rate_Element;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Recipient-Info (2026) 3GPP (10415)
+// 7.2.130a
+type AVP_Grouped Recipient_Info;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Scale-Factor (2059) 3GPP (10415)
+// 7.2.138A
+type AVP_Grouped Scale_Factor;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Service-Data-Container (2040) 3GPP (10415)
+// 7.2.146B
+type AVP_Grouped Service_Data_Container;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Service-Mode (2032) 3GPP (10415)
+// 7.2.149A
+type AVP_Unsigned32 Service_Mode;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Serving-Node-Type (2047) 3GPP (10415)
+// 7.2.152B
+type enumerated Serving_Node_Type
+{
+  SGSN      (0),
+  PMIPSGW   (1),
+  GTPSGW    (2),
+  ePDG      (3),
+  hSGW      (4),
+  MME       (5)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Service-Type (2031) 3GPP (10415)
+// 7.2.152A
+type AVP_Unsigned32 Service_Type;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: SGW-Change (2065) 3GPP (10415)
+// 7.2.153A
+type enumerated SGW_Change
+{
+  ACR_Start_NOT_due_to_SGW_Change      (0),
+  ACR_Start_due_to_SGW_Change          (1)
+}
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Start-Time (2041) 3GPP (10415)
+// 7.2.164A
+type AVP_Time Start_Time;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Stop-Time (2042) 3GPP (10415)
+// 7.2.164B
+type AVP_Time Stop_Time;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Supplementary-Service (2048) 3GPP (10415)
+// 7.2.165B
+type AVP_Grouped Supplementary_Service;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Tariff-Information (2060) 3GPP (10415)
+// 7.2.168B
+type AVP_Grouped Tariff_Information;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Time_First_Usage (2043) 3GPP (10415)
+// 7.2.169A
+type AVP_Time Time_First_Usage;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Time_Last_Usage (2044) 3GPP (10415)
+// 7.2.169B
+type AVP_Time Time_Last_Usage;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Time-Usage (2045) 3GPP (10415)
+// 7.2.173a
+type AVP_Unsigned32 Time_Usage;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Traffic-Data-Volumes (2046) 3GPP (10415)
+// 7.2.173A
+type AVP_Grouped Traffic_Data_Volumes;
+
+// 3GPP TS 32.299 V8.7.0
+// AVP: Unit-Cost (2061) 3GPP (10415)
+// 7.2.178A
+type AVP_Grouped Unit_Cost;
+
+
+
+// 3GPP TS 32.299 V9.0.0 
+type enumerated Command_Code {  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V9.0.0
+// AVP: Online-Charging-Flag (2303) 3GPP (10415)
+// 7.2.93A
+type enumerated Online_Charging_Flag
+{
+  ECF_ADDRESS_NOT_PROVIDED  (0),
+  ECF_ADDRESS_PROVIDED  (1)
+}
+
+// 3GPP TS 32.299 V9.0.0
+// AVP: SIP-Request-Timestamp-Fraction (2301) 3GPP (10415)
+// 7.2.155A
+type AVP_Unsigned32 SIP_Request_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V9.0.0
+// AVP: SIP-Response-Timestamp-Fraction (2302) 3GPP (10415)
+// 7.2.156A
+type AVP_Unsigned32 SIP_Response_Timestamp_Fraction;
diff --git a/src/ChargingApplications_3GPP_TS32299_940.ddf b/src/ChargingApplications_3GPP_TS32299_940.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..31b8be3c06b24237b201b2e8ea86d9c0874bee54
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_940.ddf
@@ -0,0 +1,1683 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ChargingApplications_3GPP_TS32299_940.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V9.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V9_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 V9.4.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 V9.4.0 
+type enumerated Command_Code {  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.1
+type AVP_OctetString Access_Network_Information;	 	
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Account-Expiration  (2309) 3GPP (10415)
+// 7.2.2
+type AVP_Time Account_Expiration;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Accumulated-Cost (2052) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Accumulated_Cost;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.4
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.5
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.6
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.7
+type AVP_UTF8String Address_Data;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.8
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.10
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: AoC-Cost-Information (2053) 3GPP (10415)
+// 7.2.13
+type AVP_Grouped AoC_Cost_Information;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: AoC-Information (2054) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped AoC_Information;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: AoC-Service (2311) 3GPP (10415)
+// 7.2.17
+type AVP_Grouped AoC_Service;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.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 V9.4.0
+// AVP: AoC-Subscription-Information (2314) 3GPP (10415)
+// 7.2.20
+type AVP_Grouped AoC_Subscription_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.24
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.25
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.27
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.28
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.29
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.30
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.31
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.32
+type AVP_UTF8String Called_Party_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Calling_Party_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.34
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.35
+type AVP_Integer32 Cause_Code;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.36
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Change-Condition  (2037) 3GPP (10415)
+// 7.2.37
+type AVP_Integer32 Change_Condition;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Change-Time  (2038) 3GPP (10415)
+// 7.2.38
+type AVP_Time Change_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.39
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.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 V9.4.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.41
+type AVP_Address Client_Address;		
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.43
+type AVP_UTF8String Content_Disposition;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.44
+type AVP_Unsigned32 Content_Length;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.45
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.46
+type AVP_UTF8String Content_Type;
+		
+// 3GPP TS 32.299 V9.4.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 V9.4.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 V9.4.0
+// AVP: Current-Tariff (2056) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Current_Tariff;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: CUG-Information (2304) 3GPP (10415)
+// 7.2.48
+type AVP_OctetString CUG_Information;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 7.2.49
+type AVP_Integer32 Data_Coding_Scheme;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: DCD-Information (2115) 3GPP (10415)
+// 7.2.50
+type AVP_Grouped DCD_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Deferred-Location-Event-Type (1230) 3GPP (10415)
+// 7.2.51
+type AVP_UTF8String Deferred_Location_Event_Type;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.52
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.53
+type AVP_Grouped Destination_Interface;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Diagnostics (2039) 3GPP (10415)
+// 7.2.54
+type AVP_Integer32 Diagnostics;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.55
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.56
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Dynamic-Address-Flag (2051) 3GPP (10415)
+// 7.2.57
+type enumerated Dynamic_Address_Flag
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.59
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.60
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.62
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String Event;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.64
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped Event_Type;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.66
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.68
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped IM_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Incremental-Cost (2062) 3GPP (10415)
+// 7.2.70
+type AVP_Grouped Incremental_Cost;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.71
+type AVP_UTF8String Interface_Id;		
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String Interface_Port;		
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Interface_Text;		
+		
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.75
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.76
+type AVP_UTF8String IMS_Communication_Service_Identifier;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: IMSI-Unauthenticated-Flag (2308) 3GPP (10415)
+// 7.2.78
+type enumerated IMSI_Unauthenticated_Flag;	
+{
+  AUTHENTICATED    (0),
+  UNAUTHENTICATED  (1)
+}
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.79
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.80
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.81
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.84
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.85
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.87
+type AVP_UTF8String LCS_Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.89
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.90
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.91
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.92
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Local-Sequence-Number (2063) 3GPP (10415)
+// 7.2.93
+type AVP_Unsigned32 Local_Sequence_Number;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.94
+type AVP_UTF8String Location_Estimate;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Location_Type;
+	
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: MBMS-GW-Address (2307) 3GPP (10415)
+// 7.2.98
+type AVP_Address MBMS_GW_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.99
+type AVP_Grouped MBMS_Information;		
+
+// 3GPP TS 32.299 V9.4.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 V9.4.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 V9.4.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.102
+type AVP_UTF8String Media_Initiator_Party;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.103
+type AVP_Grouped Message_Body;
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.104
+type AVP_Grouped Message_Class;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.105
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.106
+type AVP_Unsigned32 Message_Size;	 	
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.108
+type AVP_Grouped MM_Content_Type;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.109
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.110
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: MMTel-Information (2030) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped MMTel_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Next-Tariff (2057) 3GPP (10415)
+// 7.2.112
+type AVP_Grouped Next_Tariff;
+
+// 3GPP TS 32.299 V9.4.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)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Node-Id (2064) 3GPP (10415)
+// 7.2.114
+type AVP_UTF8String Node_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Number-Of-Diversions (2034) 3GPP (10415)
+// 7.2.115
+type AVP_Unsigned32 Number_Of_Diversions;
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.116
+type AVP_Unsigned32 Number_of_Messages_Sent;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.117
+type AVP_Unsigned32 Number_Of_Participants;
+			
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.119
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.120
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.121
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.123
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.124
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.125
+type AVP_Grouped Originator_Address;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.126
+type AVP_Grouped Originator_Interface;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.127 
+type AVP_Grouped Originator_Received_Address;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.128
+type AVP_Address Originating_SCCP_Address;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Outgoing-Session-Id (2320) 3GPP (10415)
+// 7.2.128A
+type AVP_UTF8String Outgoing_Session_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.129
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.130
+type AVP_UTF8String Participants_Involved;	
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.131
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.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 V9.4.0
+// AVP: PDG-Address (895) 3GPP (10415)
+// 7.2.134
+type AVP_Address PDG_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PDG-Charging-Id (896) 3GPP (10415)
+// 7.2.135
+type AVP_Unsigned32 PDG_Charging_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PDN-Connection-ID (2050) 3GPP (10415)
+// 7.2.136
+type AVP_Unsigned32 PDN_Connection_ID;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.137
+type AVP_Address PDP_Address;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.138
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.140
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String PoC_Controlling_Address;		
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.143
+type AVP_UTF8String PoC_Group_Name;	
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.144
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.146
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.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 V9.4.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.152
+type AVP_UTF8String Positioning_Data;		 	
+
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Preferred-AoC-Currency (2315) 3GPP (10415)
+// 7.2.153
+type AVP_Unsigned32 Preferred_AoC_Currency;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.154
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.156
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.157
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.158
+type AVP_Grouped PS_Information;
+				
+// 3GPP TS 32.299 V9.4.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.159
+type AVP_Unsigned32 Quota_Consumption_Time;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.160
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Rate-Element (2058) 3GPP (10415)
+// 7.2.161
+type AVP_Grouped Rate_Element;
+		
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Reason-Code (2316) 3GPP (10415)
+// 7.2.163
+type enumerated Reason_Code
+{
+  UNKNOWN                      (0),
+  USAGE                        (1),
+  COMMUNICATION_ATTEMPT_CHARGE (2),
+  SETUP_CHARGE                 (3),
+  ADD_ON_CHARGE                (4)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Real-Time-Tariff-Information (2305) 3GPP (10415)
+// 7.2.164
+type AVP_Grouped Real_Time_Tariff_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.165
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.166
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.167
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Recipient-Info (2026) 3GPP (10415)
+// 7.2.168
+type AVP_Grouped Recipient_Info;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.169
+type AVP_Grouped Recipient_Received_Address;
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.170
+type AVP_Address Recipient_SCCP_Address;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.171
+type AVP_OctetString Refund_Information;
+	
+// 3GPP TS 32.299 V9.4.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 V9.4.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 V9.4.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 V9.4.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.176
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V9.4.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)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Scale-Factor (2059) 3GPP (10415)
+// 7.2.178
+type AVP_Grouped Scale_Factor;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.179
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.180
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String SDP_Media_Description;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.182
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.183
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.184
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.186
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Served-Party-IP-Address	(848) 3GPP (10415)
+// 7.2.187
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Data-Container (2040) 3GPP (10415)
+// 7.2.189
+type AVP_Grouped Service_Data_Container;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.190
+type AVP_UTF8String Service_Id;
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.191
+type AVP_Grouped Service_Generic_Information;	 			
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.192
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Mode (2032) 3GPP (10415)
+// 7.2.193
+type AVP_Unsigned32 Service_Mode;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.194
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.195
+type AVP_Grouped Service_Specific_Info;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.196
+type AVP_Unsigned32 Service_Specific_Type;	
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Service-Type (2031) 3GPP (10415)
+// 7.2.197
+type AVP_Unsigned32 Service_Type;
+
+// 3GPP TS 32.299 V9.4.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)
+}
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.199
+type AVP_Address SGSN_Address;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.201
+type AVP_UTF8String SIP_Method;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.202
+type AVP_Time SIP_Request_Timestamp;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SIP-Request-Timestamp-Fraction (2301) 3GPP (10415)
+// 7.2.203
+type AVP_Unsigned32 SIP_Request_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.204
+type AVP_Time SIP_Response_Timestamp;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: SIP-Response-Timestamp-Fraction (2302) 3GPP (10415)
+// 7.2.205
+type AVP_Unsigned32 SIP_Response_Timestamp_Fraction;
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.206
+type AVP_Time SM_Discharge_Time;		
+		
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.208
+type AVP_OctetString SM_Protocol_ID;		
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.209
+type AVP_OctetString SM_Status;		
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.210
+type AVP_OctetString SM_User_Data_Header;		
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.211
+type AVP_Grouped SMS_Information;		
+	
+// 3GPP TS 32.299 V9.4.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)
+}		
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V9.4.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.213
+type AVP_Unsigned32 SM_Service_Type;
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.214
+type AVP_Address SMSC_Address;		
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Start-Time (2041) 3GPP (10415)
+// 7.2.215
+type AVP_Time Start_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Stop-Time (2042) 3GPP (10415)
+// 7.2.216
+type AVP_Time Stop_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.217
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.218
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Supplementary-Service (2048) 3GPP (10415)
+// 7.2.219
+type AVP_Grouped Supplementary_Service;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.220
+type AVP_Grouped Talk_Burst_Exchange;	 	
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.221
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.222
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Tariff-Information (2060) 3GPP (10415)
+// 7.2.223
+type AVP_Grouped Tariff_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Tariff-XML (2306) 3GPP (10415)
+// 7.2.224
+type AVP_UTF8String Tariff_XML;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.225
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Time_First_Usage (2043) 3GPP (10415)
+// 7.2.226
+type AVP_Time Time_First_Usage;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Time_Last_Usage (2044) 3GPP (10415)
+// 7.2.227
+type AVP_Time Time_Last_Usage;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.228
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.229
+type AVP_Unsigned32 Time_Quota_Threshold;		
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.231
+type AVP_Grouped Time_Stamps;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Time-Usage (2045) 3GPP (10415)
+// 7.2.232
+type AVP_Unsigned32 Time_Usage;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Traffic-Data-Volumes (2046) 3GPP (10415)
+// 7.2.233
+type AVP_Grouped Traffic_Data_Volumes;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.234
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.235
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V9.4.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),
+  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),
+  CHANGEINLOCATION_MCC                         (30),
+  CHANGEINLOCATION_MNC                         (31),
+  CHANGEINLOCATION_RAC                         (32),
+  CHANGEINLOCATION_LAC                         (33),
+  CHANGEINLOCATION_CellId                      (34),
+  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_USER_CSG_INFORMATION               (70)
+}
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.237
+type AVP_Grouped Trunk_Group_Id;		
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V9.4.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.238
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: Unit-Cost (2061) 3GPP (10415)
+// 7.2.239
+type AVP_Grouped Unit_Cost;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.240
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: User-CSG-Information (2319) 3GPP (10415)
+// 7.2.240A
+type AVP_Grouped User_CSG_Information;
+
+// 3GPP TS 32.299 V9.4.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 V9.4.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.242
+type AVP_UTF8String User_Session_Id;
+		
+// 3GPP TS 32.299 V9.4.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.243
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: WAG-Address (890) 3GPP (10415)
+// 7.2.244
+type AVP_Address WAG_Address;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: WAG-PLMN-Id (891) 3GPP (10415)
+// 7.2.245
+type AVP_OctetString WAG_PLMN_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: WLAN-Information (875) 3GPP (10415)
+// 7.2.246
+type AVP_Grouped WLAN_Information;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: WLAN-Radio-Container (892) 3GPP (10415)
+// 7.2.247
+type AVP_Grouped WLAN_Radio_Container;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: WLAN-Session-Id (1246) 3GPP (10415)
+// 7.2.248
+type AVP_Unsigned32 WLAN_Session_Id;
+
+// 3GPP TS 32.299 V9.4.0
+// AVP: WLAN-Technology (893) 3GPP (10415)
+// 7.2.249
+type AVP_Unsigned32 WLAN_Technology;	
+	
+// 3GPP TS 32.299 V9.4.0
+// AVP: WLAN-UE-Local-IPAddress (894) 3GPP (10415)
+// 7.2.250
+type AVP_Address WLAN_UE_Local_IPAddress;
diff --git a/src/ChargingApplications_3GPP_TS32299_9b0.ddf b/src/ChargingApplications_3GPP_TS32299_9b0.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..bc110367b26284c2728a11e6c725c7201363d266
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_9b0.ddf
@@ -0,0 +1,1707 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ChargingApplications_3GPP_TS32299_9110.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V9.11.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V9_11_0
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 V9.11.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 V9.11.0 
+type enumerated Command_Code {  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.1
+type AVP_OctetString Access_Network_Information;	 	
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Account-Expiration  (2309) 3GPP (10415)
+// 7.2.2
+type AVP_Time Account_Expiration;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Accumulated-Cost (2052) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Accumulated_Cost;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.4
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.5
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.6
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.7
+type AVP_UTF8String Address_Data;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.8
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.10
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: AoC-Cost-Information (2053) 3GPP (10415)
+// 7.2.13
+type AVP_Grouped AoC_Cost_Information;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: AoC-Information (2054) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped AoC_Information;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: AoC-Service (2311) 3GPP (10415)
+// 7.2.17
+type AVP_Grouped AoC_Service;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.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 V9.11.0
+// AVP: AoC-Subscription-Information (2314) 3GPP (10415)
+// 7.2.20
+type AVP_Grouped AoC_Subscription_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.24
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.25
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.27
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.28
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.29
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.30
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.31
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.32
+type AVP_UTF8String Called_Party_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Calling_Party_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.34
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.35
+type AVP_Integer32 Cause_Code;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.36
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Change-Condition  (2037) 3GPP (10415)
+// 7.2.37
+type AVP_Integer32 Change_Condition;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Change-Time  (2038) 3GPP (10415)
+// 7.2.38
+type AVP_Time Change_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.39
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.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 V9.11.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.41
+type AVP_Address Client_Address;		
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.43
+type AVP_UTF8String Content_Disposition;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.44
+type AVP_Unsigned32 Content_Length;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.45
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.46
+type AVP_UTF8String Content_Type;
+		
+// 3GPP TS 32.299 V9.11.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 V9.11.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 V9.11.0
+// AVP: Current-Tariff (2056) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Current_Tariff;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: CUG-Information (2304) 3GPP (10415)
+// 7.2.48
+type AVP_OctetString CUG_Information;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 7.2.49
+type AVP_Integer32 Data_Coding_Scheme;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: DCD-Information (2115) 3GPP (10415)
+// 7.2.50
+type AVP_Grouped DCD_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Deferred-Location-Event-Type (1230) 3GPP (10415)
+// 7.2.51
+type AVP_UTF8String Deferred_Location_Event_Type;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.52
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.53
+type AVP_Grouped Destination_Interface;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Diagnostics (2039) 3GPP (10415)
+// 7.2.54
+type AVP_Integer32 Diagnostics;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.55
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.56
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Dynamic-Address-Flag (2051) 3GPP (10415)
+// 7.2.57
+type enumerated Dynamic_Address_Flag
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.59
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.60
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.62
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String Event;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.64
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped Event_Type;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.66
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.68
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped IM_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Incremental-Cost (2062) 3GPP (10415)
+// 7.2.70
+type AVP_Grouped Incremental_Cost;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.71
+type AVP_UTF8String Interface_Id;		
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String Interface_Port;		
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Interface_Text;		
+		
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.75
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.76
+type AVP_UTF8String IMS_Communication_Service_Identifier;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: IMSI-Unauthenticated-Flag (2308) 3GPP (10415)
+// 7.2.78
+type enumerated IMSI_Unauthenticated_Flag;	
+{
+  AUTHENTICATED    (0),
+  UNAUTHENTICATED  (1)
+}
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.79
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.80
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.81
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.84
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.85
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.87
+type AVP_UTF8String LCS_Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.89
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.90
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.91
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.92
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Local-Sequence-Number (2063) 3GPP (10415)
+// 7.2.93
+type AVP_Unsigned32 Local_Sequence_Number;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Location_Type;
+	
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: MBMS-GW-Address (2307) 3GPP (10415)
+// 7.2.98
+type AVP_Address MBMS_GW_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.99
+type AVP_Grouped MBMS_Information;		
+
+// 3GPP TS 32.299 V9.11.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 V9.11.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 V9.11.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.102
+type AVP_UTF8String Media_Initiator_Party;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.103
+type AVP_Grouped Message_Body;
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.104
+type AVP_Grouped Message_Class;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.105
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.106
+type AVP_Unsigned32 Message_Size;	 	
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.108
+type AVP_Grouped MM_Content_Type;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.109
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.110
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: MMTel-Information (2030) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped MMTel_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Next-Tariff (2057) 3GPP (10415)
+// 7.2.112
+type AVP_Grouped Next_Tariff;
+
+// 3GPP TS 32.299 V9.11.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)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Node-Id (2064) 3GPP (10415)
+// 7.2.114
+type AVP_UTF8String Node_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Number-Of-Diversions (2034) 3GPP (10415)
+// 7.2.115
+type AVP_Unsigned32 Number_Of_Diversions;
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.116
+type AVP_Unsigned32 Number_of_Messages_Sent;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.117
+type AVP_Unsigned32 Number_Of_Participants;
+			
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.119
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.120
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.121
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.123
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.124
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.125
+type AVP_Grouped Originator_Address;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.126
+type AVP_Grouped Originator_Interface;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.127 
+type AVP_Grouped Originator_Received_Address;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.128
+type AVP_Address Originating_SCCP_Address;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Outgoing-Session-Id (2320) 3GPP (10415)
+// 7.2.128A
+type AVP_UTF8String Outgoing_Session_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.129
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.130
+type AVP_UTF8String Participants_Involved;	
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.131
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.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 V9.11.0
+// AVP: PDG-Address (895) 3GPP (10415)
+// 7.2.134
+type AVP_Address PDG_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PDG-Charging-Id (896) 3GPP (10415)
+// 7.2.135
+type AVP_Unsigned32 PDG_Charging_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.137
+type AVP_Address PDP_Address;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.138
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.140
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String PoC_Controlling_Address;		
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.143
+type AVP_UTF8String PoC_Group_Name;	
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.144
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.146
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.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 V9.11.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.152
+type AVP_UTF8String Positioning_Data;		 	
+
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Preferred-AoC-Currency (2315) 3GPP (10415)
+// 7.2.153
+type AVP_Unsigned32 Preferred_AoC_Currency;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.154
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.156
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.157
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.158
+type AVP_Grouped PS_Information;
+				
+// 3GPP TS 32.299 V9.11.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.159
+type AVP_Unsigned32 Quota_Consumption_Time;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.160
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Rate-Element (2058) 3GPP (10415)
+// 7.2.161
+type AVP_Grouped Rate_Element;
+		
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Reason-Code (2316) 3GPP (10415)
+// 7.2.163
+type enumerated Reason_Code
+{
+  UNKNOWN                      (0),
+  USAGE                        (1),
+  COMMUNICATION_ATTEMPT_CHARGE (2),
+  SETUP_CHARGE                 (3),
+  ADD_ON_CHARGE                (4)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Real-Time-Tariff-Information (2305) 3GPP (10415)
+// 7.2.164
+type AVP_Grouped Real_Time_Tariff_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.165
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.166
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.167
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Recipient-Info (2026) 3GPP (10415)
+// 7.2.168
+type AVP_Grouped Recipient_Info;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.169
+type AVP_Grouped Recipient_Received_Address;
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.170
+type AVP_Address Recipient_SCCP_Address;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.171
+type AVP_OctetString Refund_Information;
+	
+// 3GPP TS 32.299 V9.11.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 V9.11.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 V9.11.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 V9.11.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.176
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V9.11.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)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Scale-Factor (2059) 3GPP (10415)
+// 7.2.178
+type AVP_Grouped Scale_Factor;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.179
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.180
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String SDP_Media_Description;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.182
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.183
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.184
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.186
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Served-Party-IP-Address	(848) 3GPP (10415)
+// 7.2.187
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Data-Container (2040) 3GPP (10415)
+// 7.2.189
+type AVP_Grouped Service_Data_Container;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.190
+type AVP_UTF8String Service_Id;
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.191
+type AVP_Grouped Service_Generic_Information;	 			
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.192
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Mode (2032) 3GPP (10415)
+// 7.2.193
+type AVP_Unsigned32 Service_Mode;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.194
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.195
+type AVP_Grouped Service_Specific_Info;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.196
+type AVP_Unsigned32 Service_Specific_Type;	
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Service-Type (2031) 3GPP (10415)
+// 7.2.197
+type AVP_Unsigned32 Service_Type;
+
+// 3GPP TS 32.299 V9.11.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)
+}
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.199
+type AVP_Address SGSN_Address;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.201
+type AVP_UTF8String SIP_Method;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.202
+type AVP_Time SIP_Request_Timestamp;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SIP-Request-Timestamp-Fraction (2301) 3GPP (10415)
+// 7.2.203
+type AVP_Unsigned32 SIP_Request_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.204
+type AVP_Time SIP_Response_Timestamp;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SIP-Response-Timestamp-Fraction (2302) 3GPP (10415)
+// 7.2.205
+type AVP_Unsigned32 SIP_Response_Timestamp_Fraction;
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.206
+type AVP_Time SM_Discharge_Time;		
+		
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.208
+type AVP_OctetString SM_Protocol_ID;		
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.209
+type AVP_OctetString SM_Status;		
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.210
+type AVP_OctetString SM_User_Data_Header;		
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.211
+type AVP_Grouped SMS_Information;		
+	
+// 3GPP TS 32.299 V9.11.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)
+}		
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V9.11.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.213
+type AVP_Unsigned32 SM_Service_Type;
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.214
+type AVP_Address SMSC_Address;		
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Start-Time (2041) 3GPP (10415)
+// 7.2.215
+type AVP_Time Start_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Stop-Time (2042) 3GPP (10415)
+// 7.2.216
+type AVP_Time Stop_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.217
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.218
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Supplementary-Service (2048) 3GPP (10415)
+// 7.2.219
+type AVP_Grouped Supplementary_Service;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.220
+type AVP_Grouped Talk_Burst_Exchange;	 	
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.221
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.222
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Tariff-Information (2060) 3GPP (10415)
+// 7.2.223
+type AVP_Grouped Tariff_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Tariff-XML (2306) 3GPP (10415)
+// 7.2.224
+type AVP_UTF8String Tariff_XML;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.225
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Time_First_Usage (2043) 3GPP (10415)
+// 7.2.226
+type AVP_Time Time_First_Usage;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Time_Last_Usage (2044) 3GPP (10415)
+// 7.2.227
+type AVP_Time Time_Last_Usage;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.228
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.229
+type AVP_Unsigned32 Time_Quota_Threshold;		
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.231
+type AVP_Grouped Time_Stamps;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Time-Usage (2045) 3GPP (10415)
+// 7.2.232
+type AVP_Unsigned32 Time_Usage;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Traffic-Data-Volumes (2046) 3GPP (10415)
+// 7.2.233
+type AVP_Grouped Traffic_Data_Volumes;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.234
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.235
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V9.11.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),
+  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),
+  CHANGEINLOCATION_MCC                         (30),
+  CHANGEINLOCATION_MNC                         (31),
+  CHANGEINLOCATION_RAC                         (32),
+  CHANGEINLOCATION_LAC                         (33),
+  CHANGEINLOCATION_CellId                      (34),
+  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_USER_CSG_INFORMATION               (70)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.237
+type AVP_Grouped Trunk_Group_Id;		
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V9.11.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.238
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Unit-Cost (2061) 3GPP (10415)
+// 7.2.239
+type AVP_Grouped Unit_Cost;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.240
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: User-CSG-Information (2319) 3GPP (10415)
+// 7.2.240A
+type AVP_Grouped User_CSG_Information;
+
+// 3GPP TS 32.299 V9.11.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 V9.11.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.242
+type AVP_UTF8String User_Session_Id;
+		
+// 3GPP TS 32.299 V9.11.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.243
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: WAG-Address (890) 3GPP (10415)
+// 7.2.244
+type AVP_Address WAG_Address;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: WAG-PLMN-Id (891) 3GPP (10415)
+// 7.2.245
+type AVP_OctetString WAG_PLMN_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: WLAN-Information (875) 3GPP (10415)
+// 7.2.246
+type AVP_Grouped WLAN_Information;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: WLAN-Radio-Container (892) 3GPP (10415)
+// 7.2.247
+type AVP_Grouped WLAN_Radio_Container;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: WLAN-Session-Id (1246) 3GPP (10415)
+// 7.2.248
+type AVP_Unsigned32 WLAN_Session_Id;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: WLAN-Technology (893) 3GPP (10415)
+// 7.2.249
+type AVP_Unsigned32 WLAN_Technology;	
+	
+// 3GPP TS 32.299 V9.11.0
+// AVP: WLAN-UE-Local-IPAddress (894) 3GPP (10415)
+// 7.2.250
+type AVP_Address WLAN_UE_Local_IPAddress;
+
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Dynamic-Address-Flag-Extension (2068) 3GPP (10415)
+// 7.2.39B
+type enumerated Dynamic_Address_Flag_Extension {
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Initial-IMS-Charging-Identifier (2321) 3GPP (10415)
+// 7.2.79A
+type AVP_UTF8String Initial_IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.94
+type AVP_OctetString Location_Estimate;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: PDN-Connection-Charging-ID (2050) 3GPP (10415)
+// 7.2.136
+type AVP_Unsigned32 PDN_Connection_Charging_ID;
+
+// 3GPP TS 32.299 V9.11.0
+// AVP: SGW-Address (2067) 3GPP (10415)
+// 7.2.199A
+type AVP_Address SGW_Address;
+
+
+
+
+
diff --git a/src/ChargingApplications_3GPP_TS32299_AdviceOfCharge.ddf b/src/ChargingApplications_3GPP_TS32299_AdviceOfCharge.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..c9200e349a9d9b3fd97d86a48d2f717fc8468173
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_AdviceOfCharge.ddf
@@ -0,0 +1,110 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ChargingApplication_3GPP_TS32299_AdviceOfCharge.ddf
+//  Description:        DDF for Diameter Charging Application
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION:
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 - 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:
+//
+
+
+type enumerated Command_Code {  
+  Credit_Control (272)
+}
+
+
+// AVP: Apply-Tariff-Immediate (2190) 3GPP (10415)
+type enumerated Apply_Tariff_Immediate
+{
+  START_TARIFF_IMMEDIATELY  (0),
+  WAIT_FOR_START            (1)
+}
+
+// AVP: Apply-Tariff-Restart (2191) 3GPP (10415)
+type enumerated Apply_Tariff_Restart
+{
+  NO_RESTART  (0),
+  RESTART     (1)
+}
+
+// AVP: Connection-Attempt-Charge (2192) 3GPP (10415)
+type AVP_Grouped Connection_Attempt_Charge;
+
+// AVP: Network-Identification (2193) 3GPP (10415)
+type AVP_UTF8String Network_Identification;
+
+// AVP: Origination-Identification (2194) 3GPP (10415)
+type AVP_Grouped Origination_Identification;
+
+// AVP: Preferred-Currency-Code (2195) 3GPP (10415)
+type AVP_Unsigned32 Preferred_Currency_Code;
+
+// AVP: Purpose (2196) 3GPP (10415)
+type enumerated Purpose
+{
+  NEW_TARIFF    (0),
+  ADD_ON_CHARGE (1)
+}
+
+// AVP: Reference-ID (2197) 3GPP (10415)
+type AVP_Unsigned32 Reference_ID;
+
+// AVP: Set-Up-Charge (2198) 3GPP (10415)
+type AVP_Grouped Set_Up_Charge;
+
+// AVP: Tariff-Expiry-Policy (2199) 3GPP (10415)
+type enumerated Tariff_Expiry_Policy
+{
+  CYCLE                       (0),
+  DEFINED_BY_NETWORK_OPERATOR (1)
+}
+
diff --git a/src/ChargingApplications_3GPP_TS32299_a60.ddf b/src/ChargingApplications_3GPP_TS32299_a60.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..24cdd218f4c25d8ee76f1feae155c65fde882f6e
--- /dev/null
+++ b/src/ChargingApplications_3GPP_TS32299_a60.ddf
@@ -0,0 +1,1762 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ChargingApplications_3GPP_TS32299_a60.ddf
+//  Description:        DDF for Diameter Charging Application 3GPP TS 32.299 V10.6.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: DCA
+// APPLICATION-REVISION: V10_6_0
+
+// AVP implementations according to: 
+// 3GPP TS 32.299 V10.6.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 V10.6.0 
+type enumerated Command_Code {  
+  Accounting     (271),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Access-Network-Information (1263) 3GPP (10415)
+// 7.2.1
+type AVP_OctetString Access_Network_Information;	 	
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Account-Expiration  (2309) 3GPP (10415)
+// 7.2.2
+type AVP_Time Account_Expiration;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Accumulated-Cost (2052) 3GPP (10415)
+// 7.2.3
+type AVP_Grouped Accumulated_Cost;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Adaptations (1217) 3GPP (10415)
+// 7.2.4
+type enumerated Adaptations
+{
+  YES (0),
+  NO  (1)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Additional-Content-Information (1207) 3GPP (10415)
+// 7.2.5
+type AVP_Grouped Additional_Content_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Additional-Type-Information (1205) 3GPP (10415)
+// 7.2.6
+type AVP_UTF8String Additional_Type_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Address-Data (897) 3GPP (10415)
+// 7.2.7
+type AVP_UTF8String Address_Data;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Address-Domain (898) 3GPP (10415)
+// 7.2.8
+type AVP_Grouped Address_Domain;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Addressee-Type (1208) 3GPP (10415)
+// 7.2.10
+type enumerated Addressee_Type
+{
+  TO  (0),
+  CC  (1),
+  BCC (2)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: AF-Correlation-Information (1276) 3GPP (10415)
+// 7.2.11
+type AVP_Grouped AF_Correlation_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Alternate-Charged-Party-Address (1280) 3GPP (10415)
+// 7.2.12
+type AVP_UTF8String Alternate_Charged_Party_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: AoC-Cost-Information (2053) 3GPP (10415)
+// 7.2.13
+type AVP_Grouped AoC_Cost_Information;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: AoC-Information (2054) 3GPP (10415)
+// 7.2.15
+type AVP_Grouped AoC_Information;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: AoC-Service (2311) 3GPP (10415)
+// 7.2.17
+type AVP_Grouped AoC_Service;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.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 V10.6.0
+// AVP: AoC-Subscription-Information (2314) 3GPP (10415)
+// 7.2.20
+type AVP_Grouped AoC_Subscription_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Applic-ID (1218) 3GPP (10415)
+// 7.2.21
+type AVP_UTF8String Applic_ID;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Application-Server (836) 3GPP (10415)
+// 7.2.23
+type AVP_UTF8String Application_Server;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Application-Server-Information (850) 3GPP (10415)
+// 7.2.24
+type AVP_Grouped Application_Server_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Associated-Party-Address (2035) 3GPP (10415)
+// 7.2.25
+type AVP_UTF8String Associated_Party_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Associated-URI (856) 3GPP (10415)
+// 7.2.26
+type AVP_UTF8String Associated_URI;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Authorised-QoS (849) 3GPP (10415)
+// 7.2.27
+type AVP_UTF8String Authorised_QoS;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Aux-Applic-Info (1219) 3GPP (10415)
+// 7.2.28
+type AVP_UTF8String Aux_Applic_Info;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Base-Time-Interval (1265) 3GPP (10415)
+// 7.2.29
+type AVP_Unsigned32 Base_Time_Interval;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Bearer-Service (854) 3GPP (10415)
+// 7.2.30
+type AVP_OctetString Bearer_Service;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Called-Asserted-Identity (1250) 3GPP (10415)
+// 7.2.31
+type AVP_UTF8String Called_Asserted_Identity;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Called-Party-Address (832) 3GPP (10415)
+// 7.2.32
+type AVP_UTF8String Called_Party_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Calling-Party-Address (831) 3GPP (10415)
+// 7.2.33
+type AVP_UTF8String Calling_Party_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Carrier-Select-Routing-Information (2023) 3GPP (10415)
+// 7.2.34
+type AVP_UTF8String Carrier_Select_Routing_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Cause-Code (861) 3GPP (10415)
+// 7.2.35
+type AVP_Integer32 Cause_Code;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: CG-Address (846) 3GPP (10415)
+// 7.2.36
+type AVP_Address CG_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Change-Condition  (2037) 3GPP (10415)
+// 7.2.37
+type AVP_Integer32 Change_Condition;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Change-Time  (2038) 3GPP (10415)
+// 7.2.38
+type AVP_Time Change_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Charged-Party (857) 3GPP (10415)
+// 7.2.39
+type AVP_UTF8String Charged_Party;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.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 V10.6.0
+// AVP: Client-Address (2018) 3GPP (10415)
+// 7.2.41
+type AVP_Address Client_Address;		
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Content-Disposition (828) 3GPP (10415)
+// 7.2.43
+type AVP_UTF8String Content_Disposition;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Content-Length (827) 3GPP (10415)
+// 7.2.44
+type AVP_Unsigned32 Content_Length;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Content-Size (1206) 3GPP (10415)
+// 7.2.45
+type AVP_Unsigned32 Content_Size;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Content-Type (826) 3GPP (10415)
+// 7.2.46
+type AVP_UTF8String Content_Type;
+		
+// 3GPP TS 32.299 V10.6.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 V10.6.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 V10.6.0
+// AVP: Current-Tariff (2056) 3GPP (10415)
+// 7.2.47
+type AVP_Grouped Current_Tariff;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: CUG-Information (2304) 3GPP (10415)
+// 7.2.48
+type AVP_OctetString CUG_Information;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Data-Coding-Scheme (2001) 3GPP (10415)
+// 7.2.49
+type AVP_Integer32 Data_Coding_Scheme;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: DCD-Information (2115) 3GPP (10415)
+// 7.2.50
+type AVP_Grouped DCD_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Deferred-Location-Event-Type (1230) 3GPP (10415)
+// 7.2.51
+type AVP_UTF8String Deferred_Location_Event_Type;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Delivery-Report-Requested (1216) 3GPP (10415)
+// 7.2.52
+type enumerated Delivery_Report_Requested
+{
+  NO  (0),
+  YES (1)
+}
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Destination-Interface (2002) 3GPP (10415)
+// 7.2.53
+type AVP_Grouped Destination_Interface;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Diagnostics (2039) 3GPP (10415)
+// 7.2.54
+type AVP_Integer32 Diagnostics;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Domain-Name (1200) 3GPP (10415)
+// 7.2.55
+type AVP_UTF8String Domain_Name;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: DRM-Content (1221) 3GPP (10415)
+// 7.2.56
+type enumerated DRM_Content
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Dynamic-Address-Flag (2051) 3GPP (10415)
+// 7.2.57
+type enumerated Dynamic_Address_Flag
+{
+  STATIC    (0),
+  DYNAMIC   (1)
+}
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Early-Media-Description (1272) 3GPP (10415)
+// 7.2.58
+type AVP_Grouped Early_Media_Description;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Envelope (1266) 3GPP (10415)
+// 7.2.59
+type AVP_Grouped Envelope;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Envelope-End-Time (1267) 3GPP (10415)
+// 7.2.60
+type AVP_Time Envelope_End_Time;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Envelope-Start-Time (1269) 3GPP (10415)
+// 7.2.62
+type AVP_Time Envelope_Start_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Event (825) 3GPP (10415)
+// 7.2.63
+type AVP_UTF8String Event;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Event-Charging-TimeStamp (1258) 3GPP (10415)
+// 7.2.64
+type AVP_Time Event_Charging_TimeStamp;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Event-Type (823) 3GPP (10415)
+// 7.2.65
+type AVP_Grouped Event_Type;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Expires (888) 3GPP (10415)
+// 7.2.66
+type AVP_Unsigned32 Expires;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: GGSN-Address (847) 3GPP (10415)
+// 7.2.68
+type AVP_Address GGSN_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: IM-Information (2110) 3GPP (10415)
+// 7.2.69
+type AVP_Grouped IM_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Incremental-Cost (2062) 3GPP (10415)
+// 7.2.70
+type AVP_Grouped Incremental_Cost;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Interface-Id (2003) 3GPP (10415)
+// 7.2.71
+type AVP_UTF8String Interface_Id;		
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Interface-Port (2004) 3GPP (10415)
+// 7.2.72
+type AVP_UTF8String Interface_Port;		
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Interface-Text (2005) 3GPP (10415)
+// 7.2.73
+type AVP_UTF8String Interface_Text;		
+		
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: IMS-Application-Reference-Identifier (2601) 3GPP (10415)
+// 7.2.74A
+type AVP_UTF8String IMS_Application_Reference_Identifier;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: IMS-Charging-Identifier (841) 3GPP (10415)
+// 7.2.75
+type AVP_UTF8String IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: IMS-Communication-Service-Identifier (1281) 3GPP (10415)
+// 7.2.76
+type AVP_UTF8String IMS_Communication_Service_Identifier;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: IMS-Information (876) 3GPP (10415)
+// 7.2.77
+type AVP_Grouped IMS_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: IMSI-Unauthenticated-Flag (2308) 3GPP (10415)
+// 7.2.78
+type enumerated IMSI_Unauthenticated_Flag;	
+{
+  AUTHENTICATED    (0),
+  UNAUTHENTICATED  (1)
+}
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: Incoming-Trunk-Group-Id (852) 3GPP (10415)
+// 7.2.79
+type AVP_UTF8String Incoming_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Initial-IMS-Charging-Identifier (2321) 3GPP (10415)
+// 7.2.79A
+type AVP_UTF8String Initial_IMS_Charging_Identifier;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Inter-Operator-Identifier (838) 3GPP (10415)
+// 7.2.80
+type AVP_Grouped Inter_Operator_Identifier;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: LCS-APN (1231) 3GPP (10415)
+// 7.2.81
+type AVP_UTF8String LCS_APN;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: LCS-Client-External-ID (1234) 3GPP (10415)
+// 7.2.83
+type AVP_UTF8String LCS_Client_External_ID;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: LCS-Client-Id (1232) 3GPP (10415)
+// 7.2.84
+type AVP_Grouped LCS_Client_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: LCS-Client-Name (1235) 3GPP (10415)
+// 7.2.85
+type AVP_Grouped LCS_Client_Name;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: LCS-Data-Coding-Scheme (1236) 3GPP (10415)
+// 7.2.87
+type AVP_UTF8String LCS_Data_Coding_Scheme;		
+		
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: LCS-Information (878) 3GPP (10415)
+// 7.2.89
+type AVP_Grouped LCS_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: LCS-Name-String (1238) 3GPP (10415)
+// 7.2.90
+type AVP_UTF8String LCS_Name_String;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: LCS-Requestor-Id (1239) 3GPP (10415)
+// 7.2.91
+type AVP_Grouped LCS_Requestor_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: LCS-Requestor-Id-String (1240) 3GPP (10415)
+// 7.2.92
+type AVP_UTF8String LCS_Requestor_Id_String;
+
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Local-Sequence-Number (2063) 3GPP (10415)
+// 7.2.93
+type AVP_Unsigned32 Local_Sequence_Number;
+
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Location-Estimate (1242) 3GPP (10415)
+// 7.2.94
+type AVP_OctetString Location_Estimate;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Location-Type (1244) 3GPP (10415)
+// 7.2.96
+type AVP_Grouped Location_Type;
+	
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Low-Priority-Indicator (2602) 3GPP (10415)
+// 7.2.97A
+type enumerated Low_Priority_Indicator
+{
+  NOT_APPLICABLE (0),
+  YES            (1)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: MBMS-GW-Address (2307) 3GPP (10415)
+// 7.2.98
+type AVP_Address MBMS_GW_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: MBMS-Information (880) 3GPP (10415)
+// 7.2.99
+type AVP_Grouped MBMS_Information;		
+
+// 3GPP TS 32.299 V10.6.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 V10.6.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 V10.6.0
+// AVP: Media-Initiator-Party (1288) 3GPP (10415)
+// 7.2.102
+type AVP_UTF8String Media_Initiator_Party;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Message-Body (889) 3GPP (10415)
+// 7.2.103
+type AVP_Grouped Message_Body;
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: Message-Class (1213) 3GPP (10415)
+// 7.2.104
+type AVP_Grouped Message_Class;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Message-ID (1210) 3GPP (10415)
+// 7.2.105
+type AVP_UTF8String Message_ID;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Message-Size (1212) 3GPP (10415)
+// 7.2.106
+type AVP_Unsigned32 Message_Size;	 	
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: MM-Content-Type (1203) 3GPP (10415)
+// 7.2.108
+type AVP_Grouped MM_Content_Type;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: MMBox-Storage-Requested (1248) 3GPP (10415)
+// 7.2.109
+type enumerated MMBox_Storage_Requested
+{
+  NO  (0),
+  YES (1)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: MMS-Information (877) 3GPP (10415)
+// 7.2.110
+type AVP_Grouped MMS_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: MMTel-Information (2030) 3GPP (10415)
+// 7.2.111
+type AVP_Grouped MMTel_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Next-Tariff (2057) 3GPP (10415)
+// 7.2.112
+type AVP_Grouped Next_Tariff;
+
+// 3GPP TS 32.299 V10.6.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)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Node-Id (2064) 3GPP (10415)
+// 7.2.114
+type AVP_UTF8String Node_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Number-Of-Diversions (2034) 3GPP (10415)
+// 7.2.115
+type AVP_Unsigned32 Number_Of_Diversions;
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: Number-of-Messages-Sent (2019) 3GPP (10415)
+// 7.2.116
+type AVP_Unsigned32 Number_of_Messages_Sent;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Number-Of-Participants (885) 3GPP (10415)
+// 7.2.117
+type AVP_Unsigned32 Number_Of_Participants;
+			
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Number-Of-Talk-Bursts (1283) 3GPP (10415)
+// 7.2.119
+type AVP_Unsigned32 Number_Of_Talk_Bursts;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Number-Portability-Routing-Information (2024) 3GPP (10415)
+// 7.2.120
+type AVP_UTF8String Number_Portability_Routing_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Offline-Charging (1278) 3GPP (10415)
+// 7.2.121
+type AVP_Grouped Offline_Charging;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Originating-IOI (839) 3GPP (10415)
+// 7.2.123
+type AVP_UTF8String Originating_IOI;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Originator (864) 3GPP (10415)
+// 7.2.124
+type enumerated Originator
+{
+  CALLING_PARTY	(0),
+  CALLED_PARTY 	(1)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Originator-Address (886) 3GPP (10415)
+// 7.2.125
+type AVP_Grouped Originator_Address;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Originator-Interface (2009) 3GPP (10415)
+// 7.2.126
+type AVP_Grouped Originator_Interface;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Originator-Received-Address (2027) 3GPP (10415)
+// 7.2.127 
+type AVP_Grouped Originator_Received_Address;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Originating-SCCP-Address (2008) 3GPP (10415)
+// 7.2.128
+type AVP_Address Originating_SCCP_Address;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Outgoing-Session-Id (2320) 3GPP (10415)
+// 7.2.128A
+type AVP_UTF8String Outgoing_Session_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Outgoing-Trunk-Group-Id (853) 3GPP (10415)
+// 7.2.129
+type AVP_UTF8String Outgoing_Trunk_Group_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Participants-Involved (887) 3GPP (10415)
+// 7.2.130
+type AVP_UTF8String Participants_Involved;	
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Participant-Group (1260) 3GPP (10415)
+// 7.2.131
+type AVP_Grouped Participant_Group;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.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 V10.6.0
+// AVP: PDG-Address (895) 3GPP (10415)
+// 7.2.134
+type AVP_Address PDG_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PDG-Charging-Id (896) 3GPP (10415)
+// 7.2.135
+type AVP_Unsigned32 PDG_Charging_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PDN-Connection-Charging-ID (2050) 3GPP (10415)
+// 7.2.136
+type AVP_Unsigned32 PDN_Connection_Charging_ID;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PDP-Address (1227) 3GPP (10415)
+// 7.2.137
+type AVP_Address PDP_Address;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PDP-Address-Prefix-Length (2606) 3GPP (10415)
+// 7.2.137A
+type AVP_Unsigned32 PDP_Address_Prefix_Length;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PDP-Context-Type (1247) 3GPP (10415)
+// 7.2.138
+type enumerated PDP_Context_Type
+{
+  PRIMARY   (0),
+  SECONDARY (1)
+}
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: PoC-Change-Time (1262) 3GPP (10415)
+// 7.2.140
+type AVP_Time PoC_Change_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PoC-Controlling-Address (858) 3GPP (10415)
+// 7.2.141
+type AVP_UTF8String PoC_Controlling_Address;		
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: PoC-Group-Name (859) 3GPP (10415)
+// 7.2.143
+type AVP_UTF8String PoC_Group_Name;	
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PoC-Information (879) 3GPP (10415)
+// 7.2.144
+type AVP_Grouped PoC_Information;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: PoC-Session-Id (1229) 3GPP (10415)
+// 7.2.146
+type AVP_UTF8String PoC_Session_Id;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.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 V10.6.0
+// AVP: PoC-User-Role (1252) 3GPP (10415)
+// 7.2.149
+type AVP_Grouped PoC_User_Role;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PoC-User-Role-IDs (1253) 3GPP (10415)
+// 7.2.150
+type AVP_UTF8String PoC_User_Role_IDs;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Positioning-Data (1245) 3GPP (10415)
+// 7.2.152
+type AVP_UTF8String Positioning_Data;		 	
+
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Preferred-AoC-Currency (2315) 3GPP (10415)
+// 7.2.153
+type AVP_Unsigned32 Preferred_AoC_Currency;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Priority (1209) 3GPP (10415)
+// 7.2.154
+type enumerated Priority
+{
+  LOW    (0),
+  NORMAL (1),
+  HIGH   (2)
+}
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: PS-Free-Format-Data (866) 3GPP (10415)
+// 7.2.156
+type AVP_OctetString PS_Free_Format_Data;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PS-Furnish-Charging-Information (865) 3GPP (10415)
+// 7.2.157
+type AVP_Grouped PS_Furnish_Charging_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: PS-Information (874) 3GPP (10415)
+// 7.2.158
+type AVP_Grouped PS_Information;
+				
+// 3GPP TS 32.299 V10.6.0
+// AVP: Quota-Consumption-Time (881) 3GPP (10415)
+// 7.2.159
+type AVP_Unsigned32 Quota_Consumption_Time;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Quota-Holding-Time (871) 3GPP (10415)
+// 7.2.160
+type AVP_Unsigned32 Quota_Holding_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Rate-Element (2058) 3GPP (10415)
+// 7.2.161
+type AVP_Grouped Rate_Element;
+		
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Reason-Code (2316) 3GPP (10415)
+// 7.2.163
+type enumerated Reason_Code
+{
+  UNKNOWN                      (0),
+  USAGE                        (1),
+  COMMUNICATION_ATTEMPT_CHARGE (2),
+  SETUP_CHARGE                 (3),
+  ADD_ON_CHARGE                (4)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Real-Time-Tariff-Information (2305) 3GPP (10415)
+// 7.2.164
+type AVP_Grouped Real_Time_Tariff_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Received-Talk-Burst-Time (1284) 3GPP (10415)
+// 7.2.165
+type AVP_Unsigned32 Received_Talk_Burst_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Received-Talk-Burst-Volume (1285) 3GPP (10415)
+// 7.2.166
+type AVP_Unsigned32 Received_Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Recipient-Address (1201) 3GPP (10415)
+// 7.2.167
+type AVP_Grouped Recipient_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Recipient-Info (2026) 3GPP (10415)
+// 7.2.168
+type AVP_Grouped Recipient_Info;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Recipient-Received-Address (2028) 3GPP (10415)
+// 7.2.169
+type AVP_Grouped Recipient_Received_Address;
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: Recipient-SCCP-Address (2010) 3GPP (10415)
+// 7.2.170
+type AVP_Address Recipient_SCCP_Address;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Refund-Information (2022) 3GPP (10415)
+// 7.2.171
+type AVP_OctetString Refund_Information;
+	
+// 3GPP TS 32.299 V10.6.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 V10.6.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 V10.6.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 V10.6.0
+// AVP: Requested-Party-Address (1251) 3GPP (10415)
+// 7.2.176
+type AVP_UTF8String Requested_Party_Address;
+
+// 3GPP TS 32.299 V10.6.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)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Scale-Factor (2059) 3GPP (10415)
+// 7.2.178
+type AVP_Grouped Scale_Factor;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-Answer-Timestamp (1275) 3GPP (10415)
+// 7.2.179
+type AVP_Time SDP_Answer_Timestamp;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-Media-Component (843) 3GPP (10415)
+// 7.2.180
+type AVP_Grouped SDP_Media_Component;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-Media-Description (845) 3GPP (10415)
+// 7.2.181
+type AVP_UTF8String SDP_Media_Description;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-Media-Name (844) 3GPP (10415)
+// 7.2.182
+type AVP_UTF8String SDP_Media_Name;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-Offer-Timestamp (1274) 3GPP (10415)
+// 7.2.183
+type AVP_Time SDP_Offer_Timestamp;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-Session-Description (842) 3GPP (10415)
+// 7.2.184
+type AVP_UTF8String SDP_Session_Description;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-TimeStamps (1273) 3GPP (10415)
+// 7.2.185
+type AVP_Grouped SDP_TimeStamps;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SDP-Type (2036) 3GPP (10415)
+// 7.2.186
+type enumerated SDP_Type
+{
+  SDP_OFFER  (0),
+  SDP_ANSWER (1)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Served-Party-IP-Address	(848) 3GPP (10415)
+// 7.2.187
+type AVP_Address Served_Party_IP_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Data-Container (2040) 3GPP (10415)
+// 7.2.189
+type AVP_Grouped Service_Data_Container;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Id (855) 3GPP (10415)
+// 7.2.190
+type AVP_UTF8String Service_Id;
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Generic-Information (1256) 3GPP (10415)
+// 7.2.191
+type AVP_Grouped Service_Generic_Information;	 			
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Information (873) 3GPP (10415)
+// 7.2.192
+type AVP_Grouped Service_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Mode (2032) 3GPP (10415)
+// 7.2.193
+type AVP_Unsigned32 Service_Mode;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Specific-Data (863) 3GPP (10415)
+// 7.2.194
+type AVP_UTF8String Service_Specific_Data;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Specific-Info (1249) 3GPP (10415)
+// 7.2.195
+type AVP_Grouped Service_Specific_Info;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Specific-Type (1257) 3GPP (10415)
+// 7.2.196
+type AVP_Unsigned32 Service_Specific_Type;	
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Service-Type (2031) 3GPP (10415)
+// 7.2.197
+type AVP_Unsigned32 Service_Type;
+
+// 3GPP TS 32.299 V10.6.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)
+}
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: SGSN-Address (1228) 3GPP (10415)
+// 7.2.199
+type AVP_Address SGSN_Address;
+
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SGW-Address (2067) 3GPP (10415)
+// 7.2.199A
+type AVP_Address SGW_Address;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: SIP-Method (824) 3GPP (10415)
+// 7.2.201
+type AVP_UTF8String SIP_Method;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SIP-Request-Timestamp (834) 3GPP (10415)
+// 7.2.202
+type AVP_Time SIP_Request_Timestamp;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SIP-Request-Timestamp-Fraction (2301) 3GPP (10415)
+// 7.2.203
+type AVP_Unsigned32 SIP_Request_Timestamp_Fraction;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SIP-Response-Timestamp (835) 3GPP (10415)
+// 7.2.204
+type AVP_Time SIP_Response_Timestamp;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: SIP-Response-Timestamp-Fraction (2302) 3GPP (10415)
+// 7.2.205
+type AVP_Unsigned32 SIP_Response_Timestamp_Fraction;
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: SM-Discharge-Time (2012) 3GPP (10415)
+// 7.2.206
+type AVP_Time SM_Discharge_Time;		
+		
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: SM-Protocol-ID (2013) 3GPP (10415)
+// 7.2.208
+type AVP_OctetString SM_Protocol_ID;		
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: SM-Status (2014) 3GPP (10415)
+// 7.2.209
+type AVP_OctetString SM_Status;		
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: SM-User-Data-Header (2015) 3GPP (10415)
+// 7.2.210
+type AVP_OctetString SM_User_Data_Header;		
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: SMS-Information (2000) 3GPP (10415)
+// 7.2.211
+type AVP_Grouped SMS_Information;		
+	
+// 3GPP TS 32.299 V10.6.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)
+}		
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V10.6.0
+// AVP: SM-Service-Type (2029) 3GPP (10415)
+// 7.2.213
+type AVP_Unsigned32 SM_Service_Type;
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: SMSC-Address (2017) 3GPP (10415)
+// 7.2.214
+type AVP_Address SMSC_Address;		
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Start-Time (2041) 3GPP (10415)
+// 7.2.215
+type AVP_Time Start_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Stop-Time (2042) 3GPP (10415)
+// 7.2.216
+type AVP_Time Stop_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Submission-Time (1202) 3GPP (10415)
+// 7.2.217
+type AVP_Time Submission_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Subscriber-Role (2033) 3GPP (10415)
+// 7.2.218
+type enumerated Subscriber_Role
+{
+  ORIGINATING (0),
+  TERMINATING (1)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Supplementary-Service (2048) 3GPP (10415)
+// 7.2.219
+type AVP_Grouped Supplementary_Service;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Talk-Burst-Exchange (1255) 3GPP (10415)
+// 7.2.220
+type AVP_Grouped Talk_Burst_Exchange;	 	
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Talk-Burst-Time (1286) 3GPP (10415)
+// 7.2.221
+type AVP_Unsigned32 Talk_Burst_Time;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Talk-Burst-Volume (1287) 3GPP (10415)
+// 7.2.222
+type AVP_Unsigned32 Talk_Burst_Volume;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Tariff-Information (2060) 3GPP (10415)
+// 7.2.223
+type AVP_Grouped Tariff_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Tariff-XML (2306) 3GPP (10415)
+// 7.2.224
+type AVP_UTF8String Tariff_XML;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Terminating-IOI (840) 3GPP (10415)
+// 7.2.225
+type AVP_UTF8String Terminating_IOI;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Time_First_Usage (2043) 3GPP (10415)
+// 7.2.226
+type AVP_Time Time_First_Usage;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Time_Last_Usage (2044) 3GPP (10415)
+// 7.2.227
+type AVP_Time Time_Last_Usage;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Time-Quota-Mechanism (1270) 3GPP (10415)
+// 7.2.228
+type AVP_Grouped Time_Quota_Mechanism;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Time-Quota-Threshold (868) 3GPP (10415)
+// 7.2.229
+type AVP_Unsigned32 Time_Quota_Threshold;		
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Time-Stamps (833) 3GPP (10415)
+// 7.2.231
+type AVP_Grouped Time_Stamps;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Time-Usage (2045) 3GPP (10415)
+// 7.2.232
+type AVP_Unsigned32 Time_Usage;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Traffic-Data-Volumes (2046) 3GPP (10415)
+// 7.2.233
+type AVP_Grouped Traffic_Data_Volumes;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: Token-Text (1215) 3GPP (10415)
+// 7.2.234
+type AVP_UTF8String Token_Text;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Trigger (1264) 3GPP (10415)
+// 7.2.235
+type AVP_Grouped Trigger;
+
+// 3GPP TS 32.299 V10.6.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),
+  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_USER_CSG_INFORMATION               (70),
+  CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION (71),
+  CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION (72)
+}
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Trunk-Group-Id (851) 3GPP (10415)
+// 7.2.237
+type AVP_Grouped Trunk_Group_Id;		
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 32.299 V10.6.0
+// AVP: Type-Number (1204) 3GPP (10415)
+// 7.2.238
+type AVP_Unsigned32 Type_Number;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: Unit-Cost (2061) 3GPP (10415)
+// 7.2.239
+type AVP_Grouped Unit_Cost;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Unit-Quota-Threshold (1226) 3GPP (10415)
+// 7.2.240
+type AVP_Unsigned32 Unit_Quota_Threshold;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: User-CSG-Information (2319) 3GPP (10415)
+// 7.2.240A
+type AVP_Grouped User_CSG_Information;
+
+// 3GPP TS 32.299 V10.6.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 V10.6.0
+// AVP: User-Session-Id (830) 3GPP (10415)
+// 7.2.242
+type AVP_UTF8String User_Session_Id;
+		
+// 3GPP TS 32.299 V10.6.0
+// AVP: Volume-Quota-Threshold (869) 3GPP (10415)
+// 7.2.243
+type AVP_Unsigned32 Volume_Quota_Threshold;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: WAG-Address (890) 3GPP (10415)
+// 7.2.244
+type AVP_Address WAG_Address;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: WAG-PLMN-Id (891) 3GPP (10415)
+// 7.2.245
+type AVP_OctetString WAG_PLMN_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: WLAN-Information (875) 3GPP (10415)
+// 7.2.246
+type AVP_Grouped WLAN_Information;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: WLAN-Radio-Container (892) 3GPP (10415)
+// 7.2.247
+type AVP_Grouped WLAN_Radio_Container;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: WLAN-Session-Id (1246) 3GPP (10415)
+// 7.2.248
+type AVP_Unsigned32 WLAN_Session_Id;
+
+// 3GPP TS 32.299 V10.6.0
+// AVP: WLAN-Technology (893) 3GPP (10415)
+// 7.2.249
+type AVP_Unsigned32 WLAN_Technology;	
+	
+// 3GPP TS 32.299 V10.6.0
+// AVP: WLAN-UE-Local-IPAddress (894) 3GPP (10415)
+// 7.2.250
+type AVP_Address WLAN_UE_Local_IPAddress;
+
+
+
+
+
+
+
diff --git a/src/CreditControl_IETF_RFC4006.ddf b/src/CreditControl_IETF_RFC4006.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..3859ebe340cf908c9e5353b8f3783852f7f33b68
--- /dev/null
+++ b/src/CreditControl_IETF_RFC4006.ddf
@@ -0,0 +1,385 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               CreditControl_IETF_RFC4006.ddf
+//  Description:        DDF for DCC according to RFC 4006
+//  Rev:                R29A
+//  Prodnr:             CNL 1134 62
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: DCC
+// APPLICATION-REVISION: RFC4006
+
+// AVP implementations according to: 
+// RFC 4006 - Diameter Credit Control Application
+// IS for Additional Billing for Verizon in MTAS 125/1594-FCP 101 8664 Uen PA8
+
+// RFC 4006 12.2
+type enumerated Command_Code {
+  Credit_Control (272)
+}
+
+// RFC 4006
+// AVP: CC-Correlation-Id (411)
+// 8.1
+type AVP_OctetString CC_Correlation_Id;
+
+// RFC 4006
+// AVP: CC-Input-Octets (412)
+// 8.24
+type AVP_Unsigned64 CC_Input_Octets;
+
+// RFC 4006
+// AVP: CC-Money (413)
+// 8.22
+type AVP_Grouped CC_Money;
+
+// RFC 4006
+// AVP: CC-Output-Octets (414)
+// 8.25
+type AVP_Unsigned64 CC_Output_Octets;
+
+// RFC 4006
+// AVP: CC-Request-Number (415)
+// 8.2
+type AVP_Unsigned32 CC_Request_Number;
+
+// RFC 4006
+// AVP: CC-Request-Type (416)
+// 8.3
+type enumerated CC_Request_Type
+{
+  INITIAL_REQUEST         (1),
+  UPDATE_REQUEST          (2),
+  TERMINATION_REQUEST     (3),
+  EVENT_REQUEST           (4)
+}
+
+// RFC 4006
+// AVP: CC-Service-Specific-Units (417)
+// 8.26
+type AVP_Unsigned64 CC_Service_Specific_Units;
+
+// RFC 4006
+// AVP: CC-Session-Failover (418)
+// 8.4
+type enumerated CC_Session_Failover
+{
+  FAILOVER_NOT_SUPPORTED  (0),
+  FAILOVER_SUPPORTED      (1)
+}
+
+// RFC 4006
+// AVP: CC-Sub-Session-Id (419)
+// 8.5
+type AVP_Unsigned64 CC_Sub_Session_Id;
+
+// RFC 4006
+// AVP: CC-Time (420)
+// 8.21
+type AVP_Unsigned32 CC_Time;
+
+// RFC 4006
+// AVP: CC-Total-Octets (421)
+// 8.23
+type AVP_Unsigned64 CC_Total_Octets;
+
+// RFC 4006
+// AVP: CC-Unit-Type (454)
+// 8.32
+type enumerated CC_Unit_Type
+{
+  TIME                    (0),
+  MONEY                   (1),
+  TOTAL_OCTETS            (2),
+  INPUT_OCTETS            (3),
+  OUTPUT_OCTETS           (4),
+  SERVICE_SPECIFIC_UNITS  (5)
+}
+
+// RFC 4006
+// AVP: Check-Balance-Result (422)
+// 8.6
+type enumerated Check_Balance_Result
+{
+  ENOUGH_CREDIT           (0),
+  NO_CREDIT               (1)
+}
+
+// RFC 4006
+// AVP: Cost-Information (423)
+// 8.7
+type AVP_Grouped Cost_Information;
+
+// RFC 4006
+// AVP: Cost-Unit (424)
+// 8.12
+type AVP_UTF8String Cost_Unit;
+
+// RFC 4006
+// AVP: Credit-Control (426)
+// 8.13
+type enumerated Credit_Control
+{
+  CREDIT_AUTHORIZATION    (0),
+  RE_AUTHORIZATION        (1)
+}
+
+// RFC 4006
+// AVP: Credit-Control-Failure-Handling (427)
+// 8.14
+type enumerated Credit_Control_Failure_Handling
+{
+  TERMINATE               (0),
+  CONTINUE                (1),
+  RETRY_AND_TERMINATE     (2)
+}
+
+// RFC 4006
+// AVP: Currency-Code (425)
+// 8.11
+type AVP_Unsigned32 Currency_Code;
+
+// RFC 4006
+// AVP: Direct-Debiting-Failure-Handling (428)
+// 8.15
+type enumerated Direct_Debiting_Failure_Handling
+{
+  TERMINATE_OR_BUFFER     (0),
+  CONTINUE                (1)
+}
+
+// RFC 4006
+// AVP: Exponent (429)
+// 8.9
+type AVP_Integer32 Exponent;
+
+// RFC 4006
+// AVP: Final-Unit-Action (449)
+// 8.35
+type enumerated Final_Unit_Action
+{
+  TERMINATE               (0),
+  REDIRECT                (1),
+  RESTRICT_ACCESS         (2)
+}
+
+// RFC 4006
+// AVP: Final-Unit-Indication (430)
+// 8.34
+type AVP_Grouped Final_Unit_Indication;
+
+// RFC 4006
+// AVP: Granted-Service-Unit (431)
+// 8.17
+type AVP_Grouped Granted_Service_Unit;
+
+// RFC 4006
+// AVP: G-S-U-Pool-Identifier (453)
+// 8.31
+type AVP_Unsigned32 G_S_U_Pool_Identifier;
+
+// RFC 4006
+// AVP: G-S-U-Pool-Reference (457)
+// 8.30
+type AVP_Grouped G_S_U_Pool_Reference;
+
+// RFC 4006
+// AVP: Multiple-Services-Credit-Control (456)
+// 8.16
+type AVP_Grouped Multiple_Services_Credit_Control;
+
+// RFC 4006
+// AVP: Multiple-Services-Indicator (455)
+// 8.40
+type enumerated Multiple_Services_Indicator
+{
+  MULTIPLE_SERVICES_NOT_SUPPORTED (0),
+  MULTIPLE_SERVICES_SUPPORTED     (1)
+}
+
+// RFC 4006
+// AVP: Rating-Group (432)
+// 8.29
+type AVP_Unsigned32 Rating_Group
+
+// RFC 4006
+// AVP: Redirect-Address-Type (433)
+// 8.38
+type enumerated Redirect_Address_Type
+{
+  IPV4_ADDRESS            (0),
+  IPV6_ADDRESS            (1),
+  URL                     (2),
+  SIP_URI                 (3)
+}
+
+// RFC 4006
+// AVP: Redirect-Server (434)
+type AVP_Grouped Redirect_Server;
+
+// RFC 4006
+// AVP: Redirect-Server-Address (435)
+// 8.37
+type AVP_UTF8String Redirect_Server_Address
+
+// RFC 4006
+// AVP: Requested-Action (436)
+// 8.41
+type enumerated Requested_Action
+{
+  DIRECT_DEBITING         (0),
+  REFUND_ACCOUNT          (1),
+  CHECK_BALANCE           (2),
+  PRICE_ENQUIRY           (3)  
+}
+
+// RFC 4006
+// AVP: Requested-Service-Unit (437)
+// 8.18
+type AVP_Grouped Requested_Service_Unit
+
+// RFC 4006
+// AVP: Restriction-Filter-Rule (438)
+// 8.36
+type AVP_IPFilterRule Restriction_Filter_Rule
+
+// RFC 4006
+// AVP: Service-Context-Id (461)
+// 8.42
+type AVP_UTF8String Service_Context_Id
+
+// RFC 4006
+// AVP: Service-Identifier (439)
+// 8.28
+type AVP_Unsigned32 Service_Identifier
+
+// RFC 4006
+// AVP: Service-Parameter-Info (440)
+// 8.43
+type AVP_Grouped Service_Parameter_Info
+
+// RFC 4006
+// AVP: Service-Parameter-Type (441)
+// 8.44
+type AVP_Unsigned32 Service_Parameter_Type
+
+// RFC 4006
+// AVP: Service-Parameter-Value (442)
+// 8.45
+type AVP_OctetString Service_Parameter_Value
+
+// RFC 4006
+// AVP: Subscription-Id (443)
+// 8.46
+type AVP_Grouped Subscription_Id;
+
+// RFC 4006
+// AVP: Subscription-Id-Data (444)
+// 8.48
+type AVP_UTF8String Subscription_Id_Data
+
+// RFC 4006
+// AVP: Subscription-Id-Type (450)
+// 8.47
+type enumerated Subscription_Id_Type
+{
+  END_USER_E164         (0),
+  END_USER_IMSI         (1),
+  END_USER_SIP_URI      (2),
+  END_USER_NAI          (3),
+  END_USER_PRIVATE      (4)
+}
+
+// RFC 4006
+// AVP: Tariff-Change-Usage (452)
+// 8.27
+type enumerated Tariff_Change_Usage
+{
+  UNIT_BEFORE_TARIFF_CHANGE   (0),
+  UNIT_AFTER_TARIFF_CHANGE    (1),
+  UNIT_INDETERMINATE          (2)
+}
+
+// RFC 4006
+// AVP: Tariff-Time-Change (451)
+// 8.20
+type AVP_Time Tariff_Time_Change
+
+// RFC 4006
+// AVP: Unit-Value (445)
+// 8.8
+type AVP_Grouped Unit_Value
+
+// RFC 4006
+// AVP: Used-Service-Unit (446)
+// 8.19
+type AVP_Grouped Used_Service_Unit
+
+// RFC 4006
+// AVP: User-Equipment-Info (458)
+// 8.49
+type AVP_Grouped User_Equipment_Info
+
+// RFC 4006, 125/1594-FCP 101 8664
+// AVP: User-Equipment-Info-Type (459)
+// RFC 4006 section 8.50, 125/1594-FCP 101 8664 section 3.3.12
+type enumerated User_Equipment_Info_Type
+{
+  IMEISV                (0),
+  MAC                   (1),
+  EUI64                 (2),
+  MODIFIED_EUI64        (3),
+  ESN                   (4),
+  MEID                  (5)
+}
+
+// RFC 4006
+// AVP: User-Equipment-Info-Value (460)
+// 8.51
+type AVP_OctetString User_Equipment_Info_Value
+
+// RFC 4006
+// AVP: Value-Digits (447)
+// 8.10
+type AVP_Integer64 Value_Digits
+
+// RFC 4006
+// AVP: Validity-Time (448)
+// 8.33
+type AVP_Unsigned32 Validity_Time
+
diff --git a/src/CxDxInterface_3GPP_TS29229_6a0.ddf b/src/CxDxInterface_3GPP_TS29229_6a0.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..f7c9a78283b28661e6443f0e217e699109d55687
--- /dev/null
+++ b/src/CxDxInterface_3GPP_TS29229_6a0.ddf
@@ -0,0 +1,258 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               CxDxInterface_3GPP_TS29229_6a0.ddf
+//  Description:        DDF for CxDx according to 3GPP TS 29.229 V6.10.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: CxDx
+// APPLICATION-REVISION: V6_10_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.229 V6.10.0 - Cx and Dx interfaces based on the Diameter protocol
+//
+//
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777216
+//
+
+// 3GPP TS 29.229 V6.10.0 6.1
+type enumerated Command_Code {
+  User_Authorization       (300),
+  Server_Assignment        (301),
+  Location_Info            (302),
+  Multimedia_Auth          (303),
+  Registration_Termination (304),
+  Push_Profile             (305)
+}
+
+
+
+// 3GPP 29.229 V6.10.0
+// AVP: Visited-Network-Identifier (600) 3GPP (10415)
+// 6.3.1
+type AVP_OctetString Visited_Network_Identifier;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Public-Identity (601) 3GPP (10415)
+// 6.3.2
+type AVP_UTF8String Public_Identity;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Server-Name (602) 3GPP (10415)
+// 6.3.3
+type AVP_UTF8String Server_Name;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Server-Capabilities (603) 3GPP (10415)
+// 6.3.4
+type AVP_Grouped Server_Capabilities;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Mandatory-Capability (604) 3GPP (10415)
+// 6.3.5
+type AVP_Unsigned32 Mandatory_Capability;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Optional-Capability (605) 3GPP (10415)
+// 6.3.6
+type AVP_Unsigned32 Optional_Capability;
+
+// 3GPP 29.229 V6.10.0
+// AVP: User-Data (606) 3GPP (10415)
+// 6.3.7
+type AVP_OctetString User_Data;
+
+// 3GPP 29.229 V6.10.0
+// AVP: SIP-Number-Auth-Items (607) 3GPP (10415)
+// 6.3.8
+type AVP_Unsigned32 SIP_Number_Auth_Items;
+
+// 3GPP 29.229 V6.10.0
+// AVP: SIP-Authentication-Scheme (608) 3GPP (10415)
+// 6.3.9
+type AVP_UTF8String SIP_Authentication_Scheme;
+
+// 3GPP 29.229 V6.10.0
+// AVP: SIP-Authenticate (609) 3GPP (10415)
+// 6.3.10
+type AVP_OctetString SIP_Authenticate;
+
+// 3GPP 29.229 V6.10.0
+// AVP: SIP-Authorization (610) 3GPP (10415)
+// 6.3.11
+type AVP_OctetString SIP_Authorization;
+
+// 3GPP 29.229 V6.10.0
+// AVP: SIP-Authentication-Context (611) 3GPP (10415)
+// 6.3.12
+type AVP_OctetString SIP_Authentication_Context;
+
+// 3GPP 29.229 V6.10.0
+// AVP: SIP-Auth-Data-Item (612) 3GPP (10415)
+// 6.3.13
+type AVP_Grouped SIP_Auth_Data_Item;
+
+// 3GPP 29.229 V6.10.0
+// AVP: SIP-Item-Number (613) 3GPP (10415)
+// 6.3.14
+type AVP_Unsigned32 SIP_Item_Number;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Server-Assignment-Type (614) 3GPP (10415)
+// 6.3.15
+type enumerated Server_Assignment_Type
+{
+  NO_ASSIGNMENT                             (0),
+  REGISTRATION                              (1),
+  RE_REGISTRATION                           (2),
+  UNREGISTERED_USER                         (3),
+  TIMEOUT_DEREGISTRATION                    (4),
+  USER_DEREGISTRATION                       (5),
+  TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME  (6),
+  USER_DEREGISTRATION_STORE_SERVER_NAME     (7),
+  ADMINISTRATIVE_DEREGISTRATION             (8),
+  AUTHENTICATION_FAILURE                    (9),
+  AUTHENTICATION_TIMEOUT                   (10),
+  DEREGISTRATION_TOO_MUCH_DATA             (11)
+}
+
+// 3GPP 29.229 V6.10.0
+// AVP: Deregistration-Reason (615) 3GPP (10415)
+// 6.3.16
+type AVP_Grouped Deregistration_Reason;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Reason-Code (616) 3GPP (10415)
+// 6.3.17
+type enumerated Reason_Code
+{
+  PERMANENT_TERMINATION (0),
+  NEW_SERVER_ASSIGNED   (1),
+  SERVER_CHANGE         (2),
+  REMOVE_S_CSCF         (3)
+}
+
+// 3GPP 29.229 V6.10.0
+// AVP: Reason-Info (617) 3GPP (10415)
+// 6.3.18
+type AVP_UTF8String Reason_Info;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Charging-Information (618) 3GPP (10415)
+// 6.3.19
+type AVP_Grouped Charging_Information;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Primary-Event-Charging-Function-Name (619) 3GPP (10415)
+// 6.3.20
+type AVP_DiameterURI Primary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Secondary-Event-Charging-Function-Name (620) 3GPP (10415)
+// 6.3.21
+type AVP_DiameterURI Secondary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Primary-Charging-Collection-Function-Name (621) 3GPP (10415)
+// 6.3.22
+type AVP_DiameterURI Primary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Secondary-Charging-Collection-Function-Name (622) 3GPP (10415)
+// 6.3.23
+type AVP_DiameterURI Secondary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V6.10.0
+// AVP: User-Authorization-Type (623) 3GPP (10415)
+// 6.3.24
+type enumerated User_Authorization_Type
+{
+  REGISTRATION                  (0),
+  DE_REGISTRATION               (1),
+  REGISTRATION_AND_CAPABILITIES (2)
+}
+
+// 3GPP 29.229 V6.10.0
+// AVP: User-Data-Already-Available (624) 3GPP (10415)
+// 6.3.26
+type enumerated User_Data_Already_Available
+{
+  USER_DATA_NOT_AVAILABLE     (0),
+  USER_DATA_ALREADY_AVAILABLE (1)
+}
+
+// 3GPP 29.229 V6.10.0
+// AVP: Confidentiality-Key (625) 3GPP (10415)
+// 6.3.27
+type AVP_OctetString Confidentiality_Key;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Integrity-Key (626) 3GPP (10415)
+// 6.3.28
+type AVP_OctetString Integrity_Key;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Supported-Features (628) 3GPP (10415)
+// 6.3.29
+type AVP_Grouped Supported_Features;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Feature-List-ID (629) 3GPP (10415)
+// 6.3.30
+type AVP_Unsigned32 Feature_List_ID;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Feature-List (630) 3GPP (10415)
+// 6.3.31
+type AVP_Unsigned32 Feature_List;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Supported-Applications (631) 3GPP (10415)
+// 6.3.32
+type AVP_Grouped Supported_Applications;
+
+// 3GPP 29.229 V6.10.0
+// AVP: Associated-Identities (632) 3GPP (10415)
+// 6.3.33
+type AVP_Grouped Associated_Identities;
diff --git a/src/CxDxInterface_3GPP_TS29229_840.ddf b/src/CxDxInterface_3GPP_TS29229_840.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..9ff12154988132fb70eb647854857418ef92a9ad
--- /dev/null
+++ b/src/CxDxInterface_3GPP_TS29229_840.ddf
@@ -0,0 +1,345 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               CxDxInterface_3GPP_TS29229_840.ddf
+//  Description:        DDF for CxDx according to 3GPP TS 29.229 V8.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: CxDx
+// APPLICATION-REVISION: V8_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.229 V8.4.0 - Cx and Dx interfaces based on the Diameter protocol
+//
+//
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777216
+//
+
+// 3GPP TS 29.229 V8.4.0 6.1
+type enumerated Command_Code {
+  User_Authorization       (300),
+  Server_Assignment        (301),
+  Location_Info            (302),
+  Multimedia_Auth          (303),
+  Registration_Termination (304),
+  Push_Profile             (305)
+}
+
+
+
+// 3GPP 29.229 V8.4.0
+// AVP: Visited-Network-Identifier (600) 3GPP (10415)
+// 6.3.1
+type AVP_OctetString Visited_Network_Identifier;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Public-Identity (601) 3GPP (10415)
+// 6.3.2
+type AVP_UTF8String Public_Identity;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Server-Name (602) 3GPP (10415)
+// 6.3.3
+type AVP_UTF8String Server_Name;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Server-Capabilities (603) 3GPP (10415)
+// 6.3.4
+type AVP_Grouped Server_Capabilities;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Mandatory-Capability (604) 3GPP (10415)
+// 6.3.5
+type AVP_Unsigned32 Mandatory_Capability;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Optional-Capability (605) 3GPP (10415)
+// 6.3.6
+type AVP_Unsigned32 Optional_Capability;
+
+// 3GPP 29.229 V8.4.0
+// AVP: User-Data (606) 3GPP (10415)
+// 6.3.7
+type AVP_OctetString User_Data;
+
+// 3GPP 29.229 V8.4.0
+// AVP: SIP-Number-Auth-Items (607) 3GPP (10415)
+// 6.3.8
+type AVP_Unsigned32 SIP_Number_Auth_Items;
+
+// 3GPP 29.229 V8.4.0
+// AVP: SIP-Authentication-Scheme (608) 3GPP (10415)
+// 6.3.9
+type AVP_UTF8String SIP_Authentication_Scheme;
+
+// 3GPP 29.229 V8.4.0
+// AVP: SIP-Authenticate (609) 3GPP (10415)
+// 6.3.10
+type AVP_OctetString SIP_Authenticate;
+
+// 3GPP 29.229 V8.4.0
+// AVP: SIP-Authorization (610) 3GPP (10415)
+// 6.3.11
+type AVP_OctetString SIP_Authorization;
+
+// 3GPP 29.229 V8.4.0
+// AVP: SIP-Authentication-Context (611) 3GPP (10415)
+// 6.3.12
+type AVP_OctetString SIP_Authentication_Context;
+
+// 3GPP 29.229 V8.4.0
+// AVP: SIP-Auth-Data-Item (612) 3GPP (10415)
+// 6.3.13
+type AVP_Grouped SIP_Auth_Data_Item;
+
+// 3GPP 29.229 V8.4.0
+// AVP: SIP-Item-Number (613) 3GPP (10415)
+// 6.3.14
+type AVP_Unsigned32 SIP_Item_Number;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Server-Assignment-Type (614) 3GPP (10415)
+// 6.3.15
+type enumerated Server_Assignment_Type
+{
+  NO_ASSIGNMENT                             (0),
+  REGISTRATION                              (1),
+  RE_REGISTRATION                           (2),
+  UNREGISTERED_USER                         (3),
+  TIMEOUT_DEREGISTRATION                    (4),
+  USER_DEREGISTRATION                       (5),
+  TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME  (6),
+  USER_DEREGISTRATION_STORE_SERVER_NAME     (7),
+  ADMINISTRATIVE_DEREGISTRATION             (8),
+  AUTHENTICATION_FAILURE                    (9),
+  AUTHENTICATION_TIMEOUT                   (10),
+  DEREGISTRATION_TOO_MUCH_DATA             (11)
+}
+
+// 3GPP 29.229 V8.4.0
+// AVP: Deregistration-Reason (615) 3GPP (10415)
+// 6.3.16
+type AVP_Grouped Deregistration_Reason;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Reason-Code (616) 3GPP (10415)
+// 6.3.17
+type enumerated Reason_Code
+{
+  PERMANENT_TERMINATION (0),
+  NEW_SERVER_ASSIGNED   (1),
+  SERVER_CHANGE         (2),
+  REMOVE_S_CSCF         (3)
+}
+
+// 3GPP 29.229 V8.4.0
+// AVP: Reason-Info (617) 3GPP (10415)
+// 6.3.18
+type AVP_UTF8String Reason_Info;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Charging-Information (618) 3GPP (10415)
+// 6.3.19
+type AVP_Grouped Charging_Information;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Primary-Event-Charging-Function-Name (619) 3GPP (10415)
+// 6.3.20
+type AVP_DiameterURI Primary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Secondary-Event-Charging-Function-Name (620) 3GPP (10415)
+// 6.3.21
+type AVP_DiameterURI Secondary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Primary-Charging-Collection-Function-Name (621) 3GPP (10415)
+// 6.3.22
+type AVP_DiameterURI Primary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Secondary-Charging-Collection-Function-Name (622) 3GPP (10415)
+// 6.3.23
+type AVP_DiameterURI Secondary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V8.4.0
+// AVP: User-Authorization-Type (623) 3GPP (10415)
+// 6.3.24
+type enumerated User_Authorization_Type
+{
+  REGISTRATION                  (0),
+  DE_REGISTRATION               (1),
+  REGISTRATION_AND_CAPABILITIES (2)
+}
+
+// 3GPP 29.229 V8.4.0
+// AVP: User-Data-Already-Available (624) 3GPP (10415)
+// 6.3.26
+type enumerated User_Data_Already_Available
+{
+  USER_DATA_NOT_AVAILABLE     (0),
+  USER_DATA_ALREADY_AVAILABLE (1)
+}
+
+// 3GPP 29.229 V8.4.0
+// AVP: Confidentiality-Key (625) 3GPP (10415)
+// 6.3.27
+type AVP_OctetString Confidentiality_Key;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Integrity-Key (626) 3GPP (10415)
+// 6.3.28
+type AVP_OctetString Integrity_Key;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Supported-Features (628) 3GPP (10415)
+// 6.3.29
+type AVP_Grouped Supported_Features;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Feature-List-ID (629) 3GPP (10415)
+// 6.3.30
+type AVP_Unsigned32 Feature_List_ID;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Feature-List (630) 3GPP (10415)
+// 6.3.31
+type AVP_Unsigned32 Feature_List;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Supported-Applications (631) 3GPP (10415)
+// 6.3.32
+type AVP_Grouped Supported_Applications;
+
+// 3GPP 29.229 V8.4.0
+// AVP: Associated-Identities (632) 3GPP (10415)
+// 6.3.33
+type AVP_Grouped Associated_Identities;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Originating-Request (633) 3GPP (10415)
+// 6.3.34
+type enumerated Originating_Request
+{
+  ORIGINATING (0)
+}
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Wildcarded-PSI (634) 3GPP (10415)
+// 6.3.35
+type AVP_UTF8String Wildcarded_PSI;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: SIP-Digest-Authenticate (635) 3GPP (10415)
+// 6.3.36
+type AVP_Grouped SIP_Digest_Authenticate;
+
+// 3GPP 29.229 v8.4.0
+// AVP: Line-Identifier (500) ETSI (13019)
+// 6.3.42
+type AVP_OctetString Line_Identifier;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Wildcarded-IMPU (636) 3GPP (10415)
+// 6.3.43
+type AVP_UTF8String Wildcarded_IMPU;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: UAR-Flags (637) 3GPP (10415)
+// 6.3.44
+type AVP_Unsigned32 UAR_Flags;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Loose-Route-Indication (638) 3GPP (10415)
+// 6.3.45
+type enumerated Loose_Route_Indication
+{
+  LOOSE_ROUTE_NOT_REQUIRED (0),
+  LOOSE_ROUTE_REQUIRED     (1)
+}
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: SCSCF-Restoration-Info (639) 3GPP (10415)
+// 6.3.46
+type AVP_Grouped SCSCF_Restoration_Info;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Path (640) 3GPP (10415)
+// 6.3.47
+type AVP_OctetString Path;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Contact (641) 3GPP (10415)
+// 6.3.48
+type AVP_OctetString Contact;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Subscription-Info (642) 3GPP (10415)
+// 6.3.49
+type AVP_Grouped Subscription_Info;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Call-ID-SIP-Header (643) 3GPP (10415)
+// 6.3.49.1
+type AVP_OctetString Call_ID_SIP_Header;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: From-SIP-Header (644) 3GPP (10415)
+// 6.3.49.2
+type AVP_OctetString From_SIP_Header;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: To-SIP-Header (645) 3GPP (10415)
+// 6.3.49.3
+type AVP_OctetString To_SIP_Header;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Record-Route (646) 3GPP (10415)
+// 6.3.49.4
+type AVP_OctetString Record_Route;
+
+// 3GPP TS 29.229 V8.4.0
+// AVP: Associated-Registered-Identities (647) 3GPP (10415)
+// 6.3.50
+type AVP_Grouped Associated_Registered_Identities;
diff --git a/src/CxDxInterface_3GPP_TS29229_880.ddf b/src/CxDxInterface_3GPP_TS29229_880.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..83da8d3b474a600e0f5a37cfd8f72d8fbd324118
--- /dev/null
+++ b/src/CxDxInterface_3GPP_TS29229_880.ddf
@@ -0,0 +1,375 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               CxDxInterface_3GPP_TS29229_880.ddf
+//  Description:        DDF for CxDx according to 3GPP TS 29.229 V8.8.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: CxDx
+// APPLICATION-REVISION: V8_8_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.229 V8.8.0 - Cx and Dx interfaces based on the Diameter protocol
+//
+//
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Access Server Application
+// IETF RFC 5090 (Obsoletes: 4590)   - RADIUS Extension for Digest Authentication
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777216
+//
+
+// 3GPP TS 29.229 V8.8.0 6.1
+type enumerated Command_Code {
+  User_Authorization       (300),
+  Server_Assignment        (301),
+  Location_Info            (302),
+  Multimedia_Auth          (303),
+  Registration_Termination (304),
+  Push_Profile             (305)
+}
+
+
+
+// 3GPP 29.229 V8.8.0
+// AVP: Visited-Network-Identifier (600) 3GPP (10415)
+// 6.3.1
+type AVP_OctetString Visited_Network_Identifier;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Public-Identity (601) 3GPP (10415)
+// 6.3.2
+type AVP_UTF8String Public_Identity;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Server-Name (602) 3GPP (10415)
+// 6.3.3
+type AVP_UTF8String Server_Name;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Server-Capabilities (603) 3GPP (10415)
+// 6.3.4
+type AVP_Grouped Server_Capabilities;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Mandatory-Capability (604) 3GPP (10415)
+// 6.3.5
+type AVP_Unsigned32 Mandatory_Capability;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Optional-Capability (605) 3GPP (10415)
+// 6.3.6
+type AVP_Unsigned32 Optional_Capability;
+
+// 3GPP 29.229 V8.8.0
+// AVP: User-Data (606) 3GPP (10415)
+// 6.3.7
+type AVP_OctetString User_Data;
+
+// 3GPP 29.229 V8.8.0
+// AVP: SIP-Number-Auth-Items (607) 3GPP (10415)
+// 6.3.8
+type AVP_Unsigned32 SIP_Number_Auth_Items;
+
+// 3GPP 29.229 V8.8.0
+// AVP: SIP-Authentication-Scheme (608) 3GPP (10415)
+// 6.3.9
+type AVP_UTF8String SIP_Authentication_Scheme;
+
+// 3GPP 29.229 V8.8.0
+// AVP: SIP-Authenticate (609) 3GPP (10415)
+// 6.3.10
+type AVP_OctetString SIP_Authenticate;
+
+// 3GPP 29.229 V8.8.0
+// AVP: SIP-Authorization (610) 3GPP (10415)
+// 6.3.11
+type AVP_OctetString SIP_Authorization;
+
+// 3GPP 29.229 V8.8.0
+// AVP: SIP-Authentication-Context (611) 3GPP (10415)
+// 6.3.12
+type AVP_OctetString SIP_Authentication_Context;
+
+// 3GPP 29.229 V8.8.0
+// AVP: SIP-Auth-Data-Item (612) 3GPP (10415)
+// 6.3.13
+type AVP_Grouped SIP_Auth_Data_Item;
+
+// 3GPP 29.229 V8.8.0
+// AVP: SIP-Item-Number (613) 3GPP (10415)
+// 6.3.14
+type AVP_Unsigned32 SIP_Item_Number;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Server-Assignment-Type (614) 3GPP (10415)
+// 6.3.15
+type enumerated Server_Assignment_Type
+{
+  NO_ASSIGNMENT                             (0),
+  REGISTRATION                              (1),
+  RE_REGISTRATION                           (2),
+  UNREGISTERED_USER                         (3),
+  TIMEOUT_DEREGISTRATION                    (4),
+  USER_DEREGISTRATION                       (5),
+  TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME  (6),
+  USER_DEREGISTRATION_STORE_SERVER_NAME     (7),
+  ADMINISTRATIVE_DEREGISTRATION             (8),
+  AUTHENTICATION_FAILURE                    (9),
+  AUTHENTICATION_TIMEOUT                   (10),
+  DEREGISTRATION_TOO_MUCH_DATA             (11),
+  AAA_USER_DATA_REQUEST                    (12),
+  PGW_UPDATE                               (13)
+}
+
+// 3GPP 29.229 V8.8.0
+// AVP: Deregistration-Reason (615) 3GPP (10415)
+// 6.3.16
+type AVP_Grouped Deregistration_Reason;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Reason-Code (616) 3GPP (10415)
+// 6.3.17
+type enumerated Reason_Code
+{
+  PERMANENT_TERMINATION (0),
+  NEW_SERVER_ASSIGNED   (1),
+  SERVER_CHANGE         (2),
+  REMOVE_S_CSCF         (3)
+}
+
+// 3GPP 29.229 V8.8.0
+// AVP: Reason-Info (617) 3GPP (10415)
+// 6.3.18
+type AVP_UTF8String Reason_Info;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Charging-Information (618) 3GPP (10415)
+// 6.3.19
+type AVP_Grouped Charging_Information;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Primary-Event-Charging-Function-Name (619) 3GPP (10415)
+// 6.3.20
+type AVP_DiameterURI Primary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Secondary-Event-Charging-Function-Name (620) 3GPP (10415)
+// 6.3.21
+type AVP_DiameterURI Secondary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Primary-Charging-Collection-Function-Name (621) 3GPP (10415)
+// 6.3.22
+type AVP_DiameterURI Primary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Secondary-Charging-Collection-Function-Name (622) 3GPP (10415)
+// 6.3.23
+type AVP_DiameterURI Secondary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V8.8.0
+// AVP: User-Authorization-Type (623) 3GPP (10415)
+// 6.3.24
+type enumerated User_Authorization_Type
+{
+  REGISTRATION                  (0),
+  DE_REGISTRATION               (1),
+  REGISTRATION_AND_CAPABILITIES (2)
+}
+
+// 3GPP 29.229 V8.8.0
+// AVP: User-Data-Already-Available (624) 3GPP (10415)
+// 6.3.26
+type enumerated User_Data_Already_Available
+{
+  USER_DATA_NOT_AVAILABLE     (0),
+  USER_DATA_ALREADY_AVAILABLE (1)
+}
+
+// 3GPP 29.229 V8.8.0
+// AVP: Confidentiality-Key (625) 3GPP (10415)
+// 6.3.27
+type AVP_OctetString Confidentiality_Key;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Integrity-Key (626) 3GPP (10415)
+// 6.3.28
+type AVP_OctetString Integrity_Key;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Supported-Features (628) 3GPP (10415)
+// 6.3.29
+type AVP_Grouped Supported_Features;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Feature-List-ID (629) 3GPP (10415)
+// 6.3.30
+type AVP_Unsigned32 Feature_List_ID;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Feature-List (630) 3GPP (10415)
+// 6.3.31
+type AVP_Unsigned32 Feature_List;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Supported-Applications (631) 3GPP (10415)
+// 6.3.32
+type AVP_Grouped Supported_Applications;
+
+// 3GPP 29.229 V8.8.0
+// AVP: Associated-Identities (632) 3GPP (10415)
+// 6.3.33
+type AVP_Grouped Associated_Identities;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Originating-Request (633) 3GPP (10415)
+// 6.3.34
+type enumerated Originating_Request
+{
+  ORIGINATING (0)
+}
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Wildcarded-PSI (634) 3GPP (10415)
+// 6.3.35
+type AVP_UTF8String Wildcarded_PSI;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: SIP-Digest-Authenticate (635) 3GPP (10415)
+// 6.3.36
+type AVP_Grouped SIP_Digest_Authenticate;
+
+// 3GPP 29.229 v8.8.0
+// AVP: Line-Identifier (500) ETSI (13019)
+// 6.3.42
+type AVP_OctetString Line_Identifier;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Wildcarded-IMPU (636) 3GPP (10415)
+// 6.3.43
+type AVP_UTF8String Wildcarded_IMPU;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: UAR-Flags (637) 3GPP (10415)
+// 6.3.44
+type AVP_Unsigned32 UAR_Flags;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Loose-Route-Indication (638) 3GPP (10415)
+// 6.3.45
+type enumerated Loose_Route_Indication
+{
+  LOOSE_ROUTE_NOT_REQUIRED (0),
+  LOOSE_ROUTE_REQUIRED     (1)
+}
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: SCSCF-Restoration-Info (639) 3GPP (10415)
+// 6.3.46
+type AVP_Grouped SCSCF_Restoration_Info;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Path (640) 3GPP (10415)
+// 6.3.47
+type AVP_OctetString Path;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Contact (641) 3GPP (10415)
+// 6.3.48
+type AVP_OctetString Contact;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Subscription-Info (642) 3GPP (10415)
+// 6.3.49
+type AVP_Grouped Subscription_Info;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Call-ID-SIP-Header (643) 3GPP (10415)
+// 6.3.49.1
+type AVP_OctetString Call_ID_SIP_Header;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: From-SIP-Header (644) 3GPP (10415)
+// 6.3.49.2
+type AVP_OctetString From_SIP_Header;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: To-SIP-Header (645) 3GPP (10415)
+// 6.3.49.3
+type AVP_OctetString To_SIP_Header;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Record-Route (646) 3GPP (10415)
+// 6.3.49.4
+type AVP_OctetString Record_Route;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Associated-Registered-Identities (647) 3GPP (10415)
+// 6.3.50
+type AVP_Grouped Associated_Registered_Identities;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Multiple-Registration-Indication (648) 3GPP (10415)
+// 6.3.51
+type enumerated Multiple_Registration_Indication
+{
+  NOT_MULTIPLE_REGISTRATION (0),
+  MULTIPLE_REGISTRATION     (1)
+}
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Restoration-Info (649) 3GPP (10415)
+// 6.3.52
+type AVP_Grouped Restoration_Info;
+
+// 3GPP TS 29.229 V8.8.0
+// AVP: Session-Priority (650) 3GPP (10415)
+// 6.3.56
+type enumerated Session_Priority
+{
+  PRIORITY_0 (0),
+  PRIORITY_1 (1),
+  PRIORITY_2 (2),
+  PRIORITY_3 (3),
+  PRIORITY_4 (4)
+}
diff --git a/src/CxDxInterface_3GPP_TS29229_920.ddf b/src/CxDxInterface_3GPP_TS29229_920.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..9009ba7aa8d171216d082b15bfa43a813e74329a
--- /dev/null
+++ b/src/CxDxInterface_3GPP_TS29229_920.ddf
@@ -0,0 +1,370 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               CxDxInterface_3GPP_TS29229_880.ddf
+//  Description:        DDF for CxDx according to 3GPP TS 29.229 V9.2.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: CxDx
+// APPLICATION-REVISION: V9_2_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.229 V9.2.0 - Cx and Dx interfaces based on the Diameter protocol
+//
+//
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Access Server Application
+// IETF RFC 5090 (Obsoletes: 4590)   - RADIUS Extension for Digest Authentication
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777216
+//
+
+// 3GPP TS 29.229 V9.2.0 6.1
+type enumerated Command_Code {
+  User_Authorization       (300),
+  Server_Assignment        (301),
+  Location_Info            (302),
+  Multimedia_Auth          (303),
+  Registration_Termination (304),
+  Push_Profile             (305)
+}
+
+
+
+// 3GPP 29.229 V9.2.0
+// AVP: Visited-Network-Identifier (600) 3GPP (10415)
+// 6.3.1
+type AVP_OctetString Visited_Network_Identifier;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Public-Identity (601) 3GPP (10415)
+// 6.3.2
+type AVP_UTF8String Public_Identity;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Server-Name (602) 3GPP (10415)
+// 6.3.3
+type AVP_UTF8String Server_Name;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Server-Capabilities (603) 3GPP (10415)
+// 6.3.4
+type AVP_Grouped Server_Capabilities;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Mandatory-Capability (604) 3GPP (10415)
+// 6.3.5
+type AVP_Unsigned32 Mandatory_Capability;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Optional-Capability (605) 3GPP (10415)
+// 6.3.6
+type AVP_Unsigned32 Optional_Capability;
+
+// 3GPP 29.229 V9.2.0
+// AVP: User-Data (606) 3GPP (10415)
+// 6.3.7
+type AVP_OctetString User_Data;
+
+// 3GPP 29.229 V9.2.0
+// AVP: SIP-Number-Auth-Items (607) 3GPP (10415)
+// 6.3.8
+type AVP_Unsigned32 SIP_Number_Auth_Items;
+
+// 3GPP 29.229 V9.2.0
+// AVP: SIP-Authentication-Scheme (608) 3GPP (10415)
+// 6.3.9
+type AVP_UTF8String SIP_Authentication_Scheme;
+
+// 3GPP 29.229 V9.2.0
+// AVP: SIP-Authenticate (609) 3GPP (10415)
+// 6.3.10
+type AVP_OctetString SIP_Authenticate;
+
+// 3GPP 29.229 V9.2.0
+// AVP: SIP-Authorization (610) 3GPP (10415)
+// 6.3.11
+type AVP_OctetString SIP_Authorization;
+
+// 3GPP 29.229 V9.2.0
+// AVP: SIP-Authentication-Context (611) 3GPP (10415)
+// 6.3.12
+type AVP_OctetString SIP_Authentication_Context;
+
+// 3GPP 29.229 V9.2.0
+// AVP: SIP-Auth-Data-Item (612) 3GPP (10415)
+// 6.3.13
+type AVP_Grouped SIP_Auth_Data_Item;
+
+// 3GPP 29.229 V9.2.0
+// AVP: SIP-Item-Number (613) 3GPP (10415)
+// 6.3.14
+type AVP_Unsigned32 SIP_Item_Number;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Server-Assignment-Type (614) 3GPP (10415)
+// 6.3.15
+type enumerated Server_Assignment_Type
+{
+  NO_ASSIGNMENT                             (0),
+  REGISTRATION                              (1),
+  RE_REGISTRATION                           (2),
+  UNREGISTERED_USER                         (3),
+  TIMEOUT_DEREGISTRATION                    (4),
+  USER_DEREGISTRATION                       (5),
+  TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME  (6),
+  USER_DEREGISTRATION_STORE_SERVER_NAME     (7),
+  ADMINISTRATIVE_DEREGISTRATION             (8),
+  AUTHENTICATION_FAILURE                    (9),
+  AUTHENTICATION_TIMEOUT                   (10),
+  DEREGISTRATION_TOO_MUCH_DATA             (11),
+  AAA_USER_DATA_REQUEST                    (12),
+  PGW_UPDATE                               (13)
+}
+
+// 3GPP 29.229 V9.2.0
+// AVP: Deregistration-Reason (615) 3GPP (10415)
+// 6.3.16
+type AVP_Grouped Deregistration_Reason;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Reason-Code (616) 3GPP (10415)
+// 6.3.17
+type enumerated Reason_Code
+{
+  PERMANENT_TERMINATION (0),
+  NEW_SERVER_ASSIGNED   (1),
+  SERVER_CHANGE         (2),
+  REMOVE_S_CSCF         (3)
+}
+
+// 3GPP 29.229 V9.2.0
+// AVP: Reason-Info (617) 3GPP (10415)
+// 6.3.18
+type AVP_UTF8String Reason_Info;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Charging-Information (618) 3GPP (10415)
+// 6.3.19
+type AVP_Grouped Charging_Information;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Primary-Event-Charging-Function-Name (619) 3GPP (10415)
+// 6.3.20
+type AVP_DiameterURI Primary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Secondary-Event-Charging-Function-Name (620) 3GPP (10415)
+// 6.3.21
+type AVP_DiameterURI Secondary_Event_Charging_Function_Name;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Primary-Charging-Collection-Function-Name (621) 3GPP (10415)
+// 6.3.22
+type AVP_DiameterURI Primary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Secondary-Charging-Collection-Function-Name (622) 3GPP (10415)
+// 6.3.23
+type AVP_DiameterURI Secondary_Charging_Collection_Function_Name;
+
+// 3GPP 29.229 V9.2.0
+// AVP: User-Authorization-Type (623) 3GPP (10415)
+// 6.3.24
+type enumerated User_Authorization_Type
+{
+  REGISTRATION                  (0),
+  DE_REGISTRATION               (1),
+  REGISTRATION_AND_CAPABILITIES (2)
+}
+
+// 3GPP 29.229 V9.2.0
+// AVP: User-Data-Already-Available (624) 3GPP (10415)
+// 6.3.26
+type enumerated User_Data_Already_Available
+{
+  USER_DATA_NOT_AVAILABLE     (0),
+  USER_DATA_ALREADY_AVAILABLE (1)
+}
+
+// 3GPP 29.229 V9.2.0
+// AVP: Confidentiality-Key (625) 3GPP (10415)
+// 6.3.27
+type AVP_OctetString Confidentiality_Key;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Integrity-Key (626) 3GPP (10415)
+// 6.3.28
+type AVP_OctetString Integrity_Key;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Supported-Features (628) 3GPP (10415)
+// 6.3.29
+type AVP_Grouped Supported_Features;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Feature-List-ID (629) 3GPP (10415)
+// 6.3.30
+type AVP_Unsigned32 Feature_List_ID;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Feature-List (630) 3GPP (10415)
+// 6.3.31
+type AVP_Unsigned32 Feature_List;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Supported-Applications (631) 3GPP (10415)
+// 6.3.32
+type AVP_Grouped Supported_Applications;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Associated-Identities (632) 3GPP (10415)
+// 6.3.33
+type AVP_Grouped Associated_Identities;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Originating-Request (633) 3GPP (10415)
+// 6.3.34
+type enumerated Originating_Request
+{
+  ORIGINATING (0)
+}
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Wildcarded-Public-Identity (634) 3GPP (10415)
+// 6.3.35
+type AVP_UTF8String Wildcarded_Public_Identity;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: SIP-Digest-Authenticate (635) 3GPP (10415)
+// 6.3.36
+type AVP_Grouped SIP_Digest_Authenticate;
+
+// 3GPP 29.229 V9.2.0
+// AVP: Line-Identifier (500) ETSI (13019)
+// 6.3.42
+type AVP_OctetString Line_Identifier;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: UAR-Flags (637) 3GPP (10415)
+// 6.3.44
+type AVP_Unsigned32 UAR_Flags;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Loose-Route-Indication (638) 3GPP (10415)
+// 6.3.45
+type enumerated Loose_Route_Indication
+{
+  LOOSE_ROUTE_NOT_REQUIRED (0),
+  LOOSE_ROUTE_REQUIRED     (1)
+}
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: SCSCF-Restoration-Info (639) 3GPP (10415)
+// 6.3.46
+type AVP_Grouped SCSCF_Restoration_Info;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Path (640) 3GPP (10415)
+// 6.3.47
+type AVP_OctetString Path;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Contact (641) 3GPP (10415)
+// 6.3.48
+type AVP_OctetString Contact;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Subscription-Info (642) 3GPP (10415)
+// 6.3.49
+type AVP_Grouped Subscription_Info;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Call-ID-SIP-Header (643) 3GPP (10415)
+// 6.3.49.1
+type AVP_OctetString Call_ID_SIP_Header;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: From-SIP-Header (644) 3GPP (10415)
+// 6.3.49.2
+type AVP_OctetString From_SIP_Header;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: To-SIP-Header (645) 3GPP (10415)
+// 6.3.49.3
+type AVP_OctetString To_SIP_Header;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Record-Route (646) 3GPP (10415)
+// 6.3.49.4
+type AVP_OctetString Record_Route;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Associated-Registered-Identities (647) 3GPP (10415)
+// 6.3.50
+type AVP_Grouped Associated_Registered_Identities;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Multiple-Registration-Indication (648) 3GPP (10415)
+// 6.3.51
+type enumerated Multiple_Registration_Indication
+{
+  NOT_MULTIPLE_REGISTRATION (0),
+  MULTIPLE_REGISTRATION     (1)
+}
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Restoration-Info (649) 3GPP (10415)
+// 6.3.52
+type AVP_Grouped Restoration_Info;
+
+// 3GPP TS 29.229 V9.2.0
+// AVP: Session-Priority (650) 3GPP (10415)
+// 6.3.56
+type enumerated Session_Priority
+{
+  PRIORITY_0 (0),
+  PRIORITY_1 (1),
+  PRIORITY_2 (2),
+  PRIORITY_3 (3),
+  PRIORITY_4 (4)
+}
diff --git a/src/DIAMETER_EncDec.cc b/src/DIAMETER_EncDec.cc
new file mode 100644
index 0000000000000000000000000000000000000000..cd13211a2aaee1991523466c850c949805c02920
--- /dev/null
+++ b/src/DIAMETER_EncDec.cc
@@ -0,0 +1,392 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               DIAMETER_EncDec.cc
+//  Description:	Encoder/Decoder and external functions for DPMG
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+#include "DIAMETER_Types.hh"
+//#include <sys/timeb.h>
+#include <sys/time.h>
+
+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);
+
+INTEGER f__DIAMETER__genHopByHop__int()
+{
+  INTEGER ret = 0;
+  //timeb precise;                        // requires <sys/timeb.h>
+  timeval precise;                        // requires <sys/time.h>
+/*  if ( ftime(&precise) != -1 ) {
+    srand48(precise.time + precise.millitm);
+    ret = int2oct(lrand48(),4);
+  }*/
+  if ( gettimeofday(&precise, NULL) != -1 ) {
+    srand48(precise.tv_sec + precise.tv_usec);
+    ret.set_long_long_val(lrand48());
+  }
+  else TTCN_warning("f_DIAMETER_genHopByHop() returns with 0");
+  return ret;
+}
+  
+
+
+OCTETSTRING f__DIAMETER__genHopByHop__oct()
+{
+//  OCTETSTRING ret = os_h_or_e_id_oct;
+  //timeb precise;                        // requires <sys/timeb.h>
+//  timeval precise;                        // requires <sys/time.h>
+/*  if ( ftime(&precise) != -1 ) {
+    srand48(precise.time + precise.millitm);
+    ret = int2oct(lrand48(),4);
+  }*/
+//  if ( gettimeofday(&precise, NULL) != -1 ) {
+//    srand48(precise.tv_sec + precise.tv_usec);
+//    ret = int2oct(lrand48(),4);
+//  }
+//  else TTCN_warning("f_DIAMETER_genHopByHop() returns with \'00000000\'O");
+  return int2oct(f__DIAMETER__genHopByHop__int(),4);
+}
+
+INTEGER f__DIAMETER__genEndToEnd__int()
+{
+  INTEGER ret = 0;
+  //timeb precise;                        // requires <sys/timeb.h>
+  timeval precise;                        // requires <sys/time.h>
+  /*if ( ftime(&precise) != -1 ) {
+    srand48(precise.time + precise.millitm);
+    int l_value = (precise.time << 20) + (lrand48() >> 12);
+    if (l_value < 0) l_value *= -1;
+    ret = int2oct(l_value,4);
+  }*/
+  if ( gettimeofday(&precise, NULL) != -1 ) {
+    srand48(precise.tv_sec + precise.tv_usec);
+    unsigned int l_value = (precise.tv_sec << 20) + (lrand48() >> 12);
+    ret.set_long_long_val(l_value);
+  }
+  else TTCN_warning("f_DIAMETER_genHopByHop() returns with 0");
+  return ret;
+}
+
+
+OCTETSTRING f__DIAMETER__genEndToEnd__oct()
+{
+//  OCTETSTRING ret = os_h_or_e_id_oct;
+  //timeb precise;                        // requires <sys/timeb.h>
+//  timeval precise;                        // requires <sys/time.h>
+  /*if ( ftime(&precise) != -1 ) {
+    srand48(precise.time + precise.millitm);
+    int l_value = (precise.time << 20) + (lrand48() >> 12);
+    if (l_value < 0) l_value *= -1;
+    ret = int2oct(l_value,4);
+  }*/
+//  if ( gettimeofday(&precise, NULL) != -1 ) {
+//    srand48(precise.tv_sec + precise.tv_usec);
+//    int l_value = (precise.tv_sec << 20) + (lrand48() >> 12);
+//    if (l_value < 0) l_value *= -1;
+//    ret = int2oct(l_value,4);
+//  }
+//  else TTCN_warning("f_DIAMETER_genHopByHop() returns with \'00000000\'O");
+//  return ret;
+  return int2oct(f__DIAMETER__genEndToEnd__int(),4);
+}
+
+bool chk_zero(INTEGER var) {return var==0;}
+bool chk_zero(OCTETSTRING var) {return var==os_h_or_e_id_oct;}
+
+OCTETSTRING f__DIAMETER__Enc(const PDU__DIAMETER& pl__pdu)
+{
+  PDU__DIAMETER* par=NULL;
+  
+  if (chk_zero(pl__pdu.hop__by__hop__id()) && f__get__R__bit(pl__pdu) ){
+    par = new PDU__DIAMETER(pl__pdu);
+    par->hop__by__hop__id() = f__DIAMETER__genHopByHop();
+  }
+  
+  if (chk_zero(pl__pdu.end__to__end__id()) && f__get__R__bit(pl__pdu) ){
+    if(par==NULL) par = new PDU__DIAMETER(pl__pdu);
+    par->end__to__end__id() = f__DIAMETER__genEndToEnd();
+  }
+  
+  TTCN_Buffer buf;
+  TTCN_EncDec::error_type_t err;
+  buf.clear();
+  TTCN_EncDec::clear_error();
+  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING);
+  if(par)
+    par->encode(PDU__DIAMETER_descr_, buf, TTCN_EncDec::CT_RAW);
+  else 
+    pl__pdu.encode(PDU__DIAMETER_descr_, buf, TTCN_EncDec::CT_RAW);
+  err = TTCN_EncDec::get_last_error_type();
+  if(err != TTCN_EncDec::ET_NONE)
+    TTCN_warning("Encoding error: %s\n", TTCN_EncDec::get_error_str());
+  delete par;
+  return OCTETSTRING(buf.get_len(), buf.get_data());
+}
+
+void f__DIAMETER__Enc__fast(const PDU__DIAMETER& pl__pdu, OCTETSTRING &pl__oct )
+{
+  PDU__DIAMETER* par=NULL;
+  
+  if (chk_zero(pl__pdu.hop__by__hop__id()) && f__get__R__bit(pl__pdu) ){
+    par = new PDU__DIAMETER(pl__pdu);
+    par->hop__by__hop__id() = f__DIAMETER__genHopByHop();
+  }
+  
+  if (chk_zero(pl__pdu.end__to__end__id()) && f__get__R__bit(pl__pdu) ){
+    if(par==NULL) par = new PDU__DIAMETER(pl__pdu);
+    par->end__to__end__id() = f__DIAMETER__genEndToEnd();
+  }
+  
+  TTCN_Buffer buf;
+  TTCN_EncDec::error_type_t err;
+  buf.clear();
+  TTCN_EncDec::clear_error();
+  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING);
+  if(par)
+    par->encode(PDU__DIAMETER_descr_, buf, TTCN_EncDec::CT_RAW);
+  else 
+    pl__pdu.encode(PDU__DIAMETER_descr_, buf, TTCN_EncDec::CT_RAW);
+  err = TTCN_EncDec::get_last_error_type();
+  if(err != TTCN_EncDec::ET_NONE)
+    TTCN_warning("Encoding error: %s\n", TTCN_EncDec::get_error_str());
+  delete par;
+  pl__oct=OCTETSTRING(buf.get_len(), buf.get_data());
+}
+
+PDU__DIAMETER f__DIAMETER__Dec(const OCTETSTRING& pl__oct) 
+{
+  PDU__DIAMETER pdu;
+  TTCN_Buffer buf;
+  TTCN_EncDec::error_type_t err;
+  TTCN_EncDec::clear_error();
+  buf.clear();
+  buf.put_os(pl__oct);
+  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING);
+  pdu.decode(PDU__DIAMETER_descr_, buf, TTCN_EncDec::CT_RAW);
+  err = TTCN_EncDec::get_last_error_type();
+  if(err != TTCN_EncDec::ET_NONE)
+    TTCN_warning("Decoding error: %s\n", TTCN_EncDec::get_error_str());
+  return pdu;
+}
+
+INTEGER f__DIAMETER__Dec__fast(const OCTETSTRING& pl__oct, PDU__DIAMETER &pl__pdu ) 
+{
+  TTCN_Buffer buf;
+  TTCN_EncDec::error_type_t err;
+  TTCN_EncDec::clear_error();
+  buf.clear();
+  buf.put_os(pl__oct);
+  TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING);
+  pl__pdu.decode(PDU__DIAMETER_descr_, buf, TTCN_EncDec::CT_RAW);
+  err = TTCN_EncDec::get_last_error_type();
+  if(err != TTCN_EncDec::ET_NONE)
+    TTCN_warning("Decoding error: %s\n", TTCN_EncDec::get_error_str());
+  return 0;
+}
+
+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;
+  unsigned int avpCode = 0;
+
+  int codelist_size=pl__codeList.size_of();
+  
+  bool avpFound = false;
+  unsigned char* bestAVP;
+  int   bestAVP_length = 0;
+  
+  //if the f_GetAVPByListOfCodesFromGroupedAVP function was called, the bestFromGrouped variable will be initialized, else:
+  if(bestFromGrouped < 0)bestFromGrouped = codelist_size;
+     
+  while(temp < 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));
+    
+    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-=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;
+      temp+=4;
+    }
+    temp+=3;  // skip length octets
+             // Now temp points to the AVP data and avpLength holds the length of the data part
+    
+    if(orderedList){
+      /*checks whether the avp code value equals with one of the given avp code values or not*/
+      for(int i = 0; i < bestFromGrouped; i++)
+      {
+        if((const int)(pl__codeList[i]) == (int)avpCode)
+        {
+          if(i == 0)return OCTETSTRING(avpLength, temp); //Found AVP with highest priority
+          avpFound = true;
+          bestAVP = (unsigned char *)temp;
+          bestAVP_length = avpLength;
+          bestFromGrouped = i; //Already found an AVP, no need to check lower priority AVPs in the future
+        }
+      };
+    } else {
+      /*checks whether the avp code value equals with one of the given avp code values or not*/
+      for(int i = 0; i < codelist_size; i++)
+      {
+        if((const int)(pl__codeList[i]) == (int)avpCode)
+        {
+          return OCTETSTRING(avpLength, temp);
+        }
+      }
+    };
+    
+    // skip to the next avp
+    if(avpLength % 4 != 0)  // AVP padding
+    { 
+      avpLength = avpLength + (4 - (avpLength % 4));
+    }
+    temp+=avpLength;  
+  }  
+  if(avpFound){
+    return OCTETSTRING(bestAVP_length, bestAVP);
+  } else {
+    /* no AVP was found, returns an empty octetstring*/  
+    unsigned char noResult[0];      
+    return OCTETSTRING(0, noResult);
+  };
+}
+
+OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct, const integerList& pl__codeList, const integerList& pl__groupcodeList) 
+{
+  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();
+  
+  unsigned char noResult[0];      
+  OCTETSTRING result = OCTETSTRING(0, noResult);
+  
+  bool avpFound = false;
+  unsigned char* bestAVP;
+  int   bestAVP_length = 0;
+  int   bestFromGrouped = codelist_size; //Initializing the bestFromGrouped variable for the f_GetAVPByListOfCodesFromGroupedAVP function
+     
+  while(temp < 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));
+    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-=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;
+      temp+=4;
+    }
+    temp+=3;  // skip length octets
+             // Now temp points to the AVP data and avpLength holds the length of the data part
+    /*checks whether the avp code value equals with one of the given avp code values or not*/
+    for(int i = 0; i < codelist_size; i++)
+    {
+      if((const int)(pl__codeList[i]) == (int)avpCode)
+      {
+        if(i == 0)return OCTETSTRING(avpLength, temp); //Found AVP with highest priority
+        avpFound = true;
+        bestAVP = (unsigned char *)temp;
+        bestAVP_length = avpLength;
+        codelist_size = i; //Already found an AVP, no need to check lower priority AVPs in the future
+      }
+    }
+    
+    if(avpFound == false && bestFromGrouped != 0){//Simple AVPs have higher priority, so if we found one, it is not necessary to search in the grouped AVPs.
+      //Chek for the groupped AVP to search in
+      for(int i = 0; i < groupcodeList_size; i++)
+      {
+        if((const int)(pl__groupcodeList[i]) == (int)avpCode)
+        {
+          OCTETSTRING ret_val=f_GetAVPByListOfCodesFromGroupedAVP(temp,avpLength,pl__codeList, true, bestFromGrouped);
+          if(ret_val.lengthof()>0){
+            result = ret_val;
+          }
+          break;  // escape from the for loop
+        }
+      }
+    };
+       
+    // skip to the next avp
+    if(avpLength % 4 != 0)  // AVP padding
+    {
+      avpLength = avpLength + (4 - (avpLength % 4));
+    }
+    temp+=avpLength;  
+  }
+  
+  bestFromGrouped = -1;
+      
+  if(avpFound){
+    return OCTETSTRING(bestAVP_length, bestAVP);
+  } else {
+    /* Grouped AVP or no AVP was found, returns an empty octetstring*/   
+    return result;
+  };
+}
+OCTETSTRING f__DIAMETER__GetAVPByListOfCodes(const OCTETSTRING& pl__oct, const integerList& pl__codeList) 
+{
+  static const integerList glist=NULL_VALUE;
+  return f__DIAMETER__GetAVPByListOfCodesCombined(pl__oct,pl__codeList,glist);
+}
+
+OCTETSTRING f__DIAMETER__GetAVPByListOfCodesFromGroupedAVP(const OCTETSTRING& pl__oct, const integerList& pl__codeList) 
+{
+  int bestFromGrouped = -1;
+  return f_GetAVPByListOfCodesFromGroupedAVP((const unsigned char *)pl__oct,pl__oct.lengthof(),pl__codeList, false, bestFromGrouped);
+}
+
+
+}
+TTCN_Module DIAMETER_EncDec("DIAMETER_EncDec", __DATE__, __TIME__);
diff --git a/src/DIAMETER_EncDec.tpl b/src/DIAMETER_EncDec.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..f19d514a72725e9267edeb6f0c17b6b03bb2a5f9
--- /dev/null
+++ b/src/DIAMETER_EncDec.tpl
@@ -0,0 +1,999 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+
+#include "DIAMETER_Types.hh"
+#include <sys/time.h>
+#define BUF_SIZE 65536          // this buffer is used on data reception and outgoing encoding
+#include <math.h>
+
+
+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);
+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);
+bool decode_AVP_Unsigned32(const unsigned char* & p,  AVP__Unsigned32& avp, int length);
+bool decode_AVP_Unsigned64(const unsigned char* & p,  AVP__Unsigned64& avp, int length);
+bool decode_AVP_Float32(const unsigned char* & p,  AVP__Float32& avp, int length);
+bool decode_AVP_Float64(const unsigned char* & p,  AVP__Float64& avp, int length);
+bool decode_AVP_Grouped(const unsigned char* & p,  AVP__Grouped& avp, int length);
+bool decode_AVP_Address(const unsigned char* & p,  AVP__Address& avp, int length);
+bool decode_AVP_IP_Address(const unsigned char* & p,  AVP__IP__Address& avp, int length);
+bool decode_AVP_Time(const unsigned char* & p,  AVP__Time& avp, int length);
+bool decode_AVP_UTF8String(const unsigned char* & p,  AVP__UTF8String& avp, int length);
+bool decode_AVP_DiameterIdentity(const unsigned char* & p,  AVP__DiameterIdentity& avp, int length);
+bool decode_AVP_DiameterURI(const unsigned char* & p,  AVP__DiameterURI& avp, int length);
+bool decode_AVP_IPFilterRule(const unsigned char* & p,  AVP__IPFilterRule& avp, int length);
+bool decode_AVP_QoSFilterRule(const unsigned char* & p,  AVP__QoSFilterRule& avp, int length);
+bool decode_AVP_enumerated(const unsigned char* & p,  int& avp, int length);
+  
+bool decode_header(const unsigned char* &p, AVP__Header &head, const unsigned char* buf_end);
+bool decode_AVP(const unsigned char* &p, AVP &avptype, const unsigned char* buf_end);
+
+
+////////////////////////////////////////////////////////////
+void encode_bits_1byte(unsigned char* &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
+}
+
+////////////////////////////////////////////////////////////
+void encode_bits_1byte(unsigned char* &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
+}
+
+////////////////////////////////////////////////////////////
+void encode_bits_1byte(unsigned char* &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
+}
+
+
+////////////////////////////////////////////////////////////
+void encode_octets(int len, unsigned char* &p,
+		const OCTETSTRING& data) {
+	if (data.lengthof() > len){
+		TTCN_error(
+				"Octetstring length mismatch.  Not daring to encode %d octets into %d.",
+				data.lengthof(), len);
+  }
+  int padd=len-data.lengthof();
+  for(;padd>0;padd--){
+    *(p++)='\0';
+  }
+	memcpy(p, (const unsigned char*) data, data.lengthof());
+	p += data.lengthof();
+}
+
+////////////////////////////////////////////////////////////
+void encode_octets(unsigned char* &p, const OCTETSTRING& data) {
+	memcpy(p, (const unsigned char*) data, data.lengthof());
+	p += data.lengthof();
+}
+
+////////////////////////////////////////////////////////////
+void pad_oct_if_needed(unsigned char* &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_int_1byte(unsigned char* &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;
+}
+
+////////////////////////////////////////////////////////////
+void encode_int_2byte(unsigned char* &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;
+}
+
+////////////////////////////////////////////////////////////
+void encode_int_3byte(unsigned char* &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;
+}
+
+////////////////////////////////////////////////////////////
+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;
+  }
+} // 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_float_8byte(unsigned char* &p, const double data) {
+	unsigned char* poi = (unsigned char*) &data;
+#if defined __sparc__ || defined __sparc
+    memcpy(p,poi,8);
+#else
+    for (int i = 0, k = 7; i < 8; i++, k--) p[i] = poi[k];
+#endif
+  p+=8;
+}
+
+INTEGER f__DIAMETER__genHopByHop__int()
+{
+  INTEGER ret = 0;
+  timeval precise;                        // requires <sys/time.h>
+  if ( gettimeofday(&precise, NULL) != -1 ) {
+    srand48(precise.tv_sec + precise.tv_usec);
+    ret.set_long_long_val(lrand48());
+  }
+  else TTCN_warning("f_DIAMETER_genHopByHop() returns with 0");
+  return ret;
+}
+  
+
+
+OCTETSTRING f__DIAMETER__genHopByHop__oct()
+{
+  return int2oct(f__DIAMETER__genHopByHop__int(),4);
+}
+
+INTEGER f__DIAMETER__genEndToEnd__int()
+{
+  INTEGER ret = 0;
+  timeval precise;                        // requires <sys/time.h>
+  if ( gettimeofday(&precise, NULL) != -1 ) {
+    srand48(precise.tv_sec + precise.tv_usec);
+    unsigned int l_value = (precise.tv_sec << 20) + (lrand48() >> 12);
+    ret.set_long_long_val(l_value);
+  }
+  else TTCN_warning("f_DIAMETER_genEndToEnd() returns with 0");
+  return ret;
+}
+
+
+OCTETSTRING f__DIAMETER__genEndToEnd__oct()
+{
+  return int2oct(f__DIAMETER__genEndToEnd__int(),4);
+}
+
+bool chk_zero(const INTEGER& var) {return var==0;}
+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
+  
+#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());
+    
+#else
+  encode_octets(1, p, bit2oct(pl__pdu.RPETxxxx()));
+#endif  
+  
+	encode_int_3byte(p, pl__pdu.command__code());
+	encode_octets(4, p, pl__pdu.application__id());
+
+  if (chk_zero(pl__pdu.hop__by__hop__id()) && f__get__R__bit(pl__pdu) ){
+    INTEGER ret = 0;
+    timeval precise;                        // requires <sys/time.h>
+    if ( gettimeofday(&precise, NULL) != -1 ) {
+      srand48(precise.tv_sec + precise.tv_usec);
+      encode_int_4byte(p, lrand48());
+    }
+    else { 
+      TTCN_warning("f_DIAMETER_genHopByHop() returns with 0");
+      encode_int_4byte(p, 0);
+    }
+  } else {
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+	  encode_u32_4byte(p,   pl__pdu.hop__by__hop__id());
+#else
+	  encode_octets(4, p,  pl__pdu.hop__by__hop__id());
+#endif
+  }
+  
+  if (chk_zero(pl__pdu.end__to__end__id()) && f__get__R__bit(pl__pdu) ){
+    timeval precise;                        // requires <sys/time.h>
+    if ( gettimeofday(&precise, NULL) != -1 ) {
+      srand48(precise.tv_sec + precise.tv_usec);
+      unsigned int l_value = (precise.tv_sec << 20) + (lrand48() >> 12);
+      if (l_value < 0) l_value *= -1;
+      encode_int_4byte(p,  l_value);
+    } else {
+      TTCN_warning("f_DIAMETER_genEndToEnd() returns with 0");
+      encode_int_4byte(p,  0);
+    }
+  } else {
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+	  encode_u32_4byte(p,   pl__pdu.end__to__end__id());
+#else
+	  encode_octets(4, p,  pl__pdu.end__to__end__id());
+#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);
+
+  buf.increase_length(message_length);
+  buf.get_string(pl__oct);
+  return;
+}
+
+
+OCTETSTRING f__DIAMETER__Enc(const PDU__DIAMETER& pl__pdu)
+{
+  OCTETSTRING ret_val;
+  f__DIAMETER__Enc__fast(pl__pdu,ret_val);
+  return ret_val;
+}
+
+
+
+OCTETSTRING f_GetAVPByListOfCodesFromGroupedAVP(const unsigned char *temp, int data_len,  const integerList& pl__codeList){
+  const unsigned char *endp=temp+data_len;
+  int avpLength = 0;
+  unsigned int avpCode = 0;
+
+  int codelist_size=pl__codeList.size_of();
+     
+  while(temp < 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));
+    
+    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-=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;
+      temp+=4;
+    }
+    temp+=3;  // skip length octets
+             // Now temp points to the AVP data and avpLength holds the length of the data part
+    /*checks whether the avp code value equals with one of the given avp code values or not*/
+    for(int i = 0; i < codelist_size; i++)
+    {
+      if((const int)(pl__codeList[i]) == (int)avpCode)
+      {
+        return OCTETSTRING(avpLength, temp);
+      }
+    }
+    
+    // skip to the next avp
+    if(avpLength % 4 != 0)  // AVP padding
+    { 
+      avpLength = avpLength + (4 - (avpLength % 4));
+    }
+    temp+=avpLength;  
+  }
+  /* no AVP was found, returns an empty octetstring*/  
+  unsigned char noResult[0];      
+  return OCTETSTRING(0, noResult);
+}
+
+OCTETSTRING f__DIAMETER__GetAVPByListOfCodesCombined(const OCTETSTRING& pl__oct, const integerList& pl__codeList, const integerList& pl__groupcodeList) 
+{
+  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)
+  { 
+    /* reading the avp code value*/
+    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-=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;
+      temp+=4;
+    }
+    temp+=3;  // skip length octets
+             // Now temp points to the AVP data and avpLength holds the length of the data part
+    /*checks whether the avp code value equals with one of the given avp code values or not*/
+    for(int i = 0; i < codelist_size; i++)
+    {
+      if((const int)(pl__codeList[i]) == (int)avpCode)
+      {
+        return OCTETSTRING(avpLength, temp);
+      }
+    }
+    
+    // Chek for the groupped AVP to search in
+    for(int i = 0; i < groupcodeList_size; i++)
+    {
+      if((const int)(pl__groupcodeList[i]) == (int)avpCode)
+      {
+         OCTETSTRING ret_val=f_GetAVPByListOfCodesFromGroupedAVP(temp,avpLength,pl__codeList);
+         if(ret_val.lengthof()>0){
+           return ret_val;
+         }
+         break;  // escape from the for loop
+      }
+    }
+    // skip to the next avp
+    if(avpLength % 4 != 0)  // AVP padding
+    { 
+      avpLength = avpLength + (4 - (avpLength % 4));
+    }
+    temp+=avpLength;  
+  }
+  /* 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;
+  return f__DIAMETER__GetAVPByListOfCodesCombined(pl__oct,pl__codeList,glist);
+}
+
+OCTETSTRING f__DIAMETER__GetAVPByListOfCodesFromGroupedAVP(const OCTETSTRING& pl__oct, const integerList& pl__codeList) 
+{
+  return f_GetAVPByListOfCodesFromGroupedAVP((const unsigned char *)pl__oct,pl__oct.lengthof(),pl__codeList);
+}
+
+
+
+
+int encode_AVP_OctetString(unsigned char* & p, const AVP__OctetString& avp){ 
+  unsigned char* start=p;
+  encode_octets(p, avp);
+  int ret_val=p-start;
+  pad_oct_if_needed(p, avp.lengthof());
+  return ret_val;
+}
+
+int encode_AVP_Integer32(unsigned char* & p, const AVP__Integer32& avp){ 
+  encode_signed_int_4byte(p, avp);
+  return 4;
+}
+int encode_AVP_Integer64(unsigned char* & p, const AVP__Integer64& avp){
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+	encode_octets(8, p, int2oct(avp,8));
+#else
+	encode_octets(8, p, avp);
+#endif
+  return 8;
+}
+int encode_AVP_Unsigned32(unsigned char* & 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));
+  }
+#else
+	encode_octets(4, p, avp);
+#endif
+  return 4;
+}
+int encode_AVP_Unsigned64(unsigned char* & p, const AVP__Unsigned64& avp){
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+	encode_octets(8, p, int2oct(avp,8));
+#else
+	encode_octets(8, p, avp);
+#endif
+  return 8;
+}
+int encode_AVP_Float32(unsigned char* & p, const AVP__Float32& avp){
+    double tmp = avp;
+    if (tmp == 0.0) memset(p, 0, 4);
+    else if (tmp == -0.0) {
+      memset(p, 0, 4);
+      p[0] |= 0x80;
+    }
+    else {
+#if defined __sparc__ || defined __sparc
+      int index=0;
+      int adj=1;
+#else
+      int index = 7;
+      int adj = -1;
+#endif
+      unsigned char *dv = (unsigned char *) &tmp;
+      p[0] = dv[index] & 0x80;
+      int exponent = dv[index] & 0x7F;
+      exponent <<= 4;
+      index += adj;
+      exponent += (dv[index] & 0xF0) >> 4;
+      exponent -= 1023;
+
+      if (exponent > 127) {
+        TTCN_warning( "The float value '%f' is out of the range of "
+          "the single precision AVP type.", (double)avp);
+        tmp = 0.0;
+        exponent = 0;
+      }
+      else if (exponent < -127) {
+        TTCN_warning("The float value '%f' is too small to represent it "
+          "in single precision AVP type", (double)avp);
+        tmp = 0.0;
+        exponent = 0;
+      }
+      else exponent += 127;
+      p[0] |= (exponent >> 1) & 0x7F;
+      p[1] = ((exponent << 7) & 0x80) | ((dv[index] & 0x0F) << 3)
+        | ((dv[index + adj] & 0xE0) >> 5);
+      index += adj;
+      p[2] = ((dv[index] & 0x1F) << 3) | ((dv[index + adj] & 0xE0) >> 5);
+      index += adj;
+      p[3] = ((dv[index] & 0x1F) << 3) | ((dv[index + adj] & 0xE0) >> 5);
+  }
+  p+=4;
+  return 4;
+}
+int encode_AVP_Float64(unsigned char* & 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;
+  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;
+}
+int encode_AVP_IP_Address(unsigned char* & p, const AVP__IP__Address& avp){
+  unsigned char* start=p;
+  encode_octets(p, avp);
+  int ret_val=p-start;
+  pad_oct_if_needed(p, avp.lengthof());
+  return ret_val;
+}
+int encode_AVP_Time(unsigned char* & p, const AVP__Time& avp){
+  encode_octets(4,p, avp);
+  return 4;
+}
+int encode_AVP_UTF8String(unsigned char* & 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;
+   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;
+#endif    
+  
+}
+int encode_AVP_DiameterIdentity(unsigned char* & p, const AVP__DiameterIdentity& avp){
+  unsigned char* start=p;
+  encode_chars(p, avp);
+  int ret_val=p-start;
+  pad_oct_if_needed(p, avp.lengthof());
+  return ret_val;
+}
+int encode_AVP_DiameterURI(unsigned char* & p, const AVP__DiameterURI& avp){
+  unsigned char* start=p;
+  encode_chars(p, avp);
+  int ret_val=p-start;
+  pad_oct_if_needed(p, avp.lengthof());
+  return ret_val;
+}
+int encode_AVP_IPFilterRule(unsigned char* & p, const AVP__IPFilterRule& avp){
+  unsigned char* start=p;
+  encode_chars(p, avp);
+  int ret_val=p-start;
+  pad_oct_if_needed(p, avp.lengthof());
+  return ret_val;
+}
+int encode_AVP_QoSFilterRule(unsigned char* & p, const AVP__QoSFilterRule& avp){
+  unsigned char* start=p;
+  encode_chars(p, avp);
+  int ret_val=p-start;
+  pad_oct_if_needed(p, avp.lengthof());
+  return ret_val;
+}
+int encode_AVP_enumerated(unsigned char* & p, const int& avp){
+  encode_int_4byte(p, avp);
+  return 4;
+}
+
+int get_AVP_code_val(const AVP__Code&);
+
+bool decode_undefinedAVP(const unsigned char* &p, Undefined__AVP &avptype, const unsigned char* buf_end){
+	if (buf_end - p < 8) {
+		return false;
+	}
+
+  const unsigned char* start=p;
+	avptype.avp__code()=OCTETSTRING(4, p);
+	p += 4; // advance by size of avpcode
+
+	unsigned char flagvalue = 0;
+#ifdef DPMG_USE_DETAILED_BITS
+	flagvalue += (((*p) & 0x10) >> 4); // 0001 0000
+	flagvalue += (((*p) & 0x08) >> 2); // 0000 1000
+	flagvalue += (((*p) & 0x04)); // 0000 0100
+	flagvalue += (((*p) & 0x02) << 2); // 0000 0010
+	flagvalue += (((*p) & 0x01) << 4); // 0000 0001
+	avptype.r__bits() = BITSTRING(5, &flagvalue);
+	flagvalue = ((*p) >> 5); // removes reserved bits
+	avptype.P__bit() = BITSTRING(1, &flagvalue);
+	flagvalue = (flagvalue >> 1); // removes P bit
+	avptype.M__bit() = BITSTRING(1, &flagvalue);
+	flagvalue = (flagvalue >> 1); // removes M bit
+	avptype.V__bit() = BITSTRING(1, &flagvalue);
+#else
+  avptype.VMPxxxxx()=oct2bit(OCTETSTRING(1,p));
+  flagvalue=(*p)>>7;
+#endif  
+	p++; // advance by size of flags
+
+	int avplength = ((*p) << 16) + ((*(p + 1)) << 8) + *(p + 2);
+	avptype.avp__length() = avplength;
+	p += 3; // advance by size of length
+	if (avptype.avp__length() < 8) {
+		p = start;
+		return false;
+	}
+
+	if (flagvalue) { // contains value of V-bit
+		if (avplength < 12) { // possible for octetstring!
+		  p = start;
+		  return false;
+		} else {// ASSUME next 4-byte is a Vendor-ID!
+			if (buf_end - p >= 4) {
+  			avptype.vendor__id()= OCTETSTRING(4, p);
+				p += 4;
+			} else {
+  		  p = start;
+	  	  return false;
+			}
+		}
+	} else {// DON'T read any Vendor-ID at all..!
+		avptype.vendor__id() = OMIT_VALUE;
+	}
+  avplength-=(p-start);
+  int avpdatalength =avplength<(buf_end - p)?avplength:(buf_end - p);
+  avptype.avp__data()=OCTETSTRING(avpdatalength, p);
+  p+=avpdatalength;
+  int paddlength=(3 - (avptype.avp__length() - 1) % 4);
+  if(buf_end-p>=paddlength){  // padding
+    p+=paddlength;
+  }
+  return true;
+}
+
+void extract_AVP(const unsigned char* &p, AVP__list& avplist,
+		int avpindex, const unsigned char* buf_end){
+    GenericAVP &avptype=avplist[avpindex];
+    
+    if(decode_AVP(p,avptype.avp(),buf_end)){
+      return;
+    }
+    else if (decode_undefinedAVP(p,avptype.avp__undefined(),buf_end)) {
+      return;
+    } else {
+      // avp_UNKNOWN
+      avptype.avp__UNKNOWN()=OCTETSTRING(buf_end-p,p);
+      p+=buf_end-p;
+    }
+  return;
+}
+
+INTEGER f__DIAMETER__Dec__fast(const OCTETSTRING& pl__oct,PDU__DIAMETER& pl__pdu) {
+  const unsigned char *p=(const unsigned char *)pl__oct;
+	const unsigned char *beginning = p;
+  int buflen=pl__oct.lengthof();
+
+	if (buflen < 20) {
+		TTCN_warning("DIAMETER packet appears to be too small.");
+		TTCN_Logger::begin_event( TTCN_PORTEVENT);
+		for (int i = 0; i < buflen; i++)
+			TTCN_Logger::log_event("%02x ", p[i]);
+		TTCN_Logger::log_event("\n");
+		TTCN_Logger::end_event();
+		return 0;
+	}
+
+	pl__pdu.version() = *(p++); // advance by size of version
+	p += 3; // advance by size of length
+	pl__pdu.message__length() = buflen;
+
+#ifdef DPMG_USE_DETAILED_BITS
+	unsigned char flagvalue = 0;
+	flagvalue += (((*p) & 0x08) >> 3); // 0000 1000
+	flagvalue += (((*p) & 0x04) >> 1); // 0000 0100
+	flagvalue += (((*p) & 0x02) << 1); // 0000 0010
+	flagvalue += (((*p) & 0x01) << 3); // 0000 0001
+	pl__pdu.r__bits() = BITSTRING(4, &flagvalue);
+	flagvalue = ((*p) >> 4); // removes reserved bits
+	pl__pdu.T__bit() = BITSTRING(1, &flagvalue);
+	flagvalue = (flagvalue >> 1); // removes T bit
+	pl__pdu.E__bit() = BITSTRING(1, &flagvalue);
+	flagvalue = (flagvalue >> 1); // removes E bit
+	pl__pdu.P__bit() = BITSTRING(1, &flagvalue);
+	flagvalue = (flagvalue >> 1); // removes P bit
+	pl__pdu.R__bit() = BITSTRING(1, &flagvalue);
+#else
+  pl__pdu.RPETxxxx()=oct2bit(OCTETSTRING(1,p));
+#endif  
+	p++; // advance by size of flags
+
+	pl__pdu.command__code() = ((*p) << 16) + ((*(p + 1)) << 8) + *(p + 2);
+	p += 3;
+
+	pl__pdu.application__id() = OCTETSTRING(4, p);
+	p += 4;
+
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+  pl__pdu.hop__by__hop__id().set_long_long_val(((unsigned int)(*p) << 24) + ((unsigned int)(*(p + 1)) << 16)	+ ((unsigned int)(*(p + 2)) << 8) + (unsigned int)(*(p + 3)));
+#else
+  pl__pdu.hop__by__hop__id()=OCTETSTRING(4, p);
+#endif
+	p += 4; // advance by size of hbh_id
+
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+  pl__pdu.end__to__end__id().set_long_long_val(((unsigned int)(*p) << 24) + ((unsigned int)(*(p + 1)) << 16)	+ ((unsigned int)(*(p + 2)) << 8) + (unsigned int)(*(p + 3)));
+#else
+  pl__pdu.end__to__end__id()=OCTETSTRING(4, p);
+#endif
+	p += 4; // advance by size of ete_id
+
+	pl__pdu.avps() = NULL_VALUE;
+	const unsigned char * buf_end = buflen + beginning;
+
+	for (int count = 0; buf_end > p; count++) {
+		extract_AVP(p, pl__pdu.avps(), count, buf_end);
+	} // for AVPs
+
+	if (buflen + beginning != p)
+		TTCN_warning("Invalid data encoded into data structure.");
+  return 1;
+}
+
+PDU__DIAMETER f__DIAMETER__Dec(const OCTETSTRING& pl__oct) 
+{
+  PDU__DIAMETER pdu;
+  f__DIAMETER__Dec__fast(pl__oct,pdu);
+  return pdu;
+}
+
+bool decode_AVP_OctetString(const unsigned char* & p,  AVP__OctetString& avp, int length){
+  avp=OCTETSTRING(length, p);
+  p+=length;
+  return true;
+}
+
+bool decode_AVP_Integer32(const unsigned char* & p,  AVP__Integer32& avp, int length){
+  if(length!=4) return false;
+  avp=((*p) << 24) + ((*(p + 1)) << 16)	+ ((*(p + 2)) << 8) + *(p + 3);
+  p+=length;
+  return true;
+}
+bool decode_AVP_Integer64(const unsigned char* & p,  AVP__Integer64& avp, int length){
+  if(length!=8) return false;
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+  avp=oct2int(OCTETSTRING(length, p));
+#else
+  avp=OCTETSTRING(length, p);
+#endif
+  p+=length;
+  return true;
+}
+bool decode_AVP_Unsigned32(const unsigned char* & p,  AVP__Unsigned32& avp, int length){
+  if(length!=4) return false;
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+  if((*p)&0x8f){
+    avp.set_long_long_val(((unsigned int)(*p) << 24) + ((unsigned int)(*(p + 1)) << 16)	+ ((unsigned int)(*(p + 2)) << 8) + (unsigned int)(*(p + 3)));
+  } else {
+    avp=((*p) << 24) + ((*(p + 1)) << 16)	+ ((*(p + 2)) << 8) + *(p + 3);
+  }
+
+#else
+  avp=OCTETSTRING(length, p);
+#endif
+  p+=length;
+  return true;
+}
+bool decode_AVP_Unsigned64(const unsigned char* & p,  AVP__Unsigned64& avp, int length){
+  if(length!=8) return false;
+#ifdef DPMG_USE_INTEGER_FOR_UINT32_INT64
+  avp=oct2int(OCTETSTRING(length, p));
+#else
+  avp=OCTETSTRING(length, p);
+#endif
+  p+=length;
+  return true;
+}
+bool decode_AVP_Float32(const unsigned char* & p,  AVP__Float32& avp, int length){
+  if(length!=4) return false;
+  double tmp = 0.0;
+    int sign = (p[0] & 0x80) >> 7;
+    int exponent = ((p[0] & 0x7F) << 1) | ((p[1] & 0x80) >> 7);
+    int fraction = ((p[1] & 0x7F) << 1) | ((p[2] & 0x80) >> 7);
+    fraction <<= 8;
+    fraction += ((p[2] & 0x7F) << 1) | ((p[3] & 0x80) >> 7);
+    fraction <<= 7;
+    fraction += p[3] & 0x7F;
+    if (exponent == 0 && fraction == 0) tmp = sign ? -0.0 : 0.0;
+    else if (exponent == 0xFF && fraction != 0) {
+      TTCN_warning( "Not a Number received for type Float32 AVP.");
+      tmp = 0.0;
+    }
+    else if (exponent == 0 && fraction != 0) {
+      double sign_v = sign ? -1.0 : 1.0;
+      tmp = sign_v * (static_cast<double> (fraction) / 8388608.0)
+        * pow(2.0, -126.0);
+    }
+    else {
+      double sign_v = sign ? -1.0 : 1.0;
+      exponent -= 127;
+      tmp = sign_v * (1.0 + static_cast<double> (fraction) / 8388608.0)
+        * pow(2.0, static_cast<double> (exponent));
+    }
+  avp=tmp;
+  p+=length;
+  return true;
+}
+bool decode_AVP_Float64(const unsigned char* & p,  AVP__Float64& avp, int length){
+  if(length!=8) return false;
+  double val;
+  char* poi = (char*) &val;
+#if defined SOLARIS8 || SOLARIS
+  for (int i=0; i<8; i++) {
+		*(poi+i) = *(p++);
+	}
+#else
+	for (int i = 0; i < 8; i++) {
+		*(poi + 7 - i) = *(p++);
+	}
+#endif
+  avp=val;
+//  p+=length;
+  return true;
+}
+bool decode_AVP_Grouped(const unsigned char* & p,  AVP__Grouped& avp, int length){
+	const unsigned char* buf_end=p+length;
+  if(length==0) {avp=NULL_VALUE;}
+  else {
+    for (int count = 0; buf_end > p; count++) {
+		  extract_AVP(p, avp, count, buf_end);
+	  } // for AVPs
+//  p+=length;
+  }
+  return true;
+}
+bool decode_AVP_Address(const unsigned char* & p,  AVP__Address& avp, int length){
+  if(length<3) return false;
+  int type= ((*(p )) << 8)	+ *(p + 1); 
+  if(!AddressType::is_valid_enum(type)) return false;
+  p+=2;
+  avp.address__type()=type;
+  avp.address__data()=OCTETSTRING(length-2, p);
+  p+=length-2;
+  return true;
+}
+bool decode_AVP_IP_Address(const unsigned char* & p,  AVP__IP__Address& avp, int length){
+  avp=OCTETSTRING(length, p);
+  p+=length;
+  return true;
+}
+bool decode_AVP_Time(const unsigned char* & p,  AVP__Time& avp, int length){
+  if(length!=4) return false;
+  avp=OCTETSTRING(length, p);
+  p+=length;
+  return true;
+}
+bool decode_AVP_UTF8String(const unsigned char* & p,  AVP__UTF8String& avp, int length){
+#ifdef DPMG_USE_UTF8_ENC  
+  avp.decode_utf8(length,p);
+  p+=length;
+  return true;
+#else
+  avp=OCTETSTRING(length, p);
+  p+=length;
+  return true;
+#endif      
+}
+bool decode_AVP_DiameterIdentity(const unsigned char* & p,  AVP__DiameterIdentity& avp, int length){
+  avp=CHARSTRING(length, (const char*)p);
+  p+=length;
+  return true;
+}
+bool decode_AVP_DiameterURI(const unsigned char* & p,  AVP__DiameterURI& avp, int length){
+  avp=CHARSTRING(length, (const char*)p);
+  p+=length;
+  return true;
+}
+bool decode_AVP_IPFilterRule(const unsigned char* & p,  AVP__IPFilterRule& avp, int length){
+  avp=CHARSTRING(length, (const char*)p);
+  p+=length;
+  return true;
+}
+bool decode_AVP_QoSFilterRule(const unsigned char* & p,  AVP__QoSFilterRule& avp, int length){
+  avp=CHARSTRING(length, (const char*)p);
+  p+=length;
+  return true;
+}
+
+bool decode_AVP_enumerated(const unsigned char* & p,  int& avp, int length){
+  if(length!=4) return false;
+  avp=((*p) << 24) + ((*(p + 1)) << 16)	+ ((*(p + 2)) << 8) + *(p + 3);
+  p+=length;
+  return true;
+}
+
diff --git a/src/DigestAuthentication_IETF_RFC5090.ddf b/src/DigestAuthentication_IETF_RFC5090.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..4f73b240bcff81586435fed52029516cf3df9b57
--- /dev/null
+++ b/src/DigestAuthentication_IETF_RFC5090.ddf
@@ -0,0 +1,149 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               DigestAuthentication_IETF_RFC5090.ddf
+//  Description:        DDF for DIGEST according to RFC 5090
+//  Rev:                R29A
+//  Prodnr:             CNL 1134 62
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: DIGEST
+// APPLICATION-REVISION: RFC5090
+
+// AVP implementations according to: 
+// RFC 5090 - RADIUS Extension for Digest Authentication
+//
+
+// RFC 5090
+// AVP: Digest-Response (103)
+// 3.1
+type AVP_OctetString Digest_Response;
+
+// RFC 5090
+// AVP: Digest-Realm (104)
+// 3.2
+type AVP_UTF8String Digest_Realm;
+
+// RFC 5090
+// AVP: Digest-Nonce (105)
+// 3.3
+type AVP_OctetString Digest_Nonce;
+
+// RFC 5090
+// AVP: Digest-Response-Auth (106)
+// 3.4
+type AVP_OctetString Digest_Response_Auth;
+
+// RFC 5090
+// AVP: Digest_Nextnonce (107)
+// 3.5
+type AVP_OctetString Digest_Nextnonce;
+
+// RFC 5090
+// AVP: Digest-Method (108)
+// 3.6
+type AVP_UTF8String Digest_Method;
+
+// RFC 5090
+// AVP: Digest-URI (109)
+// 3.7
+type AVP_UTF8String Digest_URI;
+
+// RFC 5090
+// AVP: Digest-Qop (110)
+// 3.8
+type AVP_UTF8String Digest_Qop;
+
+// RFC 5090
+// AVP: Digest-Algorithm (111)
+// 3.9
+type AVP_UTF8String Digest_Algorithm;
+
+// RFC 5090
+// AVP: Digest-Entity-Body-Hash (112)
+// 3.10
+type AVP_OctetString Digest_Entity_Body_Hash;
+
+// RFC 5090
+// AVP: Digest-CNonce (113)
+// 3.11
+type AVP_OctetString Digest_CNonce;
+
+// RFC 5090
+// AVP: Digest-Nonce-Count (114)
+// 3.12
+type AVP_OctetString Digest_Nonce_Count;
+
+// RFC 5090
+// AVP: Digest-Username (115)
+// 3.13
+type AVP_UTF8String Digest_Username;
+
+// RFC 5090
+// AVP: Digest-Opaque (116)
+// 3.14
+type AVP_OctetString Digest_Opaque;
+
+// RFC 5090
+// AVP: Digest-Auth-Param (117)
+// 3.15
+type AVP_UTF8String Digest_Auth_Param;
+
+// RFC 5090
+// AVP: Digest-AKA-Auts (118)
+// 3.16
+type AVP_OctetString Digest_AKA_Auts;
+
+// RFC 5090
+// AVP: Digest-Domain (119)
+// 3.17
+type AVP_UTF8String Digest_Domain;
+
+// RFC 5090
+// AVP: Digest-Stale (120)
+// 3.18
+type AVP_UTF8String Digest_Stale;
+
+// RFC 5090
+// AVP: Digest-HA1 (121)
+// 3.19
+type AVP_OctetString Digest_HA1;
+
+// RFC 5090
+// AVP: SIP-AOR (122)
+// 3.20
+type AVP_UTF8String SIP_AOR;
diff --git a/src/EricssonSCAPv1_1553APR_10148.ddf b/src/EricssonSCAPv1_1553APR_10148.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..b175a6dd3629e7f681c926b3840492f0cc1f2902
--- /dev/null
+++ b/src/EricssonSCAPv1_1553APR_10148.ddf
@@ -0,0 +1,182 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               EricssonSCAPv1_1553APR_10148.ddf
+//  Description:        DDF for SCAPv1 according to 2/1553-APR 101 48/2
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: SCAPv1
+// APPLICATION-REVISION: EricssonSCAPv1
+
+// AVP implementations according to: 
+// 2/1553-APR 101 48/2
+//
+
+// 2/1553-APR 101 48/2
+type enumerated Command_Code {
+  Credit_Control (272)
+}
+
+
+
+// 2/1553-APR 101 48/2
+// AVP: Abnormal-Termination-Reason (600) Ericsson (193)
+// 3.3.3
+type enumerated Abnormal_Termination_Reason
+{
+  SERVING_ELEMENT_TERMINATION (0),
+  CONNECTION_TO_USER_BROKEN (1)
+}
+
+// 2/1553-APR 101 48/2
+// AVP: Accounting-Correlation-Id (605) Ericsson (193)
+// 3.3.3
+type AVP_UTF8String Accounting_Correlation_Id;
+
+// 2/1553-APR 101 48/2
+// AVP: Cost (603) Ericsson (193)
+// 3.3.3
+type AVP_Float64 Cost;
+
+// 2/1553-APR 101 48/2
+// AVP: Cost-Information (604) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Cost_Information;
+
+// 2/1553-APR 101 48/2
+// AVP: Currency-Code (544) Ericsson (193)
+// 3.3.3
+type AVP_Unsigned32 Currency_Code;
+
+// 2/1553-APR 101 48/2
+// AVP: Event-Timestamp (610) Ericsson (193)
+// 3.3.3
+type AVP_Time Event_Timestamp;
+
+// 2/1553-APR 101 48/2
+// AVP: Exponent (616) Ericsson (193)
+// 3.3.3
+type AVP_Integer32 Exponent;
+
+// 2/1553-APR 101 48/2
+// AVP: Granted-Service-Unit (602) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Granted_Service_Unit;
+
+// 2/1553-APR 101 48/2
+// AVP: Original-Subscription-Id (559) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Original_Subscription_Id;
+
+// 2/1553-APR 101 48/2
+// AVP: Requested-Action (615) Ericsson (193)
+// 3.3.3
+type enumerated Requested_Action
+{
+  DIRECT_DEBITING         (0),
+  REFUND_ACCOUNT          (1) 
+}
+
+// 2/1553-APR 101 48/2
+// AVP: Requested-Service-Unit (606) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Requested_Service_Unit;
+
+// 2/1553-APR 101 48/2
+// AVP: Service-Parameter-Info (607) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Service_Parameter_Info;
+
+// 2/1553-APR 101 48/2
+// AVP: Service-Parameter-Type (608) Ericsson (193)
+// 3.3.3
+type AVP_Unsigned32 Service_Parameter_Type;
+
+// 2/1553-APR 101 48/2
+// AVP: Service-Parameter-Value (609) Ericsson (193)
+// 3.3.3
+type AVP_UTF8String Service_Parameter_Value;
+
+// 2/1553-APR 101 48/2
+// AVP: Subscription-Id (553) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Subscription_Id;
+
+// 2/1553-APR 101 48/2
+// AVP: Subscription-Id-Data (554) Ericsson (193)
+// 3.3.3
+type AVP_UTF8String Subscription_Id_Data;
+
+// 2/1553-APR 101 48/2
+// AVP: Subscription-Id-Type (555) Ericsson (193)
+// 3.3.3
+type enumerated Subscription_Id_Type
+{
+  END_USER_MSISDN (0),
+  END_USER_IMSI (1),
+  END_USER_SIP_URL (2),
+  END_USER_NAI (3),
+  END_USER_PRIVATE (4)
+}
+
+// 2/1553-APR 101 48/2
+// AVP: Unit-Type (611) Ericsson (193)
+// 3.3.3
+type enumerated Unit_Type
+{
+  SERVICE_CREDIT_TIME (0),
+  SERVICE_CREDIT_VOLUME (1),
+  SERVICE_CREDIT_EVENT (2),
+  SERVICE_CREDIT_MONEY (3)
+}
+
+// 2/1553-APR 101 48/2
+// AVP: Unit-Value (612) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Unit_Value;
+
+// 2/1553-APR 101 48/2
+// AVP: Used-Service-Unit (613) Ericsson (193)
+// 3.3.3
+type AVP_Grouped Used_Service_Unit;
+
+// 2/1553-APR 101 48/2
+// AVP: Value-Digits (617) Ericsson (193)
+// 3.3.3
+type AVP_Unsigned64 Value_Digits;
diff --git a/src/Ericsson_Specific_AVPs.ddf b/src/Ericsson_Specific_AVPs.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..5968a667c2c3dd0d6abf916619d77e74b325a05c
--- /dev/null
+++ b/src/Ericsson_Specific_AVPs.ddf
@@ -0,0 +1,2700 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Ericsson_Specific_AVPs.ddf
+//  Description:        Ericsson specific AVP definitions
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+//  Reference:          http://snmp.ericsson.se/diameter-assignments.html
+//
+
+// APPLICATION-NAME: E
+// APPLICATION-REVISION: V1
+
+// SACC Sy Protocol Specification
+type enumerated Command_Code {
+  Re_Auth        (258),
+  Credit_Control (272),
+  Registration_Authorization  (500),       // User-Authorization-Request (UAR) or User-Authorization-Answer (UAA)
+  Location_Update             (501),       // Location-Update-Request (LUR) or Location-Update-Answer (LUA)
+  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)
+  Spending_Limit_Official                     (656),
+  Spending_Status_Notification_Official       (657),  
+  Spending_Limit                              (8388633),
+  Spending_Status_Notification                (8388634)
+}
+
+// Ericsson IMS-Service-Identification
+// AVP: IMS-Service-Identification (284) Ericsson (193)
+type AVP_UTF8String IMS_Service_Identification;
+
+// Ericsson-Service-Information
+// AVP: Ericsson-Service-Information (285) Ericsson (193)
+type AVP_Grouped Ericsson_Service_Information;
+
+// Ericsson SIP-Reason
+// AVP: SIP-Reason (335) Ericsson (193)
+type AVP_Grouped SIP_Reason;
+
+// Ericsson SIP-Reason-Cause
+// AVP: SIP-Reason-Cause (336) Ericsson (193)
+type AVP_Unsigned32 SIP_Reason_Cause;
+
+// Ericsson SIP-Reason-Text
+// AVP: SIP-Reason-Text (337) Ericsson (193)
+type AVP_UTF8String SIP_Reason_Text;
+
+// Ericsson MMT-Information
+// AVP: MMT-Information (1061) Ericsson (193)
+type AVP_Grouped MMT_Information;
+
+// Ericsson Access-Information
+// AVP: Access-Information (1063) Ericsson (193)
+type AVP_Grouped Access_Information;
+
+// Ericsson CDR-Information
+// AVP: CDR-Information (1064) Ericsson (193)
+type AVP_OctetString CDR_Information;
+
+// Ericsson Charging-Context-Id
+// AVP: Charging-Context-Id (1065) Ericsson (193)
+type AVP_UTF8String Charging_Context_Id;
+
+// Ericsson Charging-State-Information
+// AVP: Charging-State-Information (1066) Ericsson (193)
+type AVP_UTF8String Charging_State_Information;
+
+// Ericsson Result-Code-Extension
+// AVP: Result-Code-Extension (1067) Ericsson (193)
+type AVP_Unsigned32 Result_Code_Extension;
+
+// Ericsson Service-Session-Id
+// AVP: Service-Session-Id (1068) Ericsson (193)
+type AVP_UTF8String Service_Session_Id;
+
+// Ericsson Subscription-Id-Location
+// AVP: Subscription-Id-Location (1074) Ericsson (193)
+type AVP_UTF8String Subscription_Id_Location;
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id (1075) Ericsson (193)
+// 5.5
+type AVP_Grouped Other_Party_Id;
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id-Nature (1076) Ericsson (193)
+// 5.5
+type enumerated Other_Party_Id_Nature
+{
+  UNKNOWN (0),
+  INTERNATIONAL (1),
+  NATIONAL (2)
+};
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id-Data (1077) Ericsson (193)
+// 5.5
+type AVP_UTF8String Other_Party_Id_Data;
+
+// IWD Active Charge SCAPv1
+// AVP: Other-Party-Id-Type (1078) Ericsson (193)
+// 5.5
+type enumerated Other_Party_Id_Type
+{
+  END_USER_MSISDN (0),
+  END_USER_IMSI (1),
+  END_USER_SIP_URL (2),
+  END_USER_NAI (3),
+  END_USER_PRIVATE (4)
+};
+
+// 2/1553-APR 101 48/2
+// AVP: Service-Provider-Id (1081) Ericsson (193)
+// 3.3.3
+type AVP_UTF8String Service_Provider_Id;
+
+// 2/1553-APR 101 48/2
+// AVP: Traffic-Case (1082) Ericsson (193)
+// 3.3.3
+type AVP_Unsigned32 Traffic_Case;
+
+// Ericsson CIP-IP-Version
+// AVP: CIP-IP-Version (1083) Ericsson (193)
+type AVP_UTF8String CIP_IP_Version;
+
+// Ericsson Media-Statistics
+// AVP: Media-Statistics (1084) Ericsson (193) 
+type AVP_Grouped Media_Statistics;
+
+// Ericsson Media-Interface-Statistics
+// AVP: Media-Interface-Statistics (1085) Ericsson (193) 
+type AVP_Grouped Media_Interface_Statistics;
+
+// Ericsson Media-Interface-Flow-Statistics 
+// AVP: Media-Interface-Flow-Statistics (1086) Ericsson (193) 
+type AVP_Grouped Media_Interface_Flow_Statistics;
+
+// Ericsson Media-Statistics-Side
+// AVP: Media-Statistics-Side (1101) Ericsson (193) 
+type enumerated Media_Statistics_Side 
+{
+  CALLING_SIDE     (0),
+  CALLED_SIDE      (1)
+}
+
+// Ericsson Roaming-Position
+// AVP: Roaming-Position (1121) Ericsson (193)
+type AVP_Unsigned32 Roaming_Position;
+
+// Ericsson Service-Scenario
+// AVP: Service-Scenario (1122) Ericsson (193)
+type AVP_Unsigned32 Service_Scenario;
+
+// Ericsson Start-Of-Call
+// AVP: Start-Of-Call (1125) Ericsson (193)
+type AVP_Time Start_Of_Call;
+
+// Ericsson Supplementary-Service-Information
+// AVP: Supplementary-Service-Information (1129) Ericsson (193)
+type AVP_Grouped Supplementary_Service_Information;
+
+// Ericsson Supplementary-Service-Identity
+// AVP: Supplementary-Service-Identity (1130) Ericsson (193)
+type AVP_Unsigned32 Supplementary_Service_Identity;
+
+// Ericsson Supplementary-Service-Action
+// AVP: Supplementary-Service-Action (1131) Ericsson (193)
+type AVP_Unsigned32 Supplementary_Service_Action;
+
+// Ericsson Redirecting-Party-Address
+// AVP: Redirecting-Party-Address (1133) Ericsson (193)
+type AVP_UTF8String Redirecting_Party_Address;
+
+// Ericsson Dial-Around-Indicator
+// AVP: Dial-Around-Indicator (1160) Ericsson (193)
+type AVP_UTF8String Dial_Around_Indicator;
+
+// Ericsson Service-Setup-Result
+// AVP: Service-Setup-Result (1135) Ericsson (193)
+type AVP_Unsigned32 Service_Setup_Result;
+
+// Ericsson Service-Setup-Result-Requested
+// AVP: Service-Setup-Result-Requested (1136) Ericsson (193)
+type enumerated Service_Setup_Result_Requested
+{
+  RESULT_NOT_NEEDED        (0),
+  RESULT_REQUESTED         (1)
+}
+
+// Ericsson QoS-Profile-Id
+// AVP: QoS-Profile-Id (1137) Ericsson (193)
+type AVP_Unsigned32 QoS_Profile_Id;
+
+// Ericsson Content-Filtering-Profile-Id
+// AVP: Content-Filtering-Profile-Id (1138) Ericsson (193)
+type AVP_Unsigned32 Content_Filtering_Profile_Id;
+
+// Ericsson Access-Control-Profile-Id
+// AVP: Access-Control-Profile-Id (1139) Ericsson (193)
+type AVP_Unsigned32 Access_Control_Profile_Id;
+
+// Ericsson Contact-Header
+// AVP: Contact-Header (1148) Ericsson (193)
+type AVP_UTF8String Contact_Header;
+
+// Ericsson To-Header
+// AVP: To-Header (1149) Ericsson (193)
+type AVP_UTF8String To_Header;
+
+// Ericsson History-Info-Header
+// AVP: History-Info-Header (1150) Ericsson (193)
+type AVP_UTF8String History_Info_Header;
+
+// Ericsson Referred-By-Header
+// AVP: Referred-By-Header (1151) Ericsson (193)
+type AVP_UTF8String Referred_By_Header;
+
+// Ericsson From-Header
+// AVP: From-Header (1153) Ericsson (193)
+type AVP_UTF8String From_Header;
+
+// Ericsson Max-No-Contacts
+// AVP: Max-No-Contacts (1159) Ericsson (193)
+type AVP_Unsigned32 Max_No_Contacts;
+
+// Ericsson Served-User-Address
+// AVP: Served-User-Address (1183) Ericsson (193)
+type AVP_UTF8String Served_User_Address;
+
+// Ericsson Communication-Details
+// AVP: Communication-Details (1184) Ericsson (193)
+type AVP_Grouped Communication_Details;
+
+// Ericsson Communication-Timestamp
+// AVP: Communication-Timestamp (1185) Ericsson (193)
+type AVP_Time Communication_Timestamp;
+
+// Ericsson P-Asserted-Identity-Header
+// AVP: P-Asserted-Identity-Header (1186) Ericsson (193)
+type AVP_UTF8String P_Asserted_Identity_Header;
+
+// Ericsson Request-URI
+// AVP: Request-URI (1187) Ericsson (193)
+type AVP_UTF8String Request_URI;
+
+// Ericsson Privacy-Header
+// AVP: Privacy-Header (1188) Ericsson (193)
+type AVP_UTF8String Privacy_Header;
+
+// Ericsson Subscriber-Information
+// AVP: Subscriber-Information (1189) Ericsson (193)
+type AVP_Grouped Subscriber_Information;
+
+// Ericsson-Secondary-Digest-HA1
+// AVP: Ericsson-Secondary-Digest-HA1 (1192) Ericsson (193)
+type AVP_UTF8String Ericsson_Secondary_Digest_HA1;
+
+// Ericsson One-Time-Redirect-Control
+// AVP: One-Time-Redirect-Control (1193) Ericsson (193)
+type AVP_Unsigned32 One_Time_Redirect_Control
+
+
+// Ericsson Number-Frame-Information
+// AVP: Number-Frame-Information (1254) Ericsson (193)
+type AVP_Grouped Number_Frame_Information;
+
+// Ericsson Address-Presentation-Restricted-Indicator
+// AVP: Address-Presentation-Restricted-Indicator (1255) Ericsson (193)
+type enumerated Address_Presentation_Restricted_Indicator;
+{
+  PRESENTATION_ALLOWED     (0),
+  PRESENTATION_RESTRICTED  (1),
+  ADDRESS_NOT_AVAILABLE    (2)
+}
+
+// Ericsson SIP-Ringing-Timestamp-Fraction
+// AVP: SIP-Ringing-Timestamp-Fraction (1256) Ericsson (193)
+type AVP_Unsigned32 SIP_Ringing_Timestamp_Fraction;
+
+// Ericsson From-Header-Presentation-Status
+// AVP: From-Header-Presentation-Status (1262) Ericsson (193)
+type enumerated From_Header_Presentation_Status
+{
+  PRESENTATION_ALLOWED     (0),
+  PRESENTATION_RESTRICTED  (1),
+  UNKNOWN                  (2)
+}
+
+// Ericsson Transaction-Info
+// AVP: Transaction-Info (1264) Ericsson (193)
+type AVP_Grouped Transaction_Info
+
+// Ericsson Transaction-Type
+// AVP: Transaction-Type (1265) Ericsson (193)
+type enumerated Transaction_Type 
+{  
+   SIP_REQUEST (0),  
+   SIP_RESPONSE (1),  
+   DIAMETER_REQUEST (2),  
+   DIAMETER_ANSWER (3) 
+}
+
+// Ericsson Transaction-Data-Name
+// AVP: Transaction-Data-Name (1266) Ericsson (193) 
+type AVP_UTF8String Transaction_Data_Name
+
+// Ericsson Transaction-Data-Value
+// AVP: Transaction-Data-Value (1267) Ericsson (193) 
+type AVP_UTF8String Transaction_Data_Value
+
+// Ericsson Charging-Profile-Id
+// AVP: Charging-Profile-Id (1268) Ericsson (193)
+type AVP_Unsigned32 Charging_Profile_Id;
+
+// Ericsson Packet-Loss-Rate
+// AVP: Packet-Loss-Rate (1296) Ericsson (193) 
+type AVP_Unsigned32 Packet_Loss_Rate;
+
+// Ericsson Network-Call-Reference
+// AVP: Network-Call-Reference (1297) Ericsson (193)
+type AVP_UTF8String Network_Call_Reference;
+
+// Ericsson Additional-Charging-Information 
+// AVP: Additional-Charging-Information (1298) Ericsson (193) 
+type AVP_UTF8String Additional_Charging_Information;
+
+// Ericsson Total-Session-Duration
+// AVP: Total-Session-Duration (1299) Ericsson (193) 
+type AVP_Unsigned64 Total_Session_Duration;
+
+// Ericsson Round-Trip-Delay
+// AVP: Round-Trip-Delay (1300) Ericsson (193)
+type AVP_Unsigned64 Round_Trip_Delay;
+
+// Ericsson JB-Discard-Rate
+// AVP: JB-Discard-Rate (1301) Ericsson (193) 
+type AVP_Unsigned32 JB_Discard_Rate;
+
+// Ericsson Routing-Call-Type
+// AVP: Routing-Call-Type (1302) Ericsson (193)
+type AVP_UTF8String Routing_Call_Type;
+
+// Ericsson Analyzed-Call-Type
+// AVP: Analyzed-Call-Type (1303) Ericsson (193)
+type AVP_UTF8String Analyzed_Call_Type;
+
+// Ericsson Service-Number-Type
+// AVP: Service-Number-Type (1307) Ericsson (193)
+type enumerated Service_Number_Type
+{
+  OSN                 (0),
+  NSN                 (1),
+  NON_SERVICE_E164    (2),
+  UNKNOWN             (3)
+}
+
+// Ericsson SCC-Service-Identity
+// AVP: SCC-Service-Identity (1314) Ericsson (193)
+type enumerated SCC_Service_Identity
+{
+  T_ADS               (0),
+  SDS                 (100),
+  SRVCC               (200)
+}
+
+// Ericsson SDD-TADS-Decision
+// AVP: SDD-TADS-Decision (1315) Ericsson (193)
+type enumerated SDD_TADS_Decision
+{
+  NO_SELECTION                          (0),
+  NO_SELECTION_AND_REJECT               (1),
+  VoLTE_UE_on_PS                        (2),
+  VoLTE_UE_on_CS                        (3),
+  VoLTE_UE_on_PS_or_PS                  (4),
+  BREAKOUT_to_CS                        (5),
+  FIXED_UE_on_PS_and_BREAKOUT_to_CS     (6)
+}
+
+// Ericsson M2M-Information
+// AVP: M2M-Information (1316) Ericsson (193)
+type enumerated M2M_Information
+{
+  ADDITIONAL_QUERY_REQUIRED             (0),
+  MOBILE_TO_MOBILE_CALL                 (1),
+  NOT_MOBILE_TO_MOBILE_CALL             (2)
+}
+
+// Ericsson Replenishment-Service-Request
+// AVP: Replenishment-Service-Request (1317) Ericsson (193)
+type AVP_Grouped Replenishment_Service_Request;
+
+// Ericsson Replenishment-Reason
+// AVP: Replenishment-Reason (1318) Ericsson (193)
+type enumerated Replenishment_Reason
+{
+  UNSPECIFIED_REASON                    (0),
+  LOW_BALANCE                           (1),
+  NO_BALANCE                            (2),
+  LOW_AIR_TIME                          (3),
+  NO_AIR_TIME                           (4)
+}
+
+// Ericsson Announcement-Service-Request
+// AVP: Announcement-Service-Request (1319) Ericsson (193)
+type AVP_Grouped Announcement_Service_Request;
+
+// Ericsson Fixed-Announcement-Code
+// AVP: Fixed-Announcement-Code (1320) Ericsson (193)
+type AVP_Unsigned32 Fixed_Announcement_Code;
+
+// Ericsson Fixed-Announcement-Var
+// AVP: Fixed-Announcement-Var (1321) Ericsson (193)
+type AVP_Grouped Fixed_Announcement_Var;
+
+// Ericsson Fixed-Announcement-Var-Integer
+// AVP: Fixed-Announcement-Var-Integer (1322) Ericsson (193)
+type AVP_Unsigned32 Fixed_Announcement_Var_Integer;
+
+// Ericsson Fixed-Announcement-Time
+// AVP: Fixed-Announcement-Time (1323) Ericsson (193)
+type AVP_Unsigned32 Fixed_Announcement_Time;
+
+// Ericsson Subscriber-Additional-Info
+// AVP: Subscriber-Additional-Info (1331) Ericsson (193)
+type AVP_Grouped Subscriber_Additional_Info;
+
+// Ericsson Subscriber-Provisioned-Info
+// AVP: Subscriber-Provisioned-Info (1332) Ericsson (193)
+type AVP_OctetString Subscriber_Provisioned_Info;
+
+// Ericsson Policy-Group
+// AVP: Policy-Group (1347) Ericsson (193) 
+type AVP_Grouped Policy_Group;
+
+// Ericsson Policy-Group-Name
+// AVP: Policy-Group-Name (1348) Ericsson (193)
+type AVP_UTF8String Policy_Group_Name;
+
+// Ericsson Policy-Group-Priority
+// AVP: Policy-Group-Priority (1349) Ericsson (193)
+type AVP_Integer32 Policy_Group_Priority;
+
+// Ericsson Policy-Group-Activation-Time
+// AVP: Policy-Group-Activation-Time (1350) Ericsson (193)
+type AVP_Time Policy_Group_Activation_Time;
+
+// Ericsson Policy-Group-Deactivation-Time
+// AVP: Policy-Group-Deactivation-Time (1351) Ericsson (193)
+type AVP_Time Policy_Group_Deactivation_Time;
+
+// Ericsson Ericsson-Policy-Counter-Status
+// AVP: Ericsson-Policy-Counter-Status (1352) Ericsson (193)
+type AVP_UTF8String Ericsson_Policy_Counter_Status;
+
+// Ericsson Policy-Counter-Policy-Group-Name
+// AVP: Policy-Counter-Policy-Group-Name (1353) Ericsson (193)
+type AVP_UTF8String Policy_Counter_Policy_Group_Name;
+
+// Ericsson Ericsson-Policy-Counter-Identifier
+// AVP: Ericsson-Policy-Counter-Identifier (1354) Ericsson (193) 
+type AVP_UTF8String Ericsson_Policy_Counter_Identifier;
+
+// Ericsson Ericsson-Policy-Counter-Status-Report
+// AVP: Ericsson-Policy-Counter-Status-Report (1355) Ericsson (193) 
+type AVP_Grouped Ericsson_Policy_Counter_Status_Report;
+
+// Ericsson Ericsson-SL-Request-Type
+// AVP: Ericsson-SL-Request-Type (1356) Ericsson (193)
+type enumerated Ericsson_SL_Request_Type
+{
+  INITIAL_REQUEST         (0),
+  INTERMEDIATE_REQUEST    (1) 
+}
+
+// Ericsson Additional-Other-Party-Id
+// AVP: Additional-Other-Party-Id (1358) Ericsson (193)
+type AVP_Grouped Additional_Other_Party_Id
+
+// Ericsson Requested-Task
+// AVP: Requested-Task (1399) Ericsson (193)
+type enumerated Requested_Task
+{
+  ICBS_Forward (0), 
+  ICBS_Forward_and_ICBS_Backward (1)
+}
+
+// AVP: Apply-Tariff-Immediate (2190) Ericsson (193)
+type enumerated Apply_Tariff_Immediate
+{
+  START_TARIFF_IMMEDIATELY  (0),
+  WAIT_FOR_START            (1)
+}
+
+// AVP: Apply-Tariff-Restart (2191) Ericsson (193)
+type enumerated Apply_Tariff_Restart
+{
+  NO_RESTART  (0),
+  RESTART     (1)
+}
+
+// Ericsson Connection-Attempt-Charge
+// AVP: Connection-Attempt-Charge (2192) Ericsson (193)
+type AVP_Grouped Connection_Attempt_Charge;
+
+// AVP: Network-Identification (2193) Ericsson (193)
+type AVP_UTF8String Network_Identification;
+
+// AVP: Origination-Identification (2194) Ericsson (193)
+type AVP_Grouped Origination_Identification;
+
+// AVP: Preferred-Currency-Code (2195) Ericsson (193)
+type AVP_Unsigned32 Preferred_Currency_Code;
+
+// AVP: Purpose (2196) Ericsson (193)
+type enumerated Purpose
+{
+  NEW_TARIFF    (0),
+  ADD_ON_CHARGE (1)
+}
+
+// AVP: Reference-ID (2197) Ericsson (193)
+type AVP_Unsigned32 Reference_ID;
+
+// Ericsson Set-Up-Charge
+// AVP: Set-Up-Charge (2198) Ericsson (193)
+type AVP_Grouped Set_Up_Charge;
+
+// AVP: Tariff-Expiry-Policy (2199) Ericsson (193)
+type enumerated Tariff_Expiry_Policy
+{
+  CYCLE                       (0),
+  DEFINED_BY_NETWORK_OPERATOR (1)
+}
+
+
+
+// AVP: Ericsson-SIP-Authorization (256) Ericsson (193)
+type AVP_Grouped Ericsson_SIP_Authorization
+
+
+
+// AVP: Ericsson-Digest-HA2 (257) Ericsson (193)
+type AVP_UTF8String Ericsson_Digest_HA2
+
+
+
+// AVP: Unasigned (258) Ericsson (193)
+type AVP_OctetString Unasigned
+
+
+
+// AVP: Barring-Indication (259) Ericsson (193)
+type enumerated Barring_Indication
+{
+  FALSE  (0),
+  TRUE  (1)
+}
+
+
+// AVP: Public-Identification (260) Ericsson (193)
+type AVP_Grouped Public_Identification
+
+
+
+// AVP: Acc-Service-Type (261) Ericsson (193)
+type enumerated Acc_Service_Type
+{
+  Audio_Conference  (0),
+  Video_Conference  (1)
+}
+
+
+// AVP: Acc-Received-Octets (262) Ericsson (193)
+type AVP_Unsigned32 Acc_Received_Octets
+
+
+
+// AVP: Acc-Received-Packets (263) Ericsson (193)
+type AVP_Unsigned32 Acc_Received_Packets
+
+
+
+// AVP: Acc-Received-Duration (264) Ericsson (193)
+type AVP_Unsigned32 Acc_Received_Duration
+
+
+
+// AVP: Acc-Received-Bursts (265) Ericsson (193)
+type AVP_Unsigned32 Acc_Received_Bursts
+
+
+
+// AVP: Acc-Sent-Octets (266) Ericsson (193)
+type AVP_Unsigned32 Acc_Sent_Octets
+
+
+
+// AVP: Acc-Sent-Packets (267) Ericsson (193)
+type AVP_Unsigned32 Acc_Sent_Packets
+
+
+
+// AVP: Acc-Sent-Duration (268) Ericsson (193)
+type AVP_Unsigned32 Acc_Sent_Duration
+
+
+
+// AVP: Acc-Sent-Bursts (269) Ericsson (193)
+type AVP_Unsigned32 Acc_Sent_Bursts
+
+
+
+// AVP: Acc-Reported-Packets-Received (270) Ericsson (193)
+type AVP_Unsigned32 Acc_Reported_Packets_Received
+
+
+
+// AVP: Acc-Reported-Packets-Sent (271) Ericsson (193)
+type AVP_Unsigned32 Acc_Reported_Packets_Sent
+
+
+
+// AVP: Acc-Receiver-Reports (272) Ericsson (193)
+type AVP_Unsigned32 Acc_Receiver_Reports
+
+
+
+// AVP: Acc-Sender-Reports (273) Ericsson (193)
+type AVP_Unsigned32 Acc_Sender_Reports
+
+
+
+// AVP: Acc-Aggregated-Numbers (274) Ericsson (193)
+type AVP_Grouped Acc_Aggregated_Numbers
+
+
+
+// AVP: Acc-Talk-Burst-Sent (275) Ericsson (193)
+type AVP_Grouped Acc_Talk_Burst_Sent
+
+
+
+// AVP: Acc-Talk-Burst-Received (276) Ericsson (193)
+type AVP_Grouped Acc_Talk_Burst_Received
+
+
+
+// AVP: Registration-Type (277) Ericsson (193)
+type enumerated Registration_Type
+{
+  INITIAL_REGISTRATION  (0),
+  RE_REGISTRATION  (1),
+  DEREGISTRATION  (2)
+}
+
+
+// AVP: SSO-Data (278) Ericsson (193)
+type AVP_Grouped SSO_Data
+
+
+
+// AVP: SSO-Status (280) Ericsson (193)
+type enumerated SSO_Status
+{
+  NON_VALID  (0),
+  NON_TRUSTED  (1)
+}
+
+
+// AVP: Access-Network-Identifier (281) Ericsson (193)
+type AVP_Grouped Access_Network_Identifier
+
+
+
+// AVP: Incoming-Access-Network-Identifier (282) Ericsson (193)
+type AVP_UTF8String Incoming_Access_Network_Identifier
+
+
+
+// AVP: Outgoing-Access-Network-Identifier (283) Ericsson (193)
+type AVP_UTF8String Outgoing_Access_Network_Identifier
+
+
+
+// AVP: Called-Party-Original-Address (286) Ericsson (193)
+type AVP_UTF8String Called_Party_Original_Address
+
+
+
+// AVP: MMInviteStatus (287) Ericsson (193)
+type enumerated MMInviteStatus
+{
+  MMInvite_sent  (0),
+  MMInvite_delivered  (1)
+}
+
+
+// AVP: Activity-Information (288) Ericsson (193)
+type AVP_Grouped Activity_Information
+
+
+
+// AVP: Feature-Tag (289) Ericsson (193)
+type AVP_OctetString Feature_Tag
+
+
+
+// AVP: Rule-Space-Suggestion (290) Ericsson (193)
+type AVP_UTF8String Rule_Space_Suggestion
+
+
+
+// AVP: Rule-Space-Decision (291) Ericsson (193)
+type AVP_UTF8String Rule_Space_Decision
+
+
+
+// AVP: Bearer-Control-Options (292) Ericsson (193)
+type AVP_Unsigned32 Bearer_Control_Options
+
+
+
+// AVP: Bearer-Control-Reject (293) Ericsson (193)
+type enumerated Bearer_Control_Reject {
+  REJECT_THE_REQUEST (0)
+}
+
+
+
+// AVP: ARP (294) Ericsson (193)
+type AVP_Unsigned32 ARP
+
+
+
+// AVP: Service-Rating-Info (295) Ericsson (193)
+type AVP_Grouped Service_Rating_Info
+
+
+
+// AVP: Instance-Stop-Indication (296) Ericsson (193)
+type enumerated Instance_Stop_Indication
+{
+  Successful_Stop  (0),
+  RE_Unsuccessful_Stop  (1),
+  Unknown_Reason_Stop  (2)
+}
+
+
+// AVP: MMS-Info (297) Ericsson (193)
+type AVP_Grouped MMS_Info
+
+
+
+// AVP: WSP-Info (298) Ericsson (193)
+type AVP_Grouped WSP_Info
+
+
+
+// AVP: HTTP-Info (299) Ericsson (193)
+type AVP_Grouped HTTP_Info
+
+
+
+// AVP: FTP-Info (300) Ericsson (193)
+type AVP_Grouped FTP_Info
+
+
+
+// AVP: RTSP-Info (301) Ericsson (193)
+type AVP_Grouped RTSP_Info
+
+
+
+// AVP: SIP-Info (302) Ericsson (193)
+type AVP_Grouped SIP_Info
+
+
+
+// AVP: MM-Originator (303) Ericsson (193)
+type AVP_UTF8String MM_Originator
+
+
+
+// AVP: MM-Destination (304) Ericsson (193)
+type AVP_UTF8String MM_Destination
+
+
+
+// AVP: MM-CC-Destination (305) Ericsson (193)
+type AVP_UTF8String MM_CC_Destination
+
+
+
+// AVP: MM-BCC-Destination (306) Ericsson (193)
+type AVP_UTF8String MM_BCC_Destination
+
+
+
+// AVP: Content-Location (307) Ericsson (193)
+type AVP_UTF8String Content_Location
+
+
+
+// AVP: Message-Type (308) Ericsson (193)
+type AVP_Unsigned32 Message_Type
+
+
+
+// AVP: URI (309) Ericsson (193)
+type AVP_UTF8String URI
+
+
+
+// AVP: Operator-Defined-Field (310) Ericsson (193)
+type AVP_Grouped Operator_Defined_Field
+
+
+
+// AVP: Field-Name (311) Ericsson (193)
+type AVP_UTF8String Field_Name
+
+
+
+// AVP: Field-Value (312) Ericsson (193)
+type AVP_OctetString Field_Value
+
+
+
+// AVP: Host (313) Ericsson (193)
+type AVP_UTF8String Host
+
+
+
+// AVP: WSP-PDU-Type (314) Ericsson (193)
+type AVP_Unsigned32 WSP_PDU_Type
+
+
+
+// AVP: Request-Method (315) Ericsson (193)
+type AVP_UTF8String Request_Method
+
+
+
+// AVP: File-Name (316) Ericsson (193)
+type AVP_UTF8String File_Name
+
+
+
+// AVP: Command (317) Ericsson (193)
+type AVP_UTF8String Command
+
+
+
+// AVP: Command-Arg (318) Ericsson (193)
+type AVP_UTF8String Command_Arg
+
+
+
+// AVP: Transport-Protocol (319) Ericsson (193)
+type AVP_UTF8String Transport_Protocol
+
+
+
+// AVP: Server-IP-Address (320) Ericsson (193)
+type AVP_UTF8String Server_IP_Address
+
+
+
+// AVP: PDP-Context-Type (321) Ericsson (193)
+type enumerated PDP_Context_Type
+{
+  PRIMARY  (0),
+  SECONDARY  (1)
+}
+
+
+// AVP: Active-Time-Reporting (322) Ericsson (193)
+type enumerated Active_Time_Reporting
+{
+  NO_REPORTING  (0),
+  REPORT_TIME_STAMP  (1),
+  REPORT_TIME_STAMP_VOLUME  (2)
+}
+
+
+// AVP: Active-Time-Report (323) Ericsson (193)
+type AVP_Grouped Active_Time_Report
+
+
+
+// AVP: Active-Time-Report-Start-Time (324) Ericsson (193)
+type AVP_Time Active_Time_Report_Start_Time
+
+
+
+// AVP: Active-Time-Report-End-Time (325) Ericsson (193)
+type AVP_Time Active_Time_Report_End_Time
+
+
+
+// AVP: Time-Quota-Measurement (326) Ericsson (193)
+type AVP_Grouped Time_Quota_Measurement
+
+
+
+// AVP: Time-Quota-Method (327) Ericsson (193)
+type enumerated Time_Quota_Method
+{
+  DURATION  (1),
+  INACTIVITY_INCLUDED  (2),
+  INACTIVITY  (3),
+  ACTIVE_PERIODS  (4)
+}
+
+
+// AVP: Time-Quota-Resolution (328) Ericsson (193)
+type AVP_Unsigned32 Time_Quota_Resolution
+
+
+
+// AVP: Time-Quota-Inactivity-Time (329) Ericsson (193)
+type AVP_Unsigned32 Time_Quota_Inactivity_Time
+
+
+
+// AVP: User-Redirected (330) Ericsson (193)
+type AVP_Grouped User_Redirected
+
+
+
+// AVP: User-Agent (331) Ericsson (193)
+type AVP_UTF8String User_Agent
+
+
+
+// AVP: URL-Modifier (332) Ericsson (193)
+type enumerated URL_Modifier
+{
+  APPEND_URL  (1)
+}
+
+
+// AVP: GPRS-Roaming-Status (333) Ericsson (193)
+type enumerated GPRS_Roaming_Status
+{
+	HOME (0),
+	VISITED (1)
+}
+
+
+// AVP: Wildcarded-PSI (334) Ericsson (193)
+type AVP_UTF8String Wildcarded_PSI
+
+
+
+// AVP: SIP-Ringing-Timestamp (338) Ericsson (193)
+type AVP_Time SIP_Ringing_Timestamp
+
+
+
+// AVP: Quota-Deduction-Start (339) Ericsson (193)
+type enumerated Quota_Deduction_Start
+{
+	SIP_INVITE (0),
+	SIP_180_Ringing (1),
+	SIP_200_OK (2)
+}
+
+
+
+// AVP: Event-NTP-Timestamp (340) Ericsson (193)
+type AVP_OctetString Event_NTP_Timestamp
+
+
+
+// AVP: Granted-Service-Unit (431) Ericsson (193)
+type AVP_Grouped Granted_Service_Unit;
+
+
+
+// AVP: Multiple-Services-Credit-Control (456) Ericsson (193)
+type AVP_Grouped Multiple_Services_Credit_Control;
+
+
+
+// AVP: Used-Service-Unit (446) Ericsson (193)
+type AVP_Grouped Used_Service_Unit;
+
+
+
+// AVP: Reporting-Reason (872) Ericsson (193)
+type enumerated Reporting_Reason {
+  FINAL                   (2),
+  QUOTA_EXHAUSTED         (3),  
+  RATING_CONDITION_CHANGE (6),
+  FORCED_REAUTHORISATION  (7)
+}
+
+
+
+// AVP:	Application-Server-Name	(1001)	
+type AVP_OctetString Application_Server_Name
+
+
+
+// AVP:	Indication (1002)	
+type AVP_Unsigned32 Indication;
+
+
+
+// AVP:	Max-No-Call-Legs-Per-Sessions (1003)	
+type AVP_Unsigned32 Max_No_Call_Legs_Per_Sessions;
+
+
+
+// AVP:	Max-No-Simultaneous-Sessions-Allowed (1004)	
+type AVP_Unsigned32 Max_No_Simultaneous_Sessions_Allowed;
+
+
+
+// AVP: P-CSCF-Name (1005)	
+type AVP_OctetString P_CSCF_Name;
+
+
+
+// AVP: Event-Trigger (1006) Ericsson (193)
+type enumerated Event_Trigger
+{
+  SGSN_CHANGE         (0),
+  QOS_CHANGE          (1),
+  RAT_CHANGE          (2),
+  TFT_CHANGE          (3),
+  PLMN_CHANGE         (4),
+  TIME_CHANGE       (100)
+}
+
+
+
+// AVP: S-CSCF-Name-Originating	(1008)	
+type AVP_OctetString S_CSCF_Name_Originating;
+
+
+	
+// AVP: S-CSCF-Name-Terminating	(1009)	
+type AVP_OctetString S_CSCF_Name_Terminating;
+
+
+
+// AVP: Server-Capability (1010)
+type AVP_OctetString Server_Capability;
+
+
+
+// AVP: SIP-Server-Capabilities (1011)	
+type AVP_Grouped SIP_Server_Capabilities;
+
+
+	
+// AVP:	SIP-Server-Name (1012)	
+type AVP_Grouped SIP_Server_Name;
+
+
+
+// AVP: SIP-Server-Operator-Preference (1013)	
+type AVP_Grouped SIP_Server_Operator_Preference;
+
+
+
+// AVP:	Trigger-Detection-Point (1014)	
+type AVP_Grouped Trigger_Detection_Point;
+
+
+
+// AVP:	Type-Of-Trigger	(1015)	
+type AVP_Grouped Type_Of_Trigger;
+
+
+
+// AVP:	Trigger	(1016)	
+type AVP_Grouped Trigger;
+
+
+	
+// AVP:	User-Data (1017)	
+type AVP_Grouped User_Data;
+
+
+
+// AVP:	Auth-Data-Item (1018)	
+type AVP_Grouped Auth_Data_Item
+
+
+
+// AVP:	Authenticate (1019)	
+type AVP_OctetString Authenticate
+
+
+
+// AVP: Authentication-Scheme (1020)	
+type AVP_Unsigned32 Authentication_Scheme;
+
+
+
+// AVP:	Item-Number (1021)	
+type AVP_Unsigned32 Item_Number;
+
+
+
+// AVP:	Authorization (1022)	
+type AVP_OctetString Authorization
+
+
+
+// AVP:	Authentication-Info (1023)	
+type AVP_OctetString Authentication_Info;
+
+
+
+// AVP: Acc-WS-File (1024) Ericsson (193)
+type AVP_Grouped Acc_WS_File
+
+
+
+// AVP: Acc-WS-Motion (1026) Ericsson (193)
+type AVP_Grouped Acc_WS_Motion
+
+
+
+// AVP:	SIP-Header (1027)	
+type AVP_Grouped SIP_Header;
+
+
+	
+// AVP:	SIP-Header-Name (1028)	
+type AVP_OctetString SIP_Header_Name;
+
+
+
+// AVP: SIP-Header-Content (1029)	
+type AVP_OctetString SIP_Header_Content;
+
+
+
+// AVP: Sent-Volume (1030) Ericsson (193)
+type AVP_Unsigned64 Sent_Volume
+
+
+
+// AVP: Received-Volume (1031) Ericsson (193)
+type AVP_Unsigned64 Received_Volume
+
+
+
+// AVP: Format (1032) Ericsson (193)
+type AVP_UTF8String Format
+
+
+
+// AVP: Unassigned (1033) Ericsson (193)
+type AVP_OctetString Unassigned
+
+
+
+// AVP: Duration (1034) Ericsson (193)
+type AVP_Unsigned64 Duration
+
+
+
+// AVP: WS-Information (1035) Ericsson (193)
+type AVP_Grouped WS_Information
+
+
+
+// AVP: VPN-Information  (1036) Ericsson (193)
+type AVP_Grouped VPN_Information 
+
+
+
+// AVP: Incoming-Dialog (1037) Ericsson (193)
+type AVP_Grouped Incoming_Dialog
+
+
+
+// AVP: Outgoing-Dialog (1038) Ericsson (193)
+type AVP_Grouped Outgoing_Dialog
+
+
+
+// AVP: From (1039) Ericsson (193)
+type AVP_UTF8String From
+
+
+
+// AVP: To (1040) Ericsson (193)
+type AVP_UTF8String To
+
+
+
+// AVP: Trunk-Context (1041) Ericsson (193)
+type AVP_UTF8String Trunk_Context
+
+
+
+// AVP: Route-Header (1042) Ericsson (193)
+type AVP_UTF8String Route_Header
+
+
+
+// AVP: Company-Name (1043) Ericsson (193)
+type AVP_UTF8String Company_Name
+
+
+
+// AVP: Group-Name (1044) Ericsson (193)
+type AVP_UTF8String Group_Name
+
+
+
+// AVP: Originating-Site-Name (1045) Ericsson (193)
+type AVP_UTF8String Originating_Site_Name
+
+
+
+// AVP: Terminating-Site-Name (1046) Ericsson (193)
+type AVP_UTF8String Terminating_Site_Name
+
+
+
+// AVP: Service-Code (1047) Ericsson (193)
+type AVP_UTF8String Service_Code
+
+
+
+// AVP: Type-Of-Access (1048) Ericsson (193)
+type AVP_UTF8String Type_Of_Access
+
+
+
+// AVP: Call-Type (1049) Ericsson (193)
+type AVP_UTF8String Call_Type
+
+
+
+// AVP: Service-Subscriber-Id (1050) Ericsson (193)
+type AVP_UTF8String Service_Subscriber_Id
+
+
+
+// AVP: Cost-Distribution-Code (1051) Ericsson (193)
+type AVP_UTF8String Cost_Distribution_Code
+
+
+
+// AVP: Type-of-Termination (1052) Ericsson (193)
+type AVP_UTF8String Type_of_Termination
+
+
+
+// AVP: Private-Number-Calling-Party (1053) Ericsson (193)
+type AVP_UTF8String Private_Number_Calling_Party
+
+
+
+// AVP: Private-Number-Called-Party (1054) Ericsson (193)
+type AVP_UTF8String Private_Number_Called_Party
+
+
+
+// AVP: Charging-Rule-Authorization (1055) Ericsson (193)
+type AVP_Grouped Charging_Rule_Authorization
+
+
+
+// AVP: Authorization-State (1056) Ericsson (193)
+type enumerated Authorization_State 
+{
+  AUTHORIZED (0),
+  UNAUTHORIZED_DUE_TO_CALENDAR_TIME (1),
+  UNAUTHORIZED_DUE_TO_ROAMING (2),
+  UNAUTHORIZED_DUE_TO_QOS (3),
+  UNAUTHORIZED_DUE_TO_BLACKLISTING (4),
+  UNAUTHORIZED_DUE_TO_TERMINAL_LIMITATIONS (5),
+  UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_1 (6),
+  UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_2 (7),
+  UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_3 (8),
+  UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_4 (9),
+  UNAUTHORIZED_DUE_TO_USER_DEFINED_REASON_5 (10),
+  UNAUTHORIZED_DUE_TO_UNKNOWN_REASON (11),
+  UNAUTHORIZED_DUE_TO_USAGE_REPORTING_OVER_GX_QBAU (12)
+} 
+
+
+
+// AVP: Authorization-State-Change-Time (1057) Ericsson (193)
+type AVP_Time Authorization_State_Change_Time
+
+
+
+// AVP: Authorization-Validity-Time (1058) Ericsson (193)
+type AVP_Time Authorization_Validity_Time
+
+
+
+// AVP: Next-Authorization-State (1059) Ericsson (193)
+type enumerated Next_Authorization_State
+{
+  NEXT_STATE_AUTHORIZED  (0),
+  NEXT_STATE_DENIED_CALENDAR_TIME  (1)
+}
+
+
+// AVP: Gx-Capability-List (1060) Ericsson (193)
+type AVP_Unsigned32 Gx_Capability_List
+
+
+
+// AVP: Time-Zone (1062) Ericsson (193)
+type AVP_UTF8String Time_Zone
+
+
+
+// AVP: User-URL (1069) Ericsson (193)
+type AVP_UTF8String User_URL
+
+
+
+// AVP: Redirect-Acknowledgement (1070) Ericsson (193)
+type AVP_UTF8String Redirect_Acknowledgement
+
+
+
+// AVP: Default-Handling (1071) Ericsson (193)
+type enumerated Default_Handling
+{
+  SESSION_CONTINUED  (0),
+  SESSION_TERMINATED  (1)
+}
+
+
+// AVP: Subscribed-Media-Profile (1072) Ericsson (193)
+type AVP_Unsigned32 Subscribed_Media_Profile
+
+
+
+// AVP: Account-Location (1073) Ericsson (193)
+type AVP_Unsigned32 Account_Location
+
+
+// AVP: Other-Party-Id-MNP-RN (1079) Ericsson (193)
+type AVP_UTF8String Other_Party_Id_MNP_RN
+
+
+
+// AVP: Other-Party-Id-Location (1080) Ericsson (193)
+type AVP_UTF8String Other_Party_Id_Location
+
+
+
+// AVP: Packets-Discarded-Filtering (1087) Ericsson (193)
+type AVP_Unsigned64 Packets_Discarded_Filtering
+
+
+
+// AVP: Octets-Discarded-Filtering (1088) Ericsson (193)
+type AVP_Unsigned64 Octets_Discarded_Filtering
+
+
+
+// AVP: Packets-Discarded-Policing (1089) Ericsson (193)
+type AVP_Unsigned64 Packets_Discarded_Policing
+
+
+
+// AVP: Octets-Discarded-Policing (1090) Ericsson (193)
+type AVP_Unsigned64 Octets_Discarded_Policing
+
+
+
+// AVP: Packets-Out-Of-Sequence (1091) Ericsson (193)
+type AVP_Unsigned64 Packets_Out_Of_Sequence
+
+
+
+// AVP: Packets-Lost (1092) Ericsson (193)
+type AVP_Unsigned64 Packets_Lost
+
+
+
+// AVP: RTCP-Reported-Average-Jitter (1093) Ericsson (193)
+type AVP_Unsigned32 RTCP_Reported_Average_Jitter
+
+
+
+// AVP: RTCP-Reported-Packets-Lost (1094) Ericsson (193)
+type AVP_Unsigned64 RTCP_Reported_Packets_Lost
+
+
+
+// AVP: Accepted-MRSP-Chunks (1095) Ericsson (193)
+type AVP_Unsigned64 Accepted_MRSP_Chunks
+
+
+
+// AVP: Discarded-MSRP-Chunks (1096) Ericsson (193)
+type AVP_Unsigned64 Discarded_MSRP_Chunks
+
+
+
+// AVP: User-IP-Address (1097) Ericsson (193)
+type AVP_IP_Address User_IP_Address
+
+
+
+// AVP: Location (1098) Ericsson (193)
+type AVP_Grouped Location
+
+
+
+// AVP: Network-Location (1099) Ericsson (193)
+type AVP_UTF8String Network_Location
+
+
+
+// AVP: User-Side (1100) Ericsson (193)
+type enumerated User_Side
+{
+  Calling_side  (0),
+  Called_side  (1)
+}
+
+
+// AVP: Ericsson-Requested-Domain (1102) Ericsson (193)
+type enumerated Ericsson_Requested_Domain
+{
+  IPCAN_Domain  (0)
+}
+
+
+// AVP: Other-Party-Id-MNP (1103) Ericsson (193)
+type AVP_Grouped Other_Party_Id_MNP
+
+
+
+// AVP: Other-Party-Id-MNP-IMSI (1104) Ericsson (193)
+type AVP_UTF8String Other_Party_Id_MNP_IMSI
+
+
+
+// AVP: Other-Party-Id-MNP-Result (1105) Ericsson (193)
+type AVP_Unsigned32 Other_Party_Id_MNP_Result
+
+
+
+// AVP: Core-Announcement-Data (1106) Ericsson (193)
+type AVP_Grouped Core_Announcement_Data
+
+
+
+// AVP: Core-Announcement-Logic (1107) Ericsson (193)
+type enumerated Core_Announcement_Logic
+{
+  Play_to_none_of_the_parties  (0),
+  Play_to_calling_party  (1),
+  Play_to_called_party  (2),
+  Play_to_both_parties  (3)
+}
+
+
+// AVP: Core-Announcement-Code (1108) Ericsson (193)
+type AVP_Unsigned32 Core_Announcement_Code
+
+
+
+// AVP: Core-Immediate-Announcement (1109) Ericsson (193)
+type AVP_Grouped Core_Immediate_Announcement
+
+
+
+// AVP: Core-Announcement-Id (1110) Ericsson (193)
+type AVP_Unsigned32 Core_Announcement_Id
+
+
+
+// AVP: Core-Announcement-Variable (1111) Ericsson (193)
+type AVP_Grouped Core_Announcement_Variable
+
+
+
+// AVP: Core-Announcement-Variable-Date (1112) Ericsson (193)
+type AVP_UTF8String Core_Announcement_Variable_Date
+
+
+
+// AVP: Core-Announcement-Variable-Id (1113) Ericsson (193)
+type AVP_Unsigned32 Core_Announcement_Variable_Id
+
+
+
+// AVP: Core-Announcement-Variable-Integer (1114) Ericsson (193)
+type AVP_Unsigned32 Core_Announcement_Variable_Integer
+
+
+
+// AVP: Core-Announcement-Variable-Number (1115) Ericsson (193)
+type AVP_UTF8String Core_Announcement_Variable_Number
+
+
+
+// AVP: Core-Announcement-Variable-Time (1116) Ericsson (193)
+type AVP_UTF8String Core_Announcement_Variable_Time
+
+
+
+// AVP: Core-Mid-Time-Announcement (1117) Ericsson (193)
+type AVP_Grouped Core_Mid_Time_Announcement
+
+
+
+// AVP: Core-Announcement-Mid-Time-Moment (1118) Ericsson (193)
+type AVP_Unsigned32 Core_Announcement_Mid_Time_Moment
+
+
+
+// AVP: Core-End-Time-Announcement (1119) Ericsson (193)
+type AVP_Grouped Core_End_Time_Announcement
+
+
+
+// AVP: Primary-Interexchange-Carrier (1120) Ericsson (193)
+type AVP_UTF8String Primary_Interexchange_Carrier
+
+
+
+// AVP: Service-Extension (1123) Ericsson (193)
+type AVP_Unsigned32 Service_Extension
+
+
+
+// AVP: SMSC-Address (1124) Ericsson (193)
+type AVP_UTF8String SMSC_Address
+
+
+
+// AVP: Subscription-Type (1126) Ericsson (193)
+type AVP_Unsigned32 Subscription_Type
+
+
+
+// AVP: Conference-Id (1127) Ericsson (193)
+type AVP_UTF8String Conference_Id
+
+
+
+// AVP: Related-ICID (1128) Ericsson (193)
+type AVP_UTF8String Related_ICID
+
+
+
+// AVP: Conference-Participant-Count (1132) Ericsson (193)
+type AVP_Unsigned32 Conference_Participant_Count
+
+
+
+// AVP: Aware-Policy-based-Routing-Profile (1134) Ericsson (193)
+type AVP_UTF8String Aware_Policy_based_Routing_Profile
+
+
+
+// AVP: PS-Previous-Information (1140) Ericsson (193)
+type AVP_Grouped PS_Previous_Information
+
+
+
+// AVP: Calling-Party-Address-Presentation-Status (1141) Ericsson (193)
+type enumerated Calling_Party_Address_Presentation_Status
+{
+  PRESENTATION_ALLOWED  (0),
+  PRESENTATION_RESTRICTED  (1),
+  UNKNOWN  (2)
+}
+
+
+// AVP: Called-Asserted-Identity-Presentation-Status (1142) Ericsson (193)
+type enumerated Called_Asserted_Identity_Presentation_Status
+{
+  PRESENTATION_ALLOWED  (0),
+  PRESENTATION_RESTRICTED  (1)
+}
+
+
+// AVP: Credit-Instance-Id (1143) Ericsson (193)
+type AVP_OctetString Credit_Instance_Id
+
+
+
+// AVP: Service-Start-Timestamp (1144) Ericsson (193)
+type AVP_Time Service_Start_Timestamp
+
+
+
+// AVP: Cumulative-Used-Service-Unit (1145) Ericsson (193)
+type AVP_Grouped Cumulative_Used_Service_Unit
+
+
+
+// AVP: Customer-Id (1146) Ericsson (193)
+type AVP_OctetString Customer_Id
+
+
+
+// AVP: MCID-Information (1147) Ericsson (193)
+type AVP_Grouped MCID_Information
+
+
+
+// AVP: MCID-Register-Timestamp (1152) Ericsson (193)
+type AVP_Time MCID_Register_Timestamp
+
+
+
+// AVP: Conference-Service-Information (1154) Ericsson (193)
+type AVP_Unsigned32 Conference_Service_Information
+
+
+
+// AVP: Originating-Identity-Restriction-Service-Information (1155) Ericsson (193)
+type enumerated Originating_Identity_Restriction_Service_Information
+{
+  Temporary_mode_restrict_identity_only  (0),
+  Temporary_mode_restrict_all_private_information  (1),
+  Permanent_mode_restrict_identity_only  (100),
+  Permanent_mode_restrict_all_private_information  (101)
+}
+
+
+// AVP: Extension-Field (1156) Ericsson (193)
+type AVP_Grouped Extension_Field
+
+
+
+// AVP: Extension-Field-Type (1157) Ericsson (193)
+type AVP_Unsigned32 Extension_Field_Type
+
+
+
+// AVP: Extension-Field-Value (1158) Ericsson (193)
+type AVP_OctetString Extension_Field_Value
+
+
+
+// AVP: Terminating-Identity-Restriction-Service-Information (1161) Ericsson (193)
+type enumerated Terminating_Identity_Restriction_Service_Information
+{
+  Temporary_mode  (0),
+  Permanent_mode  (100)
+}
+
+
+// AVP: Malicious-Communication-Identification-Service-Information (1162) Ericsson (193)
+type enumerated Malicious_Communication_Identification_Service_Information
+{
+  Temporary_mode  (0),
+  Permanent_mode  (100)
+}
+
+
+// AVP: Ericsson-Final-Unit-Indication-Validity-Time (1163) Ericsson (193)
+type AVP_UTF8String Ericsson_Final_Unit_Indication_Validity_Time
+
+
+
+// AVP: Ericsson-QoS-Profile (1164) Ericsson (193)
+type AVP_Grouped Ericsson_QoS_Profile
+
+
+
+// AVP: Traffic-Class (1165) Ericsson (193)
+type enumerated Traffic_Class
+{
+	Subscribed (0),
+	Conversational (1),
+	Streaming (2),
+	Interactive (3),
+	Background (4)
+}
+
+
+
+
+// AVP: Guaranteed-Bit-Rate-For-Uplink (1166) Ericsson (193)
+type AVP_Unsigned32 Guaranteed_Bit_Rate_For_Uplink
+
+
+
+// AVP: Guaranteed-Bit-Rate-For-Uplink-Subscribed (1167) Ericsson (193)
+type enumerated Guaranteed_Bit_Rate_For_Uplink_Subscribed
+{
+  SPECIFIED_BY_OTHER_PARAMETER  (0),
+  SUBSCRIBED  (1)
+}
+
+
+// AVP: Guaranteed-Bit-Rate-For-Downlink (1168) Ericsson (193)
+type AVP_Unsigned32 Guaranteed_Bit_Rate_For_Downlink
+
+
+
+// AVP: Guaranteed-Bit-Rate-For-Downlink-Subscribed (1169) Ericsson (193)
+type enumerated Guaranteed_Bit_Rate_For_Downlink_Subscribed
+{
+  SPECIFIED_BY_OTHER_PARAMETER  (0),
+  SUBSCRIBED  (1)
+}
+
+
+// AVP: Ericsson-Geographical-Location (1170) Ericsson (193)
+type AVP_Grouped Ericsson_Geographical_Location
+
+
+
+// AVP: Ericsson-Location-MCC-MNC (1171) Ericsson (193)
+type AVP_UTF8String Ericsson_Location_MCC_MNC
+
+
+
+// AVP: Ericsson-Location-Area-Code (1172) Ericsson (193)
+type AVP_OctetString Ericsson_Location_Area_Code
+
+
+
+// AVP: Ericsson-Geo-Location-Cell-Identity (1173) Ericsson (193)
+type AVP_OctetString Ericsson_Geo_Location_Cell_Identity
+
+
+
+// AVP: Ericsson-Geo-Location-Service-Area-Code (1174) Ericsson (193)
+type AVP_OctetString Ericsson_Geo_Location_Service_Area_Code
+
+
+
+// AVP: Ericsson-Geo-Location-Routing-Area-Code (1175) Ericsson (193)
+type AVP_OctetString Ericsson_Geo_Location_Routing_Area_Code
+
+
+
+// AVP: MCID-Calling-Party-Address (1176) Ericsson (193)
+type AVP_UTF8String MCID_Calling_Party_Address
+
+
+
+// AVP: MCID-Called-Party-Address (1177) Ericsson (193)
+type AVP_UTF8String MCID_Called_Party_Address
+
+
+
+// AVP: Occurrence-Timestamp (1178) Ericsson (193)
+type AVP_Time Occurrence_Timestamp
+
+
+
+// AVP: Occurrence-Timestamp-Milliseconds (1179) Ericsson (193)
+type AVP_Unsigned32 Occurrence_Timestamp_Milliseconds
+
+
+
+// AVP: SIP-Request-Timestamp-Milliseconds (1180) Ericsson (193)
+type AVP_Unsigned32 SIP_Request_Timestamp_Milliseconds
+
+
+
+// AVP: SIP-Response-Timestamp-Milliseconds (1181) Ericsson (193)
+type AVP_Unsigned32 SIP_Response_Timestamp_Milliseconds
+
+
+
+// AVP: Session-Priority (1182) Ericsson (193)
+type enumerated Session_Priority
+{
+  Normal  (0),
+  Emergency  (1)
+}
+
+
+
+// AVP: R-Index-Value (1190) Ericsson (193)
+type AVP_Integer32 R_Index_Value
+
+
+
+// AVP: Ericsson-Location-Number (1191) Ericsson (193)
+type AVP_OctetString Ericsson_Location_Number
+
+
+
+// AVP: VLR-Number (1195) Ericsson (193)
+type AVP_UTF8String VLR_Number
+
+
+
+// AVP: Subscription-Id-Nature (1196) Ericsson (193)
+type AVP_Unsigned32 Subscription_Id_Nature
+
+
+
+// AVP: Ericsson-Subscription-Event (1200) Ericsson (193)
+type enumerated Ericsson_Subscription_Event
+{
+  Session_Termination  (0),
+  Subscriptions_Lost  (1)
+}
+
+
+// AVP: Ericsson-Multiple-Entries-Limit (1201) Ericsson (193)
+type AVP_OctetString Ericsson_Multiple_Entries_Limit
+
+
+
+// AVP: Ericsson-Subscription-Tag (1202) Ericsson (193)
+type AVP_Unsigned32 Ericsson_Subscription_Tag
+
+
+
+// AVP: Ericsson-Subscription-Trigger-Data (1203) Ericsson (193)
+type AVP_OctetString Ericsson_Subscription_Trigger_Data
+
+
+
+// AVP: Ericsson-Subscription-Context (1204) Ericsson (193)
+type enumerated Ericsson_Subscription_Context
+{
+  Current_active_sessions  (0),
+  Current_active_sessions_and_new_sessions  (1)
+}
+
+
+// AVP: Ericsson-Subscription-Session-Scope (1205) Ericsson (193)
+type enumerated Ericsson_Subscription_Session_Scope
+{
+  Individual_session  (0),
+  Set_of_sessions  (1)
+}
+
+
+// AVP: GSM-Call-Reference-Number (1206) Ericsson (193)
+type AVP_UTF8String GSM_Call_Reference_Number
+
+
+
+// AVP: MSC-Address (1207) Ericsson (193)
+type AVP_UTF8String MSC_Address
+
+
+
+// AVP: Calling-Party (1208) Ericsson (193)
+type AVP_Grouped Calling_Party
+
+
+
+// AVP: Calling-Party-Type (1209) Ericsson (193)
+type AVP_Unsigned32 Calling_Party_Type
+
+
+
+// AVP: Calling-Party-Value (1210) Ericsson (193)
+type AVP_UTF8String Calling_Party_Value
+
+
+
+// AVP: Calling-Party-Location (1211) Ericsson (193)
+type AVP_Grouped Calling_Party_Location
+
+
+
+// AVP: Calling-Party-Location-Number (1212) Ericsson (193)
+type AVP_UTF8String Calling_Party_Location_Number
+
+
+
+// AVP: Calling-Party-Location-Cell-Id (1213) Ericsson (193)
+type AVP_UTF8String Calling_Party_Location_Cell_Id
+
+
+
+// AVP: Calling-Party-Location-Indicator (1214) Ericsson (193)
+type AVP_Unsigned32 Calling_Party_Location_Indicator
+
+
+
+// AVP: Called-Party (1215) Ericsson (193)
+type AVP_Grouped Called_Party
+
+
+
+// AVP: Called-Party-Type (1216) Ericsson (193)
+type AVP_Unsigned32 Called_Party_Type
+
+
+
+// AVP: Called-Party-Value (1217) Ericsson (193)
+type AVP_UTF8String Called_Party_Value
+
+
+
+// AVP: Called-Party-Location (1218) Ericsson (193)
+type AVP_Grouped Called_Party_Location
+
+
+
+// AVP: Called-Party-Location-Number (1219) Ericsson (193)
+type AVP_UTF8String Called_Party_Location_Number
+
+
+
+// AVP: Called-Party-Location-Cell-Id (1220) Ericsson (193)
+type AVP_UTF8String Called_Party_Location_Cell_Id
+
+
+
+// AVP: Called-Party-Location-Indicator (1221) Ericsson (193)
+type AVP_Unsigned32 Called_Party_Location_Indicator
+
+
+
+// AVP: Called-Party-Network-Id (1222) Ericsson (193)
+type AVP_Unsigned32 Called_Party_Network_Id
+
+
+
+// AVP: Redirecting-Party (1223) Ericsson (193)
+type AVP_Grouped Redirecting_Party
+
+
+
+// AVP: CRedirecting-Party-Type (1224) Ericsson (193)
+type AVP_Unsigned32 CRedirecting_Party_Type
+
+
+
+// AVP: Redirecting-Party-Value (1225) Ericsson (193)
+type AVP_UTF8String Redirecting_Party_Value
+
+
+
+// AVP: Other-Numbers (1226) Ericsson (193)
+type AVP_Grouped Other_Numbers
+
+
+
+// AVP: Dialled-Number (1227) Ericsson (193)
+type AVP_UTF8String Dialled_Number
+
+
+
+// AVP:  Additional-Calling-Party-Number (1228) Ericsson (193)
+type AVP_UTF8String  Additional_Calling_Party_Number
+
+
+
+// AVP: Presented-Special-Number (1229) Ericsson (193)
+type AVP_UTF8String Presented_Special_Number
+
+
+
+// AVP: Mobile-Charging-Number (1230) Ericsson (193)
+type AVP_UTF8String Mobile_Charging_Number
+
+
+
+// AVP: Call-Data (1231) Ericsson (193)
+type AVP_Grouped Call_Data
+
+
+
+// AVP: Service-Traffic-Case (1232) Ericsson (193)
+type AVP_Unsigned32 Service_Traffic_Case
+
+
+
+// AVP: Requested-Bearer-Capability (1233) Ericsson (193)
+type AVP_Unsigned32 Requested_Bearer_Capability
+
+
+
+// AVP: Roaming-Information (1234) Ericsson (193)
+type AVP_Unsigned32 Roaming_Information
+
+
+
+// AVP: Function-Trace (1235) Ericsson (193)
+type AVP_UTF8String Function_Trace
+
+
+
+// AVP: Function-Trace-Overflow (1236) Ericsson (193)
+type AVP_UTF8String Function_Trace_Overflow
+
+
+
+// AVP: Call-Answering-Time (1237) Ericsson (193)
+type AVP_Time Call_Answering_Time
+
+
+
+// AVP: Same-Office-Zone-Indicator (1238) Ericsson (193)
+type AVP_Unsigned32 Same_Office_Zone_Indicator
+
+
+
+// AVP: Extended-Call-Type (1239) Ericsson (193)
+type AVP_Grouped Extended_Call_Type
+
+
+
+// AVP: Unrestricted-Call-Indicator (1240) Ericsson (193)
+type AVP_Unsigned32 Unrestricted_Call_Indicator
+
+
+
+// AVP: Pay-Phone-Indicator (1241) Ericsson (193)
+type AVP_Unsigned32 Pay_Phone_Indicator
+
+
+
+// AVP: Calling-Party-Location-Area-Indicator (1242) Ericsson (193)
+type AVP_Unsigned32 Calling_Party_Location_Area_Indicator
+
+
+
+// AVP: SCalled-Party-Location-Area-Indicator (1243) Ericsson (193)
+type AVP_Unsigned32 SCalled_Party_Location_Area_Indicator
+
+
+
+// AVP: On-Net-Indicator2 (1244) Ericsson (193)
+type AVP_Unsigned32 On_Net_Indicator2
+
+
+
+// AVP: Extended-Service-Traffic-Case (1245) Ericsson (193)
+type AVP_Unsigned32 Extended_Service_Traffic_Case
+
+
+
+// AVP: Final-Service-Unit (1246) Ericsson (193)
+type AVP_Grouped Final_Service_Unit
+
+
+
+// AVP: Extra-Cost-Distribution-Code (1247) Ericsson (193)
+type AVP_UTF8String Extra_Cost_Distribution_Code
+
+
+
+// AVP: NTP-Timestamps (1248) Ericsson (193)
+type AVP_Grouped NTP_Timestamps
+
+
+
+// AVP: SIP-Request-NTP-Timestamp (1249) Ericsson (193)
+type AVP_OctetString SIP_Request_NTP_Timestamp
+
+
+
+// AVP: SIP-Response-NTP-Timestamp (1250) Ericsson (193)
+type AVP_OctetString SIP_Response_NTP_Timestamp
+
+
+
+// AVP: Threshold-Selection (1251) Ericsson (193)
+type enumerated Threshold_Selection
+{
+  CONSIDER_PRE_PAID_EMPTY_LIMIT_THRESHOLD  (0),
+  CONSIDER_POST_PAID_EMPTY_LIMIT_THRESHOLD  (1)
+}
+
+
+// AVP: Originating-User-Agent (1252) Ericsson (193)
+type AVP_UTF8String Originating_User_Agent
+
+
+
+// AVP: Terminating-User-Agent (1253) Ericsson (193)
+type AVP_UTF8String Terminating_User_Agent
+
+
+
+// AVP: System-Load (1257) Ericsson (193)
+type AVP_Grouped System_Load
+
+
+
+// AVP: System-Percentage-Load (1258) Ericsson (193)
+type AVP_Unsigned32 System_Percentage_Load
+
+
+
+// AVP: System-Load-Age (1259) Ericsson (193)
+type AVP_Unsigned32 System_Load_Age
+
+
+
+// AVP: End-User-Message (1260) Ericsson (193)
+type AVP_UTF8String End_User_Message
+
+
+
+// AVP: Authentication-Method (1261) Ericsson (193)
+type enumerated Authentication_Method
+{
+	NoAuthentication (0),
+	AkaAuthentication (1),
+	NassBundledAuthentication (2),
+	DigestAuthentication (3),
+	SsoAuthentication (4)
+}
+
+
+// AVP: Zone-Id (1263) Ericsson (193)
+type AVP_Unsigned32 Zone_Id
+
+
+
+// AVP: Reserved-Amount (1269) Ericsson (193)
+type AVP_Grouped Reserved_Amount
+
+
+
+// AVP: Deducted-Amount (1270) Ericsson (193)
+type AVP_Grouped Deducted_Amount
+
+
+
+// AVP: BCS-Information (1271) Ericsson (193)
+type AVP_Grouped BCS_Information
+
+
+
+// AVP: On-Net-Indicator (1272) Ericsson (193)
+type enumerated On_Net_Indicator
+{
+	Indicates_Offnet (0),
+	Indicates_Onnet	(1)
+}
+
+
+
+// AVP: OFeature-Name (1273) Ericsson (193)
+type AVP_UTF8String OFeature_Name
+
+
+
+// AVP: Charging-From-Triggering (1274) Ericsson (193)
+type enumerated Charging_From_Triggering
+{
+  CHARGING_FROM_TRIGGER_APPLICABLE  (1)
+}
+
+
+// AVP: Tariff-Triggering (1275) Ericsson (193)
+type enumerated Tariff_Triggering
+{
+  PRICE_FACTOR_TREE_TRIGGERING  (1)
+}
+
+
+// AVP: Service-Key (1276) Ericsson (193)
+type AVP_Unsigned32 Service_Key
+
+
+
+// AVP: Subscription-Id-VPN-Location-Indicator (1277) Ericsson (193)
+type AVP_Unsigned32 Subscription_Id_VPN_Location_Indicator
+
+
+
+// AVP: Subscription-Id-VPN-Private-Number (1278) Ericsson (193)
+type AVP_Unsigned32 Subscription_Id_VPN_Private_Number
+
+
+
+// AVP: Other-Party-Id-VPN-Location-Indicator (1279) Ericsson (193)
+type AVP_Unsigned32 Other_Party_Id_VPN_Location_Indicator
+
+
+
+// AVP: Other-Party-Id-VPN-Private-Number (1280) Ericsson (193)
+type AVP_UTF8String Other_Party_Id_VPN_Private_Number
+
+
+
+// AVP: SMS-Reference-Number (1281) Ericsson (193)
+type AVP_UTF8String SMS_Reference_Number
+
+
+
+// AVP: Redirecting-Party-Nature (1282) Ericsson (193)
+type enumerated Redirecting_Party_Nature
+{
+  Unknown  (0),
+  International  (1),
+  National  (2)
+}
+
+
+// AVP: Chargeable-Corporate-Number (1283) Ericsson (193)
+type AVP_Grouped Chargeable_Corporate_Number
+
+
+
+// AVP: Chargeable-Corporate-Number-Type (1284) Ericsson (193)
+type enumerated Chargeable_Corporate_Number_Type
+{
+  END_USER_E164  (0),
+  END_USER_IMSI  (1),
+  END_USER_SIP_URI  (2),
+  END_USER_NAI  (3)
+}
+
+
+// AVP: Chargeable-Corporate-Number-Data (1285) Ericsson (193)
+type AVP_UTF8String Chargeable_Corporate_Number_Data
+
+
+
+// AVP: IMSI (1286) Ericsson (193)
+type AVP_UTF8String IMSI
+
+
+
+// AVP: Bearer-Capability (1287) Ericsson (193)
+type AVP_OctetString Bearer_Capability
+
+
+
+// AVP: Authorization-Code (1288) Ericsson (193)
+type AVP_UTF8String Authorization_Code
+
+
+
+// AVP: Redirection-Information (1289) Ericsson (193)
+type AVP_Grouped Redirection_Information
+
+
+
+// AVP: Original-Redirection-Reason (1290) Ericsson (193)
+type enumerated Original_Redirection_Reason
+{
+  Unknown_not_available  (0),
+  User_busy  (1),
+  No_reply  (2),
+  Unconditional  (3)
+}
+
+
+// AVP: Redirection-Indicator (1291) Ericsson (193)
+type AVP_Unsigned32 Redirection_Indicator
+
+
+
+// AVP: Redirection-Reason (1292) Ericsson (193)
+type AVP_Unsigned32 Redirection_Reason
+
+
+
+// AVP: Redirection-Counter (1293) Ericsson (193)
+type AVP_Unsigned32 Redirection_Counter
+
+
+
+// AVP: Charging-Suppression-At-Forwarding (1294) Ericsson (193)
+type enumerated Charging_Suppression_At_Forwarding
+{
+  Do_not_suppress_charging_at_call_forwarding  (0),
+  Suppress_charging_at_call_forwarding  (1)
+}
+
+
+// AVP: Charging-Suppressed (1295) Ericsson (193)
+type enumerated Charging_Suppressed
+{
+  Suppression_of_charging_at_call_forwarding_has_not_been_used  (0),
+  Suppression_of_charging_at_call_forwarding_has_been_used  (1)
+}
+
+
+
+// AVP: Original-OtherParty-Id (1304) Ericsson (193)
+type AVP_Grouped Original_OtherParty_Id
+
+
+
+// AVP: Disconnect-Direction (1305) Ericsson (193)
+type enumerated Disconnect_Direction
+{
+  Originating_side  (0),
+  Terminating_side  (1),
+  Network  (2)
+}
+
+
+// AVP: RACS-Result-Code (1306) Ericsson (193)
+type AVP_Unsigned32 RACS_Result_Code
+
+
+// AVP: Common-Policy-Rule-Id (1308) Ericsson (193)
+type AVP_UTF8String Common_Policy_Rule_Id
+
+
+
+// AVP: Global-Call-Reference (1309) Ericsson (193)
+type AVP_UTF8String Global_Call_Reference
+
+
+
+// AVP: MCX-Company-Type (1310) Ericsson (193)
+type AVP_Unsigned32 MCX_Company_Type
+
+
+
+// AVP: MCX-Call-Info (1311) Ericsson (193)
+type AVP_Unsigned32 MCX_Call_Info
+
+
+
+// AVP: MCX-Prefix (1312) Ericsson (193)
+type AVP_UTF8String MCX_Prefix
+
+
+
+// AVP: MCX-Redirect-Party-Prefix (1313) Ericsson (193)
+type AVP_UTF8String MCX_Redirect_Party_Prefix
+
+
+
+// AVP: Business-Personal-Indicator (1324) Ericsson (193)
+type AVP_Unsigned32 Business_Personal_Indicator
+
+
+
+// AVP: Version-Number (1325) Ericsson (193)
+type AVP_Unsigned32 Version_Number
+
+
+
+// AVP: Requested-Subscription-Data (1326) Ericsson (193)
+type AVP_Unsigned32 Requested_Subscription_Data
+
+
+
+// AVP: IVR-Class (1327) Ericsson (193)
+type AVP_Unsigned32 IVR_Class
+
+
+
+// AVP: Account-Balance (1328) Ericsson (193)
+type AVP_Grouped Account_Balance
+
+
+
+// AVP: Announcement-Language-Id (1329) Ericsson (193)
+type AVP_Unsigned32 Announcement_Language_Id
+
+
+
+// AVP: Served-User (1330) Ericsson (193)
+type AVP_UTF8String Served_User
+
+
+
+// AVP: Call-Move-Information (1333) Ericsson (193)
+type AVP_Grouped Call_Move_Information
+
+
+
+// AVP: Call-Move-Timestamp (1334) Ericsson (193)
+type AVP_Time Call_Move_Timestamp
+
+
+
+// AVP: Call-Move-Calling-Party-Address (1335) Ericsson (193)
+type AVP_UTF8String Call_Move_Calling_Party_Address
+
+
+
+// AVP: Call-Move-Called-Party-Address (1336) Ericsson (193)
+type AVP_UTF8String Call_Move_Called_Party_Address
+
+
+
+// AVP: Call-Move-IMS-Charging-Identifier (1337) Ericsson (193)
+type AVP_UTF8String Call_Move_IMS_Charging_Identifier
+
+
+
+// AVP: Call-Move-IOI (1338) Ericsson (193)
+type AVP_UTF8String Call_Move_IOI
+
+
+
+// AVP: Call-Move-Access-Network-Information (1339) Ericsson (193)
+type AVP_OctetString Call_Move_Access_Network_Information
+
+
+
+// AVP: Ericsson-Geo-Location-ECI (1340) Ericsson (193)
+type AVP_OctetString Ericsson_Geo_Location_ECI
+
+
+
+// AVP: Ericsson-Geo-Location-Tracking-Area-Code (1341) Ericsson (193)
+type AVP_OctetString Ericsson_Geo_Location_Tracking_Area_Code
+
+
+
+// AVP: Ericsson-Access-Classification (1342) Ericsson (193)
+type AVP_OctetString Ericsson_Access_Classification
+
+
+
+// AVP: Ericsson-Geographical-Location-Extended (1343) Ericsson (193)
+type AVP_Grouped Ericsson_Geographical_Location_Extended
+
+
+
+// AVP: Operation-Type (1344) Ericsson (193)
+type AVP_Unsigned32 Operation_Type
+
+
+
+// AVP: Remote-Charging-Data (1345) Ericsson (193)
+type AVP_OctetString Remote_Charging_Data
+
+
+
+// AVP: XCON-Id (1346) Ericsson (193)
+type AVP_UTF8String XCON_Id
+
+
+// AVP: Party-To-Charge (1357) Ericsson (193)
+type AVP_Unsigned32 Party_To_Charge
+
+
+
+// AVP: Ericsson-Geo-Location-Timing-Advance-Index (1359) Ericsson (193)
+type AVP_OctetString Ericsson_Geo_Location_Timing_Advance_Index
+
+
+
+// AVP: Deprecated (1360) Ericsson (193)
+type AVP_OctetString Deprecated
+
+
+
+// AVP: Account-Id (1361) Ericsson (193)
+type AVP_OctetString Account_Id
+
+
+
+// AVP: Account-Type (1362) Ericsson (193)
+type enumerated Account_Type
+{
+  E_MONEY  (1),
+  COMMISSIONING  (2),
+  LOYALTY_POINTS  (3)
+}
+
+
+// AVP: Commissioning-Type (1363) Ericsson (193)
+type enumerated Commissioning_Type
+{
+  PARENT  (1),
+  SERVING  (2)
+}
+
+
+// AVP: Country-Name (1364) Ericsson (193)
+type AVP_UTF8String Country_Name
+
+
+
+// AVP: Currency-Name (1365) Ericsson (193)
+type AVP_UTF8String Currency_Name
+
+
+
+// AVP: Fee (1366) Ericsson (193)
+type AVP_Grouped Fee
+
+
+
+// AVP: Initiating-Other-Party-Id (1367) Ericsson (193)
+type AVP_Grouped Initiating_Other_Party_Id
+
+
+
+// AVP: Operation-Type2 (1368) Ericsson (193)
+type AVP_Unsigned32 Operation_Type2
+
+
+
+// AVP: Profile (1369) Ericsson (193)
+type AVP_UTF8String Profile
+
+
+
+// AVP: Transferred-Amount (1370) Ericsson (193)
+type AVP_Grouped Transferred_Amount
+
+
+
+// AVP: Service-Suppression-Info (1371) Ericsson (193)
+type AVP_Grouped Service_Suppression_Info
+
+
+
+// AVP: Matched-Regular-Expression (1372) Ericsson (193)
+type AVP_UTF8String Matched_Regular_Expression
+
+
+
+// AVP: Services-To-Suppress (1373) Ericsson (193)
+type AVP_UTF8String Services_To_Suppress
+
+
+
+// AVP: Host-Number (1374) Ericsson (193)
+type AVP_UTF8String Host_Number
+
+
+
+// AVP: Virtual-Number (1375) Ericsson (193)
+type AVP_UTF8String Virtual_Number
+
+
+
+// AVP: Access-Type (1376) Ericsson (193)
+type AVP_UTF8String Access_Type
+
+
+
+// AVP: Time-Deviation (1377) Ericsson (193)
+type AVP_Integer32 Time_Deviation
+
+
+
+// AVP: Accepted-RTMP-Messages (1378) Ericsson (193)
+type AVP_Unsigned64 Accepted_RTMP_Messages
+
+
+
+// AVP: Discarded-RTMP-Messages (1379) Ericsson (193)
+type AVP_Unsigned64 Discarded_RTMP_Messages
+
+
+
+// AVP: Tenant (1380) Ericsson (193)
+type AVP_UTF8String Tenant
+
+
+
+// AVP: Zone-Data (1381) Ericsson (193)
+type AVP_Grouped Zone_Data
+
+
+
+// AVP: Zone-Type (1382) Ericsson (193)
+type AVP_Unsigned32 Zone_Type
+
+
+
+// AVP: Zone-Identity (1383) Ericsson (193)
+type AVP_OctetString Zone_Identity
+
+
+
+// AVP: CCMP-User-Info (1384) Ericsson (193)
+type AVP_UTF8String CCMP_User_Info
+
+
+
+// AVP: User-Equimenent-IMEI (1385) Ericsson (193)
+type AVP_UTF8String User_Equimenent_IMEI
+
+
+
+// AVP: Instance-ID (1386) Ericsson (193)
+type AVP_UTF8String Instance_ID
+
+
+
+// AVP: System-State (1387) Ericsson (193)
+type enumerated System_State
+{
+  NormalState  (0),
+  FailOverState  (1)
+}
+
+
+// AVP: UHTZ-Offset (1388) Ericsson (193)
+type AVP_UTF8String UHTZ_Offset
+
+
+
+// AVP: Participants-Involved (1389) Ericsson (193)
+type AVP_UTF8String Participants_Involved
+
+
+
+// AVP: Participants-List (1390) Ericsson (193)
+type AVP_UTF8String Participants_List
+
+
+
+// AVP: Service-Type-Charging (1391) Ericsson (193)
+type AVP_Unsigned32 Service_Type_Charging
+
+
+
+// AVP: Community-Charging-Short-Code (1392) Ericsson (193)
+type AVP_Unsigned32 Community_Charging_Short_Code
+
+
+
+// AVP: Forward-TTC-Charging-Headers (1393) Ericsson (193)
+type AVP_Grouped Forward_TTC_Charging_Headers
+
+
+
+// AVP: Backward-TTC-Charging-Headers (1394) Ericsson (193)
+type AVP_Grouped Backward_TTC_Charging_Headers
+
+
+
+// AVP: Charging-Area (1395) Ericsson (193)
+type AVP_UTF8String Charging_Area
+
+
+
+// AVP: Carrier-Information (1396) Ericsson (193)
+type AVP_OctetString Carrier_Information
+
+
+
+// AVP: Additional-User-Category (1397) Ericsson (193)
+type AVP_OctetString Additional_User_Category
+
+
+
+// AVP: Flexible-Charging-Info (1398) Ericsson (193)
+type AVP_OctetString Flexible_Charging_Info
+
+
+
+// AVP: AS-Type (1433) Ericsson (193)
+type enumerated AS_Type
+{
+  MMTEL_AS                      (0),
+  REDIRECTION_AS                (1),
+  SCHEDULED_CONFERENCE_AS       (2),
+  SCC_AS                        (3),
+  PARLAY_X_AS                   (4),
+  ST_AS                         (5)
+}
+
+
diff --git a/src/ExtensibleAuthenticationProtocol_IETF_RFC4072.ddf b/src/ExtensibleAuthenticationProtocol_IETF_RFC4072.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..7340bc805633d2955684f8803746045c277b5af1
--- /dev/null
+++ b/src/ExtensibleAuthenticationProtocol_IETF_RFC4072.ddf
@@ -0,0 +1,81 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ExensibleAuthenticationProtocol_IETF_RFC4072.ddf
+//  Description:        DDF for EAP according to RFC 4072
+//  Rev:                RXXA0X
+//  Prodnr:             CNL113462
+///////////////////////////////////////////////////////////////////////////////
+
+// APPLICATION-NAME: DEAP
+// APPLICATION-REVISION: RFC4072
+
+// AVP implementations according to: 
+// RFC 4072 - Diameter Extensible Authentication Protocol (EAP) Application
+
+
+// RFC 4072 3
+type enumerated Command_Code {
+  Diameter_EAP (268)
+}
+
+// RFC 4017
+// AVP: EAP-Payload (462)
+// 4.1.1
+type AVP_OctetString EAP_Payload;
+
+// RFC 4017
+// AVP: EAP-Reissued-Payload (463)
+// 4.1.2
+type AVP_OctetString EAP_Reissued_Payload;
+
+// RFC 4017
+// AVP: EAP-Master-Session-Key (464)
+// 4.1.3
+type AVP_OctetString EAP_Master_Session_Key;
+
+// RFC 4017
+// AVP: EAP-Key-Name (102)
+// 4.1.4
+type AVP_OctetString EAP_Key_Name;
+
+// RFC 4017
+// AVP: Accounting-EAP-Auth-Method (465)
+// 4.1.5
+type AVP_Unsigned64 Accounting_EAP_Auth_Method;
+
+
diff --git a/src/GiInterface_3GPP_TS29061_770.ddf b/src/GiInterface_3GPP_TS29061_770.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..278fd7405ed5ade9cdd4829e23c73db6e8b9751d
--- /dev/null
+++ b/src/GiInterface_3GPP_TS29061_770.ddf
@@ -0,0 +1,220 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GiInterface_3GPP_TS29061_770.ddf
+//  Description:        DDF for Gi according to 3GPP TS 29.061 V7.7.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GI
+// APPLICATION-REVISION: V7_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V7.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 V7.7.0 16a.4
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Session_Termination    (275),
+  Abort_Session          (274),
+  Accounting             (271)
+}
+
+// 3GPP TS 29.061 V7.7.0  16a.4
+type enumerated Command_Code_GI {
+  Auth_Application (265)  
+}
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-Charging-Id (2) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Charging_Id;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-PDP-Type (3) 3GPP (10415)
+// 16.4.7
+type enumerated 3GPP_PDP_Type
+{
+  IPv4  (0),
+  PPP   (1),
+  IPv6  (2)
+}
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-CG-Address (4) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_Address;
+
+
+// 3GPP TS 29.061 V7.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 V7.7.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-GGSN-Address (7) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_Address;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI_MCC_MNC;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_GGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-NSAPI (10) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_NSAPI;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415)
+type AVP_UTF8String 3GPP_Session_Stop_Indicator;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-Selection-Mode (12) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Selection_Mode;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Charging_Characteristics;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_IPv6_Address;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IPv6_DNS_Servers;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CAMEL_Charging_Info;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-Packet-Filter (25) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Packet_Filter;
+
+
+// 3GPP TS 29.061 V7.7.0
+// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Negotiated_DSCP;
+
diff --git a/src/GiSGiInterface_3GPP_TS29061_810.ddf b/src/GiSGiInterface_3GPP_TS29061_810.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..f870522e672a98bb7166e7d325fc69c6b96b80d2
--- /dev/null
+++ b/src/GiSGiInterface_3GPP_TS29061_810.ddf
@@ -0,0 +1,219 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GiSGiInterface_3GPP_TS29061_810.ddf
+//  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V8.1.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GI
+// APPLICATION-REVISION: V8_1_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V8.1.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+//
+//
+// Dependant applications
+// -
+
+// 3GPP TS 29.061 V8.1.0 16a.4
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Session_Termination    (275),
+  Abort_Session          (274),
+  Accounting             (271)
+}
+
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-Charging-Id (2) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Charging_Id;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-PDP-Type (3) 3GPP (10415)
+// 16.4.7
+type enumerated 3GPP_PDP_Type
+{
+  IPv4   (0),
+  PPP    (1),
+  IPv6   (2),
+  IPv4v6 (3)
+}
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-CG-Address (4) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_Address;
+
+
+// 3GPP TS 29.061 V8.1.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 V8.1.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-GGSN-Address (7) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_Address;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI_MCC_MNC;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_GGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-NSAPI (10) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_NSAPI;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415)
+type AVP_UTF8String 3GPP_Session_Stop_Indicator;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-Selection-Mode (12) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Selection_Mode;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Charging_Characteristics;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_IPv6_Address;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IPv6_DNS_Servers;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CAMEL_Charging_Info;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-Packet-Filter (25) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Packet_Filter;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Negotiated_DSCP;
+
diff --git a/src/GiSGiInterface_3GPP_TS29061_930.ddf b/src/GiSGiInterface_3GPP_TS29061_930.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..88e7fb273f7bc9daea63e5cdfdb6b93557275388
--- /dev/null
+++ b/src/GiSGiInterface_3GPP_TS29061_930.ddf
@@ -0,0 +1,225 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GiSGiInterface_3GPP_TS29061_930.ddf
+//  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V9.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GI
+// APPLICATION-REVISION: V9_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.3.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+//
+//
+// Dependant applications
+// -
+
+// 3GPP TS 29.061 V9.3.0 16a.4
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Session_Termination    (275),
+  Abort_Session          (274),
+  Accounting             (271)
+}
+
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Charging-Id (2) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Charging_Id;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-PDP-Type (3) 3GPP (10415)
+// 16.4.7
+type enumerated 3GPP_PDP_Type
+{
+  IPv4   (0),
+  PPP    (1),
+  IPv6   (2),
+  IPv4v6 (3)
+}
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-CG-Address (4) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_Address;
+
+
+// 3GPP TS 29.061 V9.3.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 V9.3.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-GGSN-Address (7) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_GGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-NSAPI (10) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_NSAPI;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415)
+type AVP_UTF8String 3GPP_Session_Stop_Indicator;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Selection-Mode (12) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Selection_Mode;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Charging_Characteristics;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IPv6_DNS_Servers;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CAMEL_Charging_Info;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Packet-Filter (25) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Packet_Filter;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Negotiated_DSCP;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Allocate-IP-Type (27) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Allocate_IP_Type;
+
diff --git a/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf b/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..2b5ebe197685f8decc31180d0b6ff08c22d7b9f0
--- /dev/null
+++ b/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf
@@ -0,0 +1,371 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.ddf
+//  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V9.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GI
+// APPLICATION-REVISION: V9_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.3.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+//
+//
+// Dependant applications
+// -
+
+// 3GPP TS 29.061 V9.3.0 16a.4
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Session_Termination    (275),
+  Abort_Session          (274),
+  Accounting             (271)
+}
+
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Charging-Id (2) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Charging_Id;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-PDP-Type (3) 3GPP (10415)
+// 16.4.7
+type enumerated 3GPP_PDP_Type
+{
+  IPv4   (0),
+  PPP    (1),
+  IPv6   (2),
+  IPv4v6 (3)
+}
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-CG-Address (4) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-GPRS-Negotiated-QoS-Profile (5) 3GPP (10415)
+// 16.4.7
+type GPRS_Negotiated_QoS_Profile 3GPP_GPRS_Negotiated_QoS_Profile;
+
+// EXT_CC: GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.tpl
+
+modulepar boolean Negotiated_QoS_Profile_decode_as_detailed:=false;
+
+type union GPRS_Negotiated_QoS_Profile{
+  AVP_UTF8String                       raw_QoS_Profile,
+  GPRS_Negotiated_QoS_Profile_detailed QoS_Profile_detailed
+}
+
+type record GPRS_Negotiated_QoS_Profile_detailed{
+  charstring        qos_profile_header length(3),
+  AVP_qos_profile   qos_profile_data
+} with {
+  variant (qos_profile_data) "CROSSTAG(
+                                rel98, qos_profile_header=\"98-\";
+                                rel99, qos_profile_header=\"99-\";
+                                rel05, qos_profile_header=\"05-\";
+                                rel07, qos_profile_header=\"07-\";
+                                
+                              )"
+}
+
+type union AVP_qos_profile
+{
+  qos_rel98_t  rel98,
+  qos_rel99_t  rel99,
+  qos_rel05_t  rel05,
+  qos_rel07_t  rel07
+}
+
+type bitstring BITSTR1 length(1) with { variant "FIELDLENGTH(1)" };
+type bitstring BITSTR2 length(2) with { variant "FIELDLENGTH(2)" };
+type bitstring BITSTR3 length(3) with { variant "FIELDLENGTH(3)" };
+type bitstring BITSTR4 length(4) with { variant "FIELDLENGTH(4)" };
+type bitstring BITSTR5 length(5) with { variant "FIELDLENGTH(5)" };
+type bitstring BITSTR6 length(6) with { variant "FIELDLENGTH(6)" };
+type octetstring OCTSTR1 length(1) with { variant "FIELDLENGTH(1)" };
+
+type record qos_rel98_t // 3GPP 24.008 v3.0.0
+{
+  BITSTR3                reliabilityClass,
+  BITSTR3                delayClass,
+  BITSTR2                spare1,  // '00'B
+  BITSTR3                precedenceClass,
+  BITSTR1                spare2,
+  BITSTR4                peakThroughput,
+  BITSTR5                meanThroughput,
+  BITSTR3                spare3
+} with {variant ""}
+
+type record qos_rel99_t // 3GPP 24.008 v4.16.0
+{
+  BITSTR3                reliabilityClass,
+  BITSTR3                delayClass,
+  BITSTR2                spare1,  // '00'B
+  BITSTR3                precedenceClass,
+  BITSTR1                spare2,
+  BITSTR4                peakThroughput,
+  BITSTR5                meanThroughput,
+  BITSTR3                spare3,
+  BITSTR3                deliverErroneusSDU,
+  BITSTR2                deliveryOrder,
+  BITSTR3                trafficClass,
+  OCTSTR1                maxSDUSize,
+  OCTSTR1                maxBitrateUplink,
+  OCTSTR1                maxBitrateDownlink,
+  BITSTR4                sduErrorRatio,
+  BITSTR4                residualBER,
+  BITSTR2                trafficHandlingPriority,
+  BITSTR6                transferDelay,
+  OCTSTR1                guaranteedBitRateUplink,
+  OCTSTR1                guaranteedBitRateDownlink
+} with {variant ""}
+
+type record qos_rel05_t // 3GPP 24.008 v6.12.0
+{
+  BITSTR3                reliabilityClass,
+  BITSTR3                delayClass,
+  BITSTR2                spare1,  // '00'B
+  BITSTR3                precedenceClass,
+  BITSTR1                spare2,
+  BITSTR4                peakThroughput,
+  BITSTR5                meanThroughput,
+  BITSTR3                spare3,
+  BITSTR3                deliverErroneusSDU,
+  BITSTR2                deliveryOrder,
+  BITSTR3                trafficClass,
+  OCTSTR1                maxSDUSize,
+  OCTSTR1                maxBitrateUplink,
+  OCTSTR1                maxBitrateDownlink,
+  BITSTR4                sduErrorRatio,
+  BITSTR4                residualBER,
+  BITSTR2                trafficHandlingPriority,
+  BITSTR6                transferDelay,
+  OCTSTR1                guaranteedBitRateUplink,
+  OCTSTR1                guaranteedBitRateDownlink,
+  BITSTR4                sourceStatisticsDescriptor,
+  BITSTR1                signallingIndication,
+  BITSTR3                spare4,
+  OCTSTR1                maxBitRateDownlinkExtended,
+  OCTSTR1                guaranteedBitRateDownlinkExtended
+} with {variant ""}
+
+type record qos_rel07_t
+{
+  BITSTR3                reliabilityClass,
+  BITSTR3                delayClass,
+  BITSTR2                spare1,  // '00'B
+  BITSTR3                precedenceClass,
+  BITSTR1                spare2,
+  BITSTR4                peakThroughput,
+  BITSTR5                meanThroughput,
+  BITSTR3                spare3,
+  BITSTR3                deliverErroneusSDU optional,
+  BITSTR2                deliveryOrder optional,
+  BITSTR3                trafficClass optional,
+  OCTSTR1                maxSDUSize optional,
+  OCTSTR1                maxBitrateUplink optional,
+  OCTSTR1                maxBitrateDownlink optional,
+  BITSTR4                sduErrorRatio optional,
+  BITSTR4                residualBER optional,
+  BITSTR2                trafficHandlingPriority optional,
+  BITSTR6                transferDelay optional,
+  OCTSTR1                guaranteedBitRateUplink optional,
+  OCTSTR1                guaranteedBitRateDownlink optional,
+  BITSTR4                sourceStatisticsDescriptor optional,
+  BITSTR1                signallingIndication optional,
+  BITSTR3                spare4 optional,
+  OCTSTR1                maxBitRateDownlinkExtended optional,
+  OCTSTR1                guaranteedBitRateDownlinkExtended optional,
+  OCTSTR1                maxBitRateUplinkExtended optional,
+  OCTSTR1                guaranteedBitRateUplinkExtended  optional
+} with {variant ""}
+
+external function f_decode_qos_rel98(in octetstring stream, out qos_rel98_t pdu) return integer
+with { extension "prototype(backtrack) decode(RAW)" };
+external function f_decode_qos_rel99(in octetstring stream, out qos_rel99_t pdu) return integer
+with { extension "prototype(backtrack) decode(RAW)" };
+external function f_decode_qos_rel05(in octetstring stream, out qos_rel05_t pdu) return integer
+with { extension "prototype(backtrack) decode(RAW)" };
+external function f_decode_qos_rel07(in octetstring stream, out qos_rel07_t pdu) return integer
+with { extension "prototype(backtrack) decode(RAW)" };
+external function f_enc_AVP_qos_profile(in AVP_qos_profile pdu) return octetstring
+with { extension "prototype(convert) encode(RAW)" };
+
+external function f_handle_QoS_Profile(inout GPRS_Negotiated_QoS_Profile pl_pdu)
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-GGSN-Address (7) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_GGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-NSAPI (10) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_NSAPI;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415)
+type AVP_UTF8String 3GPP_Session_Stop_Indicator;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Selection-Mode (12) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Selection_Mode;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Charging_Characteristics;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IPv6_DNS_Servers;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CAMEL_Charging_Info;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Packet-Filter (25) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Packet_Filter;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Negotiated_DSCP;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-Allocate-IP-Type (27) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Allocate_IP_Type;
+
diff --git a/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.tpl b/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..376d93d385a53ff13a592e36dc13fb036583e9f7
--- /dev/null
+++ b/src/GiSGiInterface_3GPP_TS29061_930_QoS_Detailed.tpl
@@ -0,0 +1,783 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+
+void encode_digit(unsigned char* &p, unsigned char digit)
+{
+  unsigned char hexdigit=(digit>>4)&0x0f;
+
+  if (hexdigit < 10) {*(p++)='0' + hexdigit;}
+  else if (hexdigit < 16) {*(p++)= 'A' + hexdigit - 10;}
+  else *(p++)=0;
+  
+  hexdigit=digit&0x0f;
+
+  if (hexdigit < 10) {*(p++)='0' + hexdigit;}
+  else if (hexdigit < 16) {*(p++)= 'A' + hexdigit - 10;}
+  else *(p++)=0;
+  
+}
+void decode_digit(const unsigned char* &p, unsigned char& digit)
+{
+  unsigned char lowdigit=0;
+  unsigned char highdigit=0;
+  if ((*p) >= '0' && (*p) <= '9') highdigit= (*p) - '0';
+  else if ((*p) >= 'A' && (*p) <= 'F') highdigit= (*p) - 'A' + 10;
+  else if ((*p) >= 'a' && (*p) <= 'f') highdigit= (*p) - 'a' + 10;
+  
+  if ((*(p+1)) >= '0' && (*(p+1)) <= '9') lowdigit= (*(p+1)) - '0';
+  else if ((*(p+1)) >= 'A' && (*(p+1)) <= 'F') lowdigit= (*(p+1)) - 'A' + 10;
+  else if ((*(p+1)) >= 'a' && (*(p+1)) <= 'f') lowdigit= (*(p+1)) - 'a' + 10;
+  p+=2;
+  digit=(highdigit<<4)+lowdigit;
+}
+
+void swap_5_bits(const unsigned char ctemp, unsigned char &ret_val){
+  ret_val=0;
+	ret_val += ((ctemp & 0x10) >> 4); // 0001 0000
+	ret_val += ((ctemp & 0x08) >> 2); // 0000 1000
+	ret_val += ((ctemp & 0x04)); // 0000 0100
+	ret_val += ((ctemp & 0x02) << 2); // 0000 0010
+	ret_val += ((ctemp & 0x01) << 4); // 0000 0001
+  
+}
+void swap_3_bits(const unsigned char ctemp, unsigned char &ret_val){
+  ret_val=0;
+	ret_val += ((ctemp & 0x04) >> 2);      // 0000 0100
+	ret_val += ((ctemp & 0x02)); // 0000 0010
+	ret_val += ((ctemp & 0x01) << 2); // 0000 0001
+
+  
+}
+void swap_2_bits(const unsigned char ctemp, unsigned char &ret_val){
+  ret_val=0;
+	ret_val += ((ctemp & 0x02) >> 1);      // 0000 0010
+	ret_val += ((ctemp & 0x01) << 1); // 0000 0001
+
+  
+}
+void swap_4_bits(const unsigned char ctemp, unsigned char &ret_val){
+  ret_val=0;
+	ret_val += ((ctemp & 0x08) >> 3); // 0000 1000
+	ret_val += ((ctemp & 0x04) >> 1); // 0000 0100
+	ret_val += ((ctemp & 0x02) << 1); // 0000 0010
+	ret_val += ((ctemp & 0x01) << 3); // 0000 0001
+  
+}
+
+void swap_6_bits(const unsigned char ctemp, unsigned char &ret_val){
+  ret_val=0;
+	ret_val += ((ctemp & 0x20) >> 5); // 0010 0000
+	ret_val += ((ctemp & 0x10) >> 3); // 0001 0000
+	ret_val += ((ctemp & 0x08) >> 1); // 0000 1000
+	ret_val += ((ctemp & 0x04) << 1); // 0000 0100
+	ret_val += ((ctemp & 0x02) << 3); // 0000 0010
+	ret_val += ((ctemp & 0x01) << 5); // 0000 0001
+  
+}
+int encode_GPRS_Negotiated_QoS_Profile_detailed(unsigned char* &p, const GPRS__Negotiated__QoS__Profile &avp){
+    unsigned char* start=p;
+    switch(avp.QoS__Profile__detailed().qos__profile__data().get_selection()){
+      case AVP__qos__profile::ALT_rel98:{
+	      memcpy(p, (const char*) "98-", 3);
+        p+=3;
+        const qos__rel98__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel98();
+        unsigned char temp1=0,temp2=0;
+        unsigned char digit=0;
+        
+        swap_3_bits(*(qos.reliabilityClass()),temp1);
+        swap_3_bits(*(qos.delayClass()),temp2);
+        digit=temp1;
+        digit+= temp2<<3;
+        encode_digit(p,digit);
+
+        swap_3_bits(*(qos.precedenceClass()),temp1);
+        swap_4_bits(*(qos.peakThroughput()),temp2);
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+        swap_5_bits(*(qos.meanThroughput()),temp1);
+        digit=temp1;
+        encode_digit(p,digit);
+        }
+        break;
+      case AVP__qos__profile::ALT_rel99:{
+	      memcpy(p, (const char*) "99-", 3);
+        p+=3;
+        const qos__rel99__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel99();
+        unsigned char temp1=0,temp2=0,temp3=0;
+        unsigned char digit=0;
+        
+        swap_3_bits(*(qos.reliabilityClass()),temp1);
+        swap_3_bits(*(qos.delayClass()),temp2);
+        digit=temp1;
+        digit+= temp2<<3;
+        encode_digit(p,digit);
+
+        swap_3_bits(*(qos.precedenceClass()),temp1);
+        swap_4_bits(*(qos.peakThroughput()),temp2);
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+        swap_5_bits(*(qos.meanThroughput()),temp1);
+        digit=temp1;
+        encode_digit(p,digit);
+
+        swap_3_bits(*(qos.deliverErroneusSDU()),temp1);
+        swap_2_bits(*(qos.deliveryOrder()),temp2);
+        swap_3_bits(*(qos.trafficClass()),temp3);
+        digit=temp1;
+        digit+= temp2<<3;
+        digit+= temp3<<5;
+        encode_digit(p,digit);
+         
+        encode_digit(p,*(qos.maxSDUSize()));
+        encode_digit(p,*(qos.maxBitrateUplink()));
+        encode_digit(p,*(qos.maxBitrateDownlink()));
+
+        swap_4_bits(*(qos.sduErrorRatio()),temp1);
+        swap_4_bits(*(qos.residualBER()),temp2);
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+
+        swap_2_bits(*(qos.trafficHandlingPriority()),temp1);
+        swap_6_bits(*(qos.transferDelay()),temp2);
+        digit=temp1;
+        digit+= temp2<<2;
+        encode_digit(p,digit);
+
+        encode_digit(p,*(qos.guaranteedBitRateUplink()));
+        encode_digit(p,*(qos.guaranteedBitRateDownlink()));
+        }
+        break;
+
+      case AVP__qos__profile::ALT_rel05:{
+	      memcpy(p, (const char*) "05-", 3);
+        p+=3;
+        const qos__rel05__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel05();
+        unsigned char temp1=0,temp2=0,temp3=0;
+        unsigned char digit=0;
+        
+        swap_3_bits(*(qos.reliabilityClass()),temp1);
+        swap_3_bits(*(qos.delayClass()),temp2);
+        digit=temp1;
+        digit+= temp2<<3;
+        encode_digit(p,digit);
+
+        swap_3_bits(*(qos.precedenceClass()),temp1);
+        swap_4_bits(*(qos.peakThroughput()),temp2);
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+        swap_5_bits(*(qos.meanThroughput()),temp1);
+        digit=temp1;
+        encode_digit(p,digit);
+
+        swap_3_bits(*(qos.deliverErroneusSDU()),temp1);
+        swap_2_bits(*(qos.deliveryOrder()),temp2);
+        swap_3_bits(*(qos.trafficClass()),temp3);
+        digit=temp1;
+        digit+= temp2<<3;
+        digit+= temp3<<5;
+        encode_digit(p,digit);
+         
+        encode_digit(p,*(qos.maxSDUSize()));
+        encode_digit(p,*(qos.maxBitrateUplink()));
+        encode_digit(p,*(qos.maxBitrateDownlink()));
+
+        swap_4_bits(*(qos.sduErrorRatio()),temp1);
+        swap_4_bits(*(qos.residualBER()),temp2);
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+
+        swap_2_bits(*(qos.trafficHandlingPriority()),temp1);
+        swap_6_bits(*(qos.transferDelay()),temp2);
+        digit=temp1;
+        digit+= temp2<<2;
+        encode_digit(p,digit);
+
+        encode_digit(p,*(qos.guaranteedBitRateUplink()));
+        encode_digit(p,*(qos.guaranteedBitRateDownlink()));
+
+        swap_4_bits(*(qos.sourceStatisticsDescriptor()),temp1);
+        temp2=(*(qos.signallingIndication()))&0x01;
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+
+        encode_digit(p,*(qos.maxBitRateDownlinkExtended()));
+        encode_digit(p,*(qos.guaranteedBitRateDownlinkExtended()));
+        }
+        break;
+      case AVP__qos__profile::ALT_rel07:{
+	      memcpy(p, (const char*) "07-", 3);
+        p+=3;
+        const qos__rel07__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel07();
+        unsigned char temp1=0,temp2=0,temp3=0;
+        unsigned char digit=0;
+        swap_3_bits(*(qos.reliabilityClass()),temp1);
+        swap_3_bits(*(qos.delayClass()),temp2);
+        digit=temp1;
+        digit+= temp2<<3;
+        encode_digit(p,digit);
+
+        swap_3_bits(*(qos.precedenceClass()),temp1);
+        swap_4_bits(*(qos.peakThroughput()),temp2);
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+        swap_5_bits(*(qos.meanThroughput()),temp1);
+        digit=temp1;
+        encode_digit(p,digit);
+
+        if(!qos.trafficClass().ispresent()) {break;}
+        swap_3_bits(*(qos.deliverErroneusSDU()()),temp1);
+        swap_2_bits(*(qos.deliveryOrder()()),temp2);
+        swap_3_bits(*(qos.trafficClass()()),temp3);
+        digit=temp1;
+        digit+= temp2<<3;
+        digit+= temp3<<5;
+        encode_digit(p,digit);
+         
+        if(!qos.maxSDUSize().ispresent()) {break;}
+        encode_digit(p,*(qos.maxSDUSize()()));
+        if(!qos.maxBitrateUplink().ispresent()) {break;}
+        encode_digit(p,*(qos.maxBitrateUplink()()));
+        if(!qos.maxBitrateDownlink().ispresent()) {break;}
+        encode_digit(p,*(qos.maxBitrateDownlink()()));
+
+        if(!qos.residualBER().ispresent()) {break;}
+        swap_4_bits(*(qos.sduErrorRatio()()),temp1);
+        swap_4_bits(*(qos.residualBER()()),temp2);
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+
+        if(!qos.transferDelay().ispresent()) {break;}
+        swap_2_bits(*(qos.trafficHandlingPriority()()),temp1);
+        swap_6_bits(*(qos.transferDelay()()),temp2);
+        digit=temp1;
+        digit+= temp2<<2;
+        encode_digit(p,digit);
+
+        if(!qos.guaranteedBitRateUplink().ispresent()) {break;}
+        encode_digit(p,*(qos.guaranteedBitRateUplink()()));
+        if(!qos.guaranteedBitRateDownlink().ispresent()) {break;}
+        encode_digit(p,*(qos.guaranteedBitRateDownlink()()));
+
+        if(!qos.signallingIndication().ispresent()) {break;}
+        swap_4_bits(*(qos.sourceStatisticsDescriptor()()),temp1);
+        temp2=(*(qos.signallingIndication()()))&0x01;
+        digit=temp1;
+        digit+= temp2<<4;
+        encode_digit(p,digit);
+
+        if(!qos.maxBitRateDownlinkExtended().ispresent()) {break;}
+        encode_digit(p,*(qos.maxBitRateDownlinkExtended()()));
+        if(!qos.guaranteedBitRateDownlinkExtended().ispresent()) {break;}
+        encode_digit(p,*(qos.guaranteedBitRateDownlinkExtended()()));
+        
+        if(!qos.maxBitRateUplinkExtended().ispresent()) {break;}
+        encode_digit(p,*(qos.maxBitRateUplinkExtended()()));
+        if(!qos.guaranteedBitRateUplinkExtended().ispresent()) {break;}
+        encode_digit(p,*(qos.guaranteedBitRateUplinkExtended()()));
+        
+        }
+        break;
+      default:
+        break;
+    }
+    return p-start;
+}
+
+int encode_GPRS_Negotiated_QoS_Profile(unsigned char* &p, const GPRS__Negotiated__QoS__Profile &avp){
+  int ret_val=0;
+  
+  
+  if(avp.ischosen(GPRS__Negotiated__QoS__Profile::ALT_raw__QoS__Profile)){
+    ret_val=encode_AVP_OctetString(p,avp.raw__QoS__Profile());
+  } else {
+    ret_val=encode_GPRS_Negotiated_QoS_Profile_detailed(p,avp);
+    pad_oct_if_needed(p,ret_val);
+  }
+  return ret_val;
+}
+
+
+bool decode_GPRS_Negotiated_QoS_Profile_detailed(const unsigned char* &p, GPRS__Negotiated__QoS__Profile &avp,int length){
+
+  if(length<9) {return false;}
+  if((*p)=='9'){
+    if(((*(p+1))=='8') && length==9){
+      avp.QoS__Profile__detailed().qos__profile__header()=CHARSTRING(3,(const char*)p);
+      p+=3;
+      qos__rel98__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel98();
+      unsigned char temp1=0,temp2=0;
+      unsigned char digit=0;
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.reliabilityClass()=BITSTRING(3,&temp2);
+
+      temp1=(digit>>3)&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.delayClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare1()=BITSTRING(2,&temp2);
+
+
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.precedenceClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare2()=BITSTRING(1,&temp2);
+
+      temp1=(digit>>4)&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.peakThroughput()=BITSTRING(4,&temp2);
+      
+
+      decode_digit(p,digit);
+      temp1=digit&0x1f;
+      swap_5_bits(temp1,temp2);
+      qos.meanThroughput()=BITSTRING(5,&temp2);
+      temp2=0;
+      qos.spare3()=BITSTRING(3,&temp2);
+
+    } else if(((*(p+1))=='9') && length==25){
+      avp.QoS__Profile__detailed().qos__profile__header()=CHARSTRING(3,(const char*)p);
+      p+=3;
+      qos__rel99__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel99();
+      unsigned char temp1=0,temp2=0;
+      unsigned char digit=0;
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.reliabilityClass()=BITSTRING(3,&temp2);
+
+      temp1=(digit>>3)&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.delayClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare1()=BITSTRING(2,&temp2);
+
+
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.precedenceClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare2()=BITSTRING(1,&temp2);
+
+      temp1=(digit>>4)&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.peakThroughput()=BITSTRING(4,&temp2);
+      
+
+      decode_digit(p,digit);
+      temp1=digit&0x1f;
+      swap_5_bits(temp1,temp2);
+      qos.meanThroughput()=BITSTRING(5,&temp2);
+      temp2=0;
+      qos.spare3()=BITSTRING(3,&temp2);
+
+      decode_digit(p,digit);
+      temp1=digit&0x7;
+      swap_3_bits(temp1,temp2);
+      qos.deliverErroneusSDU()=BITSTRING(3,&temp2);
+
+      temp1=(digit>>3)&0x03;
+      swap_2_bits(temp1,temp2);
+      qos.deliveryOrder()=BITSTRING(2,&temp2);
+
+      temp1=(digit>>5)&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.trafficClass()=BITSTRING(3,&temp2);
+
+
+
+      decode_digit(p,digit);
+      qos.maxSDUSize()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      qos.maxBitrateUplink()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      qos.maxBitrateDownlink()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      temp1=digit&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.sduErrorRatio()=BITSTRING(4,&temp2);
+
+      temp1=(digit>>4)&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.residualBER()=BITSTRING(4,&temp2);
+
+      decode_digit(p,digit);
+      temp1=digit&0x03;
+      swap_2_bits(temp1,temp2);
+      qos.trafficHandlingPriority()=BITSTRING(2,&temp2);
+
+      temp1=(digit>>2)&0x3f;
+      swap_6_bits(temp1,temp2);
+      qos.transferDelay()=BITSTRING(6,&temp2);
+
+      decode_digit(p,digit);
+      qos.guaranteedBitRateUplink()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      qos.guaranteedBitRateDownlink()=OCTETSTRING(1,&digit);
+
+    } else {return false;}
+  } else if ((*p)=='0') {
+    if(((*(p+1))=='5') && length==31){
+      avp.QoS__Profile__detailed().qos__profile__header()=CHARSTRING(3,(const char*)p);
+      p+=3;
+      qos__rel05__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel05();
+      unsigned char temp1=0,temp2=0;
+      unsigned char digit=0;
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.reliabilityClass()=BITSTRING(3,&temp2);
+
+      temp1=(digit>>3)&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.delayClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare1()=BITSTRING(2,&temp2);
+
+
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.precedenceClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare2()=BITSTRING(1,&temp2);
+
+      temp1=(digit>>4)&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.peakThroughput()=BITSTRING(4,&temp2);
+      
+
+      decode_digit(p,digit);
+      temp1=digit&0x1f;
+      swap_5_bits(temp1,temp2);
+      qos.meanThroughput()=BITSTRING(5,&temp2);
+      temp2=0;
+      qos.spare3()=BITSTRING(3,&temp2);
+
+      decode_digit(p,digit);
+      temp1=digit&0x7;
+      swap_3_bits(temp1,temp2);
+      qos.deliverErroneusSDU()=BITSTRING(3,&temp2);
+
+      temp1=(digit>>3)&0x03;
+      swap_2_bits(temp1,temp2);
+      qos.deliveryOrder()=BITSTRING(2,&temp2);
+
+      temp1=(digit>>5)&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.trafficClass()=BITSTRING(3,&temp2);
+
+
+
+      decode_digit(p,digit);
+      qos.maxSDUSize()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      qos.maxBitrateUplink()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      qos.maxBitrateDownlink()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      temp1=digit&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.sduErrorRatio()=BITSTRING(4,&temp2);
+
+      temp1=(digit>>4)&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.residualBER()=BITSTRING(4,&temp2);
+
+      decode_digit(p,digit);
+      temp1=digit&0x03;
+      swap_2_bits(temp1,temp2);
+      qos.trafficHandlingPriority()=BITSTRING(2,&temp2);
+
+      temp1=(digit>>2)&0x3f;
+      swap_6_bits(temp1,temp2);
+      qos.transferDelay()=BITSTRING(6,&temp2);
+
+      decode_digit(p,digit);
+      qos.guaranteedBitRateUplink()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      qos.guaranteedBitRateDownlink()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      temp1=digit&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.sourceStatisticsDescriptor()=BITSTRING(4,&temp2);
+
+      temp1=(digit>>4)&0x01;
+      qos.signallingIndication()=BITSTRING(1,&temp1);
+
+      temp2=0;
+      qos.spare4()=BITSTRING(3,&temp2);
+
+      decode_digit(p,digit);
+      qos.maxBitRateDownlinkExtended()=OCTETSTRING(1,&digit);
+
+      decode_digit(p,digit);
+      qos.guaranteedBitRateDownlinkExtended()=OCTETSTRING(1,&digit);
+
+     } else if(((*(p+1))=='7') && length>9 && length <36){
+      avp.QoS__Profile__detailed().qos__profile__header()=CHARSTRING(3,(const char*)p);
+      p+=3;
+      qos__rel07__t& qos=avp.QoS__Profile__detailed().qos__profile__data().rel07();
+      unsigned char temp1=0,temp2=0;
+      unsigned char digit=0;
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.reliabilityClass()=BITSTRING(3,&temp2);
+
+      temp1=(digit>>3)&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.delayClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare1()=BITSTRING(2,&temp2);
+
+
+      decode_digit(p,digit);
+      temp1=digit&0x07;
+      swap_3_bits(temp1,temp2);
+      qos.precedenceClass()=BITSTRING(3,&temp2);
+      
+      temp2=0;
+      qos.spare2()=BITSTRING(1,&temp2);
+
+      temp1=(digit>>4)&0x0f;
+      swap_4_bits(temp1,temp2);
+      qos.peakThroughput()=BITSTRING(4,&temp2);
+      
+
+      decode_digit(p,digit);
+      temp1=digit&0x1f;
+      swap_5_bits(temp1,temp2);
+      qos.meanThroughput()=BITSTRING(5,&temp2);
+      temp2=0;
+      qos.spare3()=BITSTRING(3,&temp2);
+
+      if(length>9) {
+        decode_digit(p,digit);
+        temp1=digit&0x7;
+        swap_3_bits(temp1,temp2);
+        qos.deliverErroneusSDU()=BITSTRING(3,&temp2);
+        
+        temp1=(digit>>3)&0x03;
+        swap_2_bits(temp1,temp2);
+        qos.deliveryOrder()=BITSTRING(2,&temp2);
+        
+        temp1=(digit>>5)&0x07;
+        swap_3_bits(temp1,temp2);
+        qos.trafficClass()=BITSTRING(3,&temp2);
+
+      } else {
+        qos.deliverErroneusSDU()=OMIT_VALUE;
+        qos.deliveryOrder()=OMIT_VALUE;
+        qos.trafficClass()=OMIT_VALUE;
+      }
+         
+
+      if(length>11) {
+        decode_digit(p,digit);
+        qos.maxSDUSize()=OCTETSTRING(1,&digit);
+      } else {
+        qos.maxSDUSize()=OMIT_VALUE;
+      }
+
+      if(length>13) {
+        decode_digit(p,digit);
+        qos.maxBitrateUplink()=OCTETSTRING(1,&digit);
+      } else {
+        qos.maxBitrateUplink()=OMIT_VALUE;
+      }
+      if(length>14) {
+        decode_digit(p,digit);
+        qos.maxBitrateDownlink()=OCTETSTRING(1,&digit);
+      } else {
+        qos.maxBitrateDownlink()=OMIT_VALUE;
+      }
+
+      if(length>17) {
+        decode_digit(p,digit);
+        temp1=digit&0x0f;
+        swap_4_bits(temp1,temp2);
+        qos.sduErrorRatio()=BITSTRING(4,&temp2);
+        
+        temp1=(digit>>4)&0x0f;
+        swap_4_bits(temp1,temp2);
+        qos.residualBER()=BITSTRING(4,&temp2);
+      } else {
+        qos.sduErrorRatio()=OMIT_VALUE;
+        qos.residualBER()=OMIT_VALUE;
+      }
+
+      if(length>19) {
+        decode_digit(p,digit);
+        temp1=digit&0x03;
+        swap_2_bits(temp1,temp2);
+        qos.trafficHandlingPriority()=BITSTRING(2,&temp2);
+        
+        temp1=(digit>>2)&0x3f;
+        swap_6_bits(temp1,temp2);
+        qos.transferDelay()=BITSTRING(6,&temp2);
+      } else {
+        qos.trafficHandlingPriority()=OMIT_VALUE;
+        qos.transferDelay()=OMIT_VALUE;
+      }
+
+      if(length>21) {
+        decode_digit(p,digit);
+        qos.guaranteedBitRateUplink()=OCTETSTRING(1,&digit);
+      } else {
+        qos.guaranteedBitRateUplink()=OMIT_VALUE;
+      }
+      if(length>23) {
+        decode_digit(p,digit);
+        qos.guaranteedBitRateDownlink()=OCTETSTRING(1,&digit);
+      } else {
+        qos.guaranteedBitRateDownlink()=OMIT_VALUE;
+      }
+
+      if(length>25) {
+        decode_digit(p,digit);
+        temp1=digit&0x0f;
+        swap_4_bits(temp1,temp2);
+        qos.sourceStatisticsDescriptor()=BITSTRING(4,&temp2);
+        
+        temp1=(digit>>4)&0x01;
+        qos.signallingIndication()=BITSTRING(1,&temp1);
+        
+        temp2=0;
+        qos.spare4()=BITSTRING(3,&temp2);
+      } else {
+        qos.sourceStatisticsDescriptor()=OMIT_VALUE;
+        qos.signallingIndication()=OMIT_VALUE;
+        qos.spare4()=OMIT_VALUE;
+     }
+
+     if(length>27) {
+        decode_digit(p,digit);
+        qos.maxBitRateDownlinkExtended()=OCTETSTRING(1,&digit);
+      } else {
+        qos.maxBitRateDownlinkExtended()=OMIT_VALUE;
+      }
+
+      if(length>29) {
+        decode_digit(p,digit);
+        qos.guaranteedBitRateDownlinkExtended()=OCTETSTRING(1,&digit);
+      } else {
+        qos.guaranteedBitRateDownlinkExtended()=OMIT_VALUE;
+      }
+      if(length>31) {
+        decode_digit(p,digit);
+        qos.maxBitRateUplinkExtended()=OCTETSTRING(1,&digit);
+      } else {
+        qos.maxBitRateUplinkExtended()=OMIT_VALUE;
+      }
+      if(length>33) {
+        decode_digit(p,digit);
+        qos.guaranteedBitRateUplinkExtended()=OCTETSTRING(1,&digit);
+      } else {
+        qos.guaranteedBitRateUplinkExtended()=OMIT_VALUE;
+      }
+    } else {return false;}
+  } else {return false;}
+
+//  avp.raw__QoS__Profile()=OCTETSTRING(length,p);
+//  p+=length;
+  return true;
+}
+
+bool decode_GPRS_Negotiated_QoS_Profile(const unsigned char* &p, GPRS__Negotiated__QoS__Profile &avp,int length){
+  if(length<9) {return false;}
+  if(!Negotiated__QoS__Profile__decode__as__detailed){
+    avp.raw__QoS__Profile()=OCTETSTRING(length,p);
+    p+=length;
+    return true;
+  } else {
+    return decode_GPRS_Negotiated_QoS_Profile_detailed(p,avp,length);
+  }
+}
+
+void f__handle__QoS__Profile(GPRS__Negotiated__QoS__Profile &pl__pdu){
+  if(pl__pdu.ischosen(GPRS__Negotiated__QoS__Profile::ALT_raw__QoS__Profile)){
+    OCTETSTRING oct=pl__pdu.raw__QoS__Profile();
+    const unsigned char* p=oct;
+    if(!decode_GPRS_Negotiated_QoS_Profile_detailed(p,pl__pdu,oct.lengthof())){
+      TTCN_warning("Can not decode GPRS_Negotiated_QoS_Profile_detailed");
+      pl__pdu.raw__QoS__Profile()=oct;
+    }
+  } else {
+    TTCN_Buffer buf;
+    buf.clear();
+    size_t len=60; // max size of GPRS_Negotiated_QoS_Profile
+    unsigned char* p;
+    buf.get_end(p,len);
+    int message_length=encode_GPRS_Negotiated_QoS_Profile_detailed(p,pl__pdu);
+    buf.increase_length(message_length);
+    buf.get_string(pl__pdu.raw__QoS__Profile());
+    
+
+  }
+
+  
+
+}
diff --git a/src/GiSGiInterface_3GPP_TS29061_980.ddf b/src/GiSGiInterface_3GPP_TS29061_980.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..dc6316ca3947baa4368cd42b2a78603e6796a2c5
--- /dev/null
+++ b/src/GiSGiInterface_3GPP_TS29061_980.ddf
@@ -0,0 +1,228 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GiSGiInterface_3GPP_TS29061_980.ddf
+//  Description:        DDF for Gi/SGi according to 3GPP TS 29.061 V9.8.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GI
+// APPLICATION-REVISION: V9_8_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.8.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+//
+//
+// Dependant applications
+// -
+
+
+// 3GPP TS 29.061 V9.8.0 16a.4
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Session_Termination    (275),
+  Abort_Session          (274),
+  Accounting             (271)
+}
+
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-Charging-Id (2) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Charging_Id;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-PDP-Type (3) 3GPP (10415)
+// 16.4.7
+type enumerated 3GPP_PDP_Type
+{
+  IPv4   (0),
+  PPP    (1),
+  IPv6   (2),
+  IPv4v6 (3)
+}
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-CG-Address (4) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_Address;
+
+
+// 3GPP TS 29.061 V9.8.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 V9.8.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-GGSN-Address (7) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_Address;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-IMSI-MCC-MNC (8) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-GGSN-MCC-MNC (9) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_GGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-NSAPI (10) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_NSAPI;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-Session-Stop-Indicator (11) 3GPP (10415)
+type AVP_UTF8String 3GPP_Session_Stop_Indicator;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-Selection-Mode (12) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Selection_Mode;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-Charging-Characteristics (13) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_Charging_Characteristics;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-CG-IPv6-Address (14) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CG_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-GGSN-IPv6-Address (16) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_GGSN_IPv6_Address;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-IPv6-DNS-Servers (17) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IPv6_DNS_Servers;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-SGSN-MCC-MNC (18) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_MCC_MNC;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-CAMEL-Charging-Info (24) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_CAMEL_Charging_Info;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-Packet-Filter (25) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Packet_Filter;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-Negotiated-DSCP (26) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Negotiated_DSCP;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-Allocate-IP-Type (27) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_Allocate_IP_Type;
+
+
+
diff --git a/src/GmbInterface_3GPP_TS29061_6f0.ddf b/src/GmbInterface_3GPP_TS29061_6f0.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..ff6b6c455dbdc79942e4a95a7442e5a2e1baa5fb
--- /dev/null
+++ b/src/GmbInterface_3GPP_TS29061_6f0.ddf
@@ -0,0 +1,200 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GmbInterface_3GPP_TS29061_6f0.ddf
+//  Description:        DDF for Gmb according to 3GPP TS 29.061 V6.15.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GMB
+// APPLICATION-REVISION: V6_15_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V6.15.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 V6.15.0 17.6
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: TMGI (900) 3GPP (10415)
+// 17.7.2
+type AVP_OctetString TMGI;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: Required-MBMS-Bearer-Capabilities (901) 3GPP (10415)
+// 17.7.3
+type AVP_UTF8String Required_MBMS_Bearer_Capabilities;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: MBMS-StartStop-Indication (902) 3GPP (10415)
+// 17.7.5
+type enumerated MBMS_StartStop_Indication
+{
+  START              (0),
+  STOP               (1)
+}
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: MBMS-Service-Area (903) 3GPP (10415)
+// 17.7.6
+type AVP_OctetString MBMS_Service_Area;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: MBMS-Session-Duration (904) 3GPP (10415)
+// 17.7.7
+type AVP_OctetString MBMS_Session_Duration;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: Alternative-APN (905) 3GPP (10415)
+// 17.7.8
+type AVP_UTF8String Alternative_APN;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: MBMS-Service-Type (906) 3GPP (10415)
+// 17.7.9
+type enumerated MBMS_Service_Type
+{
+  MULTICAST              (0),
+  BROADCAST              (1)
+}
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V6.15.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 V6.15.0
+// AVP: MBMS-Session-Identity (908) 3GPP (10415)
+// 17.7.11
+type AVP_OctetString MBMS_Session_Identity;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: RAI (909) 3GPP (10415)
+// 17.7.12
+type AVP_UTF8String RAI;
+
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: Additional-MBMS-Trace-Info (910) 3GPP (10415)
+// 17.7.13
+type AVP_OctetString Additional_MBMS_Trace_Info;
+
+// 3GPP TS 29.061 V6.15.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 V6.15.0
+// AVP: MBMS-Session-Repetition-Number (912) 3GPP (10415)
+// 17.7.15
+type AVP_OctetString MBMS_Session_Repetition_Number;
+
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: MBMS-Required-QoS (913) 3GPP (10415)
+// 17.7.16
+type AVP_UTF8String MBMS_Required_QoS;
+
+// 3GPP TS 29.061 V6.15.0
+// AVP: MBMS-Counting-Information (914) 3GPP (10415)
+// 17.7.17
+type enumerated MBMS_Counting_Information
+{
+  COUNTING_NOT_APPLICABLE              (0),
+  COUNTING_APPLICABLE                  (1)
+}
+
diff --git a/src/GmbInterface_3GPP_TS29061_720.ddf b/src/GmbInterface_3GPP_TS29061_720.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..129f848bdb93d7060fd83cbcf69d1f06d5b39b46
--- /dev/null
+++ b/src/GmbInterface_3GPP_TS29061_720.ddf
@@ -0,0 +1,231 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GmbInterface_3GPP_TS29061_720.ddf
+//  Description:        DDF for Gmb according to 3GPP TS 29.061 V7.2.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GMB
+// APPLICATION-REVISION: V7_2_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V7.2.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 V7.2.0 17.6
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: TMGI (900) 3GPP (10415)
+// 17.7.2
+type AVP_OctetString TMGI;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: Required-MBMS-Bearer-Capabilities (901) 3GPP (10415)
+// 17.7.3
+type AVP_UTF8String Required_MBMS_Bearer_Capabilities;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-StartStop-Indication (902) 3GPP (10415)
+// 17.7.5
+type enumerated MBMS_StartStop_Indication
+{
+  START              (0),
+  STOP               (1),
+  UPDATE             (2)
+}
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-Service-Area (903) 3GPP (10415)
+// 17.7.6
+type AVP_OctetString MBMS_Service_Area;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-Session-Duration (904) 3GPP (10415)
+// 17.7.7
+type AVP_Unsigned32 MBMS_Session_Duration;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: Alternative-APN (905) 3GPP (10415)
+// 17.7.8
+type AVP_UTF8String Alternative_APN;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-Service-Type (906) 3GPP (10415)
+// 17.7.9
+type enumerated MBMS_Service_Type
+{
+  MULTICAST              (0),
+  BROADCAST              (1)
+}
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_Address;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_SGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V7.2.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 V7.2.0
+// AVP: MBMS-Session-Identity (908) 3GPP (10415)
+// 17.7.11
+type AVP_OctetString MBMS_Session_Identity;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: RAI (909) 3GPP (10415)
+// 17.7.12
+type AVP_UTF8String RAI;
+
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: Additional-MBMS-Trace-Info (910) 3GPP (10415)
+// 17.7.13
+type AVP_OctetString Additional_MBMS_Trace_Info;
+
+// 3GPP TS 29.061 V7.2.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 V7.2.0
+// AVP: MBMS-Session-Repetition-Number (912) 3GPP (10415)
+// 17.7.15
+type AVP_OctetString MBMS_Session_Repetition_Number;
+
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-Required-QoS (913) 3GPP (10415)
+// 17.7.16
+type AVP_UTF8String MBMS_Required_QoS;
+
+// 3GPP TS 29.061 V7.2.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 V7.2.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 V7.2.0
+// AVP: MBMS-GGSN-Address (916) 3GPP (10415)
+// 17.7.19
+type AVP_UTF8String MBMS_GGSN_Address;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-GGSN-IPv6-Address (917) 3GPP (10415)
+// 17.7.20
+type AVP_UTF8String MBMS_GGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-BMSC-SSM-IP-Address (918) 3GPP (10415)
+// 17.7.21
+type AVP_UTF8String MBMS_BMSC_SSM_IP_Address;
+
+// 3GPP TS 29.061 V7.2.0
+// AVP: MBMS-BMSC-SSM-IPv6-Address (919) 3GPP (10415)
+// 17.7.22
+type AVP_UTF8String MBMS_BMSC_SSM_IPv6_Address;
+
+
diff --git a/src/GmbInterface_3GPP_TS29061_810.ddf b/src/GmbInterface_3GPP_TS29061_810.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..ff06ab4674d39bee5c685f4ada5d970d84ca23ae
--- /dev/null
+++ b/src/GmbInterface_3GPP_TS29061_810.ddf
@@ -0,0 +1,236 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GmbInterface_3GPP_TS29061_810.ddf
+//  Description:        DDF for Gmb according to 3GPP TS 29.061 V8.1.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GMB
+// APPLICATION-REVISION: V8_1_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V8.1.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 V8.1.0 17.6
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: TMGI (900) 3GPP (10415)
+// 17.7.2
+type AVP_OctetString TMGI;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: Required-MBMS-Bearer-Capabilities (901) 3GPP (10415)
+// 17.7.3
+type AVP_UTF8String Required_MBMS_Bearer_Capabilities;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: MBMS-StartStop-Indication (902) 3GPP (10415)
+// 17.7.5
+type enumerated MBMS_StartStop_Indication
+{
+  START              (0),
+  STOP               (1),
+  UPDATE             (2)
+}
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: MBMS-Service-Area (903) 3GPP (10415)
+// 17.7.6
+type AVP_OctetString MBMS_Service_Area;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: MBMS-Session-Duration (904) 3GPP (10415)
+// 17.7.7
+type AVP_OctetString MBMS_Session_Duration;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: Alternative-APN (905) 3GPP (10415)
+// 17.7.8
+type AVP_UTF8String Alternative_APN;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: MBMS-Service-Type (906) 3GPP (10415)
+// 17.7.9
+type enumerated MBMS_Service_Type
+{
+  MULTICAST              (0),
+  BROADCAST              (1)
+}
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V8.1.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 V8.1.0
+// AVP: MBMS-Session-Identity (908) 3GPP (10415)
+// 17.7.11
+type AVP_OctetString MBMS_Session_Identity;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: RAI (909) 3GPP (10415)
+// 17.7.12
+type AVP_UTF8String RAI;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: Additional-MBMS-Trace-Info (910) 3GPP (10415)
+// 17.7.13
+type AVP_OctetString Additional_MBMS_Trace_Info;
+
+// 3GPP TS 29.061 V8.1.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 V8.1.0
+// AVP: MBMS-Session-Repetition-Number (912) 3GPP (10415)
+// 17.7.15
+type AVP_OctetString MBMS_Session_Repetition_Number;
+
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: MBMS-Required-QoS (913) 3GPP (10415)
+// 17.7.16
+type AVP_UTF8String MBMS_Required_QoS;
+
+// 3GPP TS 29.061 V8.1.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 V8.1.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 V8.1.0
+// AVP: MBMS-GGSN-Address (916) 3GPP (10415)
+// 17.7.19
+type AVP_OctetString MBMS_GGSN_Address;
+
+// 3GPP TS 29.061 V8.1.0
+// AVP: MBMS-GGSN-IPv6-Address (917) 3GPP (10415)
+// 17.7.20
+type AVP_OctetString MBMS_GGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V8.1.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 V8.1.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 V8.1.0
+// AVP: MBMS-Flow-Identifier (919) 3GPP (10415)
+// 17.7.23
+type AVP_OctetString MBMS_Flow_Identifier;
+
diff --git a/src/GmbInterface_3GPP_TS29061_930.ddf b/src/GmbInterface_3GPP_TS29061_930.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..9aed08977fdfb258fd111b941ace61d619cab3cc
--- /dev/null
+++ b/src/GmbInterface_3GPP_TS29061_930.ddf
@@ -0,0 +1,250 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GmbInterface_3GPP_TS29061_930.ddf
+//  Description:        DDF for Gmb according to 3GPP TS 29.061 V9.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GMB
+// APPLICATION-REVISION: V9_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.3.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 V9.3.0 17.6
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: TMGI (900) 3GPP (10415)
+// 17.7.2
+type AVP_OctetString TMGI;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: Required-MBMS-Bearer-Capabilities (901) 3GPP (10415)
+// 17.7.3
+type AVP_UTF8String Required_MBMS_Bearer_Capabilities;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: MBMS-StartStop-Indication (902) 3GPP (10415)
+// 17.7.5
+type enumerated MBMS_StartStop_Indication
+{
+  START              (0),
+  STOP               (1),
+  UPDATE             (2)
+}
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: MBMS-Service-Area (903) 3GPP (10415)
+// 17.7.6
+type AVP_OctetString MBMS_Service_Area;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: MBMS-Session-Duration (904) 3GPP (10415)
+// 17.7.7
+type AVP_OctetString MBMS_Session_Duration;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: Alternative-APN (905) 3GPP (10415)
+// 17.7.8
+type AVP_UTF8String Alternative_APN;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: MBMS-Service-Type (906) 3GPP (10415)
+// 17.7.9
+type enumerated MBMS_Service_Type
+{
+  MULTICAST              (0),
+  BROADCAST              (1)
+}
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V9.3.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 V9.3.0
+// AVP: MBMS-Session-Identity (908) 3GPP (10415)
+// 17.7.11
+type AVP_OctetString MBMS_Session_Identity;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: RAI (909) 3GPP (10415)
+// 17.7.12
+type AVP_UTF8String RAI;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: Additional-MBMS-Trace-Info (910) 3GPP (10415)
+// 17.7.13
+type AVP_OctetString Additional_MBMS_Trace_Info;
+
+// 3GPP TS 29.061 V9.3.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 V9.3.0
+// AVP: MBMS-Session-Repetition-Number (912) 3GPP (10415)
+// 17.7.15
+type AVP_OctetString MBMS_Session_Repetition_Number;
+
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: MBMS-Required-QoS (913) 3GPP (10415)
+// 17.7.16
+type AVP_UTF8String MBMS_Required_QoS;
+
+// 3GPP TS 29.061 V9.3.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 V9.3.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 V9.3.0
+// AVP: MBMS-GGSN-Address (916) 3GPP (10415)
+// 17.7.19
+type AVP_OctetString MBMS_GGSN_Address;
+
+// 3GPP TS 29.061 V9.3.0
+// AVP: MBMS-GGSN-IPv6-Address (917) 3GPP (10415)
+// 17.7.20
+type AVP_OctetString MBMS_GGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V9.3.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 V9.3.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 V9.3.0
+// AVP: MBMS-Flow-Identifier (920) 3GPP (10415)
+// 17.7.23
+type AVP_OctetString MBMS_Flow_Identifier;
+
+// 3GPP TS 29.061 V9.3.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 V9.3.0
+// AVP: MBMS-HC-Indicator (922) 3GPP (10415)
+// 17.7.25
+type AVP_Unsigned32 MBMS_HC_Indicator;
diff --git a/src/GmbInterface_3GPP_TS29061_970.ddf b/src/GmbInterface_3GPP_TS29061_970.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..241d60c7b19a85470487c8eea2ddb019667269da
--- /dev/null
+++ b/src/GmbInterface_3GPP_TS29061_970.ddf
@@ -0,0 +1,291 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GmbInterface_3GPP_TS29061_970.ddf
+//  Description:        DDF for Gmb according to 3GPP TS 29.061 V9.7.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GMB
+// APPLICATION-REVISION: V9_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.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 V9.7.0 17.6
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: TMGI (900) 3GPP (10415)
+// 17.7.2
+type AVP_OctetString TMGI;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: Required-MBMS-Bearer-Capabilities (901) 3GPP (10415)
+// 17.7.3
+type AVP_UTF8String Required_MBMS_Bearer_Capabilities;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: MBMS-StartStop-Indication (902) 3GPP (10415)
+// 17.7.5
+type enumerated MBMS_StartStop_Indication
+{
+  START              (0),
+  STOP               (1),
+  UPDATE             (2)
+}
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: MBMS-Service-Area (903) 3GPP (10415)
+// 17.7.6
+type AVP_OctetString MBMS_Service_Area;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: MBMS-Session-Duration (904) 3GPP (10415)
+// 17.7.7
+type AVP_OctetString MBMS_Session_Duration;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: Alternative-APN (905) 3GPP (10415)
+// 17.7.8
+type AVP_UTF8String Alternative_APN;
+
+// 3GPP TS 29.061 V9.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 V9.7.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V9.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 V9.7.0
+// AVP: MBMS-Session-Identity (908) 3GPP (10415)
+// 17.7.11
+type AVP_OctetString MBMS_Session_Identity;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: RAI (909) 3GPP (10415)
+// 17.7.12
+type AVP_UTF8String RAI;
+
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: Additional-MBMS-Trace-Info (910) 3GPP (10415)
+// 17.7.13
+type AVP_OctetString Additional_MBMS_Trace_Info;
+
+// 3GPP TS 29.061 V9.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 V9.7.0
+// AVP: MBMS-Session-Repetition-Number (912) 3GPP (10415)
+// 17.7.15
+type AVP_OctetString MBMS_Session_Repetition_Number;
+
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: MBMS-Required-QoS (913) 3GPP (10415)
+// 17.7.16
+type AVP_UTF8String MBMS_Required_QoS;
+
+// 3GPP TS 29.061 V9.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 V9.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 V9.7.0
+// AVP: MBMS-GGSN-Address (916) 3GPP (10415)
+// 17.7.19
+type AVP_OctetString MBMS_GGSN_Address;
+
+// 3GPP TS 29.061 V9.7.0
+// AVP: MBMS-GGSN-IPv6-Address (917) 3GPP (10415)
+// 17.7.20
+type AVP_OctetString MBMS_GGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V9.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 V9.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 V9.7.0
+// AVP: MBMS-Flow-Identifier (920) 3GPP (10415)
+// 17.7.23
+type AVP_OctetString MBMS_Flow_Identifier;
+
+// 3GPP TS 29.061 V9.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 V9.7.0
+// AVP: MBMS-HC-Indicator (922) 3GPP (10415)
+// 17.7.25
+type AVP_Unsigned32 MBMS_HC_Indicator;
+
+// 3GPP TS 29.061 V9.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 V9.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 V9.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 V9.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 V9.7.0
+// AVP: MBMS-GW-UDP-Port (927) 3GPP (10415)
+// 20.5a.5
+type AVP_OctetString MBMS_GW_UDP_Port;
+
+// 3GPP TS 29.061 V9.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)
+}
+
+
+
diff --git a/src/GmbInterface_3GPP_TS29061_980.ddf b/src/GmbInterface_3GPP_TS29061_980.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..b1176ac5681a4dc94d630693c19571a78d428536
--- /dev/null
+++ b/src/GmbInterface_3GPP_TS29061_980.ddf
@@ -0,0 +1,249 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GmbInterface_3GPP_TS29061_980.ddf
+//  Description:        DDF for Gmb according to 3GPP TS 29.061 V9.8.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GMB
+// APPLICATION-REVISION: V9_8_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.8.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 V9.8.0 17.6
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: TMGI (900) 3GPP (10415)
+// 17.7.2
+type AVP_OctetString TMGI;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: Required-MBMS-Bearer-Capabilities (901) 3GPP (10415)
+// 17.7.3
+type AVP_UTF8String Required_MBMS_Bearer_Capabilities;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: MBMS-StartStop-Indication (902) 3GPP (10415)
+// 17.7.5
+type enumerated MBMS_StartStop_Indication
+{
+  START              (0),
+  STOP               (1),
+  UPDATE             (2)
+}
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: MBMS-Service-Area (903) 3GPP (10415)
+// 17.7.6
+type AVP_OctetString MBMS_Service_Area;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: MBMS-Session-Duration (904) 3GPP (10415)
+// 17.7.7
+type AVP_OctetString MBMS_Session_Duration;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-IMSI (1) 3GPP (10415)
+// 16.4.7
+type AVP_UTF8String 3GPP_IMSI;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: Alternative-APN (905) 3GPP (10415)
+// 17.7.8
+type AVP_UTF8String Alternative_APN;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: MBMS-Service-Type (906) 3GPP (10415)
+// 17.7.9
+type enumerated MBMS_Service_Type
+{
+  MULTICAST              (0),
+  BROADCAST              (1)
+}
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-SGSN-Address (6) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_Address;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-SGSN-IPv6-Address (15) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_SGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V9.8.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 V9.8.0
+// AVP: MBMS-Session-Identity (908) 3GPP (10415)
+// 17.7.11
+type AVP_OctetString MBMS_Session_Identity;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: RAI (909) 3GPP (10415)
+// 17.7.12
+type AVP_UTF8String RAI;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-IMEISV (20) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_IMEISV;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-RAT-Type (21) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_RAT_Type;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-User-Location-Info (22) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_User_Location_Info;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: 3GPP-MS-TimeZone (23) 3GPP (10415)
+// 16.4.7
+type AVP_OctetString 3GPP_MS_TimeZone;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: Additional-MBMS-Trace-Info (910) 3GPP (10415)
+// 17.7.13
+type AVP_OctetString Additional_MBMS_Trace_Info;
+
+// 3GPP TS 29.061 V9.8.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 V9.8.0
+// AVP: MBMS-Session-Repetition-Number (912) 3GPP (10415)
+// 17.7.15
+type AVP_OctetString MBMS_Session_Repetition_Number;
+
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: MBMS-Required-QoS (913) 3GPP (10415)
+// 17.7.16
+type AVP_UTF8String MBMS_Required_QoS;
+
+// 3GPP TS 29.061 V9.8.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 V9.8.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 V9.8.0
+// AVP: MBMS-GGSN-Address (916) 3GPP (10415)
+// 17.7.19
+type AVP_OctetString MBMS_GGSN_Address;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: MBMS-GGSN-IPv6-Address (917) 3GPP (10415)
+// 17.7.20
+type AVP_OctetString MBMS_GGSN_IPv6_Address;
+
+// 3GPP TS 29.061 V9.8.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 V9.8.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 V9.8.0
+// AVP: MBMS-Flow-Identifier (920) 3GPP (10415)
+// 17.7.23
+type AVP_OctetString MBMS_Flow_Identifier;
+
+// 3GPP TS 29.061 V9.8.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 V9.8.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
new file mode 100644
index 0000000000000000000000000000000000000000..22045452dfdcf179770d185093226475547ca2a3
--- /dev/null
+++ b/src/GqInterface_PC_3GPP_TS29209_670.ddf
@@ -0,0 +1,232 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GqInterface_PC_3GPP_TS29209_670.ddf
+//  Description:        DDF for Gq according to 3GPP TS 29.209 V6.7.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GQ
+// APPLICATION-REVISION: V670
+
+// AVP implementations according to: 
+// 3GPP TS 29.209 V6.7.0 - Policy control over Gq interface
+//
+//
+// Notes:
+// Type of enumerated AVP Media-Type is changed to AVP_Unsigned32 to
+// give the ability to contain OTHER (0xFFFFFFFF) value
+//
+
+// 3GPP TS 29.209 V6.7.0  6.3
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)  
+}
+
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Abort-Cause (500) 3GPP (10415)
+// 6.5.1
+type enumerated Abort_Cause
+{
+  BEARER_RELEASED               (0),
+  INSUFFICIENT_SERVER_RESOURCES (1),
+  INSUFFICIENT_BEARER_RESOURCES (2)
+}
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Access-Network-Charging-Address (501) 3GPP (10415)
+// 6.5.2
+type AVP_Address Access_Network_Charging_Address;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Access-Network-Charging-Identifier (502) 3GPP (10415)
+// 6.5.3
+type AVP_Grouped Access_Network_Charging_Identifier;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Access-Network-Charging-Identifier-Value (503) 3GPP (10415)
+// 6.5.4
+type AVP_OctetString Access_Network_Charging_Identifier_Value;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: AF-Application-Identifier (504) 3GPP (10415)
+// 6.5.5
+type AVP_OctetString AF_Application_Identifier;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: AF-Charging-Identifier (505) 3GPP (10415)
+// 6.5.6
+type AVP_OctetString AF_Charging_Identifier;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Authorization-Token (506) 3GPP (10415)
+// 6.5.7
+type AVP_OctetString Authorization_Token;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Flow-Description (507) 3GPP (10415)
+// 6.5.8
+type AVP_IPFilterRule Flow_Description;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Flow-Grouping (508) 3GPP (10415)
+// 6.5.9
+type AVP_Grouped Flow_Grouping;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Flow-Number (509) 3GPP (10415)
+// 6.5.10
+type AVP_Unsigned32 Flow_Number;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Flows (510) 3GPP (10415)
+// 6.5.11
+type AVP_Grouped Flows;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Flow-Status (511) 3GPP (10415)
+// 6.5.12
+type enumerated Flow_Status
+{
+  ENABLED_UPLINK      (0),
+  ENABLED_DOWNLINK    (1),
+  ENABLED             (2),
+  DISABLED            (3),
+  REMOVED             (4)
+}
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Flow-Usage (512) 3GPP (10415)
+// 6.5.13
+type enumerated Flow_Usage
+{
+  NO_INFORMATION      (0),
+  RTCP                (1)
+}
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Specific-Action (513) 3GPP (10415)
+// 6.5.14
+type enumerated Specific_Action
+{
+  SERVICE_INFORMATION_REQUEST           (0),
+  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)
+}
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Max-Requested-Bandwidth-DL (515) 3GPP (10415)
+// 6.5.16
+type AVP_Unsigned32 Max_Requested_Bandwidth_DL;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Max-Requested-Bandwidth-UL (516) 3GPP (10415)
+// 6.5.17
+type AVP_Unsigned32 Max_Requested_Bandwidth_UL;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Media-Component-Description (517) 3GPP (10415)
+// 6.5.18
+type AVP_Grouped Media_Component_Description;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Media-Component-Number (518) 3GPP (10415)
+// 6.5.19
+type AVP_Unsigned32 Media_Component_Number;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: Media-Sub-Component (519) 3GPP (10415)
+// 6.5.20
+type AVP_Grouped Media_Sub_Component;
+
+
+// WARNING: Unsigned32 used instead of enumerated type
+// 3GPP TS 29.209 V6.7.0
+// AVP: Media-Type (520) 3GPP (10415)
+// 6.5.21
+type AVP_Unsigned32 Media_Type;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: RR-Bandwidth (521) 3GPP (10415)
+// 6.5.22
+type AVP_Unsigned32 RR_Bandwidth;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: RS-Bandwidth (522) 3GPP (10415)
+// 6.5.23
+type AVP_Unsigned32 RS_Bandwidth;
+
+
+// 3GPP TS 29.209 V6.7.0
+// AVP: SIP-Forking-Indication (523) 3GPP (10415)
+// 6.5.24
+type enumerated SIP_Forking_Indication
+{
+   SINGLE_DIALOGUE   (0),
+   SEVERAL_DIALOGUES (1) 
+}
diff --git a/src/GqInterface_S3_ETSI_TS183017_231.ddf b/src/GqInterface_S3_ETSI_TS183017_231.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..170f3068a98a0526ad6b82169792492b8bb3f48f
--- /dev/null
+++ b/src/GqInterface_S3_ETSI_TS183017_231.ddf
@@ -0,0 +1,151 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GqInterface_S3_ETSI_TS183017_231.ddf
+//  Description:        DDF for Gq according to ETSI TS 183.017 V2.3.1
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GQ
+// APPLICATION-REVISION: V231
+
+// AVP implementations according to: 
+// ETSI TS 183.017 V2.3.1 - DIAMETER protocol for session based policy set-up information exchange between
+//                          the Application Function (AF) and the Service Policy Decision Function (SPDF)
+//
+//
+// Dependant applications
+// 3GPP TS 29.209  - Policy control over Gq interface
+// 3GPP TS 29.214  - Policy and Charging Control over Rx reference point
+// ES 283.034      - e4 interface based on DIAMETER protocol
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+
+// 3GPP TS 29.209 V6.7.0  6.3
+type enumerated Command_Code 
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)  
+}
+
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Binding-information (450) ETSI (13019)
+// 7.3.1
+type AVP_Grouped Binding_information;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Binding-input-list (451) ETSI (13019)
+// 7.3.2
+type AVP_Grouped Binding_input_list;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Binding-output-list (452) ETSI (13019)
+// 7.3.3
+type AVP_Grouped Binding_output_list;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: V6-transport-address (453) ETSI (13019)
+// 7.3.4
+type AVP_Grouped V6_transport_address;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: V4-transport-address (454) ETSI (13019)
+// 7.3.5
+type AVP_Grouped V4_transport_address;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Port-number (455) ETSI (13019)
+// 7.3.6
+type AVP_Unsigned32 Port_number;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Reservation-class (456) ETSI (13019)
+// 7.3.7
+type AVP_Unsigned32 Reservation_class;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Latching-indication (457) ETSI (13019)
+// 7.3.8
+type enumerated Latching_indication
+{
+  LATCH   (0),
+  RELATCH (1)
+}
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Reservation-priority (458) ETSI (13019)
+// 7.3.9
+type enumerated Reservation_priority
+{
+  DEFAULT        (0),
+  PRIORITY_ONE   (1),
+  PRIORITY_TWO   (2),
+  PRIORITY_THREE (3),
+  PRIORITY_FOUR  (4),
+  PRIORITY_FIVE  (5),
+  PRIORITY_SIX   (6),
+  PRIORITY_SEVEN (7)
+}
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Service-Class (459) ETSI (13019)
+// 7.3.33
+type AVP_UTF8String Service_Class;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Authorization-Package-Id (461) ETSI (13019)
+// 7.3.37
+type AVP_UTF8String Authorization_Package_Id;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Media-Authorization-Context-Id (462) ETSI (13019)
+// 7.3.38
+type AVP_UTF8String Media_Authorization_Context_Id;
+
+// ETSI TS 183.017 V2.3.1
+// AVP: Overbooking-indicator (460) ETSI (13019)
+// 7.3.35
+type enumerated Overbooking_indicator
+{
+  OVERBOOKING_NOT_REQUIRED (0),
+  OVERBOOKING_REQUIRED     (1)
+}
diff --git a/src/GxInterface_CRP_3GPP_TS29210_670.ddf b/src/GxInterface_CRP_3GPP_TS29210_670.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..5d8e21398c93c89fb7c97c97a36a8f334a730f65
--- /dev/null
+++ b/src/GxInterface_CRP_3GPP_TS29210_670.ddf
@@ -0,0 +1,192 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_CRP_3GPP_TS29210_670.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.210 V6.7.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GX
+// APPLICATION-REVISION: 
+
+// AVP implementations according to: 
+// 3GPP TS 29.210 V6.7.0 - Charging rule provisioning over Gx interface
+//
+//
+// Dependant applications
+// 3GPP TS 29.061 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+// 3GPP TS 29.209 - Policy control over Gq interface
+// 3GPP TS 29.214 - Cx and Dx interfaces based on Diameter protocol
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588  - Diameter Base Protocol
+// IETF RFC 4005  - Diameter Network Address Server
+// IETF RFC 4006  - Diameter Credit Control Application
+
+// 3GPP TS 29.210 V6.7.0 6.1.1
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+// 3GPP TS 29.210 V6.7.0 
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.2.1
+type enumerated Bearer_Usage
+{
+  GENERAL (0),
+  IMS_SIGNALLING (1)
+}
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.2.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.2.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.2.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.2.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.2.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Event-Trigger (1006) 3GPP (10415)
+// 5.2.7
+type enumerated Event_Trigger
+{
+  SGSN_CHANGE         (0),
+  QOS_CHANGE          (1),
+  RAT_CHANGE          (2),
+  TFT_CHANGE          (3),
+  PLMN_CHANGE         (4)
+}
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.2.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.2.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.2.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.2.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.2.15
+type enumerated Reporting_Level
+{
+  CHARGING_RULE_LEVEL (0),
+  RATING_GROUP_LEVEL  (1)
+}
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: PDP-Session-Operation (1015) 3GPP (10415)
+// 5.2.21
+type enumerated PDP_Session_Operation
+{
+  PDP_SESSION_TERMINATION (0)
+}
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.2.18
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.2.19
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.210 V6.7.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.2.20
+type AVP_OctetString ToS_Traffic_Class;
+
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_740.ddf b/src/GxInterface_PCC_3GPP_TS29212_740.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..eda4be37178694dba70cfc16ab7c70d52dfef8f1
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_740.ddf
@@ -0,0 +1,304 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_740.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V7.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: GX
+// APPLICATION-REVISION: V7_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V7.4.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications
+// 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
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+//
+// 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 V7.4.0 5.6
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+
+// 3GPP TS 29.212 V7.4.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 V7.4.0 
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY (0),
+  NW_ONLY (1),
+  UE_NW (2)
+}
+
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION (0),
+  ESTABLISHMENT (1),
+  MODIFICATION (2)
+}
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL (0),
+  IMS_SIGNALLING (1)
+}
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+// 3GPP TS 29.212 V7.4.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),
+  GW_PCEF_MALFUNCTION                 (8),
+  RESOURCES_LIMITATION                (9),
+  MAX_NR_BEARERS_REACHED             (10),
+  QOS_CHANGE_EXCEEDING_AUTHORIZATION (11),
+  RAI_CHANGE                         (12),
+  USER_LOCATION_CHANGE               (13),
+  NO_EVENT_TRIGGER                   (14)
+}
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: IP-CAN-Type (1027) 3GPP (10415)
+// 5.3.27
+type enumerated IP_CAN_Type
+{
+  threeGPP (0),
+  DOCSIS (1),
+  xDSL (2),
+  WiMAX (3),
+  threeGPP2 (4)
+}
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+// 3GPP TS 29.212 V7.4.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 V7.4.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL  (1)
+}
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: PCC-Rule-Status (1019) 3GPP (10415)
+// 5.3.19
+type enumerated PCC_Rule_Status
+{
+  ACTIVE (0),
+  INACTIVE (1),
+  TEMPORARY_INACTIVE (2)  
+}
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V7.4.0 
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+/*
+ 3GPP TS 29.212 V7.4.0 
+ AVP: QoS-Negotiation (yyyy) 3GPP (10415)
+ 5.3.28
+type enumerated QoS_Negotiation
+{
+  NO_QoS_NEGOTIATION (0),
+  QoS_NEGOTIATION_SUPPORTED (1)
+}
+
+
+ 3GPP TS 29.212 V7.4.0 
+ AVP: QoS-Upgrade (zzzz) 3GPP (10415)
+ 5.3.29
+type enumerated QoS_Upgrade
+{
+  QoS_UPGRADE_NOT_SUPPORTED (0),
+  QoS_UPGRADE_SUPPORTED (1)
+}
+*/
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V7.4.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
diff --git a/src/GxInterface_PCC_3GPP_TS29212_820.ddf b/src/GxInterface_PCC_3GPP_TS29212_820.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..16ff8fd31a7b5999800513effc7c58fa95fd2bd2
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_820.ddf
@@ -0,0 +1,502 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_820.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V8.2.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: V8_2_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V8.2.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications
+// 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
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP2 X.S0011-D - (3GPP2-BSID AVP reused for Gxx interface)
+//
+// 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 V8.2.0 5.6
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+
+
+// 3GPP TS 29.212 V8.2.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 V8.2.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: ARP-Value (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 ARP_Value;
+
+
+// 3GPP TS 29.212 V8.2.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 V8.2.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 V8.2.0 
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1),
+  DEDICATED      (2)
+}
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V8.2.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)
+}
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: IP-CAN-Type (1027) 3GPP (10415)
+// 5.3.27
+type enumerated IP_CAN_Type
+{
+  threeGPP     (0),
+  DOCSIS       (1),
+  xDSL         (2),
+  WiMAX        (3),
+  threeGPP2    (4),
+  threeGPP_EPS (5)
+}
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+// 3GPP TS 29.212 V8.2.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 V8.2.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V8.2.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 V8.2.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 V8.2.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: PCC-Rule-Status (1019) 3GPP (10415)
+// 5.3.19
+type enumerated PCC_Rule_Status
+{
+  ACTIVE             (0),
+  INACTIVE           (1),
+  TEMPORARY_INACTIVE (2)  
+}
+
+
+// 3GPP TS 29.212 V8.2.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)
+}
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V8.2.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 V8.2.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 V8.2.0 
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+// 3GPP TS 29.212 V8.2.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)
+}
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002)
+}
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V8.2.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_830.ddf b/src/GxInterface_PCC_3GPP_TS29212_830.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..18c97ec4fb41bd0006ce42e066feaeead9321bdc
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_830.ddf
@@ -0,0 +1,512 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_830.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V8.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: V8_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V8.3.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications 
+// 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
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP2 X.S0011-D - (3GPP2-BSID AVP reused for Gxx interface)
+//
+// 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 V8.3.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+
+// 3GPP TS 29.212 V8.3.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 V8.3.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V8.3.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 V8.3.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 V8.3.0 
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V8.3.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)
+}
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: IP-CAN-Type (1027) 3GPP (10415)
+// 5.3.27
+type enumerated IP_CAN_Type
+{
+  threeGPP     (0),
+  DOCSIS       (1),
+  xDSL         (2),
+  WiMAX        (3),
+  threeGPP2    (4),
+  threeGPP_EPS (5)
+}
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+// 3GPP TS 29.212 V8.3.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 V8.3.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V8.3.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 V8.3.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 V8.3.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: PCC-Rule-Status (1019) 3GPP (10415)
+// 5.3.19
+type enumerated PCC_Rule_Status
+{
+  ACTIVE             (0),
+  INACTIVE           (1),
+  TEMPORARY_INACTIVE (2)  
+}
+
+
+// 3GPP TS 29.212 V8.3.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)
+}
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V8.3.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 V8.3.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 V8.3.0 
+// AVP: Resource-Allocation-Notification (1051) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+// 3GPP TS 29.212 V8.3.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)
+}
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002)
+}
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V8.3.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+
+
+
+// 3GPP TS 29.212 V8.2.0 
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+//type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.3.0 
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_840.ddf b/src/GxInterface_PCC_3GPP_TS29212_840.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..7a7b0db60acc82a2a9f754a501a0806eb6927d81
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_840.ddf
@@ -0,0 +1,555 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_840.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V8.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: V8_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V8.4.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications 
+// 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
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP2 X.S0011-D - (3GPP2-BSID AVP reused for Gxx interface)
+//
+// 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 V8.4.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+
+// 3GPP TS 29.212 V8.4.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 V8.4.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V8.4.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 V8.4.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 V8.4.0 
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V8.4.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)
+}
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+// 3GPP TS 29.212 V8.4.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)
+}
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+// 3GPP TS 29.212 V8.4.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 V8.4.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+// 3GPP TS 29.212 V8.4.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 V8.4.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V8.4.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 V8.4.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 V8.4.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+// 3GPP TS 29.212 V8.4.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 V8.4.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)
+}
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V8.4.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 V8.4.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 V8.4.0 
+// AVP: Resource-Allocation-Notification (1051) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+// 3GPP TS 29.212 V8.4.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)
+}
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002)
+}
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V8.4.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+//type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.4.0 
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_8a0.ddf b/src/GxInterface_PCC_3GPP_TS29212_8a0.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..6c6d2c3ce64c57a9262486c879e5c1b564a77ef8
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_8a0.ddf
@@ -0,0 +1,592 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_8a0.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V8.10.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: V8_10_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V8.10.0 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications 
+// 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
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP2 X.S0011-D - (3GPP2-BSID AVP reused for Gxx interface)
+//
+// 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 V8.10.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+
+// 3GPP TS 29.212 V8.10.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 V8.10.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V8.10.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 V8.10.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 V8.10.0 
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.58
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED		(0)
+}
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V8.10.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),
+  QOS_MODIFICATION_FAILURE			 (29)
+}
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+// 3GPP TS 29.212 V8.10.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_3GPP_EPS	(6)
+}
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+// 3GPP TS 29.212 V8.10.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 V8.10.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+// 3GPP TS 29.212 V8.10.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 V8.10.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V8.10.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 V8.10.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 V8.10.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+// 3GPP TS 29.212 V8.10.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 V8.10.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)
+}
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type enumerated QoS_Class_Identifier
+{
+  QC1_1							 (1),
+  QC1_2							 (2),
+  QC1_3							 (3),
+  QC1_4							 (4),
+  QC1_5							 (5),
+  QC1_6							 (6),
+  QC1_7							 (7),
+  QC1_8							 (8),
+  QC1_9							 (9)
+}
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V8.10.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 V8.10.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 V8.10.0 
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+// 3GPP TS 29.212 V8.10.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_INFORMATION 		(9),
+  RESOURCE_ALLOCATION_FAILURE 	       (10),
+  UNSUCCESSFUL_QOS_VALIDATION          (11)
+}
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD			 (2003)
+}
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V8.10.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V8.10.0 
+// AVP: Session-Linking-Indicator (1064) 3GPP (10415)
+// 5a.3.6
+type enumerated Session_Linking_Indicator
+{
+  SESSION_LINKING_IMMEDIATE		(0),
+  SESSION_LINKING_DEFERRED		(1)
+}
diff --git a/src/GxInterface_PCC_3GPP_TS29212_8b1.ddf b/src/GxInterface_PCC_3GPP_TS29212_8b1.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..cb287e71c0ffa541daac05cbbc66343c11aae32b
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_8b1.ddf
@@ -0,0 +1,593 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_8b1.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V8.11.1
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: V8_11_1
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V8.11.1 - Policy and Charging Control over Gx interface
+//
+//
+// Dependant applications 
+// 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
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - Diameter Network Address Server
+// IETF RFC 4006   - Diameter Credit Control Application
+// 3GPP2 X.S0011-D - (3GPP2-BSID AVP reused for Gxx interface)
+//
+// 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 V8.11.1 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Access-Network-Charging-Identifier-Gx (1022) 3GPP (10415)
+// 5.3.22
+type AVP_Grouped Access_Network_Charging_Identifier_Gx;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: APN-Aggregate-Max-Bitrate-DL (1040) 3GPP (10415)
+// 5.3.39
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: APN-Aggregate-Max-Bitrate-UL (1041) 3GPP (10415)
+// 5.3.40
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.58
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED		(0)
+}
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V8.11.1
+// 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),
+  DEFAULT_EPS_BEARER_QOS_MODIFICATION_FAILURE	(34)
+}
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+// 3GPP TS 29.212 V8.11.1 
+// 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_3GPP_EPS	(6)
+}
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+// 3GPP TS 29.212 V8.11.1 
+// 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 V8.11.1
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+// 3GPP TS 29.212 V8.11.1
+// 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 V8.11.1
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V8.11.1
+// 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 V8.11.1
+// 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 V8.11.1
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+// 3GPP TS 29.212 V8.11.1 
+// 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 V8.11.1
+// 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)
+}
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type enumerated QoS_Class_Identifier
+{
+  QC1_1							 (1),
+  QC1_2							 (2),
+  QC1_3							 (3),
+  QC1_4							 (4),
+  QC1_5							 (5),
+  QC1_6							 (6),
+  QC1_7							 (7),
+  QC1_8							 (8),
+  QC1_9							 (9)
+}
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// 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 V8.11.1 
+// 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 V8.11.1 
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+// 3GPP TS 29.212 V8.11.1 
+// 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_INFORMATION 		(9),
+  RESOURCE_ALLOCATION_FAILURE 	       (10),
+  UNSUCCESSFUL_QOS_VALIDATION          (11)
+}
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD			 (2003)
+}
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V8.11.1
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V8.11.1 
+// AVP: Session-Linking-Indicator (1064) 3GPP (10415)
+// 5a.3.6
+type enumerated Session_Linking_Indicator
+{
+  SESSION_LINKING_IMMEDIATE		(0),
+  SESSION_LINKING_DEFERRED		(1)
+}
diff --git a/src/GxInterface_PCC_3GPP_TS29212_910.ddf b/src/GxInterface_PCC_3GPP_TS29212_910.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..546a496fded4cc196144f5d49a141ad60125f44a
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_910.ddf
@@ -0,0 +1,636 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_910.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V9.1.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: V9_1_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V9.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)
+//
+// 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 V9.1.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+// 3GPP TS 29.212 V9.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),
+  USAGE_REPORT                       (26)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.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 V9.1.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V9.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 V9.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 V9.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)
+}
+
+
+// 3GPP TS 29.212 V9.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 V9.1.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V9.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  (5)
+}
+
+
+// 3GPP TS 29.212 V9.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 V9.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 V9.1.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002)
+}
+
+
+// 3GPP TS 29.212 V9.1.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V9.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)
+}
+
+// 3GPP TS 29.212 V9.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 V9.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 V9.1.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V9.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)
+}
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V9.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 V9.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 V9.1.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V9.1.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.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 V9.1.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1)
+}
+
+
+// 3GPP TS 29.212 V9.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 V9.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 V9.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 V9.1.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V9.1.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.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)
+}
diff --git a/src/GxInterface_PCC_3GPP_TS29212_930.ddf b/src/GxInterface_PCC_3GPP_TS29212_930.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..5e8536db844c075bda05cc75202b8911dfec3372
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_930.ddf
@@ -0,0 +1,681 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_930.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V9.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: V9_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V9.3.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 V9.3.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V9.3.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),
+  USAGE_REPORT                       (26),
+  TAI_CHANGE                         (27),
+  ECGI_CHANGE                        (28),
+  CHARGING_CORRELATION_EXCHANGE      (29),  
+  USER_CSG_INFORMATION_CHANGE        (30),
+  APN_AMBR_MODIFICATION_FAILURE      (33),
+  DEFAULT_EPS_BEARER_QOS_MODIFICATION_FAILURE (34)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.0
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V9.3.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)
+}
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.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 V9.3.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V9.3.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V9.3.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)
+}
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.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 V9.3.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V9.3.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)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.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 V9.3.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V9.3.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1)
+}
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.0
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V9.3.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 V9.3.0 - Note: 1072 also used in Packet-Filter-Usage (5.3.66)
+// AVP: Flow-Direction (1072) 3GPP (10415)
+// 5.3.65
+type enumerated Flow_Direction
+{
+  UNSPECIFIED                         (0),
+  DOWNLINK                            (1),
+  UPLINK                              (2),
+  BIDIRECTIONAL                       (3)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: Session-Linking-Indicator (1064) 3GPP (10415)
+// 5a.3.6
+type enumerated Session_Linking_Indicator
+{
+  SESSION_LINKING_IMMEDIATE (0),
+  SESSION_LINKING_DEFERRED  (1)
+}
+
+
+// 3GPP TS 29.212 V9.3.0
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name
+
+
+
+
+
+
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_970.ddf b/src/GxInterface_PCC_3GPP_TS29212_970.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..727b585ae117dfb1b9c5ff3af3c365ffdff27f4a
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_970.ddf
@@ -0,0 +1,690 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_930.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V9.5.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: V9_5_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V9.5.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 V9.5.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V9.5.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),
+  USAGE_REPORT                       (26),
+  TAI_CHANGE                         (27),
+  ECGI_CHANGE                        (28),
+  CHARGING_CORRELATION_EXCHANGE      (29),  
+  USER_CSG_INFORMATION_CHANGE        (30),
+  QOS_MODIFICATION_FAILURE           (31),
+  APN_AMBR_MODIFICATION_FAILURE      (33),
+  DEFAULT_EPS_BEARER_QOS_MODIFICATION_FAILURE (34)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.0
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V9.5.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)
+}
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.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 V9.5.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V9.5.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V9.5.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)
+}
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.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 V9.5.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V9.5.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)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.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 V9.5.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V9.5.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1)
+}
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.0
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V9.5.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 V9.5.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 V9.5.0 
+// AVP: Packet-Filter-Usage (1072) 3GPP (10415)
+// 5.3.66
+type enumerated Packet_Filter_Usage
+{
+  SEND_TO_UE (1)
+}
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: Session-Linking-Indicator (1064) 3GPP (10415)
+// 5a.3.6
+type enumerated Session_Linking_Indicator
+{
+  SESSION_LINKING_IMMEDIATE (0),
+  SESSION_LINKING_DEFERRED  (1)
+}
+
+
+// 3GPP TS 29.212 V9.5.0
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name
+
+
+
+
+
+
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_9b0.ddf b/src/GxInterface_PCC_3GPP_TS29212_9b0.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..5f660dc7c1c8a47fc0ba5faa41f5f1fdcd20e425
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_9b0.ddf
@@ -0,0 +1,694 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_9b0.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V9.11.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: V9_B_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V9.11.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 V9.11.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V9.11.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)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Reporting-Level (1011) 3GPP (10415)
+// 5.3.12
+type enumerated Reporting_Level
+{
+  SERVICE_IDENTIFIER_LEVEL (0),
+  RATING_GROUP_LEVEL       (1)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.0
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V9.11.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)
+}
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.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 V9.11.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: RAT-Type (1032) 3GPP (10415)
+// 5.3.31
+type enumerated RAT_Type 
+{
+  WLAN              (0),
+  UTRAN          (1000),
+  GERAN          (1001),
+  GAN            (1002),
+  HSPA_EVOLUTION (1003),
+  EUTRAN         (1004),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V9.11.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V9.11.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),
+  PS_TO_CS_HANDOVER           (12),
+  NO_BEARER_BOUND             (15)
+}
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.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 V9.11.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V9.11.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)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.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 V9.11.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V9.11.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1)
+}
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.0
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.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 V9.11.0 
+// AVP: Packet-Filter-Usage (1072) 3GPP (10415)
+// 5.3.66
+type enumerated Packet_Filter_Usage
+{
+  SEND_TO_UE (1)
+}
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V9.11.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V9.11.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 V9.11.0
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name
+
+
+
+
+
+
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_aa0.ddf b/src/GxInterface_PCC_3GPP_TS29212_aa0.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..4bd9d970998d8767fa33a2fae49234ba0fcc1218
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_aa0.ddf
@@ -0,0 +1,728 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_aa0.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V10.10.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: VA_A_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V10.10.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 V10.10.0 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V10.10.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)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Metering-Method (1007) 3GPP (10415)
+// 5.3.8
+type enumerated Metering_Method
+{
+  DURATION            (0),
+  VOLUME              (1),
+  DURATION_VOLUME     (2)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.0
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.0
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.0
+// AVP: Bearer-Control-Mode (1023) 3GPP (10415)
+// 5.3.23
+type enumerated Bearer_Control_Mode
+{
+  UE_ONLY  (0),
+  RESERVED (1),
+  UE_NW    (2)
+}
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.0
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V10.10.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)
+}
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.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 V10.10.0
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V10.10.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),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V10.10.0 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V10.10.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),
+  NO_BEARER_BOUND             (15)
+}
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.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 V10.10.0
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V10.10.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)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.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 V10.10.0
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V10.10.0 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.0
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Usage-Monitoring-Level (1068) 3GPP (10415)
+// 5.3.61
+type enumerated Usage_Monitoring_Level
+{
+  SESSION_LEVEL   (0),
+  PCC_RULE_LEVEL  (1)
+}
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.0
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.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 V10.10.0 
+// AVP: Packet-Filter-Usage (1072) 3GPP (10415)
+// 5.3.66
+type enumerated Packet_Filter_Usage
+{
+  SEND_TO_UE (1)
+}
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Routing-Rule-Install (1081) 3GPP (10415)
+// 5.3.68
+type AVP_Grouped Routing_Rule_Install;
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Routing-Rule-Remove (1075) 3GPP (10415)
+// 5.3.69
+type AVP_Grouped Routing_Rule_Remove;
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Routing-Rule-Definition (1076) 3GPP (10415)
+// 5.3.70
+type AVP_Grouped Routing_Rule_Definition;
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Routing-Rule-Identifier (1077) 3GPP (10415)
+// 5.3.71
+type AVP_OctetString Routing_Rule_Identifier;
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Routing-Filter (1078) 3GPP (10415)
+// 5.3.72
+type AVP_Grouped Routing_Filter;
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: Routing-IP-Address (1079) 3GPP (10415)
+// 5.3.72
+type AVP_Address Routing_IP_Address;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V10.10.0
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V10.10.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 V10.10.0
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name
+
+
+
+
+
+
+
diff --git a/src/GxInterface_PCC_3GPP_TS29212_c52.ddf b/src/GxInterface_PCC_3GPP_TS29212_c52.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..6153ef703510b1c5c772424b1cd8d40bd7cc9685
--- /dev/null
+++ b/src/GxInterface_PCC_3GPP_TS29212_c52.ddf
@@ -0,0 +1,958 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxInterface_PCC_3GPP_TS29212_c52.ddf
+//  Description:        DDF for Gx according to 3GPP TS 29.212 V12.5.2
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: PCC
+// APPLICATION-REVISION: VC_5_2
+
+// AVP implementations according to: 
+// 3GPP TS 29.212 V12.5.2 - 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 V12.5.2 5.6 
+type enumerated Command_Code {
+  Credit_Control (272),
+  Re_Auth        (258)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Bearer-Usage (1000) 3GPP (10415)
+// 5.3.1
+type enumerated Bearer_Usage
+{
+  GENERAL        (0),
+  IMS_SIGNALLING (1)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Charging-Rule-Install (1001) 3GPP (10415)
+// 5.3.2
+type AVP_Grouped Charging_Rule_Install;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Charging-Rule-Remove (1002) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Charging_Rule_Remove;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Charging-Rule-Definition (1003) 3GPP (10415)
+// 5.3.4
+type AVP_Grouped Charging_Rule_Definition;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Charging-Rule-Base-Name (1004) 3GPP (10415)
+// 5.3.5
+type AVP_UTF8String Charging_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Charging-Rule-Name (1005) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString Charging_Rule_Name;
+
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: Offline (1008) 3GPP (10415)
+// 5.3.9
+type enumerated Offline
+{
+  DISABLE_OFFLINE     (0),
+  ENABLE_OFFLINE      (1)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Online (1009) 3GPP (10415)
+// 5.3.10
+type enumerated Online
+{
+  DISABLE_ONLINE      (0),
+  ENABLE_ONLINE       (1)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Precedence (1010) 3GPP (10415)
+// 5.3.11
+type AVP_Unsigned32 Precedence;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: TFT-Filter (1012) 3GPP (10415)
+// 5.3.13
+type AVP_IPFilterRule TFT_Filter;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: TFT-Packet-Filter-Information (1013) 3GPP (10415)
+// 5.3.14
+type AVP_Grouped TFT_Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: ToS-Traffic-Class (1014) 3GPP (10415)
+// 5.3.15
+type AVP_OctetString ToS_Traffic_Class;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: QoS-Information (1016) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped QoS_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: QoS-Class-Identifier (1028) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 QoS_Class_Identifier;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Charging-Rule-Report (1018) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Charging_Rule_Report;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: Bearer-Identifier (1020) 3GPP (10415)
+// 5.3.20
+type AVP_OctetString Bearer_Identifier;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Bearer-Operation (1021) 3GPP (10415)
+// 5.3.21
+type enumerated Bearer_Operation
+{
+  TERMINATION   (0),
+  ESTABLISHMENT (1),
+  MODIFICATION  (2)
+}
+
+
+// 3GPP TS 29.212 V12.5.2 
+// AVP: Access-Network-Charging-Identifier-Gx (1022) 3GPP (10415)
+// 5.3.22
+type AVP_Grouped Access_Network_Charging_Identifier_Gx;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// 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 V12.5.2
+// AVP: Guaranteed-Bitrate-DL (1025) 3GPP (10415)
+// 5.3.25
+type AVP_Unsigned32 Guaranteed_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Guaranteed-Bitrate-UL (1026) 3GPP (10415)
+// 5.3.26
+type AVP_Unsigned32 Guaranteed_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// 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 V12.5.2
+// 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 V12.5.2
+// AVP: Event-Report-Indication (1033) 3GPP (10415)
+// 5.3.30
+type AVP_Grouped Event_Report_Indication;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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),
+  CDMA2000_1X    (2000),
+  HRPD           (2001),
+  UMB            (2002),
+  EHRPD          (2003)
+}
+
+
+// 3GPP TS 29.212 V12.5.2 
+// AVP: Allocation-Retention-Priority (1034) 3GPP (10415)
+// 5.3.32
+type AVP_Grouped Allocation_Retention_Priority;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: CoA-IP-Address (1035) 3GPP (10415)
+// 5.3.33
+type AVP_Address CoA_IP_Address;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Tunnel-Header-Filter (1036) 3GPP (10415)
+// 5.3.34
+type AVP_IPFilterRule Tunnel_Header_Filter;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Tunnel-Header-Length (1037) 3GPP (10415)
+// 5.3.35
+type AVP_Unsigned32 Tunnel_Header_Length;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Tunnel-Information (1038) 3GPP (10415)
+// 5.3.36
+type AVP_Grouped Tunnel_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: CoA-Information (1039) 3GPP (10415)
+// 5.3.37
+type AVP_Grouped CoA_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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)
+}
+
+
+// 3GPP TS 29.212 V12.5.2 
+// AVP: APN-Aggregate-Max-Bitrate-DL (1040) 3GPP (10415)
+// 5.3.39
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_DL;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: APN-Aggregate-Max-Bitrate-UL (1041) 3GPP (10415)
+// 5.3.40
+type AVP_Unsigned32 APN_Aggregate_Max_Bitrate_UL;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Revalidation-Time (1042) 3GPP (10415)
+// 5.3.41
+type AVP_Time Revalidation_Time;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Rule-Activation-Time (1043) 3GPP (10415)
+// 5.3.42
+type AVP_Time Rule_Activation_Time;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Rule-DeActivation-Time (1044) 3GPP (10415)
+// 5.3.43
+type AVP_Time Rule_DeActivation_Time;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: Priority-Level (1046) 3GPP (10415)
+// 5.3.45
+type AVP_Unsigned32 Priority_Level;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// 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 V12.5.2
+// AVP: Default-EPS-Bearer-QoS (1049) 3GPP (10415)
+// 5.3.48
+type AVP_Grouped Default_EPS_Bearer_QoS;
+
+
+// 3GPP TS 29.212 V12.5.2 
+// AVP: AN-GW-Address (1050) 3GPP (10415)
+// 5.3.49
+type AVP_Address AN_GW_Address;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Resource-Allocation-Notification (1063) 3GPP (10415)
+// 5.3.50
+type enumerated Resource_Allocation_Notification
+{
+  ENABLE_NOTIFICATION (0)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Security-Parameter-Index (1056) 3GPP (10415)
+// 5.3.51
+type AVP_OctetString Security_Parameter_Index;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Flow-Label (1057) 3GPP (10415)
+// 5.3.52
+type AVP_OctetString Flow_Label;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Flow-Information (1058) 3GPP (10415)
+// 5.3.53
+type AVP_Grouped Flow_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Packet-Filter-Content (1059) 3GPP (10415)
+// 5.3.54
+type AVP_IPFilterRule Packet_Filter_Content;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Packet-Filter-Identifier (1060) 3GPP (10415)
+// 5.3.55
+type AVP_OctetString Packet_Filter_Identifier;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Packet-Filter-Information (1061) 3GPP (10415)
+// 5.3.56
+type AVP_Grouped Packet_Filter_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: PDN-Connection-ID (1065) 3GPP (10415)
+// 5.3.58
+type AVP_OctetString PDN_Connection_ID;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Monitoring-Key (1066) 3GPP (10415)
+// 5.3.59
+type AVP_OctetString Monitoring_Key;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Usage-Monitoring-Information (1067) 3GPP (10415)
+// 5.3.60
+type AVP_Grouped Usage_Monitoring_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: Usage-Monitoring-Report (1069) 3GPP (10415)
+// 5.3.62
+type enumerated Usage_Monitoring_Report
+{
+  USAGE_MONITORING_REPORT_REQUIRED  (0)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Usage-Monitoring-Support (1070) 3GPP (10415)
+// 5.3.63
+type enumerated Usage_Monitoring_Support
+{
+  USAGE_MONITORING_DISABLED (0)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2 
+// 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 V12.5.2 
+// AVP: Packet-Filter-Usage (1072) 3GPP (10415)
+// 5.3.66
+type enumerated Packet_Filter_Usage
+{
+  SEND_TO_UE (1)
+}
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Charging-Correlation-Indicator (1073) 3GPP (10415)
+// 5.3.67
+type enumerated Charging_Correlation_Indicator
+{
+  CHARGING_IDENTIFIER_REQUIRED   (0)
+}
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Routing-Rule-Install (1081) 3GPP (10415)
+// 5.3.68
+type AVP_Grouped Routing_Rule_Install;
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Routing-Rule-Remove (1075) 3GPP (10415)
+// 5.3.69
+type AVP_Grouped Routing_Rule_Remove;
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Routing-Rule-Definition (1076) 3GPP (10415)
+// 5.3.70
+type AVP_Grouped Routing_Rule_Definition;
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Routing-Rule-Identifier (1077) 3GPP (10415)
+// 5.3.71
+type AVP_OctetString Routing_Rule_Identifier;
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Routing-Filter (1078) 3GPP (10415)
+// 5.3.72
+type AVP_Grouped Routing_Filter;
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Routing-IP-Address (1079) 3GPP (10415)
+// 5.3.72
+type AVP_Address Routing_IP_Address;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: TDF-Application-Identifier (1088) 3GPP (10415)
+// 5.3.77
+type AVP_OctetString TDF_Application_Identifier;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: TDF-Information (1087) 3GPP (10415)
+// 5.3.78
+type AVP_Grouped TDF_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: TDF-Destination-Realm (1090) 3GPP (10415)
+// 5.3.79
+type AVP_DiameterIdentity TDF_Destination_Realm;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: TDF-Destination-Host (1089) 3GPP (10415)
+// 5.3.80
+type AVP_DiameterIdentity TDF_Destination_Host;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: TDF-IP-Address (1091) 3GPP (10415)
+// 5.3.81
+type AVP_Address TDF_IP_Address;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Redirect-Information (1085) 3GPP (10415)
+// 5.3.82
+type AVP_Grouped Redirect_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Redirect-Support (1086) 3GPP (10415)
+// 5.3.83
+type AVP_Grouped Redirect_Support;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: Application-Detection-Information (1098) 3GPP (10415)
+// 5.3.91
+type AVP_Grouped Application_Detection_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: TDF-Application-Instance-Identifier (2802) 3GPP (10415)
+// 5.3.92
+type AVP_OctetString TDF_Application_Instance_Identifier;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: HeNB-Local-IP-Address (2804) 3GPP (10415)
+// 5.3.95
+type AVP_Address HeNB_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: UE-Local-IP-Address (2805) 3GPP (10415)
+// 5.3.96
+type AVP_Address UE_Local_IP_Address;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: UDP-Source-Port (2806) 3GPP (10415)
+// 5.3.97
+type AVP_Unsigned32 UDP_Source_Port;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Mute-Notification (2809) 3GPP (10415)
+// 5.3.98
+type enumerated Mute_Notification
+{
+  MUTE_REQUIRED (0)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Monitoring-Time (2810) 3GPP (10415)
+// 5.3.99
+type AVP_Time Monitoring_Time;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: AN-GW-Status (2811) 3GPP (10415)
+// 5.3.100
+type enumerated AN_GW_Status
+{
+  AN_GW_FAILED (0)
+}
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: User-Location-Info-Time (2812) 3GPP (10415)
+// 5.3.101
+type AVP_Time User_Location_Info_Time;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Credit-Management-Status (1082) 3GPP (10415)
+// 5.3.102
+type AVP_Unsigned32 Credit_Management_Status;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Default-QoS-Information (2816) 3GPP (10415)
+// 5.3.103
+type AVP_Grouped Default_QoS_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Default-QoS-Name (2817) 3GPP (10415)
+// 5.3.104
+type AVP_UTF8String Default_QoS_Name;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Conditional-APN-Aggregate-Max-Bitrate (2818) 3GPP (10415)
+// 5.3.105
+type AVP_Grouped Conditional_APN_Aggregate_Max_Bitrate;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: RAN-NAS-Release-Cause (2819) 3GPP (10415)
+// 5.3.106
+type AVP_OctetString RAN_NAS_Release_Cause;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Presence-Reporting-Area-Elements-List (2820) 3GPP (10415)
+// 5.3.107
+type AVP_OctetString Presence_Reporting_Area_Elements_List;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Presence-Reporting-Area-Identifier (2821) 3GPP (10415)
+// 5.3.108
+type AVP_OctetString Presence_Reporting_Area_Identifier;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Presence-Reporting-Area-Information (2822) 3GPP (10415)
+// 5.3.109
+type AVP_Grouped Presence_Reporting_Area_Information;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Presence-Reporting-Area-Status (2823) 3GPP (10415)
+// 5.3.110
+type AVP_Unsigned32 Presence_Reporting_Area_Status;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: NetLoc-Access-Support (2824) 3GPP (10415)
+// 5.3.111
+type AVP_Unsigned32 NetLoc_Access_Support;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: Fixed-User-Location-Info (2825) 3GPP (10415)
+// 5.3.112
+type AVP_Grouped Fixed_User_Location_Info;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: QoS-Rule-Install (1051) 3GPP (10415)
+// 5a.3.1
+type AVP_Grouped QoS_Rule_Install;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: QoS-Rule-Remove (1052) 3GPP (10415)
+// 5a.3.2
+type AVP_Grouped QoS_Rule_Remove;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: QoS-Rule-Definition (1053) 3GPP (10415)
+// 5a.3.3
+type AVP_Grouped QoS_Rule_Definition;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: QoS-Rule-Name (1054) 3GPP (10415)
+// 5a.3.4
+type AVP_OctetString QoS_Rule_Name;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: QoS-Rule-Report (1055) 3GPP (10415)
+// 5a.3.5
+type AVP_Grouped QoS_Rule_Report;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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 V12.5.2
+// AVP: QoS-Rule-Base-Name (1074) 3GPP (10415)
+// 5a.3.7
+type AVP_UTF8String QoS_Rule_Base_Name;
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: ADC-Rule-Install (1092) 3GPP (10415)
+// 5b.3.1
+type AVP_Grouped ADC_Rule_Install;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: ADC-Rule-Remove (1093) 3GPP (10415)
+// 5b.3.2
+type AVP_Grouped ADC_Rule_Remove;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: ADC-Rule-Definition (1094) 3GPP (10415)
+// 5b.3.3
+type AVP_Grouped ADC_Rule_Definition;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: ADC-Rule-Base-Name (1095) 3GPP (10415)
+// 5b.3.4
+type AVP_UTF8String ADC_Rule_Base_Name;
+
+
+// 3GPP TS 29.212 V12.5.2
+// AVP: ADC-Rule-Name (1096) 3GPP (10415)
+// 5b.3.5
+type AVP_OctetString ADC_Rule_Name;
+
+
+// 3GPP TS 29.212 V12.5.2
+// 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
new file mode 100644
index 0000000000000000000000000000000000000000..06b23ab6736a00134626e96f28c6d7904f0f7eab
--- /dev/null
+++ b/src/GxaInterface_3GPP2_X_S0057_0_300.ddf
@@ -0,0 +1,75 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               GxaInterface_3GPP2_X_S0057_0_300.ddf
+//  Description:        DDF for Gxa according to 3GPP2 X.S0057-0 v3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Gxa
+// APPLICATION-REVISION: V 3.0
+
+// AVP implementations according to: 
+// 3GPP2 X.S0057-0 Version 3.0 E-UTRAN - eHRPD Connectivity and Interworking:
+// Core Network Aspects
+//
+//
+// Dependant applications
+// -
+
+
+type enumerated Command_Code 
+{
+  ThreeGPP2_Update_Location        (8388626),
+  ThreeGPP2_Cancel_Location        (8388627)
+}
+
+
+
+// 3GPP2 X.S0057-0 v3.0
+// AVP: 3GPP2-BSID (9010) 3GPP2 (5535)
+// 5.6.2.1.1
+type AVP_UTF8String 3GPP2_BSID;
+
+// 3GPP2 X.S0057-0 v3.0
+// AVP: 3GPP2-Cancellation-Type (56) 3GPP2 (5535)
+// 12.4.5.2.1
+type enumerated 3GPP2_Cancellation_Type
+{
+  HSGW_LOCATION_UPDATE_PROCEDURE (0)
+}
diff --git a/src/MobileIPv4_Application_IETF_RFC4004.ddf b/src/MobileIPv4_Application_IETF_RFC4004.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..ce8792735e166262afa1075f67909e5c77e8436a
--- /dev/null
+++ b/src/MobileIPv4_Application_IETF_RFC4004.ddf
@@ -0,0 +1,194 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               MobileIPv4_Application_IETF_RFC4004.ddf
+//  Description:        DDF for Mobile IPv4 Application
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+//  Reference:          IETF RFC 4004
+//
+//
+
+// APPLICATION-NAME: MIPv4
+// APPLICATION-REVISION: RFC4004
+
+// RFC 4004 7.1
+// AVP: MIP-Reg-Request (320)
+type AVP_OctetString MIP_Reg_Request
+
+// RFC 4004 7.2
+// AVP: MIP-Reg-Reply (321)
+type AVP_OctetString  MIP_Reg_Reply
+
+// RFC 4004 7.3
+// AVP: MIP-Mobile-Node-Address (333)
+type AVP_Address MIP_Mobile_Node_Address
+
+// RFC 4004 7.4
+// AVP: MIP-Home-Agent-Address (334)
+type AVP_Address MIP_Home_Agent_Address
+
+// RFC 4004 7.5
+// AVP: MIP-Feature-Vector (337)
+type AVP_Unsigned32 MIP_Feature_Vector
+
+// RFC 4004 7.6
+// AVP: MIP-MN-AAA-Auth (322)
+type AVP_Grouped MIP_MN_AAA_Auth
+
+// RFC 4004 7.6.1
+// AVP: MIP-MN-AAA-SPI (341)
+type AVP_Unsigned32 MIP_MN_AAA_SPI
+
+// RFC 4004 7.6.2
+// AVP: MIP-Auth-Input-Data-Length (338)
+type AVP_Unsigned32 MIP_Auth_Input_Data_Length
+
+
+// RFC 4004 7.6.3
+// AVP: MIP-Authenticator-Length (339)
+type AVP_Unsigned32 MIP_Authenticator_Length
+
+// RFC 4004 7.6.4
+// AVP: MIP-Authenticator-Offset (340)
+type AVP_Unsigned32 MIP_Authenticator_Offset
+
+// RFC 4004 7.7
+// AVP: MIP-FA-Challenge (344)
+type AVP_OctetString MIP_FA_Challenge
+
+// RFC 4004 7.8
+// AVP: MIP-Filter-Rule (342)
+type AVP_IPFilterRule MIP_Filter_Rule
+
+// RFC 4004 7.9
+// AVP: MIP-Candidate-Home-Agent-Host (336)
+type AVP_DiameterIdentity MIP_Candidate_Home_Agent_Host
+
+// RFC 4004 7.10
+// AVP: MIP-Originating-Foreign-AAA (347)
+type AVP_Grouped MIP_Originating_Foreign_AAA
+
+// RFC 4004 7.11
+// AVP: MIP-Home-Agent-Host (348)
+type AVP_Grouped MIP_Home_Agent_Host
+
+// RFC 4004 9.1
+// AVP: MIP-FA-to-MN-MSA (326)
+type AVP_Grouped MIP_FA_to_MN_MSA
+
+// RFC 4004 9.2
+// AVP: MIP-FA-to-HA-MSA (328)
+type AVP_Grouped MIP_FA_to_HA_MSA
+
+// RFC 4004 9.3
+// AVP: MIP-HA-to-FA-MSA (329)
+type AVP_Grouped MIP_HA_to_FA_MSA
+
+// RFC 4004 9.4
+// AVP: MIP-HA-to-MN-MSA (332)
+type AVP_Grouped  MIP_HA_to_MN_MSA
+
+// RFC 4004 9.5
+// AVP: MIP-MN-to-FA-MSA (325)
+type AVP_Grouped MIP_MN_to_FA_MSA
+
+// RFC 4004 9.6
+// AVP: MIP-MN-to-HA-MSA (331)
+type AVP_Grouped MIP_MN_to_HA_MSA
+
+// RFC 4004 9.7
+// AVP: MIP-Session-Key (343)
+type AVP_OctetString MIP_Session_Key
+
+// RFC 4004 9.8
+// AVP: MIP-Algorithm-Type (345)
+type enumerated MIP_Algorithm_Type {
+  HMAC_SHA_1 (2)
+}
+
+// RFC 4004 9.9
+// AVP: MIP-Replay-Mode (346)
+type enumerated MIP_Replay_Mode {
+  None            (1),
+  Timestamps      (2),
+  Nonces          (3)
+}
+
+// RFC 4004 9.10
+// AVP: MIP-FA-to-MN-SPI (319)
+type AVP_Unsigned32 MIP_FA_to_MN_SPI
+
+// RFC 4004 9.11
+// AVP: MIP-FA-to-HA-SPI (318)
+type AVP_Unsigned32 MIP_FA_to_HA_SPI
+
+// RFC 4004 9.12
+// AVP: MIP-Nonce (335)
+type AVP_OctetString MIP_Nonce
+
+// RFC 4004 9.13
+// AVP: MIP-MSA-Lifetime (367)
+type AVP_Unsigned32 MIP_MSA_Lifetime
+
+// RFC 4004 9.14
+// AVP: MIP-HA-to-FA-SPI (323)
+type AVP_Unsigned32 MIP_HA_to_FA_SPI
+
+// RFC 4004 10.1
+// AVP: Accounting-Input-Octets (363)
+type AVP_Unsigned64 Accounting_Input_Octets
+
+// RFC 4004 10.2
+// AVP: Accounting-Output-Octets (364)
+type AVP_Unsigned64 Accounting_Output_Octets
+
+// RFC 4004 10.3
+// AVP: Acct-Session-Time (46)
+type AVP_Unsigned32 Acct_Session_Time
+
+// RFC 4004 10.4
+// AVP: Accounting-Input-Packets (365)
+type AVP_Unsigned64 Accounting_Input_Packets
+
+// RFC 4004 10.5
+// AVP: Accounting-Output-Packets (366)
+type AVP_Unsigned64 Accounting_Output_Packets
+
+// RFC 4004 10.6
+// AVP: Event-Timestamp (55)
+type AVP_Time Event_Timestamp
diff --git a/src/MobileIPv6_HAAA_IETF_RFC5779.ddf b/src/MobileIPv6_HAAA_IETF_RFC5779.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..d14bab217d38371410571f7cf80f6a17b4c69f59
--- /dev/null
+++ b/src/MobileIPv6_HAAA_IETF_RFC5779.ddf
@@ -0,0 +1,59 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               MobileIPv6_HAAA_IETF_RFC5779.ddf
+//  Description:        DDF for Mobile IPv6 according to RFC 5779
+//  Rev:                R29A
+//  Prodnr:             CNL113462
+///////////////////////////////////////////////
+
+// RFC 5779 5.2
+// AVP: PMIP6-IPv4-Home-Address (505)
+type  AVP_Address PMIP6_IPv4_Home_Address;
+
+// RFC 5779 5.4
+// AVP: PMIP6-DHCP-Server-Address (504)
+type  AVP_Address PMIP6_DHCP_Server_Address;
+
+// RFC 5779 5.6
+// AVP: Mobile-Node-Identifier (506)
+type AVP_UTF8String Mobile_Node_Identifier;
+
+// RFC 5779 5.9
+// AVP: Service-Configuration (507)
+type AVP_Grouped Service_Configuration;
+
diff --git a/src/MobileIPv6_HA_IETF_RFC5778.ddf b/src/MobileIPv6_HA_IETF_RFC5778.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..b6c39f8c10f42a4428b59e0f2cdf87cdceffc5e7
--- /dev/null
+++ b/src/MobileIPv6_HA_IETF_RFC5778.ddf
@@ -0,0 +1,117 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               MobileIPv6_HA_IETF_RFC5778.ddf
+//  Description:        DDF for Mobile IPv6 according to RFC 5778
+//  Rev:                R29A
+//  Prodnr:             CNL113462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: MIPv6
+// APPLICATION-REVISION: RFC5778
+
+// RFC 5778 6.2
+// AVP: Service-Selection (493)
+type AVP_UTF8String Service_Selection
+
+// RFC 5778 6.3
+// AVP: MIP-MN-AAA-SPI (341)
+type AVP_Unsigned32 MIP_MN_AAA_SPI
+
+// RFC 5778 6.4
+// AVP: MIP-MN-HA-SPI (491)
+type AVP_Unsigned32 MIP_MN_HA_SPI
+
+// RFC 5778 6.5
+// AVP: MIP-Mobile-Node-Address (333)
+type AVP_Address MIP_Mobile_Node_Address
+
+// RFC 5778 6.7
+// AVP: MIP-Careof-Address (487)
+type AVP_Address MIP_Careof_Address
+
+// RFC 5778 6.8
+// AVP: MIP-Authenticator (488)
+type AVP_OctetString MIP_Authenticator
+
+// RFC 5778 6.9
+// AVP: MIP-MAC-Mobility-Data (489)
+type AVP_OctetString MIP_MAC_Mobility_Data
+
+// RFC 5778 6.10
+// AVP: MIP-Session-Key (343)
+type AVP_OctetString MIP_Session_Key
+
+// RFC 5778 6.11
+// AVP: MIP-MSA-Lifetime (367)
+type AVP_Unsigned32 MIP_MSA_Lifetime
+
+// RFC 5778 6.12
+// AVP: MIP-MN-HA-MSA (492)
+type AVP_Grouped MIP_MN_HA_MSA
+
+// RFC 5778 6.13
+// AVP: MIP-Algorithm-Type (345)
+type AVP_Unsigned32 MIP_Algorithm_Type
+
+// RFC 5778 6.14
+// AVP: MIP-Replay-Mode (346)
+type enumerated MIP_Replay_Mode
+{
+  None          (1),
+  Timestamp     (2)
+}
+
+// RFC 5778 6.16
+// AVP: MIP-Timestamp (490)
+type AVP_OctetString MIP_Timestamp
+
+// RFC 5778 6.17
+// AVP: QoS-Capability (578)
+type AVP_Grouped QoS_Capability
+
+// RFC 5778 6.18
+// AVP: QoS-Resources (508)
+type AVP_Grouped QoS_Resources
+
+// RFC 5778 6.19
+// AVP: Chargable-User-Identity (89)
+type AVP_OctetString Chargable_User_Identity
+
+// RFC 5778 6.20
+// AVP: MIP6-Auth-Mode (494)
+type AVP_Unsigned32 MIP6_Auth_Mode
diff --git a/src/MobileIPv6_NAS_IETF_RFC5447.ddf b/src/MobileIPv6_NAS_IETF_RFC5447.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..0caf089b8e60e88b6257a48f3ac2001d11e844f6
--- /dev/null
+++ b/src/MobileIPv6_NAS_IETF_RFC5447.ddf
@@ -0,0 +1,65 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               MobileIPv6_NAS_IETF_RFC5447.ddf
+//  Description:        DDF for Mobile IPv6 according to RFC 5447
+//  Rev:                R29A
+//  Prodnr:             CNL113462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: MIPv6
+// APPLICATION-REVISION: RFC5447
+
+// RFC 5447 4.2.1
+// AVP: MIP6-Agent-Info (486)
+type AVP_Grouped MIP6_Agent_Info
+
+// RFC 5447 4.2.2
+// AVP: MIP6-Home-Agent-Address (334)
+type AVP_Address MIP6_Home_Agent_Address
+
+// RFC 5447 4.2.3
+// AVP: MIP6-Home-Agent-Host (348)
+type AVP_Grouped MIP6_Home_Agent_Host
+
+// RFC 5447 4.2.4
+// AVP: MIP6-Home-Link-Prefix (125)
+type AVP_OctetString MIP6_Home_Link_Prefix
+
+// RFC 5447 4.2.5
+// AVP: MIP6-Feature-Vector (124)
+type AVP_Unsigned64 MIP6_Feature_Vector
diff --git a/src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf b/src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..1f848e6bf6ab18f9a8d1578ebe02979fb98f2737
--- /dev/null
+++ b/src/NGN_NetworkAccesses_ETSI_ES183020_111.ddf
@@ -0,0 +1,63 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               NGN_NetworkAccesses_ETSI_ES183020_111.ddf
+//  Description:        DDF for NGN Network Accesses according to ETSI ES 183 020 V1.1.1
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: NGN
+// APPLICATION-REVISION: 
+
+// AVP implementations according to: 
+// ETSI ES 183 020 V1.1.1
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+
+
+type enumerated Command_Code 
+{
+  User_Data (306),
+  Push_Notification (309)
+}
+
+// ETSI ES 183 020 V1.1.1
+// AVP: Privacy-Indicator (440) ETSI (13019)
+// 5.5.1
+type AVP_Grouped Privacy_Indicator;
diff --git a/src/NetworkAccessServer_IETF_RFC4005.ddf b/src/NetworkAccessServer_IETF_RFC4005.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..c3a732422e1d22369fcbe37d7c4923346b6f228e
--- /dev/null
+++ b/src/NetworkAccessServer_IETF_RFC4005.ddf
@@ -0,0 +1,538 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               NetworkAccessServer_IETF_RFC4005.ddf
+//  Description:        DDF for NAS according to RFC 4005
+//  Rev:                R29A
+//  Prodnr:             CNL113462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: DNAS
+// APPLICATION-REVISION: RFC4005
+
+// AVP implementations according to: 
+// RFC 4005 - Diameter Network Access Server Application
+//
+
+// RFC 4005 3
+type enumerated Command_Code {
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274),
+  Accounting             (271)
+}
+
+// RFC 4005  
+// AVP: NAS-Port (5) 
+// 4.2
+type AVP_Unsigned32 NAS_Port;
+
+// RFC 4005  
+// AVP: NAS-Port-Id (87) 
+// 4.3
+type AVP_UTF8String NAS_Port_Id;
+
+// RFC 4005  
+// AVP: NAS-Port-Type (61) 
+// 4.4
+type AVP_Unsigned32 NAS_Port_Type;
+
+// RFC 4005  
+// AVP: Called-Station-Id (30) 
+// 4.5
+type AVP_UTF8String Called_Station_Id;
+
+// RFC 4005  
+// AVP: Calling-Station-Id (31) 
+// 4.6
+type AVP_UTF8String Calling_Station_Id;
+
+// RFC 4005  
+// AVP: Connect-Info (77) 
+// 4.7
+type AVP_UTF8String Connect_Info;
+
+// RFC 4005  
+// AVP: Originating-Line-Info (94) 
+// 4.8
+type AVP_OctetString Originating_Line_Info;
+
+// RFC 4005  
+// AVP: Reply-Message (18) 
+// 4.9
+type AVP_UTF8String Reply_Message;
+
+
+
+// RFC 4005  
+// AVP: User-Password (2) 
+// 5.1
+type AVP_OctetString User_Password;
+
+// RFC 4005  
+// AVP: Password-Retry (75) 
+// 5.2
+type AVP_Unsigned32 Password_Retry;
+
+// RFC 4005  
+// AVP: Prompt (76)
+// 5.3
+type enumerated Prompt
+{
+  NO_ECHO (0),
+  ECHO (1)
+}
+
+// RFC 4005  
+// AVP: CHAP-Auth (402) 
+// 5.4
+type AVP_Grouped CHAP_Auth;
+
+// RFC 4005  
+// AVP: CHAP-Algorithm (403)
+// 5.5
+type enumerated CHAP_Algorithm
+{
+  CHAP_with_MD5 (5)
+}
+
+// RFC 4005  
+// AVP: CHAP-Ident (404) 
+// 5.6
+type AVP_OctetString CHAP_Ident;
+
+// RFC 4005  
+// AVP: CHAP-Response (405) 
+// 5.7
+type AVP_OctetString CHAP_Response;
+
+// RFC 4005  
+// AVP: CHAP-Challenge (60) 
+// 5.8
+type AVP_OctetString CHAP_Challenge;
+
+// RFC 4005  
+// AVP: ARAP-Password (70) 
+// 5.9
+type AVP_OctetString ARAP_Password;
+
+// RFC 4005  
+// AVP: ARAP-Challenge-Response (84) 
+// 5.10
+type AVP_OctetString ARAP_Challenge_Response;
+
+// RFC 4005  
+// AVP: ARAP-Security (73) 
+// 5.11
+type AVP_Unsigned32 ARAP_Security;
+
+// RFC 4005  
+// AVP: ARAP-Security-Data (74) 
+// 5.12
+type AVP_OctetString ARAP_Security_Data;
+
+
+
+// RFC 4005  
+// AVP: Service-Type (6) 
+// 6.1
+type AVP_Unsigned32 Service_Type;
+
+// RFC 4005  
+// AVP: Callback-Number (19) 
+// 6.2
+type AVP_UTF8String Callback_Number;
+
+// RFC 4005  
+// AVP: Callback-Id (20) 
+// 6.3
+type AVP_UTF8String Callback_Id;
+
+// RFC 4005  
+// AVP: Idle-Timeout (28) 
+// 6.4
+type AVP_Unsigned32 Idle_Timeout;
+
+// RFC 4005  
+// AVP: Port-Limit (62) 
+// 6.5
+type AVP_Unsigned32 Port_Limit;
+
+// RFC 4005  
+// AVP: NAS-Filter-Rule (400) 
+// 6.6
+type AVP_IPFilterRule NAS_Filter_Rule;
+
+// RFC 4005  
+// AVP: Filter-Id (11) 
+// 6.7
+type AVP_UTF8String Filter_Id;
+
+// RFC 4005  
+// AVP: Configuration-Token (78) 
+// 6.8
+type AVP_OctetString Configuration_Token;
+
+// RFC 4005  
+// AVP: QoS-Filter-Rule (407) 
+// 6.9
+type AVP_QoSFilterRule QoS_Filter_Rule;
+
+// RFC 4005  
+// AVP: Framed-Protocol (7) 
+// 6.10.1
+type enumerated Framed_Protocol
+{
+  PPP (1),
+  SLIP (2),
+  ARAP (3),
+  GANDALF (4),
+  XYLOGICS (5),
+  X_75_SYNCHRONOUS (6),
+  GPRS_PDP_CONTEXT (7)
+}
+
+// RFC 4005  
+// AVP: Framed-Routing (10) 
+// 6.10.2
+type enumerated Framed_Routing
+{
+  NONE (0),
+  SEND_ROUTING_PACKETS (1),
+  LISTEN_FOR_ROUTING_PACKETS (2),
+  SEND_AND_LISTEN (3)
+}
+
+// RFC 4005  
+// AVP: Framed-MTU (12) 
+// 6.10.3
+type AVP_Unsigned32 Framed_MTU;
+
+// RFC 4005  
+// AVP: Framed-Compression (13) 
+// 6.10.4
+type enumerated Framed_Compression
+{
+  NONE (0),
+  VJ_TCP_IP_HEADER_COMPRESSION (1),
+  IPX_HEADER_COMPRESSION (2),
+  STAC_LZS_COMPRESSION (3)
+}
+
+// RFC 4005  
+// AVP: Framed-IP-Address (8) 
+// 6.11.1
+type AVP_OctetString Framed_IP_Address;
+
+// RFC 4005  
+// AVP: Framed-IP-Netmask (9) 
+// 6.11.2
+type AVP_OctetString Framed_IP_Netmask;
+
+// RFC 4005  
+// AVP: Framed-Route (22) 
+// 6.11.3
+type AVP_UTF8String Framed_Route;
+
+// RFC 4005  
+// AVP: Framed-Pool (88) 
+// 6.11.4
+type AVP_OctetString Framed_Pool;
+
+// RFC 4005  
+// AVP: Framed-Interface-Id (96) 
+// 6.11.5
+type AVP_Unsigned64 Framed_Interface_Id;
+
+// RFC 4005  
+// AVP: Framed-IPv6-Prefix (97) 
+// 6.11.6
+type AVP_OctetString Framed_IPv6_Prefix;
+
+// RFC 4005  
+// AVP: Framed-IPv6-Route (99) 
+// 6.11.7
+type AVP_UTF8String Framed_IPv6_Route;
+
+// RFC 4005  
+// AVP: Framed-IPv6-Pool (100) 
+// 6.11.8
+type AVP_OctetString Framed_IPv6_Pool;
+
+// RFC 4005  
+// AVP: Framed-IPX-Network (23) 
+// 6.12.1
+type AVP_UTF8String Framed_IPX_Network;
+
+// RFC 4005  
+// AVP: Framed-Appletalk-Link (37) 
+// 6.13.1
+type AVP_Unsigned32 Framed_Appletalk_Link;
+
+// RFC 4005  
+// AVP: Framed-Appletalk-Network (38) 
+// 6.13.2
+type AVP_Unsigned32 Framed_Appletalk_Network;
+
+// RFC 4005  
+// AVP: Framed-Appletalk-Zone (39) 
+// 6.13.3
+type AVP_OctetString Framed_Appletalk_Zone;
+
+// RFC 4005  
+// AVP: ARAP-Features (71) 
+// 6.14.1
+type AVP_OctetString ARAP_Features;
+
+// RFC 4005  
+// AVP: ARAP-Zone-Access (72) 
+// 6.14.2
+type enumerated ARAP_Zone_Access
+{
+  ONLY_ALLOW_ACCESS_TO_DEFAULT_ZONE (1),
+  USE_ZONE_FILTER_INCLUSIVELY (2),
+  USE_ZONE_FILTER_EXCLUSIVELY (4)
+}
+
+// RFC 4005  
+// AVP: Login-IP-Host (14) 
+// 6.15.1
+type AVP_OctetString Login_IP_Host;
+
+// RFC 4005  
+// AVP: Login-IPv6-Host (98) 
+// 6.15.2
+type AVP_OctetString Login_IPv6_Host;
+
+// RFC 4005  
+// AVP: Login-Service (15) 
+// 6.15.3
+type enumerated Login_Service
+{
+  TELNET (0),
+  RLOGIN (1),
+  TCP_CLEAR (2),
+  PORTMASTER (3),
+  LAT (4),
+  X25_PAD (5),
+  X25_T3POS (6),
+  TCP_CLEAR_QUIET (8)
+}
+
+// RFC 4005  
+// AVP: Login-TCP-Port (16) 
+// 6.16.1
+type AVP_Unsigned32 Login_TCP_Port;
+
+// RFC 4005  
+// AVP: Login-LAT-Service (34) 
+// 6.17.1
+type AVP_OctetString Login_LAT_Service;
+
+// RFC 4005  
+// AVP: Login-LAT-Node (35) 
+// 6.17.2
+type AVP_OctetString Login_LAT_Node;
+
+// RFC 4005  
+// AVP: Login-LAT-Group (36) 
+// 6.17.3
+type AVP_OctetString Login_LAT_Group;
+
+// RFC 4005  
+// AVP: Login-LAT-Port (63) 
+// 6.17.4
+type AVP_OctetString Login_LAT_Port;
+
+
+
+// RFC 4005  
+// AVP: Tunneling (401) 
+// 7.1
+type AVP_Grouped Tunneling;
+
+// RFC 4005  
+// AVP: Tunnel-Type (64)
+// 7.2
+type AVP_Unsigned32 Tunnel_Type;
+
+// RFC 4005  
+// AVP: Tunnel-Medium-Type (65) 
+// 7.3
+type AVP_Unsigned32 Tunnel_Medium_Type;
+
+// RFC 4005  
+// AVP: Tunnel-Client-Endpoint (66) 
+// 7.4
+type AVP_UTF8String Tunnel_Client_Endpoint;
+
+// RFC 4005  
+// AVP: Tunnel-Server-Endpoint (67) 
+// 7.5
+type AVP_UTF8String Tunnel_Server_Endpoint;
+
+// RFC 4005  
+// AVP: Tunnel-Password (69) 
+// 7.6
+type AVP_OctetString Tunnel_Password;
+
+// RFC 4005  
+// AVP: Tunnel-Private-Group-Id (81) 
+// 7.7
+type AVP_OctetString Tunnel_Private_Group_Id;
+
+// RFC 4005  
+// AVP: Tunnel-Assignment-Id (82) 
+// 7.8
+type AVP_OctetString Tunnel_Assignment_Id;
+
+// RFC 4005  
+// AVP: Tunnel-Preference (83) 
+// 7.9
+type AVP_Unsigned32 Tunnel_Preference;
+
+// RFC 4005  
+// AVP: Tunnel-Client-Auth-Id (90) 
+// 7.10
+type AVP_UTF8String Tunnel_Client_Auth_Id;
+
+// RFC 4005  
+// AVP: Tunnel-Server-Auth-Id (91) 
+// 7.11
+type AVP_UTF8String Tunnel_Server_Auth_Id;
+
+
+
+// RFC 4005  
+// AVP: Accounting-Input-Octets (363) 
+// 8.1
+type AVP_Unsigned64 Accounting_Input_Octets;
+
+// RFC 4005  
+// AVP: Accounting-Output-Octets (364) 
+// 8.2
+type AVP_Unsigned64 Accounting_Output_Octets;
+
+// RFC 4005  
+// AVP: Accounting-Input-Packets (365) 
+// 8.3
+type AVP_Unsigned64 Accounting_Input_Packets;
+
+// RFC 4005  
+// AVP: Accounting-Output-Packets (366) 
+// 8.4
+type AVP_Unsigned64 Accounting_Output_Packets;
+
+// RFC 4005  
+// AVP: Acct-Session-Time (46) 
+// 8.5
+type AVP_Unsigned32 Acct_Session_Time;
+
+// RFC 4005  
+// AVP: Acct-Authentic (45) 
+// 8.6
+type enumerated Acct_Authentic
+{
+  RADIUS (1),
+  LOCAL (2),
+  REMOTE (3),
+  DIAMETER (4)
+}
+
+// RFC 4005  
+// AVP: Accounting-Auth-Method (406) 
+// 8.7
+type enumerated Accounting_Auth_Method
+{
+   PAP (1),
+   CHAP (2),
+   MS_CHAP_1 (3),
+   MS_CHAP_2 (4),
+   EAP (5),
+   None (7)   
+}
+
+// RFC 4005  
+// AVP: Acct-Delay-Time (41)
+// 8.8
+type AVP_Unsigned32 Acct_Delay_Time;
+
+// RFC 4005  
+// AVP: Acct-Link-Count (51) 
+// 8.9
+type AVP_Unsigned32 Acct_Link_Count;
+
+// RFC 4005  
+// AVP: Acct-Tunnel-Connection (68) 
+// 8.10
+type AVP_OctetString Acct_Tunnel_Connection;
+
+// RFC 4005  
+// AVP: Acct-Tunnel-Packets-Lost (86)
+// 8.11
+type AVP_Unsigned32 Acct_Tunnel_Packets_Lost;
+
+
+
+// RFC 4005  
+// AVP: NAS-Identifier (32)
+// 9.3.1
+type AVP_UTF8String NAS_Identifier;
+
+// RFC 4005  
+// AVP: NAS-IP-Address (4)
+// 9.3.2
+type AVP_OctetString NAS_IP_Address;
+
+// RFC 4005  
+// AVP: NAS-IPv6-Address (95)
+// 9.3.3
+type AVP_OctetString NAS_IPv6_Address;
+
+// RFC 4005  
+// AVP: State (24)
+// 9.3.4
+type AVP_OctetString State;
+
+// RFC 4005  
+// AVP: Origin-AAA-Protocol (408)
+// 9.3.6
+type enumerated Origin_AAA_Protocol
+{
+  RADIUS (1)
+}
diff --git a/src/README b/src/README
new file mode 100644
index 0000000000000000000000000000000000000000..65e39504e0cab0e9359a2279136d3a2003f3f73b
--- /dev/null
+++ b/src/README
@@ -0,0 +1,11 @@
+Warning to TCC DPMG ddf developers!
+
+If you're requested to add new AVPs or ddf files, you MUST make 
+the change in the main src/ directory and also in the obsolete/ 
+directory as well in order to maintain temporary backward compatibility.
+
+This is needed because the Application Names differ in the ddf files and 
+so AVP names and constants will differ also in the generated ttcn file.
+
+- 2010.06.29 note by ethecs: this README is updated. The obsolate
+  directory does not need to be updated according to ethgasz.
diff --git a/src/RqInterface_ETSI_ES283026_241.ddf b/src/RqInterface_ETSI_ES283026_241.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..f218f2a681567fb286c4ecdc7e99931f22abafd4
--- /dev/null
+++ b/src/RqInterface_ETSI_ES283026_241.ddf
@@ -0,0 +1,67 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               RqInterface_ETSI_ES283026_241.ddf
+//  Description:        DDF for Rq according to ETSI ES 283 026 V2.4.1
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+// AVP implementations according to:
+// ETSI ES 283 026 V2.4.1 
+// Telecommunication and Internet converged Services and 
+// Protocols for Advanced Networking (TISPAN);
+// Resource and Admission Control;
+// Protocol for QoS reservation information exchange between
+// the Service Policy Decision Function (SPDF) and the 
+// Access-Resource and Admission Control Function (A-RACF)
+// in the Resource and Protocol specification
+//
+// Dependant applications
+// 3GPP TS 29.209 (ETSI TS 129 209) Gq Interface V6.7.0
+// TS 183 017 Gq' Interface V2.3.1
+// ES 283 034 e4 Interface V2.2.0
+// RFC 4005 
+// RFC 3588
+
+// APPLICATION-NAME: RQ
+// APPLICATION-REVISION: V241
+
+
+// ETSI ES 283 026 V.2.4.1
+// AVP: Session-Bundle-Id (400) ETSI (13019)
+// 6.4.24
+type AVP_Unsigned32 Session_Bundle_Id;
diff --git a/src/RxInterface_PCC_3GPP_TS29214_830.ddf b/src/RxInterface_PCC_3GPP_TS29214_830.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..e379ecbf4f38359789839cac49fadcd34a7caed7
--- /dev/null
+++ b/src/RxInterface_PCC_3GPP_TS29214_830.ddf
@@ -0,0 +1,258 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               RxInterface_PCC_3GPP_TS29214_830.ddf
+//  Description:        DDF for Rx according to 3GPP TS 29.214 V8.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: V8_3_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.214 V8.3.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 V8.3.0 5.6
+type enumerated Command_Code
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.214 V8.3.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)
+}
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Access-Network-Charging-Address (501) 3GPP (10415)
+// 5.3.2
+type AVP_Address Access_Network_Charging_Address;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Access-Network-Charging-Identifier (502) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Access_Network_Charging_Identifier;
+
+
+// 3GPP TS 29.214 V8.3.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 V8.3.0
+// AVP: Acceptable-Service-Info (526) 3GPP (10415)
+// 5.3.24
+type AVP_Grouped Acceptable_Service_Info;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: AF-Application-Identifier (504) 3GPP (10415)
+// 5.3.5
+type AVP_OctetString AF_Application_Identifier;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: AF-Charging-Identifier (505) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString AF_Charging_Identifier;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Codec-Data  (524) 3GPP (10415)
+// 5.3.7
+type AVP_OctetString Codec_Data;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Flow-Description (507) 3GPP (10415)
+// 5.3.8
+type AVP_IPFilterRule Flow_Description;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Flow-Number (509) 3GPP (10415)
+// 5.3.9
+type AVP_Unsigned32 Flow_Number;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Flows (510) 3GPP (10415)
+// 5.3.10
+type AVP_Grouped Flows;
+
+
+// 3GPP TS 29.214 V8.3.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 V8.3.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 V8.3.0
+// AVP:  Service-URN (525) 3GPP (10415)
+// 5.3.23
+type AVP_OctetString Service_URN;
+
+
+// 3GPP TS 29.214 V8.3.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)
+}
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Max-Requested-Bandwidth-DL (515) 3GPP (10415)
+// 5.3.14
+type AVP_Unsigned32 Max_Requested_Bandwidth_DL;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Max-Requested-Bandwidth-UL (516) 3GPP (10415)
+// 5.3.15
+type AVP_Unsigned32 Max_Requested_Bandwidth_UL;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Media-Component-Description (517) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped Media_Component_Description;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Media-Component-Number (518) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 Media_Component_Number;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Media-Sub-Component (519) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Media_Sub_Component;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: Media-Type (520) 3GPP (10415)
+// 5.3.19
+type AVP_Unsigned32 Media_Type;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: RR-Bandwidth (521) 3GPP (10415)
+// 5.3.20
+type AVP_Unsigned32 RR_Bandwidth;
+
+
+// 3GPP TS 29.214 V8.3.0
+// AVP: RS-Bandwidth (522) 3GPP (10415)
+// 5.3.21
+type AVP_Unsigned32 RS_Bandwidth;
+
+
+// 3GPP TS 29.214 V8.3.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 V8.3.0
+// AVP: SIP-Forking-Indication (523) 3GPP (10415)
+// 5.3.22
+type enumerated SIP_Forking_Indication
+{
+   SINGLE_DIALOGUE   (0),
+   SEVERAL_DIALOGUES (1) 
+}
diff --git a/src/RxInterface_PCC_3GPP_TS29214_8a0.ddf b/src/RxInterface_PCC_3GPP_TS29214_8a0.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..f94f4f782c4b2d09afeea3d7bd14b252f44b6d44
--- /dev/null
+++ b/src/RxInterface_PCC_3GPP_TS29214_8a0.ddf
@@ -0,0 +1,261 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               RxInterface_PCC_3GPP_TS29214_830.ddf
+//  Description:        DDF for Rx according to 3GPP TS 29.214 V8.10.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: V8_A_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.214 V8.10.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 V8.10.0 5.6
+type enumerated Command_Code
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.214 V8.10.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)
+}
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Access-Network-Charging-Address (501) 3GPP (10415)
+// 5.3.2
+type AVP_Address Access_Network_Charging_Address;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Access-Network-Charging-Identifier (502) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Access_Network_Charging_Identifier;
+
+
+// 3GPP TS 29.214 V8.10.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 V8.10.0
+// AVP: Acceptable-Service-Info (526) 3GPP (10415)
+// 5.3.24
+type AVP_Grouped Acceptable_Service_Info;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: AF-Application-Identifier (504) 3GPP (10415)
+// 5.3.5
+type AVP_OctetString AF_Application_Identifier;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: AF-Charging-Identifier (505) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString AF_Charging_Identifier;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Codec-Data  (524) 3GPP (10415)
+// 5.3.7
+type AVP_OctetString Codec_Data;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Flow-Description (507) 3GPP (10415)
+// 5.3.8
+type AVP_IPFilterRule Flow_Description;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Flow-Number (509) 3GPP (10415)
+// 5.3.9
+type AVP_Unsigned32 Flow_Number;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Flows (510) 3GPP (10415)
+// 5.3.10
+type AVP_Grouped Flows;
+
+
+// 3GPP TS 29.214 V8.10.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 V8.10.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 V8.10.0
+// AVP:  Service-URN (525) 3GPP (10415)
+// 5.3.23
+type AVP_OctetString Service_URN;
+
+
+// 3GPP TS 29.214 V8.10.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)
+}
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Max-Requested-Bandwidth-DL (515) 3GPP (10415)
+// 5.3.14
+type AVP_Unsigned32 Max_Requested_Bandwidth_DL;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Max-Requested-Bandwidth-UL (516) 3GPP (10415)
+// 5.3.15
+type AVP_Unsigned32 Max_Requested_Bandwidth_UL;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Media-Component-Description (517) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped Media_Component_Description;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Media-Component-Number (518) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 Media_Component_Number;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Media-Sub-Component (519) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Media_Sub_Component;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: Media-Type (520) 3GPP (10415)
+// 5.3.19
+type AVP_Unsigned32 Media_Type;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: RR-Bandwidth (521) 3GPP (10415)
+// 5.3.20
+type AVP_Unsigned32 RR_Bandwidth;
+
+
+// 3GPP TS 29.214 V8.10.0
+// AVP: RS-Bandwidth (522) 3GPP (10415)
+// 5.3.21
+type AVP_Unsigned32 RS_Bandwidth;
+
+
+// 3GPP TS 29.214 V8.10.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 V8.10.0
+// AVP: SIP-Forking-Indication (523) 3GPP (10415)
+// 5.3.22
+type enumerated SIP_Forking_Indication
+{
+   SINGLE_DIALOGUE   (0),
+   SEVERAL_DIALOGUES (1) 
+}
diff --git a/src/RxInterface_PCC_3GPP_TS29214_990.ddf b/src/RxInterface_PCC_3GPP_TS29214_990.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..887a78d58235b94b1a7c87a7d19ba44f6ce66328
--- /dev/null
+++ b/src/RxInterface_PCC_3GPP_TS29214_990.ddf
@@ -0,0 +1,273 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               RxInterface_PCC_3GPP_TS29214_990.ddf
+//  Description:        DDF for Rx according to 3GPP TS 29.214 V9.9.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: V9_9_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.214 V9.9.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 V9.9.0 5.6
+type enumerated Command_Code
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.214 V9.9.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)
+}
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Access-Network-Charging-Address (501) 3GPP (10415)
+// 5.3.2
+type AVP_Address Access_Network_Charging_Address;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Access-Network-Charging-Identifier (502) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Access_Network_Charging_Identifier;
+
+
+// 3GPP TS 29.214 V9.9.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 V9.9.0
+// AVP: AF-Application-Identifier (504) 3GPP (10415)
+// 5.3.5
+type AVP_OctetString AF_Application_Identifier;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: AF-Charging-Identifier (505) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString AF_Charging_Identifier;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Codec-Data  (524) 3GPP (10415)
+// 5.3.7
+type AVP_OctetString Codec_Data;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Flow-Description (507) 3GPP (10415)
+// 5.3.8
+type AVP_IPFilterRule Flow_Description;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Flow-Number (509) 3GPP (10415)
+// 5.3.9
+type AVP_Unsigned32 Flow_Number;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Flows (510) 3GPP (10415)
+// 5.3.10
+type AVP_Grouped Flows;
+
+
+// 3GPP TS 29.214 V9.9.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 V9.9.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 V9.9.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)
+}
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Max-Requested-Bandwidth-DL (515) 3GPP (10415)
+// 5.3.14
+type AVP_Unsigned32 Max_Requested_Bandwidth_DL;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Max-Requested-Bandwidth-UL (516) 3GPP (10415)
+// 5.3.15
+type AVP_Unsigned32 Max_Requested_Bandwidth_UL;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Media-Component-Description (517) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped Media_Component_Description;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Media-Component-Number (518) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 Media_Component_Number;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Media-Sub-Component (519) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Media_Sub_Component;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Media-Type (520) 3GPP (10415)
+// 5.3.19
+type AVP_Unsigned32 Media_Type;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: RR-Bandwidth (521) 3GPP (10415)
+// 5.3.20
+type AVP_Unsigned32 RR_Bandwidth;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: RS-Bandwidth (522) 3GPP (10415)
+// 5.3.21
+type AVP_Unsigned32 RS_Bandwidth;
+
+// 3GPP TS 29.214 V9.9.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 V9.9.0
+// AVP:  Service-URN (525) 3GPP (10415)
+// 5.3.23
+type AVP_OctetString Service_URN;
+
+
+// 3GPP TS 29.214 V9.9.0
+// AVP: Acceptable-Service-Info (526) 3GPP (10415)
+// 5.3.24
+type AVP_Grouped Acceptable_Service_Info;
+
+// 3GPP TS 29.214 V9.9.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 V9.9.0
+// AVP: AF-Signalling-Protocol (529) 3GPP (10415)
+// 5.3.26
+type enumerated AF_Signalling_Protocol 
+{
+  NO_INFORMATION      (0),	
+  SIP (1)
+}
+
+
diff --git a/src/RxInterface_PCC_3GPP_TS29214_a70.ddf b/src/RxInterface_PCC_3GPP_TS29214_a70.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..cbdb7b37f9c861b328c27885b7cd651ca0c7c6b6
--- /dev/null
+++ b/src/RxInterface_PCC_3GPP_TS29214_a70.ddf
@@ -0,0 +1,304 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               RxInterface_PCC_3GPP_TS29214_a70.ddf
+//  Description:        DDF for Rx according to 3GPP TS 29.214 a.7.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: VA_7_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.214 a.7.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 a.7.0 5.6
+type enumerated Command_Code
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.214 a.7.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 a.7.0
+// AVP: Access-Network-Charging-Address (501) 3GPP (10415)
+// 5.3.2
+type AVP_Address Access_Network_Charging_Address;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Access-Network-Charging-Identifier (502) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Access_Network_Charging_Identifier;
+
+
+// 3GPP TS 29.214 a.7.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 a.7.0
+// AVP: AF-Application-Identifier (504) 3GPP (10415)
+// 5.3.5
+type AVP_OctetString AF_Application_Identifier;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: AF-Charging-Identifier (505) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString AF_Charging_Identifier;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Codec-Data  (524) 3GPP (10415)
+// 5.3.7
+type AVP_OctetString Codec_Data;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Flow-Description (507) 3GPP (10415)
+// 5.3.8
+type AVP_IPFilterRule Flow_Description;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Flow-Number (509) 3GPP (10415)
+// 5.3.9
+type AVP_Unsigned32 Flow_Number;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Flows (510) 3GPP (10415)
+// 5.3.10
+type AVP_Grouped Flows;
+
+
+// 3GPP TS 29.214 a.7.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 a.7.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 a.7.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)
+}
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Max-Requested-Bandwidth-DL (515) 3GPP (10415)
+// 5.3.14
+type AVP_Unsigned32 Max_Requested_Bandwidth_DL;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Max-Requested-Bandwidth-UL (516) 3GPP (10415)
+// 5.3.15
+type AVP_Unsigned32 Max_Requested_Bandwidth_UL;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Component-Description (517) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped Media_Component_Description;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Component-Number (518) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 Media_Component_Number;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Sub-Component (519) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Media_Sub_Component;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Type (520) 3GPP (10415)
+// 5.3.19
+type AVP_Unsigned32 Media_Type;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: RR-Bandwidth (521) 3GPP (10415)
+// 5.3.20
+type AVP_Unsigned32 RR_Bandwidth;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: RS-Bandwidth (522) 3GPP (10415)
+// 5.3.21
+type AVP_Unsigned32 RS_Bandwidth;
+
+// 3GPP TS 29.214 a.7.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 a.7.0
+// AVP:  Service-URN (525) 3GPP (10415)
+// 5.3.23
+type AVP_OctetString Service_URN;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Acceptable-Service-Info (526) 3GPP (10415)
+// 5.3.24
+type AVP_Grouped Acceptable_Service_Info;
+
+// 3GPP TS 29.214 a.7.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 a.7.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 a.7.0
+// AVP: Sponsored-Connectivity-Data (530) 3GPP (10415)
+// 5.3.27
+type AVP_Grouped Sponsored_Connectivity_Data;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Sponsor-Identity (531) 3GPP (10415)
+// 5.3.28
+type AVP_UTF8String Sponsor_Identity;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Application-Service-Provider-Identity (532) 3GPP (10415)
+// 5.3.29
+type AVP_UTF8String Application_Service_Provider_Identity;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: MPS-Identifier (528) 3GPP (10415)
+// 5.3.30
+type AVP_OctetString MPS_Identifier;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Min-Requested-Bandwidth-DL (534) 3GPP (10415)
+// 5.3.31
+type AVP_Unsigned32 Min_Requested_Bandwidth_DL;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Min-Requested-Bandwidth-UL (535) 3GPP (10415)
+// 5.3.32
+type AVP_Unsigned32 Min_Requested_Bandwidth_UL;
+
diff --git a/src/RxInterface_PCC_3GPP_TS29214_c10.ddf b/src/RxInterface_PCC_3GPP_TS29214_c10.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..3f1ddab22dff08d60a9e0f83926e4b7aab016299
--- /dev/null
+++ b/src/RxInterface_PCC_3GPP_TS29214_c10.ddf
@@ -0,0 +1,326 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               RxInterface_PCC_3GPP_TS29214_c10.ddf
+//  Description:        DDF for Rx according to 3GPP TS 29.214 c.1.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: RX
+// APPLICATION-REVISION: VC_1_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.214 c.1.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 a.7.0 5.6
+type enumerated Command_Code
+{
+  Authorize_Authenticate (265),
+  Re_Auth                (258),
+  Session_Termination    (275),
+  Abort_Session          (274)
+}
+
+
+
+// 3GPP TS 29.214 a.7.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 a.7.0
+// AVP: Access-Network-Charging-Address (501) 3GPP (10415)
+// 5.3.2
+type AVP_Address Access_Network_Charging_Address;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Access-Network-Charging-Identifier (502) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Access_Network_Charging_Identifier;
+
+
+// 3GPP TS 29.214 a.7.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 a.7.0
+// AVP: AF-Application-Identifier (504) 3GPP (10415)
+// 5.3.5
+type AVP_OctetString AF_Application_Identifier;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: AF-Charging-Identifier (505) 3GPP (10415)
+// 5.3.6
+type AVP_OctetString AF_Charging_Identifier;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Codec-Data  (524) 3GPP (10415)
+// 5.3.7
+type AVP_OctetString Codec_Data;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Flow-Description (507) 3GPP (10415)
+// 5.3.8
+type AVP_IPFilterRule Flow_Description;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Flow-Number (509) 3GPP (10415)
+// 5.3.9
+type AVP_Unsigned32 Flow_Number;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Flows (510) 3GPP (10415)
+// 5.3.10
+type AVP_Grouped Flows;
+
+
+// 3GPP TS 29.214 a.7.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 a.7.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 a.7.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)
+}
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Max-Requested-Bandwidth-DL (515) 3GPP (10415)
+// 5.3.14
+type AVP_Unsigned32 Max_Requested_Bandwidth_DL;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Max-Requested-Bandwidth-UL (516) 3GPP (10415)
+// 5.3.15
+type AVP_Unsigned32 Max_Requested_Bandwidth_UL;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Component-Description (517) 3GPP (10415)
+// 5.3.16
+type AVP_Grouped Media_Component_Description;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Component-Number (518) 3GPP (10415)
+// 5.3.17
+type AVP_Unsigned32 Media_Component_Number;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Sub-Component (519) 3GPP (10415)
+// 5.3.18
+type AVP_Grouped Media_Sub_Component;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Media-Type (520) 3GPP (10415)
+// 5.3.19
+type AVP_Unsigned32 Media_Type;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: RR-Bandwidth (521) 3GPP (10415)
+// 5.3.20
+type AVP_Unsigned32 RR_Bandwidth;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: RS-Bandwidth (522) 3GPP (10415)
+// 5.3.21
+type AVP_Unsigned32 RS_Bandwidth;
+
+// 3GPP TS 29.214 a.7.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 a.7.0
+// AVP:  Service-URN (525) 3GPP (10415)
+// 5.3.23
+type AVP_OctetString Service_URN;
+
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Acceptable-Service-Info (526) 3GPP (10415)
+// 5.3.24
+type AVP_Grouped Acceptable_Service_Info;
+
+// 3GPP TS 29.214 a.7.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 a.7.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 a.7.0
+// AVP: Sponsored-Connectivity-Data (530) 3GPP (10415)
+// 5.3.27
+type AVP_Grouped Sponsored_Connectivity_Data;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Sponsor-Identity (531) 3GPP (10415)
+// 5.3.28
+type AVP_UTF8String Sponsor_Identity;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Application-Service-Provider-Identity (532) 3GPP (10415)
+// 5.3.29
+type AVP_UTF8String Application_Service_Provider_Identity;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: MPS-Identifier (528) 3GPP (10415)
+// 5.3.30
+type AVP_OctetString MPS_Identifier;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Min-Requested-Bandwidth-DL (534) 3GPP (10415)
+// 5.3.31
+type AVP_Unsigned32 Min_Requested_Bandwidth_DL;
+
+// 3GPP TS 29.214 a.7.0
+// AVP: Min-Requested-Bandwidth-UL (535) 3GPP (10415)
+// 5.3.32
+type AVP_Unsigned32 Min_Requested_Bandwidth_UL;
+
+// 3GPP TS 29.214 c.1.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 c.1.0
+// AVP: Rx-Request-Type (533) 3GPP (10415)
+// 5.3.31
+type enumerated Rx_Request_Type 
+{
+  INITIAL_REQUEST      (0),	
+  UPDATE_REQUEST (1)
+}
+
+// 3GPP TS 29.214 c.1.0
+// AVP: Ip-Domain-Id (537) 3GPP (10415)
+// 5.3.35
+type AVP_OctetString Ip_Domain_Id;
diff --git a/src/S9Interface_3GPP_TS29215_b40.ddf b/src/S9Interface_3GPP_TS29215_b40.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..2055e0f482c6c608784b0e983530d9015d92fbf8
--- /dev/null
+++ b/src/S9Interface_3GPP_TS29215_b40.ddf
@@ -0,0 +1,83 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               S9Interface_3GPP_TS29215_b40.ddf
+//  Description:        DDF for S9 according to 3GPP TS 29.215 V11.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: S9
+// APPLICATION-REVISION: V11_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.215 V11.4.0
+
+
+// 3GPP TS 29.215 V11.4.0
+// AVP: Subsession-Decision-Info (2200) 3GPP (10415) 
+// 5.3.1
+type AVP_Grouped Subsession_Decision_Info;
+
+// 3GPP TS 29.215 V11.4.0
+// AVP: Subsession-Enforcement-Info (2201) 3GPP (10415) 
+// 5.3.2
+type AVP_Grouped Subsession_Enforcement_Info;
+
+// 3GPP TS 29.215 V11.4.0
+// AVP: Subsession-Id (2202) 3GPP (10415)
+// 5.3.3
+type AVP_Unsigned32 Subsession_Id;
+
+// 3GPP TS 29.215 V11.4.0
+// AVP: Subsession-Operation (2203) 3GPP (10415) 
+// 5.3.4
+type enumerated Subsession_Operation
+{
+    TERMINATION   (0),
+    ESTABLISHMENT (1), 
+    MODIFICATION  (2)
+}
+
+// 3GPP TS 29.215 V11.4.0
+// AVP: Multiple-BBERF-Action (2204) 3GPP (10415)
+// 5.3.6
+type enumerated Multiple_BBERF_Action
+{
+   ESTABLISHMENT (0),
+   TERMINATION   (1)
+}
diff --git a/src/SGmbInterface_3GPP_TS29061_940.ddf b/src/SGmbInterface_3GPP_TS29061_940.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..161de288f1eafdf1af9e644a94718d389ec19d0e
--- /dev/null
+++ b/src/SGmbInterface_3GPP_TS29061_940.ddf
@@ -0,0 +1,59 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               SGmbInterface_3GPP_TS29061_940.ddf
+//  Description:        DDF for SGmb according to 3GPP TS 29.061 V9.4.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: SGMB
+// APPLICATION-REVISION: V9_4_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.4.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+
+// 3GPP TS 29.061 V9.4.0
+// AVP: MBMS-Access-Indicator (923) 3GPP (10415)
+// 20.5a
+type enumerated MBMS_Access_Indicator
+{
+  UTRAN                 (0),
+  E_UTRAN               (1),
+  UTRAN_AND_E_UTRAN     (2)
+}
diff --git a/src/SGmbInterface_3GPP_TS29061_980.ddf b/src/SGmbInterface_3GPP_TS29061_980.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..af4a953db250c3ab1c4b53e82113d41d9afcaf7d
--- /dev/null
+++ b/src/SGmbInterface_3GPP_TS29061_980.ddf
@@ -0,0 +1,87 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               SGmbInterface_3GPP_TS29061_980.ddf
+//  Description:        DDF for SGmb according to 3GPP TS 29.061 V9.8.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: SGMB
+// APPLICATION-REVISION: V9_8_0
+
+// AVP implementations according to: 
+// 3GPP TS 29.061 V9.8.0 - Interworking between the Public Land Mobile Network (PLMN) supporting packet based services and Packet Data Networks (PDN)
+
+// 3GPP TS 29.061 V9.8.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 V9.8.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 V9.8.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 V9.8.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 V9.8.0
+// AVP: MBMS-GW-UDP-Port (927) 3GPP (10415)
+// 20.5a.5
+type AVP_OctetString MBMS_GW_UDP_Port;
+
+// 3GPP TS 29.061 V9.8.0
+// AVP: MBMS-GW-UDP-Port-Indicator (928) 3GPP (10415) 
+// 20.5a.6
+type enumerated MBMS_GW_UDP_Port_Indicator
+{
+  UDP_PORT_REQUIRED (1)
+}
diff --git a/src/ShInterface_3GPP_TS29329_620.ddf b/src/ShInterface_3GPP_TS29329_620.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..3a5a0ef8aab8c3d2b49f9941c35f94db1c3dc9a9
--- /dev/null
+++ b/src/ShInterface_3GPP_TS29329_620.ddf
@@ -0,0 +1,141 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ShInterface_3GPP_TS29329_620.ddf
+//  Description:        DDF for Sh Interface according to 3GPP 29.329 v6.2.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Sh
+// APPLICATION-REVISION: v6_2_0
+
+// AVP implementations according to: 
+// 3GPP 29.329 v6.2.0 - Sh Interface based on the Diameter PROTOCOL
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588   - Diameter Base Protocol
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777217
+//
+
+// 3GPP 29.329 v6.2.0  6.1
+type enumerated Command_Code 
+{
+  User_Data              (306),
+  Profile_Update         (307),
+  Subscribe_Notification (308),
+  Push_Notification      (309)
+}
+
+// 3GPP 29.329 v6.2.0
+// AVP: User-Identity (700) 3GPP (10415)
+// 6.3.1
+type AVP_Grouped User_Identity;
+
+// 3GPP 29.329 v6.2.0
+// AVP: MSISDN (701) 3GPP (10415)
+// 6.3.2
+type AVP_OctetString MSISDN;
+
+// 3GPP 29.329 v6.2.0
+// AVP: User-Data (702) 3GPP (10415)
+// 6.3.3
+type AVP_OctetString User_Data;
+
+// 3GPP 29.329 v6.2.0
+// AVP: Data-Reference (703) 3GPP (10415)
+// 6.3.4
+type enumerated Data_Reference
+{
+  REPOSITORY_DATA          (0),
+  IMS_PUBLIC_IDENTITY     (10),
+  IMS_USER_STATE          (11),
+  S_CSCF_NAME             (12),
+  INITIAL_FILTER_CRITERIA (13),
+  LOCATION_INFORMATION    (14),
+  USER_STATE              (15),
+  CHARGING_INFORMATION    (16),
+  MSISDN                  (17)
+}
+
+// 3GPP 29.329 v6.2.0
+// AVP: Service-Indication (704) 3GPP (10415)
+// 6.3.5
+type AVP_OctetString Service_Indication;
+
+// 3GPP 29.329 v6.2.0
+// AVP: Subs-Req-Type (705) 3GPP (10415)
+// 6.3.6
+type enumerated Subs_Req_Type
+{
+  SUBSCRIBE               (0),
+  UNSUBSCRIBE             (1)
+}
+
+// 3GPP 29.329 v6.2.0
+// AVP: Requested-Domain (706) 3GPP (10415)
+// 6.3.7
+type enumerated Requested_Domain
+{
+  CS_DOMAIN               (0),
+  PS_DOMAIN               (1)
+}
+
+// 3GPP 29.329 v6.2.0
+// AVP: Current-Location (707) 3GPP (10415)
+// 6.3.8
+type enumerated Current_Location
+{
+  DO_NOT_NEED_INITIATE_ACTIVE_LOCATION_RETRIEVAL  (0),
+  INITIATE_ACTIVE_LOCATION_RETRIEVAL              (1)
+}
+
+// 3GPP 29.329 v6.2.0
+// AVP: Identity-Set (708) 3GPP (10415)
+// 6.3.10
+type enumerated Identity_Set
+{
+  ALL_IDENTITIES          (0),
+  REGISTERED_IDENTITES    (1),
+  IMPLICIT_IDENTITIES     (2)
+}
+
+
diff --git a/src/ShInterface_3GPP_TS29329_750.ddf b/src/ShInterface_3GPP_TS29329_750.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..5fb22d0ec6ec7ccbb5c57ca57d9cde6f0c91b66f
--- /dev/null
+++ b/src/ShInterface_3GPP_TS29329_750.ddf
@@ -0,0 +1,163 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ShInterface_3GPP_TS29329_750.ddf
+//  Description:        DDF for Sh Interface according to 3GPP 29.329 v7.5.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Sh
+// APPLICATION-REVISION: v7_5_0
+
+// AVP implementations according to: 
+// 3GPP 29.329 v7.5.0 - Sh Interface based on the Diameter PROTOCOL
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588   - Diameter Base Protocol
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777217
+//
+
+// 3GPP 29.329 v7.5.0  6.1
+type enumerated Command_Code 
+{
+  User_Data              (306),
+  Profile_Update         (307),
+  Subscribe_Notification (308),
+  Push_Notification      (309)
+}
+
+// 3GPP 29.329 v7.5.0
+// AVP: User-Identity (700) 3GPP (10415)
+// 6.3.1
+type AVP_Grouped User_Identity;
+
+// 3GPP 29.329 v7.5.0
+// AVP: MSISDN (701) 3GPP (10415)
+// 6.3.2
+type AVP_OctetString MSISDN;
+
+// 3GPP 29.329 v7.5.0
+// AVP: User-Data (702) 3GPP (10415)
+// 6.3.3
+type AVP_OctetString User_Data;
+
+// 3GPP 29.329 v7.5.0
+// AVP: Data-Reference (703) 3GPP (10415)
+// 6.3.4
+type enumerated Data_Reference
+{
+  REPOSITORY_DATA            (0),
+  IMS_PUBLIC_IDENTITY       (10),
+  IMS_USER_STATE            (11),
+  S_CSCF_NAME               (12),
+  INITIAL_FILTER_CRITERIA   (13),
+  LOCATION_INFORMATION      (14),
+  USER_STATE                (15),
+  CHARGING_INFORMATION      (16),
+  MSISDN                    (17),
+  PSI_ACTIVATION            (18),
+  DSAI                      (19),
+  ALIASES_REPOSITORY_DATA   (20)
+
+}
+
+// 3GPP 29.329 v7.5.0
+// AVP: Service-Indication (704) 3GPP (10415)
+// 6.3.5
+type AVP_OctetString Service_Indication;
+
+// 3GPP 29.329 v7.5.0
+// AVP: Subs-Req-Type (705) 3GPP (10415)
+// 6.3.6
+type enumerated Subs_Req_Type
+{
+  SUBSCRIBE               (0),
+  UNSUBSCRIBE             (1)
+}
+
+// 3GPP 29.329 v7.5.0
+// AVP: Requested-Domain (706) 3GPP (10415)
+// 6.3.7
+type enumerated Requested_Domain
+{
+  CS_DOMAIN               (0),
+  PS_DOMAIN               (1)
+}
+
+// 3GPP 29.329 v7.5.0
+// AVP: Current-Location (707) 3GPP (10415)
+// 6.3.8
+type enumerated Current_Location
+{
+  DO_NOT_NEED_INITIATE_ACTIVE_LOCATION_RETRIEVAL  (0),
+  INITIATE_ACTIVE_LOCATION_RETRIEVAL              (1)
+}
+
+// 3GPP 29.329 v7.5.0
+// AVP: Identity-Set (708) 3GPP (10415)
+// 6.3.10
+type enumerated Identity_Set
+{
+  ALL_IDENTITIES          (0),
+  REGISTERED_IDENTITES    (1),
+  IMPLICIT_IDENTITIES     (2),
+  ALIAS_IDENTITIES        (3)
+}
+
+// 3GPP 29.329 v7.5.0
+// AVP: Expiry-Time (709) 3GPP (10415)
+// 6.3.16
+type AVP_Time Expiry_Time;
+
+// 3GPP 29.329 v7.5.0
+// AVP: Send-Data-Indication (710) 3GPP (10415)
+// 6.3.17
+type enumerated Send_Data_Indication
+{
+  USER_DATA_NOT_REQUESTED (0),
+  USER_DATA_REQUESTED     (1)
+}
+
+// 3GPP 29.329 v7.5.0
+// AVP: DSAI-Tag (711) 3GPP (10415)
+// 6.3.18
+type AVP_OctetString DSAI_Tag;
diff --git a/src/ShInterface_3GPP_TS29329_820.ddf b/src/ShInterface_3GPP_TS29329_820.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..71c0c5764430a28ca9af230411e5da7e0fe2f83c
--- /dev/null
+++ b/src/ShInterface_3GPP_TS29329_820.ddf
@@ -0,0 +1,163 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ShInterface_3GPP_TS29329_820.ddf
+//  Description:        DDF for Sh Interface according to 3GPP 29.329 v8.2.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Sh
+// APPLICATION-REVISION: v8_2_0
+
+// AVP implementations according to: 
+// 3GPP 29.329 v8.2.0 - Sh Interface based on the Diameter PROTOCOL
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588   - Diameter Base Protocol
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777217
+//
+
+// 3GPP 29.329 v8.2.0  6.1
+type enumerated Command_Code 
+{
+  User_Data              (306),
+  Profile_Update         (307),
+  Subscribe_Notification (308),
+  Push_Notification      (309)
+}
+
+// 3GPP 29.329 v8.2.0
+// AVP: User-Identity (700) 3GPP (10415)
+// 6.3.1
+type AVP_Grouped User_Identity;
+
+// 3GPP 29.329 v8.2.0
+// AVP: MSISDN (701) 3GPP (10415)
+// 6.3.2
+type AVP_OctetString MSISDN;
+
+// 3GPP 29.329 v8.2.0
+// AVP: User-Data (702) 3GPP (10415)
+// 6.3.3
+type AVP_OctetString User_Data;
+
+// 3GPP 29.329 v8.2.0
+// AVP: Data-Reference (703) 3GPP (10415)
+// 6.3.4
+type enumerated Data_Reference
+{
+  REPOSITORY_DATA            (0),
+  IMS_PUBLIC_IDENTITY       (10),
+  IMS_USER_STATE            (11),
+  S_CSCF_NAME               (12),
+  INITIAL_FILTER_CRITERIA   (13),
+  LOCATION_INFORMATION      (14),
+  USER_STATE                (15),
+  CHARGING_INFORMATION      (16),
+  MSISDN                    (17),
+  PSI_ACTIVATION            (18),
+  DSAI                      (19),
+  ALIASES_REPOSITORY_DATA   (20)
+
+}
+
+// 3GPP 29.329 v8.2.0
+// AVP: Service-Indication (704) 3GPP (10415)
+// 6.3.5
+type AVP_OctetString Service_Indication;
+
+// 3GPP 29.329 v8.2.0
+// AVP: Subs-Req-Type (705) 3GPP (10415)
+// 6.3.6
+type enumerated Subs_Req_Type
+{
+  SUBSCRIBE               (0),
+  UNSUBSCRIBE             (1)
+}
+
+// 3GPP 29.329 v8.2.0
+// AVP: Requested-Domain (706) 3GPP (10415)
+// 6.3.7
+type enumerated Requested_Domain
+{
+  CS_DOMAIN               (0),
+  PS_DOMAIN               (1)
+}
+
+// 3GPP 29.329 v8.2.0
+// AVP: Current-Location (707) 3GPP (10415)
+// 6.3.8
+type enumerated Current_Location
+{
+  DO_NOT_NEED_INITIATE_ACTIVE_LOCATION_RETRIEVAL  (0),
+  INITIATE_ACTIVE_LOCATION_RETRIEVAL              (1)
+}
+
+// 3GPP 29.329 v8.2.0
+// AVP: Identity-Set (708) 3GPP (10415)
+// 6.3.10
+type enumerated Identity_Set
+{
+  ALL_IDENTITIES          (0),
+  REGISTERED_IDENTITES    (1),
+  IMPLICIT_IDENTITIES     (2),
+  ALIAS_IDENTITIES        (3)
+}
+
+// 3GPP 29.329 v8.2.0
+// AVP: Expiry-Time (709) 3GPP (10415)
+// 6.3.16
+type AVP_Time Expiry_Time;
+
+// 3GPP 29.329 v8.2.0
+// AVP: Send-Data-Indication (710) 3GPP (10415)
+// 6.3.17
+type enumerated Send_Data_Indication
+{
+  USER_DATA_NOT_REQUESTED (0),
+  USER_DATA_REQUESTED     (1)
+}
+
+// 3GPP 29.329 v8.2.0
+// AVP: DSAI-Tag (711) 3GPP (10415)
+// 6.3.18
+type AVP_OctetString DSAI_Tag;
diff --git a/src/ShInterface_3GPP_TS29329_a30.ddf b/src/ShInterface_3GPP_TS29329_a30.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..d4433336f8357a27f48161260be3ca851bb97e6b
--- /dev/null
+++ b/src/ShInterface_3GPP_TS29329_a30.ddf
@@ -0,0 +1,205 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ShInterface_3GPP_TS29329_a30.ddf
+//  Description:        DDF for Sh Interface according to 3GPP 29.329 v10.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Sh
+// APPLICATION-REVISION: v10_3_0
+
+// AVP implementations according to: 
+// 3GPP 29.329 v10.3.0 - Sh Interface based on the Diameter PROTOCOL
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588   - Diameter Base Protocol
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777217
+//
+
+// 3GPP 29.329 v10.3.0  6.1
+type enumerated Command_Code 
+{
+  User_Data              (306),
+  Profile_Update         (307),
+  Subscribe_Notification (308),
+  Push_Notification      (309)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: User-Identity (700) 3GPP (10415)
+// 6.3.1
+type AVP_Grouped User_Identity;
+
+// 3GPP 29.329 v10.3.0
+// AVP: MSISDN (701) 3GPP (10415)
+// 6.3.2
+type AVP_OctetString MSISDN;
+
+// 3GPP 29.329 v10.3.0
+// AVP: User-Data (702) 3GPP (10415)
+// 6.3.3
+type AVP_OctetString User_Data;
+
+// 3GPP 29.329 v10.3.0
+// AVP: Data-Reference (703) 3GPP (10415)
+// 6.3.4
+type enumerated Data_Reference
+{
+  REPOSITORY_DATA                        (0),
+  IMS_PUBLIC_IDENTITY                   (10),
+  IMS_USER_STATE                        (11),
+  S_CSCF_NAME                           (12),
+  INITIAL_FILTER_CRITERIA               (13),
+  LOCATION_INFORMATION                  (14),
+  USER_STATE                            (15),
+  CHARGING_INFORMATION                  (16),
+  MSISDN                                (17),
+  PSI_ACTIVATION                        (18),
+  DSAI                                  (19),
+  ALIASES_REPOSITORY_DATA               (20),
+  SERVICE_LEVEL_TRACE_INFO              (21),
+  IP_ADDRESS_SECURE_BINDING_INFORMATION (22),
+  SERVICE_PRIORITY_LEVEL                (23),
+  SMS_REGISTRATION_INFO                 (24),
+  UE_REACHABILITY_FOR_IP                (25),
+  TADS_INFORMATION                      (26),
+  STN_SR                                (27),
+  UE_SRVCC_CAPABILITY                   (28),
+  EXTENDED_PRIORITY                     (29),
+  CSRN                                  (30)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: Service-Indication (704) 3GPP (10415)
+// 6.3.5
+type AVP_OctetString Service_Indication;
+
+// 3GPP 29.329 v10.3.0
+// AVP: Subs-Req-Type (705) 3GPP (10415)
+// 6.3.6
+type enumerated Subs_Req_Type
+{
+  SUBSCRIBE               (0),
+  UNSUBSCRIBE             (1)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: Requested-Domain (706) 3GPP (10415)
+// 6.3.7
+type enumerated Requested_Domain
+{
+  CS_DOMAIN               (0),
+  PS_DOMAIN               (1)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: Current-Location (707) 3GPP (10415)
+// 6.3.8
+type enumerated Current_Location
+{
+  DO_NOT_NEED_INITIATE_ACTIVE_LOCATION_RETRIEVAL  (0),
+  INITIATE_ACTIVE_LOCATION_RETRIEVAL              (1)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: Identity-Set (708) 3GPP (10415)
+// 6.3.10
+type enumerated Identity_Set
+{
+  ALL_IDENTITIES          (0),
+  REGISTERED_IDENTITES    (1),
+  IMPLICIT_IDENTITIES     (2),
+  ALIAS_IDENTITIES        (3)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: Expiry-Time (709) 3GPP (10415)
+// 6.3.16
+type AVP_Time Expiry_Time;
+
+// 3GPP 29.329 v10.3.0
+// AVP: Send-Data-Indication (710) 3GPP (10415)
+// 6.3.17
+type enumerated Send_Data_Indication
+{
+  USER_DATA_NOT_REQUESTED (0),
+  USER_DATA_REQUESTED     (1)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: DSAI-Tag (711) 3GPP (10415)
+// 6.3.18
+type AVP_OctetString DSAI_Tag;
+
+// 3GPP 29.329 v10.3.0
+// AVP: One-Time-Notification (712) 3GPP (10415)
+// 6.3.22
+type enumerated One_Time_Notification
+{
+  ONE_TIME_NOTIFICATION_REQUESTED (0)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: Requested-Nodes (713) 3GPP (10415)
+// 6.3.7A
+type AVP_Unsigned32 Requested_Nodes
+
+// 3GPP 29.329 v10.3.0
+// AVP: Serving-Node-Indication (714) 3GPP (10415)
+// 6.3.23
+type enumerated Serving_Node_Indication
+{
+  ONLY_SERVING_NODES_REQUIRED     (0)
+}
+
+// 3GPP 29.329 v10.3.0
+// AVP: Repository-Data-ID (715) 3GPP (10415)
+// 6.3.24
+type AVP_Grouped  Repository_Data_ID;
+
+// 3GPP 29.329 v10.3.0
+// AVP: Sequence-Number (716) 3GPP (10415)
+// 6.3.25
+type AVP_Unsigned32 Sequence_Number;
+
+
diff --git a/src/ShInterface_3GPP_TS29329_a50.ddf b/src/ShInterface_3GPP_TS29329_a50.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..6544addbd0233383e09d2410142aced08510b925
--- /dev/null
+++ b/src/ShInterface_3GPP_TS29329_a50.ddf
@@ -0,0 +1,217 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               ShInterface_3GPP_TS29329_a50.ddf
+//  Description:        DDF for Sh Interface according to 3GPP 29.329 v10.5.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Sh
+// APPLICATION-REVISION: v10_5_0
+
+// AVP implementations according to: 
+// 3GPP 29.329 v10.5.0 - Sh Interface based on the Diameter PROTOCOL
+//
+//
+// Dependant applications
+// 3GPP TS 29.229  - Cx and Dx interfaces based on the Diameter protocol
+// IETF RFC 3588   - Diameter Base Protocol
+//
+// Notes: 
+// Present application has its own vendor specific Diameter application id: 16777217
+//
+
+// 3GPP 29.329 v10.5.0  6.1
+type enumerated Command_Code 
+{
+  User_Data              (306),
+  Profile_Update         (307),
+  Subscribe_Notification (308),
+  Push_Notification      (309)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: User-Identity (700) 3GPP (10415)
+// 6.3.1
+type AVP_Grouped User_Identity;
+
+// 3GPP 29.329 v10.5.0
+// AVP: MSISDN (701) 3GPP (10415)
+// 6.3.2
+type AVP_OctetString MSISDN;
+
+// 3GPP 29.329 v10.5.0
+// AVP: User-Data (702) 3GPP (10415)
+// 6.3.3
+type AVP_OctetString User_Data;
+
+// 3GPP 29.329 v10.5.0
+// AVP: Data-Reference (703) 3GPP (10415)
+// 6.3.4
+type enumerated Data_Reference
+{
+  REPOSITORY_DATA                        (0),
+  IMS_PUBLIC_IDENTITY                   (10),
+  IMS_USER_STATE                        (11),
+  S_CSCF_NAME                           (12),
+  INITIAL_FILTER_CRITERIA               (13),
+  LOCATION_INFORMATION                  (14),
+  USER_STATE                            (15),
+  CHARGING_INFORMATION                  (16),
+  MSISDN                                (17),
+  PSI_ACTIVATION                        (18),
+  DSAI                                  (19),
+  ALIASES_REPOSITORY_DATA               (20),
+  SERVICE_LEVEL_TRACE_INFO              (21),
+  IP_ADDRESS_SECURE_BINDING_INFORMATION (22),
+  SERVICE_PRIORITY_LEVEL                (23),
+  SMS_REGISTRATION_INFO                 (24),
+  UE_REACHABILITY_FOR_IP                (25),
+  TADS_INFORMATION                      (26),
+  STN_SR                                (27),
+  UE_SRVCC_CAPABILITY                   (28),
+  EXTENDED_PRIORITY                     (29),
+  CSRN                                  (30)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: Service-Indication (704) 3GPP (10415)
+// 6.3.5
+type AVP_OctetString Service_Indication;
+
+// 3GPP 29.329 v10.5.0
+// AVP: Subs-Req-Type (705) 3GPP (10415)
+// 6.3.6
+type enumerated Subs_Req_Type
+{
+  SUBSCRIBE               (0),
+  UNSUBSCRIBE             (1)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: Requested-Domain (706) 3GPP (10415)
+// 6.3.7
+type enumerated Requested_Domain
+{
+  CS_DOMAIN               (0),
+  PS_DOMAIN               (1)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: Current-Location (707) 3GPP (10415)
+// 6.3.8
+type enumerated Current_Location
+{
+  DO_NOT_NEED_INITIATE_ACTIVE_LOCATION_RETRIEVAL  (0),
+  INITIATE_ACTIVE_LOCATION_RETRIEVAL              (1)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: Identity-Set (708) 3GPP (10415)
+// 6.3.10
+type enumerated Identity_Set
+{
+  ALL_IDENTITIES          (0),
+  REGISTERED_IDENTITES    (1),
+  IMPLICIT_IDENTITIES     (2),
+  ALIAS_IDENTITIES        (3)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: Expiry-Time (709) 3GPP (10415)
+// 6.3.16
+type AVP_Time Expiry_Time;
+
+// 3GPP 29.329 v10.5.0
+// AVP: Send-Data-Indication (710) 3GPP (10415)
+// 6.3.17
+type enumerated Send_Data_Indication
+{
+  USER_DATA_NOT_REQUESTED (0),
+  USER_DATA_REQUESTED     (1)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: DSAI-Tag (711) 3GPP (10415)
+// 6.3.18
+type AVP_OctetString DSAI_Tag;
+
+// 3GPP 29.329 v10.5.0
+// AVP: One-Time-Notification (712) 3GPP (10415)
+// 6.3.22
+type enumerated One_Time_Notification
+{
+  ONE_TIME_NOTIFICATION_REQUESTED (0)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: Requested-Nodes (713) 3GPP (10415)
+// 6.3.7A
+type AVP_Unsigned32 Requested_Nodes
+
+// 3GPP 29.329 v10.5.0
+// AVP: Serving-Node-Indication (714) 3GPP (10415)
+// 6.3.23
+type enumerated Serving_Node_Indication
+{
+  ONLY_SERVING_NODES_REQUIRED     (0)
+}
+
+// 3GPP 29.329 v10.5.0
+// AVP: Repository-Data-ID (715) 3GPP (10415)
+// 6.3.24
+type AVP_Grouped  Repository_Data_ID;
+
+// 3GPP 29.329 v10.5.0
+// AVP: Sequence-Number (716) 3GPP (10415)
+// 6.3.25
+type AVP_Unsigned32 Sequence_Number;
+
+// 3GPP 29.329 v10.5.0
+// AVP: Pre-paging-Supported (717) 3GPP (10415)
+// 6.3.26
+type enumerated Pre_paging_Supported
+{
+  PREPAGING_NOT_SUPPORTED (0),
+  PREPAGING_SUPPORTED (1)
+}
+
+
+
+
+
diff --git a/src/SyInterface_3GPP_TS29219_b30.ddf b/src/SyInterface_3GPP_TS29219_b30.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..79fb6655286df0103a6503bfb3e0fd31cc3ffeca
--- /dev/null
+++ b/src/SyInterface_3GPP_TS29219_b30.ddf
@@ -0,0 +1,85 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               SyInterface_3GPP_TS29219_b30.ddf
+//  Description:        DDF for Sy Interface according to 3GPP 29.219 v11.3.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: Sy
+// APPLICATION-REVISION: v11_3_0
+
+// AVP implementations according to: 
+// 3GPP 29.219 v11.3.0 - Sy Interface based on the Diameter PROTOCOL
+//
+//
+//
+
+// 3GPP 29.219 v11.3.0  5.6.1
+type enumerated Command_Code 
+{
+  Session_Termination          (275),
+  ThreeGPP_Spending_Limit               (8388635),
+  ThreeGPP_Spending_Status_Notification (8388636)
+}
+
+// 3GPP 29.219 v11.3.0
+// AVP: Policy-Counter-Identifier (2901) 3GPP (10415)
+// 5.3.1
+type AVP_UTF8String Policy_Counter_Identifier;
+
+// 3GPP 29.219 v11.3.0
+// AVP: Policy-Counter-Status (2902) 3GPP (10415)
+// 5.3.2
+type AVP_UTF8String Policy_Counter_Status;
+
+// 3GPP 29.219 v11.3.0
+// AVP: Policy-Counter-Status-Report (2903) 3GPP (10415)
+// 5.3.3
+type AVP_Grouped Policy_Counter_Status_Report;
+
+
+// 3GPP 29.219 v11.3.0
+// AVP: SL-Request-Type (2904) 3GPP (10415)
+// 5.3.4
+type enumerated SL_Request_Type
+{
+  INITIAL_REQUEST (0),
+  INTERMEDIATE_REQUEST (1)
+}
+
diff --git a/src/TCOM_Specific_AVPs.ddf b/src/TCOM_Specific_AVPs.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..651fe58e6401fb25d21e3b9428cf7c50e381c470
--- /dev/null
+++ b/src/TCOM_Specific_AVPs.ddf
@@ -0,0 +1,57 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               TCOM_Specific_AVPs.ddf
+//  Description:        T-COM specific AVP definitions
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: T
+// APPLICATION-REVISION: 1
+
+// Domain-Index 
+// AVP: Domain-Index (12) TCOM (2937)
+type AVP_Unsigned32 Domain_Index;
+
+// Region-Set 
+// AVP: Region_Set (132) TCOM (2937)
+type AVP_Unsigned32 Region_Set;
+
+// Instance-Id
+// AVP: Instance-Id (1005) TCOM (2937)
+type AVP_UTF8String Instance_Id;
diff --git a/src/Verizon_Specific_AVPs.ddf b/src/Verizon_Specific_AVPs.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..9fd1b0e334a11611490e3163cb43907fecaa4028
--- /dev/null
+++ b/src/Verizon_Specific_AVPs.ddf
@@ -0,0 +1,65 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Verizon_Specific_AVPs.ddf
+//  Description:        Verizon specific AVP definitions
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: V
+// APPLICATION_REVISION: V1
+
+// Verizon Idle-To-Connected-Transition-Count
+// AVP: Idle-To-Connected-Transition-Count (5001) Verizon (12951)
+type AVP_Unsigned32 Idle_To_Connected_Transition_Count;
+
+// Verizon Connected-Duration
+// AVP: Connected-Duration (5002) Verizon (12951)
+type AVP_Unsigned32 Connected_Duration;
+
+// Verizon Charging-Gateway-Function-Host
+// AVP: Charging-Gateway-Function-Host (6068) Verizon (12951)
+type AVP_OctetString Charging_Gateway_Function_Host;
+
+// Verizon Operator-String
+// AVP: Operator-String (6079) Verizon (12951)
+type AVP_UTF8String Operator_String;
+
+// Verizon Charging-Group-ID 
+// AVP: Charging-Group-ID  (6069) Verizon (12951)
+type AVP_UTF8String Charging_Group_ID;
diff --git a/src/Vimpelcom_Specific.ddf b/src/Vimpelcom_Specific.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..b6132657069c35f12f4eee237300ea3a66dc368c
--- /dev/null
+++ b/src/Vimpelcom_Specific.ddf
@@ -0,0 +1,72 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Vimpelcom_Specific.ddf
+//  Description:        Vimpelcom specific AVPs
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: VIMP
+// APPLICATION-REVISION:
+
+
+// AVP: DPI-flow-identity (660) Vimpelcom_sadpi (50000)
+type AVP_OctetString DPI_flow_identity;
+
+// AVP: DPI-DSCP-Mark (661) Vimpelcom_sadpi (50000)
+type AVP_Unsigned32 DPI_DSCP_Mark;
+
+// AVP: DPI-Traffic-Priority (662) Vimpelcom_sadpi (50000)
+type AVP_Unsigned32 DPI_Traffic_Priority;
+
+// AVP: DPI-VoIP-Alteration (663) Vimpelcom_sadpi (50000)
+type AVP_Unsigned32 DPI_VoIP_Alteration;
+
+// AVP: DPI-Redirect-ID (664) Vimpelcom_sadpi (50000)
+type AVP_Grouped DPI_Redirect_ID;
+
+// AVP: TOA-Termination-Flag (665) Vimpelcom_toa (50001)
+type AVP_Unsigned32 TOA_Termination_Flag;
+
+// AVP: TOA-Adapt-Status (666) Vimpelcom_toa (50001)
+type AVP_Unsigned32 TOA_Adapt_Status;
+
+// AVP: TOA-Opt-Status (667) Vimpelcom_toa (50001)
+type AVP_Unsigned32 TOA_Opt_Status;
+
+
diff --git a/src/Vodafone_Specific.ddf b/src/Vodafone_Specific.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..c567d9f7460f7ddf67f4debd82ffcff08394700d
--- /dev/null
+++ b/src/Vodafone_Specific.ddf
@@ -0,0 +1,84 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               Vodafone_Specific.ddf
+//  Description:        Vodafone specific AVPs
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: V
+// APPLICATION-REVISION:
+
+
+// AVP: Bearer-Authorization-Decision (500) Vodafone (12645)  
+type enumerated Bearer_Authorization_Decision
+{
+  BEARER_AUTHORIZED  (0),
+  INVALID_BINDING    (1),
+  INVALID_UPDATE     (2)
+}
+
+// AVP: Maximum-Authorized-Qos (501) Vodafone (12645)  
+type AVP_Grouped Maximum_Authorized_Qos
+
+
+// AVP: Maximum-Qos-Class (502) Vodafone (12645)  
+type enumerated Maximum_Qos_Class
+{
+  TRAFFIC_CLASS_A  (0),
+  TRAFFIC_CLASS_B  (1),
+  TRAFFIC_CLASS_C  (2),
+  TRAFFIC_CLASS_D  (3),
+  TRAFFIC_CLASS_E  (4),
+  TRAFFIC_CLASS_F  (5)
+}
+
+// AVP: Policy-Service-Status (503) Vodafone (12645)  
+type enumerated Policy_Service_Status
+{
+  AVAILABLE_NO_AF_SESSIONS      (0),
+  AVAILABLE_ACTIVE_AF_SESSIONS  (1),
+  UE_NOT_SERVED_HERE            (2)
+}
+
+// AVP: Remove-After-Timer-DL (504) Vodafone (12645)
+type AVP_Unsigned32 Remove_After_Timer_DL;
+
+// AVP: Remove-After-Timer-UL (505) Vodafone (12645)
+type AVP_Unsigned32 Remove_After_Timer_UL;
+
diff --git a/src/WgInterface_3GPP_TS29234_910.ddf b/src/WgInterface_3GPP_TS29234_910.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..ec66e201504806d1d8e0c81fcf90622fd483276d
--- /dev/null
+++ b/src/WgInterface_3GPP_TS29234_910.ddf
@@ -0,0 +1,59 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               WgInterface_3GPP_TS29234_910.ddf
+//  Description:        DDF for 3GPP to WLAN interworking according to 3GPP TS 29.234 V9.1.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: WA
+// APPLICATION-REVISION: V9.4.0
+
+// AVP implementations according to: 
+// 3GPP TS 29.234 V9.1.0 - 3GPP system to Wireless Local Area Network (WLAN) interworking
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+
+
+// 3GPP 29.234 V9.1.0
+// AVP: 3GPP-AAA-Server-Name (318) 3GPP (10415)
+// 10.1.34
+type AVP_DiameterIdentity 3GPP_AAA_Server_Name
+
diff --git a/src/a2Interface_ETSI_ES183059_1_211.ddf b/src/a2Interface_ETSI_ES183059_1_211.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..d81f0a5caff45ad17a92391837a18f931aaabc76
--- /dev/null
+++ b/src/a2Interface_ETSI_ES183059_1_211.ddf
@@ -0,0 +1,79 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               a2Interface_ETSI_ES183059_1_211.ddf
+//  Description:        DDF for a2 Interface according to ETSI ES 183 059-1 V2.1.1
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: a2
+// APPLICATION-REVISION: 
+
+// AVP implementations according to: 
+// ETSI ES 183 059-1 V2.1.1
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+
+
+type enumerated Command_Code 
+{
+  User_Data (306),
+  Push_Notification (309)
+}
+
+
+// ETSI ES 183 059-1 V2.1.1
+// AVP: CNGCF-Address (600) ETSI (13019)
+// 7.3.5
+type AVP_Grouped CNGCF_Address;
+
+// ETSI ES 183 059-1 V2.1.1
+// AVP: SIP-Outbound-Proxy (601) ETSI (13019)
+// 7.3.6
+type AVP_OctetString SIP_Outbound_Proxy;
+
+// ETSI ES 183 059-1 V2.1.1
+// AVP: TFTP-Server (602) ETSI (13019)
+// 7.3.9
+type AVP_UTF8String TFTP_Server;
+
+// ETSI ES 183 059-1 V2.1.1
+// AVP: ACS-Server (603) ETSI (13019)
+// 7.3.10
+type AVP_UTF8String ACS_Server;
diff --git a/src/a4Interface_ETSI_ES183066_211.ddf b/src/a4Interface_ETSI_ES183066_211.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..8c0f658415ab20225449079d6ae7f2267e09d1cd
--- /dev/null
+++ b/src/a4Interface_ETSI_ES183066_211.ddf
@@ -0,0 +1,70 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               a4Interface_ETSI_ES183066_211.ddf
+//  Description:        DDF for a4 Interface according to ETSI ES 183 066 V2.1.1
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: a4
+// APPLICATION-REVISION: 
+
+// AVP implementations according to: 
+// ETSI ES 183 066 V2.1.1
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// ETSI ES 283 034 V2.2.0 - e4 Interface (e4Interface_ETSI_ES283034_220.ddf)
+// ETSI ES 183 020 V1.1.1 - NGN Network Accesses (NGN_NetworkAccesses_ETSI_ES183020_111.ddf)
+// ETSI ES 183 059-1 V2.1.1 - a2 Interface (a2Interface_ETSI_ES183059_1_211.ddf)
+
+
+type enumerated Command_Code 
+{
+  User_Data (306),
+  Push_Notification (309)
+}
+
+// ETSI ES 183 066 V2.1.1
+// AVP: Data-Operation-Indicator (420) ETSI (13019)
+// 7.3.1
+type enumerated Data_Operation_Indicator 
+{
+  UPDATE (0),
+  REMOVE (1) 
+}
diff --git a/src/e2Interface_ETSI_ES283035_121.ddf b/src/e2Interface_ETSI_ES283035_121.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..d6abc9e82874e1849cac57745c0968ed01971e67
--- /dev/null
+++ b/src/e2Interface_ETSI_ES283035_121.ddf
@@ -0,0 +1,96 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               e2Interface_ETSI_ES283035_121.ddf
+//  Description:        DDF for e2 Interface according to ETSI ES 283 035 V1.2.1
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+
+// APPLICATION-NAME: e2
+// APPLICATION-REVISION: 
+
+// AVP implementations according to: 
+// ETSI ES 283 035 V1.2.1
+//
+// Dependant applications
+
+// IETF RFC 3588   - Diameter Base Protocol
+// 3GPP TS 29.229  - Cx/Dx specification
+// 3GPP TS 29.209  - Policy control over Gq interface
+// ETSI ES 283.034      - e4 interface based on DIAMETER protocol
+
+// ETSI ES 283 035 V1.2.1
+type enumerated Command_Code 
+{
+  User_Data (306)
+}
+
+// ETSI ES 283 035 V1.2.1
+// AVP: Location-Information (350) ETSI (13019)
+// 7.3.1
+type AVP_Grouped Location_Information;
+
+// ETSI ES 283 035 V1.2.1
+// AVP: RACS-Contact-Point (351) ETSI (13019)
+// 7.3.2
+type AVP_DiameterIdentity RACS_Contact_Point;
+
+// ETSI ES 283 035 V1.2.1
+// AVP: Terminal-Type (352) ETSI (13019)
+// 7.3.3
+type AVP_OctetString Terminal_Type;
+
+// ETSI ES 283 035 V1.2.1
+// AVP: Requested-Information (353) ETSI (13019)
+// 7.3.4
+type enumerated Requested_Information
+{
+  SUBSCRIBER_ID          (0),
+  LOCATION_INFORMATION   (1),
+  RACS_CONTACT_POINT     (2),
+  ACCESS_NETWORK_TYPE    (3),
+  TERMINAL_TYPE          (4) /*,
+  LOGICAL_ACCESS_ID      (5),
+  PHYSICAL_ACCESS_ID     (6),
+  ACCESS_NETWORK_TYPE    (7),
+  INITIAL_GATE_SETTING   (8),
+  QOS_PROFILE            (9),
+  IP_CONNECTIVITY_STATUS (10) */
+}
+
diff --git a/src/e4Interface_ETSI_ES283034_220.ddf b/src/e4Interface_ETSI_ES283034_220.ddf
new file mode 100644
index 0000000000000000000000000000000000000000..f8038381fb113bc3e521b62794d32a6b709afd30
--- /dev/null
+++ b/src/e4Interface_ETSI_ES283034_220.ddf
@@ -0,0 +1,145 @@
+/******************************************************************************
+* 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
+*   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
+******************************************************************************/
+//
+//  File:               e4Interface_ETSI_ES283034_220.ddf
+//  Description:        DDF for e4 Interface according to ETSI ES 283 034 V2.2.0
+//  Rev:                R29A
+//  Prodnr:             CNL 113 462
+///////////////////////////////////////////////
+
+// APPLICATION-NAME: e4
+// APPLICATION-REVISION: 
+
+// AVP implementations according to: 
+// ETSI ES 283 034 V2.2.0
+
+// Dependant applications
+// IETF RFC 3588   - Diameter Base Protocol
+// IETF RFC 4005   - NAS Specification (NetworkAccessServer_IETF_RFC4005.ddf)
+// 3GPP TS29.209 v6.7.0 - Gq interface (GqInterface_PC_3GPP_TS29209_670.ddf)
+// ETSI TS 183.017 V2.3.1 - Gq interface (GqInterface_S3_ETSI_TS183017_231.ddf)
+
+
+type enumerated Command_Code 
+{
+  User_Data (306),
+  Push_Notification (309)
+}
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Globally-Unique-Address (300) ETSI (13019)
+// 7.3.1
+type AVP_Grouped Globally_Unique_Address;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Address-Realm (301) ETSI (13019)
+// 7.3.2
+type AVP_OctetString Address_Realm;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Logical-Access-ID (302) ETSI (13019)
+// 7.3.3
+type AVP_OctetString Logical_Access_ID;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Initial-Gate-Setting-Description (303) ETSI (13019) 
+// 7.3.4
+type AVP_Grouped Initial_Gate_Setting_Description;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: QoS-Profile-Description (304) ETSI (13019)
+// 7.3.5
+type AVP_Grouped QoS_Profile_Description;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: IP-Connectivity-Status (305) ETSI (13019)
+// 7.3.6
+type enumerated IP_Connectivity_Status 
+{
+  IP_CONNECTIVITY_ON (0),
+  IP_CONNECTIVITY_LOST (1)
+}
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Access-Network-Type (306) ETSI (13019)
+// 7.3.7
+type AVP_Grouped Access_Network_Type;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Aggregation-Network-Type (307) ETSI (13019)
+// 7.3.8
+type enumerated Aggregation_Network_Type
+{
+  UNKNOWN  (0),
+  ATM      (1),
+  ETHERNET (2)
+}
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Maximum-Allowed-Bandwidth-UL (308) ETSI (13019)
+// 7.3.9
+type AVP_Unsigned32 Maximum_Allowed_Bandwidth_UL;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Maximum-Allowed-Bandwidth-DL (309) ETSI (13019)
+// 7.3.10
+type AVP_Unsigned32 Maximum_Allowed_Bandwidth_DL;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Transport-Class (311) ETSI (13019)
+// 7.3.12
+type AVP_Unsigned32 Transport_Class; 
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Application-Class-ID (312) ETSI (13019) 
+// 7.3.13
+type AVP_UTF8String Application_Class_ID;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Physical-Access-ID (313) ETSI (13019)
+// 7.3.14
+type AVP_UTF8String Physical_Access_ID;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: Initial-Gate-Setting-ID (314) ETSI (13019) 
+// 7.3.22
+type AVP_Unsigned32 Initial_Gate_Setting_ID;
+
+// ETSI ES 283 034 V2.2.0
+// AVP: QoS-Profile-ID (315) ETSI (13019)  
+// 7.3.23
+type AVP_Unsigned32 QoS_Profile_ID;