/******************************************************************************
* Copyright (c) 2000-2019 Ericsson Telecom AB
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.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:                R55A
//  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;


