Fix timeout order in procedure dynamic operation and program for ST
authorEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Sat, 15 Apr 2017 14:16:30 +0000 (16:16 +0200)
committerEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Sat, 15 Apr 2017 14:16:30 +0000 (16:16 +0200)
dynamic/launcher/gx/00001/Procedure.cpp
dynamic/launcher/gx/00001/dictionary.xml [new file with mode: 0644]
example/diameter/launcher/deployments/st-client/program.sh

index 63b4ef1..b74f362 100644 (file)
@@ -27,7 +27,7 @@ namespace {
    void usage (std::string &response) {
      response += "\n\nInvalid arguments. Provide these ones:";
      response += "\n";
    void usage (std::string &response) {
      response += "\n\nInvalid arguments. Provide these ones:";
      response += "\n";
-     response += "\n<test timeout ms (0: no timeout step)><initial sequence>|<final sequence>|<digits>|<CCR-I xml file>[|CCR-T xml file]";
+     response += "\n<initial sequence>|<final sequence>|<test timeout ms (0: no timeout step)>|<digits>|<CCR-I xml file>[|CCR-T xml file]";
      response += "\n";
      response += "\nSequences are parsed when needed, over AVPs or internal values:";
      response += "\n";
      response += "\n";
      response += "\nSequences are parsed when needed, over AVPs or internal values:";
      response += "\n";
@@ -42,7 +42,7 @@ namespace {
      response += "\nThe same will be done in MSISDN and IMSI (Subscription-Data AVPs).";
      response += "\nFramed-IP-Address will be sequenced with a direct correspondence to hex value.";
      response += "\n";
      response += "\nThe same will be done in MSISDN and IMSI (Subscription-Data AVPs).";
      response += "\nFramed-IP-Address will be sequenced with a direct correspondence to hex value.";
      response += "\n";
-     response += "\nThen, you could provide these arguments: \"5000|2000000|9000000|7|CCR-I.xml|CCR-T.xml\"";
+     response += "\nThen, you could provide these arguments: \"2000000|9000000|5000|7|CCR-I.xml|CCR-T.xml\"";
      response += "\n";
    }
 }
      response += "\n";
    }
 }
@@ -94,56 +94,51 @@ void Procedure::execute(const std::string &args, std::string &response, anna::di
   anna::diameter::codec::Avp *ccri_sessionId, *ccrt_sessionId, *ccri_framedIPAddress, *ccrt_framedIPAddress, *ccri_msisdn, *ccri_imsi;
   anna::diameter::codec::Avp *si1, *si2, *sidata1, *sidata2, *sitype1, *sitype2;
 
   anna::diameter::codec::Avp *ccri_sessionId, *ccrt_sessionId, *ccri_framedIPAddress, *ccrt_framedIPAddress, *ccri_msisdn, *ccri_imsi;
   anna::diameter::codec::Avp *si1, *si2, *sidata1, *sidata2, *sitype1, *sitype2;
 
-  try {
+  ///////// CCR-Initial:
+  ccri.loadXML(ccr_i);
 
 
-    ///////// CCR-Initial:
-    ccri.loadXML(ccr_i);
+  // Session-Id & Framed-Ip-Address AVPs
+  ccri_sessionId = ccri.getAvp("Session-Id");
+  ccri_framedIPAddress = ccri.getAvp("Framed-IP-Address");
 
 
-    // Session-Id & Framed-Ip-Address AVPs
-    ccri_sessionId = ccri.getAvp("Session-Id");
-    ccri_framedIPAddress = ccri.getAvp("Framed-IP-Address");
-
-    // Subscription-Id AVPs
-    if (ccri.countAvp("Subscription-Id") != 2) {
-      response += "Both Subscription-Id MSISDN & IMSI Avps must be present in the CCR-Initial provided !";
-      return;
-    }
+  // Subscription-Id AVPs
+  if (ccri.countAvp("Subscription-Id") != 2) {
+    response += "Both Subscription-Id MSISDN & IMSI Avps must be present in the CCR-Initial provided !";
+    return;
+  }
 
 
-    si1 = ccri.getAvp("Subscription-Id", 1, anna::Exception::Mode::Ignore);
-    si2 = ccri.getAvp("Subscription-Id", 2, anna::Exception::Mode::Ignore);
+  si1 = ccri.getAvp("Subscription-Id", 1, anna::Exception::Mode::Ignore);
+  si2 = ccri.getAvp("Subscription-Id", 2, anna::Exception::Mode::Ignore);
 
 
-    if (!si1 || !si2) {
-      response += "Cannot found Subscription-Id MSISDN & IMSI Avps !" ;
-      return;
-    }
+  if (!si1 || !si2) {
+    response += "Cannot found Subscription-Id MSISDN & IMSI Avps !" ;
+    return;
+  }
 
 
-    sidata1 = si1->getAvp("Subscription-Id-Data");
-    sidata2 = si2->getAvp("Subscription-Id-Data");
-    sitype1 = si1->getAvp("Subscription-Id-Type");
-    //sitype2 = si2->getAvp("Subscription-Id-Type");
+  sidata1 = si1->getAvp("Subscription-Id-Data");
+  sidata2 = si2->getAvp("Subscription-Id-Data");
+  sitype1 = si1->getAvp("Subscription-Id-Type");
+  //sitype2 = si2->getAvp("Subscription-Id-Type");
 
 
-    if (sitype1->getEnumerated()->getValue() == anna::diameter::helpers::dcca::AVPVALUES__Subscription_Id_Type::END_USER_E164) {
-      ccri_msisdn = sidata1;
-      ccri_imsi = sidata2;
-    }
-    else {
-      ccri_msisdn = sidata2;
-      ccri_imsi = sidata1;
-    }
+  if (sitype1->getEnumerated()->getValue() == anna::diameter::helpers::dcca::AVPVALUES__Subscription_Id_Type::END_USER_E164) {
+    ccri_msisdn = sidata1;
+    ccri_imsi = sidata2;
+  }
+  else {
+    ccri_msisdn = sidata2;
+    ccri_imsi = sidata1;
+  }
 
 
-    ///////// CCR-Termination:
-    if (haveTermination) {
-      ccrt.loadXML(ccr_t);
+  ///////// CCR-Termination:
+  if (haveTermination) {
+    ccrt.loadXML(ccr_t);
 
 
-      // Session-Id & Framed-Ip-Address AVPs
-      ccrt_sessionId = ccrt.getAvp("Session-Id");
-      ccrt_framedIPAddress = ccrt.getAvp("Framed-IP-Address");
-    }
-  }
-  catch(anna::RuntimeException &ex) {
-    ex.trace();
+    // Session-Id & Framed-Ip-Address AVPs
+    ccrt_sessionId = ccrt.getAvp("Session-Id");
+    ccrt_framedIPAddress = ccrt.getAvp("Framed-IP-Address");
   }
 
   }
 
+
   // Prepare session-id string:
   std::string sessionId = ccri_sessionId->getUTF8String()->getValue();
   std::size_t last_semicolon = sessionId.rfind(";");
   // Prepare session-id string:
   std::string sessionId = ccri_sessionId->getUTF8String()->getValue();
   std::size_t last_semicolon = sessionId.rfind(";");
diff --git a/dynamic/launcher/gx/00001/dictionary.xml b/dynamic/launcher/gx/00001/dictionary.xml
new file mode 100644 (file)
index 0000000..0aeb974
--- /dev/null
@@ -0,0 +1,2818 @@
+<dictionary name="DictionaryGx | Application-Id: 16777238">
+   <vendor name="IETF" code="0"/>
+   <vendor name="ERICSSON" code="193"/>
+   <vendor name="3GPP2" code="5535"/>
+   <vendor name="3GPP" code="10415"/>
+   <vendor name="ETSI" code="13019"/>
+   <avp name="User-Name" code="1" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="NAS-IP-Address" code="4" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Framed-IP-Address" code="8" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Filter-Id" code="11" may-encrypt="no" v-bit="mustnot" m-bit="may" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Class" code="25" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Session-Timeout" code="27" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Called-Station-Id" code="30" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Proxy-State" code="33" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Acct-Session-Id" code="44" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Acct-Multi-Session-Id" code="50" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Event-Timestamp" code="55" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Acct-Interim-Interval" code="85" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Framed-IPv6-Prefix" code="97" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Host-IP-Address" code="257" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Auth-Application-Id" code="258" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Acct-Application-Id" code="259" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Vendor-Specific-Application-Id" code="260" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Vendor-Id" type="Mandatory" qual="1*"/>
+         <avprule id="Auth-Application-Id" type="Optional"/>
+         <avprule id="Acct-Application-Id" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Redirect-Host-Usage" code="261" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-6">
+         <label data="0" alias="DONT_CACHE"/>
+         <label data="1" alias="ALL_SESSION"/>
+         <label data="2" alias="ALL_REALM"/>
+         <label data="3" alias="REALM_AND_APPLICATION"/>
+         <label data="4" alias="ALL_APPLICATION"/>
+         <label data="5" alias="ALL_HOST"/>
+         <label data="6" alias="ALL_USER"/>
+      </single>
+   </avp>
+   <avp name="Redirect-Max-Cache-Time" code="262" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Session-Id" code="263" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Origin-Host" code="264" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterIdentity"/>
+   </avp>
+   <avp name="Supported-Vendor-Id" code="265" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Vendor-Id" code="266" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Firmware-Revision" code="267" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Result-Code" code="268" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32">
+         <label data="1001" alias="DIAMETER_MULTI_ROUND_AUTH"/>
+         <label data="2001" alias="DIAMETER_SUCCESS"/>
+         <label data="2002" alias="DIAMETER_LIMITED_SUCCESS"/>
+         <label data="3001" alias="DIAMETER_COMMAND_UNSUPPORTED"/>
+         <label data="3002" alias="DIAMETER_UNABLE_TO_DELIVER"/>
+         <label data="3003" alias="DIAMETER_REALM_NOT_SERVED"/>
+         <label data="3004" alias="DIAMETER_TOO_BUSY"/>
+         <label data="3005" alias="DIAMETER_LOOP_DETECTED"/>
+         <label data="3006" alias="DIAMETER_REDIRECT_INDICATION"/>
+         <label data="3007" alias="DIAMETER_APPLICATION_UNSUPPORTED"/>
+         <label data="3008" alias="DIAMETER_INVALID_HDR_BITS"/>
+         <label data="3009" alias="DIAMETER_INVALID_AVP_BITS"/>
+         <label data="3010" alias="DIAMETER_UNKNOWN_PEER"/>
+         <label data="4001" alias="DIAMETER_AUTHENTICATION_REJECTED"/>
+         <label data="4002" alias="DIAMETER_OUT_OF_SPACE"/>
+         <label data="4003" alias="DIAMETER_ELECTION_LOST"/>
+         <label data="4144" alias="DIAMETER_PENDING_TRANSACTION"/>
+         <label data="4241" alias="DIAMETER_NO_AVAILABLE_POLICY_COUNTERS"/>
+         <label data="5001" alias="DIAMETER_AVP_UNSUPPORTED"/>
+         <label data="5002" alias="DIAMETER_UNKNOWN_SESSION_ID"/>
+         <label data="5003" alias="DIAMETER_AUTHORIZATION_REJECTED"/>
+         <label data="5004" alias="DIAMETER_INVALID_AVP_VALUE"/>
+         <label data="5005" alias="DIAMETER_MISSING_AVP"/>
+         <label data="5006" alias="DIAMETER_RESOURCES_EXCEEDED"/>
+         <label data="5007" alias="DIAMETER_CONTRADICTING_AVPS"/>
+         <label data="5008" alias="DIAMETER_AVP_NOT_ALLOWED"/>
+         <label data="5009" alias="DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"/>
+         <label data="5010" alias="DIAMETER_NO_COMMON_APPLICATION"/>
+         <label data="5011" alias="DIAMETER_UNSUPPORTED_VERSION"/>
+         <label data="5012" alias="DIAMETER_UNABLE_TO_COMPLY"/>
+         <label data="5013" alias="DIAMETER_INVALID_BIT_IN_HEADER"/>
+         <label data="5014" alias="DIAMETER_INVALID_AVP_LENGTH"/>
+         <label data="5015" alias="DIAMETER_INVALID_MESSAGE_LENGTH"/>
+         <label data="5016" alias="DIAMETER_INVALID_AVP_BIT_COMBO"/>
+         <label data="5017" alias="DIAMETER_NO_COMMON_SECURITY"/>
+         <label data="5030" alias="DIAMETER_USER_UNKNOWN"/>
+         <label data="5063" alias="REQUESTED_SERVICE_NOT_AUTHORIZED"/>
+         <label data="5065" alias="IP_CAN_SESSION_NOT_AVAILABLE"/>
+      </single>
+   </avp>
+   <avp name="Product-Name" code="269" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Session-Binding" code="270" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Session-Server-Failover" code="271" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="REFUSE_SERVICE"/>
+         <label data="1" alias="TRY_AGAIN"/>
+         <label data="2" alias="ALLOW_SERVICE"/>
+         <label data="3" alias="TRY_AGAIN_ALLOW_SERVICE"/>
+      </single>
+   </avp>
+   <avp name="Multi-Round-Time-Out" code="272" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Disconnect-Cause" code="273" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="REBOOTING"/>
+         <label data="1" alias="BUSY"/>
+         <label data="2" alias="DO_NOT_WANT_TO_TALK_TO_YOU"/>
+      </single>
+   </avp>
+   <avp name="Auth-Request-Type" code="274" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="1-3">
+         <label data="1" alias="AUTHENTICATE_ONLY"/>
+         <label data="2" alias="AUTHORIZE_ONLY"/>
+         <label data="3" alias="AUTHORIZE_AUTHENTICATE"/>
+      </single>
+   </avp>
+   <avp name="Auth-Grace-Period" code="276" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Auth-Session-State" code="277" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="STATE_MAINTAINED"/>
+         <label data="1" alias="NO_STATE_MAINTAINED"/>
+      </single>
+   </avp>
+   <avp name="Origin-State-Id" code="278" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Failed-AVP" code="279" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="AVP" type="Mandatory" qual="1*"/>
+      </grouped>
+   </avp>
+   <avp name="Proxy-Host" code="280" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterIdentity"/>
+   </avp>
+   <avp name="Error-Message" code="281" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Route-Record" code="282" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterIdentity"/>
+   </avp>
+   <avp name="Destination-Realm" code="283" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterIdentity"/>
+   </avp>
+   <avp name="Proxy-Info" code="284" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Proxy-Host" type="Mandatory"/>
+         <avprule id="Proxy-State" type="Mandatory"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Re-Auth-Request-Type" code="285" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="AUTHORIZE_ONLY"/>
+         <label data="1" alias="AUTHORIZE_AUTHENTICATE"/>
+      </single>
+   </avp>
+   <avp name="Accounting-Sub-Session-Id" code="287" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned64"/>
+   </avp>
+   <avp name="Authorization-Lifetime" code="291" may-encrypt="no" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Redirect-Host" code="292" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterURI"/>
+   </avp>
+   <avp name="Destination-Host" code="293" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterIdentity"/>
+   </avp>
+   <avp name="Error-Reporting-Host" code="294" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="DiameterIdentity"/>
+   </avp>
+   <avp name="Termination-Cause" code="295" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="1-8">
+         <label data="1" alias="LOGOUT"/>
+         <label data="2" alias="SERVICE_NOT_PROVIDED"/>
+         <label data="3" alias="BAD_ANSWER"/>
+         <label data="4" alias="ADMINISTRATIVE"/>
+         <label data="5" alias="LINK_BROKEN"/>
+         <label data="6" alias="AUTH_EXPIRED"/>
+         <label data="7" alias="USER_MOVED"/>
+         <label data="8" alias="SESSION_TIMEOUT"/>
+      </single>
+   </avp>
+   <avp name="Origin-Realm" code="296" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterIdentity"/>
+   </avp>
+   <avp name="Experimental-Result" code="297" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Vendor-Id" type="Mandatory"/>
+         <avprule id="Experimental-Result-Code" type="Mandatory"/>
+      </grouped>
+   </avp>
+   <avp name="Experimental-Result-Code" code="298" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Inband-Security-Id" code="299" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="E2E-Sequence" code="300" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="AVP" type="Mandatory" qual="2*"/>
+      </grouped>
+   </avp>
+   <avp name="CC-Correlation-Id" code="411" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="CC-Input-Octets" code="412" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned64"/>
+   </avp>
+   <avp name="CC-Money" code="413" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Unit-Value" type="Fixed"/>
+         <avprule id="Currency-Code" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="CC-Output-Octets" code="414" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned64"/>
+   </avp>
+   <avp name="CC-Request-Number" code="415" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="CC-Request-Type" code="416" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="1-4">
+         <label data="1" alias="INITIAL_REQUEST"/>
+         <label data="2" alias="UPDATE_REQUEST"/>
+         <label data="3" alias="TERMINATION_REQUEST"/>
+         <label data="4" alias="EVENT_REQUEST"/>
+      </single>
+   </avp>
+   <avp name="CC-Service-Specific-Units" code="417" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Unsigned64"/>
+   </avp>
+   <avp name="CC-Session-Failover" code="418" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="FAILOVER_NOT_SUPPORTED"/>
+         <label data="1" alias="FAILOVER_SUPPORTED"/>
+      </single>
+   </avp>
+   <avp name="CC-Sub-Session-Id" code="419" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Unsigned64"/>
+   </avp>
+   <avp name="CC-Time" code="420" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="CC-Total-Octets" code="421" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned64"/>
+   </avp>
+   <avp name="Check-Balance-Result" code="422" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="ENOUGH_CREDIT"/>
+         <label data="1" alias="NO_CREDIT"/>
+      </single>
+   </avp>
+   <avp name="Cost-Information" code="423" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Unit-Value" type="Mandatory"/>
+         <avprule id="Currency-Code" type="Mandatory"/>
+         <avprule id="Cost-Unit" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Cost-Unit" code="424" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Currency-Code" code="425" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Credit-Control" code="426" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="CREDIT_AUTHORIZATION"/>
+         <label data="1" alias="RE_AUTHORIZATION"/>
+      </single>
+   </avp>
+   <avp name="Credit-Control-Failure-Handling" code="427" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="TERMINATE"/>
+         <label data="1" alias="CONTINUE"/>
+         <label data="2" alias="RETRY_AND_TERMINATE"/>
+      </single>
+   </avp>
+   <avp name="Direct-Debiting-Failure-Handling" code="428" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="TERMINATE_OR_BUFFER"/>
+         <label data="1" alias="CONTINUE"/>
+      </single>
+   </avp>
+   <avp name="Exponent" code="429" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Integer32"/>
+   </avp>
+   <avp name="Final-Unit-Indication" code="430" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Final-Unit-Action" type="Fixed"/>
+         <avprule id="Restriction-Filter-Rule" type="Optional" qual="*"/>
+         <avprule id="Filter-Id" type="Optional" qual="*"/>
+         <avprule id="Redirect-Server" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Granted-Service-Unit" code="431" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="CC-Total-Octets" type="Optional"/>
+         <avprule id="CC-Time" type="Optional"/>
+         <avprule id="CC-Input-Octets" type="Optional"/>
+         <avprule id="CC-Output-Octets" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Rating-Group" code="432" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Redirect-Address-Type" code="433" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="IPv4"/>
+         <label data="1" alias="IPv6Addr"/>
+         <label data="2" alias="URL"/>
+         <label data="3" alias="SIP"/>
+      </single>
+   </avp>
+   <avp name="Redirect-Server" code="434" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Redirect-Address-Type" type="Fixed"/>
+         <avprule id="Redirect-Server-Address" type="Fixed"/>
+      </grouped>
+   </avp>
+   <avp name="Redirect-Server-Address" code="435" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Requested-Action" code="436" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="DIRECT_DEBITING"/>
+         <label data="1" alias="REFUND_ACCOUNT"/>
+         <label data="2" alias="CHECK_BALANCE"/>
+         <label data="3" alias="PRICE_ENQUIRY"/>
+      </single>
+   </avp>
+   <avp name="Requested-Service-Unit" code="437" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="CC-Time" type="Optional"/>
+         <avprule id="CC-Money" type="Optional"/>
+         <avprule id="CC-Total-Octets" type="Optional"/>
+         <avprule id="CC-Input-Octets" type="Optional"/>
+         <avprule id="CC-Output-Octets" type="Optional"/>
+         <avprule id="CC-Service-Specific-Units" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Restriction-Filter-Rule" code="438" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="IPFilterRule"/>
+   </avp>
+   <avp name="Service-Identifier" code="439" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Service-Parameter-Info" code="440" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="may">
+      <grouped>
+         <avprule id="Service-Parameter-Type" type="Mandatory"/>
+         <avprule id="Service-Parameter-Value" type="Mandatory"/>
+      </grouped>
+   </avp>
+   <avp name="Service-Parameter-Type" code="441" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Service-Parameter-Value" code="442" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Subscription-Id" code="443" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Subscription-Id-Type" type="Mandatory"/>
+         <avprule id="Subscription-Id-Data" type="Mandatory"/>
+      </grouped>
+   </avp>
+   <avp name="Subscription-Id-Data" code="444" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Unit-Value" code="445" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Value-Digits" type="Fixed"/>
+         <avprule id="Exponent" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Used-Service-Unit" code="446" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="CC-Total-Octets" type="Optional"/>
+         <avprule id="CC-Time" type="Optional"/>
+         <avprule id="CC-Input-Octets" type="Optional"/>
+         <avprule id="CC-Output-Octets" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Value-Digits" code="447" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Integer64"/>
+   </avp>
+   <avp name="Validity-Time" code="448" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Final-Unit-Action" code="449" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="TERMINATE"/>
+         <label data="1" alias="REDIRECT"/>
+         <label data="2" alias="RESTRICT_ACCESS"/>
+      </single>
+   </avp>
+   <avp name="Subscription-Id-Type" code="450" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-4">
+         <label data="0" alias="END_USER_E164"/>
+         <label data="1" alias="END_USER_IMSI"/>
+         <label data="2" alias="END_USER_SIP_URI"/>
+         <label data="3" alias="END_USER_NAI"/>
+         <label data="4" alias="END_USER_PRIVATE"/>
+      </single>
+   </avp>
+   <avp name="Tariff-Time-Change" code="451" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Tariff-Change-Usage" code="452" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="UNIT_BEFORE_TARIFF_CHANGE"/>
+         <label data="1" alias="UNIT_AFTER_TARIFF_CHANGE"/>
+         <label data="2" alias="UNIT_INDETERMINATE"/>
+      </single>
+   </avp>
+   <avp name="G-S-U-Pool-Identifier" code="453" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="CC-Unit-Type" code="454" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-5">
+         <label data="0" alias="TIME"/>
+         <label data="1" alias="MONEY"/>
+         <label data="2" alias="TOTAL_OCTETS"/>
+         <label data="3" alias="INPUT_OCTETS"/>
+         <label data="4" alias="OUTPUT_OCTETS"/>
+         <label data="5" alias="SERVICE_SPECIFIC_UNITS"/>
+      </single>
+   </avp>
+   <avp name="Multiple-Services-Indicator" code="455" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="MULTIPLE_SERVICES_NOT_SUPPORTED"/>
+         <label data="1" alias="MULTIPLE_SERVICES_SUPPORTED"/>
+      </single>
+   </avp>
+   <avp name="Multiple-Services-Credit-Control" code="456" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Granted-Service-Unit" type="Optional"/>
+         <avprule id="Requested-Service-Unit" type="Optional"/>
+         <avprule id="Used-Service-Unit" type="Optional" qual="*"/>
+         <avprule id="Tariff-Change-Usage" type="Optional"/>
+         <avprule id="Service-Identifier" type="Optional" qual="*"/>
+         <avprule id="Rating-Group" type="Optional"/>
+         <avprule id="G-S-U-Pool-Reference" type="Optional" qual="*"/>
+         <avprule id="Validity-Time" type="Optional"/>
+         <avprule id="Result-Code" type="Optional"/>
+         <avprule id="Final-Unit-Indication" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="G-S-U-Pool-Reference" code="457" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="G-S-U-Pool-Identifier" type="Mandatory"/>
+         <avprule id="CC-Unit-Type" type="Mandatory"/>
+         <avprule id="Unit-Value" type="Mandatory"/>
+      </grouped>
+   </avp>
+   <avp name="User-Equipment-Info" code="458" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="mustnot">
+      <grouped>
+         <avprule id="User-Equipment-Info-Type" type="Mandatory"/>
+         <avprule id="User-Equipment-Info-Value" type="Mandatory"/>
+      </grouped>
+   </avp>
+   <avp name="User-Equipment-Info-Type" code="459" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="IMEISV"/>
+         <label data="1" alias="MAC"/>
+         <label data="2" alias="EUI64"/>
+         <label data="3" alias="MODIFIED_EUI64"/>
+      </single>
+   </avp>
+   <avp name="User-Equipment-Info-Value" code="460" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Service-Context-Id" code="461" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Accounting-Record-Type" code="480" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="1-4">
+         <label data="1" alias="EVENT_RECORD"/>
+         <label data="2" alias="START_RECORD"/>
+         <label data="3" alias="INTERIM_RECORD"/>
+         <label data="4" alias="STOP_RECORD"/>
+      </single>
+   </avp>
+   <avp name="Accounting-Interim-Interval" code="482" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="may">
+      <single format-name="Integer32"/>
+   </avp>
+   <avp name="Accounting-Realtime-Required" code="483" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="1-3">
+         <label data="1" alias="DELIVER_AND_GRANT"/>
+         <label data="2" alias="GRANT_AND_STORE"/>
+         <label data="3" alias="GRANT_AND_LOSE"/>
+      </single>
+   </avp>
+   <avp name="Accounting-Record-Number" code="485" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Rule-Space-Suggestion" code="290" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Authorization-State" code="1056" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-12">
+         <label data="0" alias="AUTHORIZED"/>
+         <label data="1" alias="DENIED_CALENDAR_TIME"/>
+         <label data="2" alias="DENIED_ROAMING"/>
+         <label data="3" alias="DENIED_QUALITY_OF_SERVICE"/>
+         <label data="4" alias="DENIED_BLACKLISTED"/>
+         <label data="5" alias="DENIED_TERMINAL"/>
+         <label data="6" alias="DENIED_OPERATOR_REASON_ONE"/>
+         <label data="7" alias="DENIED_OPERATOR_REASON_TWO"/>
+         <label data="8" alias="DENIED_OPERATOR_REASON_THREE"/>
+         <label data="9" alias="DENIED_OPERATOR_REASON_FOUR"/>
+         <label data="10" alias="DENIED_OPERATOR_REASON_FIVE"/>
+         <label data="11" alias="DENIED_UNKNOWN_REASON"/>
+         <label data="12" alias="DENIED_USAGE_CONTROL"/>
+      </single>
+   </avp>
+   <avp name="Gx-Capability-List" code="1060" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Content-Filtering-Profile-Id" code="1138" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Rule-Space-Decision" code="291" vendor-name="3GPP2" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Charging-Rule-Authorization" code="1055" vendor-name="3GPP2" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Authorization-State" type="Mandatory"/>
+         <avprule id="Authorization-State-Change-Time" type="Optional"/>
+         <avprule id="Next-Authorization-State" type="Optional"/>
+         <avprule id="One-Time-Redirect-Control" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Customer-Id" code="1146" vendor-name="3GPP2" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="One-Time-Redirect-Control" code="1193" vendor-name="3GPP2" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-10">
+         <label data="0" alias="INACTIVE"/>
+         <label data="1" alias="DEFAULT"/>
+         <label data="2" alias="ROAMING"/>
+         <label data="3" alias="QBAU"/>
+         <label data="4" alias="TIME"/>
+         <label data="5" alias="OPERATOR_REASON_ONE"/>
+         <label data="6" alias="OPERATOR_REASON_TWO"/>
+         <label data="7" alias="OPERATOR_REASON_THREE"/>
+         <label data="8" alias="OPERATOR_REASON_FOUR"/>
+         <label data="9" alias="OPERATOR_REASON_FIVE"/>
+         <label data="10" alias="OPERATOR_REASON_SIX"/>
+      </single>
+   </avp>
+   <avp name="3GPP2-BSID" code="9010" vendor-name="3GPP2" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GPP-Charging-Id" code="2" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="3GPP-PDP-Type" code="3" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32">
+         <label data="0" alias="IPV4"/>
+         <label data="1" alias="PPP"/>
+         <label data="2" alias="IPV6"/>
+      </single>
+   </avp>
+   <avp name="3GPP-CG-Address" code="4" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-GPRS-Neg-QoS-Profile" code="5" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GPP-SGSN-Address" code="6" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-GGSN-Address" code="7" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-IMSI-MCC-MNC" code="8" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GPP-GGSN-MCC-MNC" code="9" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GPP-NSAPI" code="10" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GPP-Session-Stop-Indicator" code="11" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-Selection-Mode" code="12" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GPP-Charging-Characteristics" code="13" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GPP-SGSN-IPv6-Address" code="15" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-GGSN-IPv6-Address" code="16" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-SGSN-MCC-MNC" code="18" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="3GGP-IMEISV" code="20" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-RAT-Type" code="21" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-User-Location-Info" code="22" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-MS-TimeZone" code="23" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="3GPP-CAMEL-Charging-Info" code="24" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Abort-Cause" code="500" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-4">
+         <label data="0" alias="BEARER_RELEASED"/>
+         <label data="1" alias="INSUFFICIENT_SERVER_RESOURCES"/>
+         <label data="2" alias="INSUFFICIENT_BEARER_RESOURCES"/>
+         <label data="3" alias="PS_TO_CS_HANDOVER"/>
+         <label data="4" alias="SPONSORED_DATA_CONNECTIVITY_DISALLOWED"/>
+      </single>
+   </avp>
+   <avp name="Access-Network-Charging-Address" code="501" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Access-Network-Charging-Identifier" code="502" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Access-Network-Charging-Identifier-Value" type="Mandatory"/>
+         <avprule id="Flows" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Access-Network-Charging-Identifier-Value" code="503" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="AF-Application-Identifier" code="504" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="AF-Charging-Identifier" code="505" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Flow-Description" code="507" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="IPFilterRule"/>
+   </avp>
+   <avp name="Flow-Number" code="509" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Flows" code="510" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Media-Component-Number" type="Mandatory"/>
+         <avprule id="Flow-Number" type="Optional" qual="*"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Flow-Status" code="511" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-4">
+         <label data="0" alias="ENABLED-UPLINK"/>
+         <label data="1" alias="ENABLED-DOWNLINK"/>
+         <label data="2" alias="ENABLED"/>
+         <label data="3" alias="DISABLED"/>
+         <label data="4" alias="REMOVED"/>
+      </single>
+   </avp>
+   <avp name="Flow-Usage" code="512" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-15">
+         <label data="0" alias="NO_INFORMATION"/>
+         <label data="1" alias="RTCP"/>
+         <label data="2" alias="AF_SIGNALLING"/>
+      </single>
+   </avp>
+   <avp name="Specific-Action" code="513" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="1-4,6-11">
+         <label data="1" alias="CHARGING_CORRELATION_EXCHANGE"/>
+         <label data="2" alias="INDICATION_OF_LOSS_OF_BEARER"/>
+         <label data="3" alias="INDICATION_OF_RECOVERY_OF_BEARER"/>
+         <label data="4" alias="INDICATION_OF_RELEASE_OF_BEARER"/>
+         <label data="6" alias="IP-CAN_CHANGE"/>
+         <label data="7" alias="INDICATION_OF_OUT_OF_CREDIT"/>
+         <label data="8" alias="INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATION"/>
+         <label data="9" alias="INDICATION_OF_FAILED_RESOURCES_ALLOCATION"/>
+         <label data="10" alias="INDICATION_OF_LIMITED_PCC_DEPLOYMENT"/>
+         <label data="11" alias="USAGE_REPORT"/>
+      </single>
+   </avp>
+   <avp name="Max-Requested-Bandwidth-DL" code="515" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Max-Requested-Bandwidth-UL" code="516" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Media-Component-Description" code="517" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Media-Component-Number" type="Mandatory"/>
+         <avprule id="Media-Sub-Component" type="Optional" qual="*"/>
+         <avprule id="AF-Application-Identifier" type="Optional"/>
+         <avprule id="Media-Type" type="Optional"/>
+         <avprule id="Max-Requested-Bandwidth-UL" type="Optional"/>
+         <avprule id="Max-Requested-Bandwidth-DL" type="Optional"/>
+         <avprule id="Flow-Status" type="Optional"/>
+         <avprule id="Reservation-Priority" type="Optional"/>
+         <avprule id="RS-Bandwidth" type="Optional"/>
+         <avprule id="RR-Bandwidth" type="Optional"/>
+         <avprule id="Codec-Data" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Media-Component-Number" code="518" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Media-Sub-Component" code="519" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Flow-Number" type="Mandatory"/>
+         <avprule id="Flow-Description" type="Optional" qual="0*2"/>
+         <avprule id="Flow-Status" type="Optional"/>
+         <avprule id="Flow-Usage" type="Optional"/>
+         <avprule id="Max-Requested-Bandwidth-UL" type="Optional"/>
+         <avprule id="Max-Requested-Bandwidth-DL" type="Optional"/>
+         <avprule id="AF-Signalling-Protocol" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Media-Type" code="520" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-6,4294967295">
+         <label data="4294967295" alias="OTHER"/>
+         <label data="0" alias="AUDIO"/>
+         <label data="1" alias="VIDEO"/>
+         <label data="2" alias="DATA"/>
+         <label data="3" alias="APPLICATION"/>
+         <label data="4" alias="CONTROL"/>
+         <label data="5" alias="TEXT"/>
+         <label data="6" alias="MESSAGE"/>
+      </single>
+   </avp>
+   <avp name="RR-Bandwidth" code="521" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="RS-Bandwidth" code="522" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="SIP-Forking-Indication" code="523" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="SINGLE_DIALOGUE"/>
+         <label data="1" alias="SEVERAL_DIALOGUES"/>
+      </single>
+   </avp>
+   <avp name="Codec-Data" code="524" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Service-URN" code="525" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Acceptable-Service-Info" code="526" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Media-Component-Description" type="Optional" qual="*"/>
+         <avprule id="Max-Requested-Bandwidth-DL" type="Optional"/>
+         <avprule id="Max-Requested-Bandwidth-UL" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Service-Info-Status" code="527" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="FINAL_SERVICE_INFORMATION"/>
+         <label data="1" alias="PRELIMINARY_SERVICE_INFORMATION"/>
+      </single>
+   </avp>
+   <avp name="MPS-Identifier" code="528" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="AF-Signalling-Protocol" code="529" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="NO_INFORMATION"/>
+         <label data="1" alias="SIP"/>
+      </single>
+   </avp>
+   <avp name="Sponsored-Connectivity-Data" code="530" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="may">
+      <grouped>
+         <avprule id="Sponsor-Identity" type="Optional"/>
+         <avprule id="Application-Service-Provider-Identity" type="Optional"/>
+         <avprule id="Granted-Service-Unit" type="Optional"/>
+         <avprule id="Used-Service-Unit" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Sponsor-Identity" code="531" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Application-Service-Provider-Identity" code="532" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Rx-Request-Type" code="533" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="INITIAL_REQUEST"/>
+         <label data="1" alias="UPDATE_REQUEST"/>
+      </single>
+   </avp>
+   <avp name="Required-Access-Info" code="536" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="USER_LOCATION"/>
+         <label data="1" alias="MS_TIME_ZONE"/>
+      </single>
+   </avp>
+   <avp name="Server-Name" code="602" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Server-Capabilities" code="603" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Mandatory-Capability" type="Optional" qual="*"/>
+         <avprule id="Optional-Capability" type="Optional" qual="*"/>
+         <avprule id="Server-Name" type="Optional" qual="*"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Mandatory-Capability" code="604" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Optional-Capability" code="605" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Charging-Information" code="618" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Primary-Event-Charging-Function-Name" type="Optional"/>
+         <avprule id="Secondary-Event-Charging-Function-Name" type="Optional"/>
+         <avprule id="Primary-Charging-Collection-Function-Name" type="Optional"/>
+         <avprule id="Secondary-Charging-Collection-Function-Name" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Primary-Event-Charging-Function-Name" code="619" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterURI"/>
+   </avp>
+   <avp name="Secondary-Event-Charging-Function-Name" code="620" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterURI"/>
+   </avp>
+   <avp name="Primary-Charging-Collection-Function-Name" code="621" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterURI"/>
+   </avp>
+   <avp name="Secondary-Charging-Collection-Function-Name" code="622" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="DiameterURI"/>
+   </avp>
+   <avp name="Supported-Features" code="628" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="may" p-bit="mustnot">
+      <grouped>
+         <avprule id="Vendor-Id" type="Mandatory"/>
+         <avprule id="Feature-List-ID" type="Mandatory"/>
+         <avprule id="Feature-List" type="Mandatory"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Feature-List-ID" code="629" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Feature-List" code="630" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Session-Priority" code="650" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-4">
+         <label data="0" alias="PRIORITY-0"/>
+         <label data="1" alias="PRIORITY-1"/>
+         <label data="2" alias="PRIORITY-2"/>
+         <label data="3" alias="PRIORITY-3"/>
+         <label data="4" alias="PRIORITY-4"/>
+      </single>
+   </avp>
+   <avp name="Quota-Consumption-Time" code="811" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Event-Type" code="823" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="SIP-Method" type="Optional"/>
+         <avprule id="Event" type="Optional"/>
+         <avprule id="Expires" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="SIP-Method" code="824" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Event" code="825" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Content-Type" code="826" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Content-Length" code="827" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Content-Disposition" code="828" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Role-Of-Node" code="829" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="ORIGINATING_ROLE"/>
+         <label data="1" alias="TERMINATING_ROLE"/>
+         <label data="2" alias="PROXY_ROLE"/>
+         <label data="3" alias="B2BUA_ROLE"/>
+      </single>
+   </avp>
+   <avp name="User-Session-Id" code="830" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Calling-Party-Address" code="831" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Called-Party-Address" code="832" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Time-Stamps" code="833" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="SIP-Request-Timestamp" type="Optional"/>
+         <avprule id="SIP-Response-Timestamp" type="Optional"/>
+         <avprule id="SIP-Request-Timestamp-Fraction" type="Optional"/>
+         <avprule id="SIP-Response-Timestamp-Fraction" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="SIP-Request-Timestamp" code="834" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="SIP-Response-Timestamp" code="835" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Application-Server" code="836" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Application-Provided-Called-Party-Address" code="837" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Inter-Operator-Identifier" code="838" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Originating-IOI" type="Optional"/>
+         <avprule id="Terminating-IOI" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Originating-IOI" code="839" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Terminating-IOI" code="840" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="IMS-Charging-Identifier" code="841" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="SDP-Session-Description" code="842" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="SDP-Media-Component" code="843" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="SDP-Media-Name" type="Optional"/>
+         <avprule id="SDP-Media-Description" type="Optional" qual="*"/>
+         <avprule id="Media-Initiator-Flag" type="Optional"/>
+         <avprule id="Media-Initiator-Party" type="Optional"/>
+         <avprule id="Authorized-QoS" type="Optional"/>
+         <avprule id="3GPP-Charging-Id" type="Optional"/>
+         <avprule id="Access-Network-Charging-Identifier-Value" type="Optional"/>
+         <avprule id="SDP-Type" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="SDP-Media-Name" code="844" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="SDP-Media-Description" code="845" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="CG-Address" code="846" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="GGSN-Address" code="847" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Served-Party-IP-Address" code="848" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Authorized-QoS" code="849" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Application-Server-Information" code="850" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Application-Server" type="Optional"/>
+         <avprule id="Application-Provided-Called-Party-Address" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Trunk-Group-ID" code="851" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Incoming-Trunk-Group-ID" type="Optional"/>
+         <avprule id="Outgoing-Trunk-Group-ID" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Incoming-Trunk-Group-ID" code="852" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Outgoing-Trunk-Group-ID" code="853" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Bearer-Service" code="854" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Service-Id" code="855" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Associated-URI" code="856" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Cause-Code" code="861" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Integer32"/>
+   </avp>
+   <avp name="Node-Functionality" code="862" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-11">
+         <label data="0" alias="S-CSCF"/>
+         <label data="1" alias="P-CSCF"/>
+         <label data="2" alias="I-CSCF"/>
+         <label data="3" alias="MRFC"/>
+         <label data="4" alias="MGCF"/>
+         <label data="5" alias="BGCF"/>
+         <label data="6" alias="AS"/>
+         <label data="7" alias="IBCF"/>
+         <label data="8" alias="S-GW"/>
+         <label data="9" alias="P-GW"/>
+         <label data="10" alias="HSGW"/>
+         <label data="11" alias="E-CSCF"/>
+      </single>
+   </avp>
+   <avp name="Service-Specific-Data" code="863" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Originator" code="864" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="Calling Party"/>
+         <label data="1" alias="Called Party"/>
+      </single>
+   </avp>
+   <avp name="PS-Furnish-Charging-Information" code="865" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="3GPP-Charging-Id" type="Mandatory"/>
+         <avprule id="PS-Free-Format-Data" type="Mandatory"/>
+         <avprule id="PS-Append-Free-Format-Data" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="PS-Free-Format-Data" code="866" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="PS-Append-Free-Format-Data" code="867" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="APPEND"/>
+         <label data="1" alias="OVERWRITE"/>
+      </single>
+   </avp>
+   <avp name="Time-Quota-Threshold" code="868" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Volume-Quota-Threshold" code="869" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Trigger-Type" code="870" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="1-4,10-23,30-34,40,50">
+         <label data="1" alias="CHANGE_IN_SGSN_IP_ADDRESS"/>
+         <label data="2" alias="CHANGE_IN_QOS"/>
+         <label data="3" alias="CHANGE_IN_LOCATION"/>
+         <label data="4" alias="CHANGE_IN_RAT"/>
+         <label data="10" alias="CHANGEINQOS_TRAFFIC_CLASS"/>
+         <label data="11" alias="CHANGEINQOS_RELIABILITY_CLASS"/>
+         <label data="12" alias="CHANGEINQOS_DELAY_CLASS"/>
+         <label data="13" alias="CHANGEINQOS_PEAK_THROUGHPUT"/>
+         <label data="14" alias="CHANGEINQOS_PRECEDENCE_CLASS"/>
+         <label data="15" alias="CHANGEINQOS_MEAN_THROUGHPUT"/>
+         <label data="16" alias="CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK"/>
+         <label data="17" alias="CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK"/>
+         <label data="18" alias="CHANGEINQOS_RESIDUAL_BER"/>
+         <label data="19" alias="CHANGEINQOS_SDU_ERROR_RATIO"/>
+         <label data="20" alias="CHANGEINQOS_TRANSFER_DELAY"/>
+         <label data="21" alias="CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY"/>
+         <label data="22" alias="CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK"/>
+         <label data="23" alias="CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK"/>
+         <label data="30" alias="CHANGEINLOCATION_MCC"/>
+         <label data="31" alias="CHANGEINLOCATION_MNC"/>
+         <label data="32" alias="CHANGEINLOCATION_RAC"/>
+         <label data="33" alias="CHANGEINLOCATION_LAC"/>
+         <label data="34" alias="CHANGEINLOCATION_CellId"/>
+         <label data="40" alias="CHANGE_IN_MEDIA_COMPOSITION"/>
+         <label data="50" alias="CHANGEINPARTICIPANTS_NMB"/>
+      </single>
+   </avp>
+   <avp name="Quota-Holding-Time" code="871" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Reporting-Reason" code="872" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-8">
+         <label data="0" alias="THRESHOLD"/>
+         <label data="1" alias="QHT"/>
+         <label data="2" alias="FINAL"/>
+         <label data="3" alias="QUOTA_EXHAUSTED"/>
+         <label data="4" alias="VALIDITY_TIME"/>
+         <label data="5" alias="OTHER_QUOTA_TYPE"/>
+         <label data="6" alias="RATING_CONDITION_CHANGE"/>
+         <label data="7" alias="FORCED_REAUTHORISATION"/>
+         <label data="8" alias="POOL_EXHAUSTED"/>
+      </single>
+   </avp>
+   <avp name="Service-Information" code="873" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="PS-Information" type="Optional"/>
+         <avprule id="IMS-Information" type="Optional"/>
+         <avprule id="MMS-Information" type="Optional"/>
+         <avprule id="SMS-Information" type="Optional"/>
+         <avprule id="Service-Generic-Information" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="PS-Information" code="874" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="3GPP-Charging-Id" type="Optional"/>
+         <avprule id="3GPP-PDP-Type" type="Optional"/>
+         <avprule id="3GPP-GPRS-Neg-QoS-Profile" type="Optional"/>
+         <avprule id="3GPP-IMSI-MCC-MNC" type="Optional"/>
+         <avprule id="3GPP-GGSN-MCC-MNC" type="Optional"/>
+         <avprule id="3GPP-NSAPI" type="Optional"/>
+         <avprule id="3GPP-Session-Stop-Indicator" type="Optional"/>
+         <avprule id="3GPP-Selection-Mode" type="Optional"/>
+         <avprule id="3GPP-Charging-Characteristics" type="Optional"/>
+         <avprule id="3GPP-SGSN-MCC-MNC" type="Optional"/>
+         <avprule id="3GPP-RAT-Type" type="Optional"/>
+         <avprule id="3GPP-User-Location-Info" type="Optional"/>
+         <avprule id="3GPP-MS-TimeZone" type="Optional"/>
+         <avprule id="3GPP-CAMEL-Charging-Info" type="Optional"/>
+         <avprule id="CG-Address" type="Optional"/>
+         <avprule id="GGSN-Address" type="Optional"/>
+         <avprule id="PS-Furnish-Charging-Information" type="Optional"/>
+         <avprule id="Charging-Rule-Base-Name" type="Optional"/>
+         <avprule id="PDP-Address" type="Optional"/>
+         <avprule id="SGSN-Address" type="Optional"/>
+         <avprule id="Called-Station-Id" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="IMS-Information" code="876" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Event-Type" type="Optional"/>
+         <avprule id="Role-Of-Node" type="Optional"/>
+         <avprule id="Node-Functionality" type="Mandatory"/>
+         <avprule id="User-Session-Id" type="Optional"/>
+         <avprule id="Outgoing-Session-Id" type="Optional"/>
+         <avprule id="Session-Priority" type="Optional"/>
+         <avprule id="Calling-Party-Address" type="Optional" qual="*"/>
+         <avprule id="Called-Party-Address" type="Optional"/>
+         <avprule id="Called-Asserted-Identity" type="Optional" qual="*"/>
+         <avprule id="Number-Portability-Routing-Information" type="Optional"/>
+         <avprule id="Carrier-Select-Routing-Information" type="Optional"/>
+         <avprule id="Alternate-Charged-Party-Address" type="Optional"/>
+         <avprule id="Requested-Party-Address" type="Optional"/>
+         <avprule id="Associated-URI" type="Optional" qual="*"/>
+         <avprule id="Time-Stamps" type="Optional"/>
+         <avprule id="Application-Server-Information" type="Optional" qual="*"/>
+         <avprule id="Inter-Operator-Identifier" type="Optional" qual="*"/>
+         <avprule id="IMS-Charging-Identifier" type="Optional"/>
+         <avprule id="SDP-Session-Description" type="Optional" qual="*"/>
+         <avprule id="SDP-Media-Component" type="Optional" qual="*"/>
+         <avprule id="Served-Party-IP-Address" type="Optional"/>
+         <avprule id="Server-Capabilities" type="Optional"/>
+         <avprule id="Trunk-Group-ID" type="Optional"/>
+         <avprule id="Bearer-Service" type="Optional"/>
+         <avprule id="Service-Id" type="Optional"/>
+         <avprule id="Service-Specific-Info" type="Optional" qual="*"/>
+         <avprule id="Message-Body" type="Optional" qual="*"/>
+         <avprule id="Cause-Code" type="Optional"/>
+         <avprule id="Access-Network-Information" type="Optional"/>
+         <avprule id="Early-Media-Description" type="Optional" qual="*"/>
+         <avprule id="IMS-Communication-Service-Identifier" type="Optional"/>
+         <avprule id="Online-Charging-Flag" type="Optional"/>
+         <avprule id="Real-Time-Tariff-Information" type="Optional"/>
+         <avprule id="Account-Expiration" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="MMS-Information" code="877" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Originator-Address" type="Optional"/>
+         <avprule id="Recipient-Address" type="Optional" qual="*"/>
+         <avprule id="Submission-Time" type="Optional"/>
+         <avprule id="MM-Content-Type" type="Optional"/>
+         <avprule id="Priority" type="Optional"/>
+         <avprule id="Message-ID" type="Optional"/>
+         <avprule id="Message-Type" type="Optional"/>
+         <avprule id="Message-Size" type="Optional"/>
+         <avprule id="Message-Class" type="Optional"/>
+         <avprule id="Delivery-Report-Requested" type="Optional"/>
+         <avprule id="Read-Reply-Report-Requested" type="Optional"/>
+         <avprule id="MMBox-Storage-Requested" type="Optional"/>
+         <avprule id="Applic-ID" type="Optional"/>
+         <avprule id="Reply-Applic-ID" type="Optional"/>
+         <avprule id="Aux-Applic-Info" type="Optional"/>
+         <avprule id="Content-Class" type="Optional"/>
+         <avprule id="DRM-Content" type="Optional"/>
+         <avprule id="Adaptations" type="Optional"/>
+         <avprule id="VASP-Id" type="Optional"/>
+         <avprule id="VAS-Id" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Media-Initiator-Flag" code="882" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="CALLING_PARTY"/>
+         <label data="1" alias="CALLED_PARTY"/>
+         <label data="2" alias="UNKNOWN"/>
+      </single>
+   </avp>
+   <avp name="Number-Of-Participants" code="885" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Originator-Address" code="886" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Address-Type" type="Optional"/>
+         <avprule id="Address-Data" type="Optional"/>
+         <avprule id="Address-Domain" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Expires" code="888" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Message-Body" code="889" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Content-Type" type="Mandatory"/>
+         <avprule id="Content-Length" type="Mandatory"/>
+         <avprule id="Content-Disposition" type="Optional"/>
+         <avprule id="Originator" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Address-Data" code="897" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Address-Domain" code="898" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Domain-Name" type="Optional"/>
+         <avprule id="3GPP-IMSI-MCC-MNC" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Address-Type" code="899" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-7">
+         <label data="0" alias="e-mail address"/>
+         <label data="1" alias="MSISDN"/>
+         <label data="2" alias="IPv4 Address"/>
+         <label data="3" alias="IPv6 Address"/>
+         <label data="4" alias="Numeric Shortcode"/>
+         <label data="5" alias="Alphanumeric Shortcode"/>
+         <label data="6" alias="Other"/>
+         <label data="7" alias="IMSI"/>
+      </single>
+   </avp>
+   <avp name="RAI" code="909" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Bearer-Usage" code="1000" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="GENERAL"/>
+         <label data="1" alias="IMS_SIGNALLING"/>
+      </single>
+   </avp>
+   <avp name="Charging-Rule-Install" code="1001" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Charging-Rule-Definition" type="Optional" qual="*"/>
+         <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+         <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+         <avprule id="Charging-Rule-Authorization" type="Optional" qual="*"/>
+         <avprule id="Bearer-Identifier" type="Optional"/>
+         <avprule id="Rule-Activation-Time" type="Optional"/>
+         <avprule id="Rule-DeActivation-Time" type="Optional"/>
+         <avprule id="Resource-Allocation-Notification" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Charging-Rule-Remove" code="1002" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+         <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+         <avprule id="Required-Access-Info" type="Optional" qual="*"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Charging-Rule-Definition" code="1003" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Charging-Rule-Name" type="Mandatory"/>
+         <avprule id="Service-Identifier" type="Optional"/>
+         <avprule id="Rating-Group" type="Optional"/>
+         <avprule id="Flow-Information" type="Optional" qual="*"/>
+         <avprule id="Flow-Status" type="Optional"/>
+         <avprule id="QoS-Information" type="Optional"/>
+         <avprule id="Reporting-Level" type="Optional"/>
+         <avprule id="Online" type="Optional"/>
+         <avprule id="Offline" type="Optional"/>
+         <avprule id="Metering-Method" type="Optional"/>
+         <avprule id="Precedence" type="Optional"/>
+         <avprule id="AF-Charging-Identifier" type="Optional"/>
+         <avprule id="Flows" type="Optional" qual="*"/>
+         <avprule id="Monitoring-Key" type="Optional"/>
+         <avprule id="Required-Access-Info" type="Optional" qual="*"/>
+         <avprule id="TDF-Application-Identifier" type="Optional"/>
+         <avprule id="Redirect-Information" type="Optional"/>
+         <avprule id="Mute-Notification" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Charging-Rule-Base-Name" code="1004" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Charging-Rule-Name" code="1005" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Event-Trigger" code="1006" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-2,4-4,7-7,12-17,20-22,25-27,29-29,33-34,39-40,45-45,48">
+         <label data="0" alias="SGSN_CHANGE"/>
+         <label data="1" alias="QOS_CHANGE"/>
+         <label data="2" alias="RAT_CHANGE"/>
+         <label data="4" alias="PLMN_CHANGE"/>
+         <label data="7" alias="IP-CAN-CHANGE"/>
+         <label data="12" alias="RAI_CHANGE"/>
+         <label data="13" alias="USER_LOCATION_CHANGE"/>
+         <label data="14" alias="NO_EVENT_TRIGGERS"/>
+         <label data="15" alias="OUT_OF_CREDIT"/>
+         <label data="16" alias="REALLOCATION_OF_CREDIT"/>
+         <label data="17" alias="REVALIDATION_TIMEOUT"/>
+         <label data="20" alias="DEFAULT_EPS_BEARER_QOS_CHANGE"/>
+         <label data="21" alias="AN_GW_CHANGE"/>
+         <label data="22" alias="SUCCESSFUL_RESOURCE_ALLOCATION"/>
+         <label data="25" alias="UE_TIME_ZONE_CHANGE"/>
+         <label data="26" alias="TAI_CHANGE"/>
+         <label data="27" alias="ECGI_CHANGE"/>
+         <label data="29" alias="APN-AMBR_MODIFICATION_FAILURE"/>
+         <label data="33" alias="USAGE_REPORT"/>
+         <label data="34" alias="DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE"/>
+         <label data="39" alias="APPLICATION_START"/>
+         <label data="40" alias="APPLICATION_STOP"/>
+         <label data="45" alias="ACCESS_NETWORK_INFO_REPORT"/>
+         <label data="48" alias="CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT"/>
+      </single>
+   </avp>
+   <avp name="Metering-Method" code="1007" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="DURATION"/>
+         <label data="1" alias="VOLUME"/>
+         <label data="2" alias="DURATION_VOLUME"/>
+      </single>
+   </avp>
+   <avp name="Offline" code="1008" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="DISABLE_OFFLINE"/>
+         <label data="1" alias="ENABLE_OFFLINE"/>
+      </single>
+   </avp>
+   <avp name="Online" code="1009" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="DISABLE_ONLINE"/>
+         <label data="1" alias="ENABLE_ONLINE"/>
+      </single>
+   </avp>
+   <avp name="Precedence" code="1010" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Reporting-Level" code="1011" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="SERVICE_IDENTIFIER_LEVEL"/>
+         <label data="1" alias="RATING_GROUP_LEVEL"/>
+      </single>
+   </avp>
+   <avp name="ToS-Traffic-Class" code="1014" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="QoS-Information" code="1016" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="QoS-Class-Identifier" type="Optional"/>
+         <avprule id="Max-Requested-Bandwidth-UL" type="Optional"/>
+         <avprule id="Max-Requested-Bandwidth-DL" type="Optional"/>
+         <avprule id="Guaranteed-Bitrate-UL" type="Optional"/>
+         <avprule id="Guaranteed-Bitrate-DL" type="Optional"/>
+         <avprule id="Bearer-Identifier" type="Optional"/>
+         <avprule id="Allocation-Retention-Priority" type="Optional"/>
+         <avprule id="APN-Aggregate-Max-Bitrate-UL" type="Optional"/>
+         <avprule id="APN-Aggregate-Max-Bitrate-DL" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Charging-Rule-Report" code="1018" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+         <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+         <avprule id="PCC-Rule-Status" type="Optional"/>
+         <avprule id="Rule-Failure-Code" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="PCC-Rule-Status" code="1019" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="ACTIVE"/>
+         <label data="1" alias="INACTIVE"/>
+         <label data="2" alias="TEMPORARILY_INACTIVE"/>
+      </single>
+   </avp>
+   <avp name="Bearer-Identifier" code="1020" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Bearer-Operation" code="1021" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="TERMINATION"/>
+         <label data="1" alias="ESTABLISHMENT"/>
+         <label data="2" alias="MODIFICATION"/>
+      </single>
+   </avp>
+   <avp name="Access-Network-Charging-Identifier-Gx" code="1022" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <grouped>
+         <avprule id="Access-Network-Charging-Identifier-Value" type="Mandatory"/>
+         <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+         <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Bearer-Control-Mode" code="1023" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="UE_ONLY"/>
+         <label data="1" alias="RESERVED"/>
+         <label data="2" alias="UE_NW"/>
+      </single>
+   </avp>
+   <avp name="Network-Request-Support" code="1024" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="NETWORK_REQUEST_NOT_SUPPORTED"/>
+         <label data="1" alias="NETWORK_REQUEST_SUPPORTED"/>
+      </single>
+   </avp>
+   <avp name="Guaranteed-Bitrate-DL" code="1025" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Guaranteed-Bitrate-UL" code="1026" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="IP-CAN-Type" code="1027" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-7">
+         <label data="0" alias="3GPP-GPRS"/>
+         <label data="1" alias="DOCSIS"/>
+         <label data="2" alias="xDSL"/>
+         <label data="3" alias="WiMAX"/>
+         <label data="4" alias="3GPP2"/>
+         <label data="5" alias="3GPP-EPS"/>
+         <label data="6" alias="Non-3GPP-EPS"/>
+         <label data="7" alias="FBA"/>
+      </single>
+   </avp>
+   <avp name="QoS-Class-Identifier" code="1028" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="1-254">
+         <label data="1" alias="QCI_1"/>
+         <label data="2" alias="QCI_2"/>
+         <label data="3" alias="QCI_3"/>
+         <label data="4" alias="QCI_4"/>
+         <label data="5" alias="QCI_5"/>
+         <label data="6" alias="QCI_6"/>
+         <label data="7" alias="QCI_7"/>
+         <label data="8" alias="QCI_8"/>
+         <label data="9" alias="QCI_9"/>
+         <label data="10" alias="QCI_10"/>
+         <label data="11" alias="QCI_11"/>
+         <label data="12" alias="QCI_12"/>
+         <label data="13" alias="QCI_13"/>
+         <label data="14" alias="QCI_14"/>
+         <label data="15" alias="QCI_15"/>
+         <label data="16" alias="QCI_16"/>
+         <label data="17" alias="QCI_17"/>
+         <label data="18" alias="QCI_18"/>
+         <label data="19" alias="QCI_19"/>
+         <label data="20" alias="QCI_20"/>
+         <label data="21" alias="QCI_21"/>
+         <label data="22" alias="QCI_22"/>
+         <label data="23" alias="QCI_23"/>
+         <label data="24" alias="QCI_24"/>
+         <label data="25" alias="QCI_25"/>
+         <label data="26" alias="QCI_26"/>
+         <label data="27" alias="QCI_27"/>
+         <label data="28" alias="QCI_28"/>
+         <label data="29" alias="QCI_29"/>
+         <label data="30" alias="QCI_30"/>
+         <label data="31" alias="QCI_31"/>
+         <label data="32" alias="QCI_32"/>
+         <label data="33" alias="QCI_33"/>
+         <label data="34" alias="QCI_34"/>
+         <label data="35" alias="QCI_35"/>
+         <label data="36" alias="QCI_36"/>
+         <label data="37" alias="QCI_37"/>
+         <label data="38" alias="QCI_38"/>
+         <label data="39" alias="QCI_39"/>
+         <label data="40" alias="QCI_40"/>
+         <label data="41" alias="QCI_41"/>
+         <label data="42" alias="QCI_42"/>
+         <label data="43" alias="QCI_43"/>
+         <label data="44" alias="QCI_44"/>
+         <label data="45" alias="QCI_45"/>
+         <label data="46" alias="QCI_46"/>
+         <label data="47" alias="QCI_47"/>
+         <label data="48" alias="QCI_48"/>
+         <label data="49" alias="QCI_49"/>
+         <label data="50" alias="QCI_50"/>
+         <label data="51" alias="QCI_51"/>
+         <label data="52" alias="QCI_52"/>
+         <label data="53" alias="QCI_53"/>
+         <label data="54" alias="QCI_54"/>
+         <label data="55" alias="QCI_55"/>
+         <label data="56" alias="QCI_56"/>
+         <label data="57" alias="QCI_57"/>
+         <label data="58" alias="QCI_58"/>
+         <label data="59" alias="QCI_59"/>
+         <label data="60" alias="QCI_60"/>
+         <label data="61" alias="QCI_61"/>
+         <label data="62" alias="QCI_62"/>
+         <label data="63" alias="QCI_63"/>
+         <label data="64" alias="QCI_64"/>
+         <label data="65" alias="QCI_65"/>
+         <label data="66" alias="QCI_66"/>
+         <label data="67" alias="QCI_67"/>
+         <label data="68" alias="QCI_68"/>
+         <label data="69" alias="QCI_69"/>
+         <label data="70" alias="QCI_70"/>
+         <label data="71" alias="QCI_71"/>
+         <label data="72" alias="QCI_72"/>
+         <label data="73" alias="QCI_73"/>
+         <label data="74" alias="QCI_74"/>
+         <label data="75" alias="QCI_75"/>
+         <label data="76" alias="QCI_76"/>
+         <label data="77" alias="QCI_77"/>
+         <label data="78" alias="QCI_78"/>
+         <label data="79" alias="QCI_79"/>
+         <label data="80" alias="QCI_80"/>
+         <label data="81" alias="QCI_81"/>
+         <label data="82" alias="QCI_82"/>
+         <label data="83" alias="QCI_83"/>
+         <label data="84" alias="QCI_84"/>
+         <label data="85" alias="QCI_85"/>
+         <label data="86" alias="QCI_86"/>
+         <label data="87" alias="QCI_87"/>
+         <label data="88" alias="QCI_88"/>
+         <label data="89" alias="QCI_89"/>
+         <label data="90" alias="QCI_90"/>
+         <label data="91" alias="QCI_91"/>
+         <label data="92" alias="QCI_92"/>
+         <label data="93" alias="QCI_93"/>
+         <label data="94" alias="QCI_94"/>
+         <label data="95" alias="QCI_95"/>
+         <label data="96" alias="QCI_96"/>
+         <label data="97" alias="QCI_97"/>
+         <label data="98" alias="QCI_98"/>
+         <label data="99" alias="QCI_99"/>
+         <label data="100" alias="QCI_100"/>
+         <label data="101" alias="QCI_101"/>
+         <label data="102" alias="QCI_102"/>
+         <label data="103" alias="QCI_103"/>
+         <label data="104" alias="QCI_104"/>
+         <label data="105" alias="QCI_105"/>
+         <label data="106" alias="QCI_106"/>
+         <label data="107" alias="QCI_107"/>
+         <label data="108" alias="QCI_108"/>
+         <label data="109" alias="QCI_109"/>
+         <label data="110" alias="QCI_110"/>
+         <label data="111" alias="QCI_111"/>
+         <label data="112" alias="QCI_112"/>
+         <label data="113" alias="QCI_113"/>
+         <label data="114" alias="QCI_114"/>
+         <label data="115" alias="QCI_115"/>
+         <label data="116" alias="QCI_116"/>
+         <label data="117" alias="QCI_117"/>
+         <label data="118" alias="QCI_118"/>
+         <label data="119" alias="QCI_119"/>
+         <label data="120" alias="QCI_120"/>
+         <label data="121" alias="QCI_121"/>
+         <label data="122" alias="QCI_122"/>
+         <label data="123" alias="QCI_123"/>
+         <label data="124" alias="QCI_124"/>
+         <label data="125" alias="QCI_125"/>
+         <label data="126" alias="QCI_126"/>
+         <label data="127" alias="QCI_127"/>
+         <label data="128" alias="QCI_128"/>
+         <label data="129" alias="QCI_129"/>
+         <label data="130" alias="QCI_130"/>
+         <label data="131" alias="QCI_131"/>
+         <label data="132" alias="QCI_132"/>
+         <label data="133" alias="QCI_133"/>
+         <label data="134" alias="QCI_134"/>
+         <label data="135" alias="QCI_135"/>
+         <label data="136" alias="QCI_136"/>
+         <label data="137" alias="QCI_137"/>
+         <label data="138" alias="QCI_138"/>
+         <label data="139" alias="QCI_139"/>
+         <label data="140" alias="QCI_140"/>
+         <label data="141" alias="QCI_141"/>
+         <label data="142" alias="QCI_142"/>
+         <label data="143" alias="QCI_143"/>
+         <label data="144" alias="QCI_144"/>
+         <label data="145" alias="QCI_145"/>
+         <label data="146" alias="QCI_146"/>
+         <label data="147" alias="QCI_147"/>
+         <label data="148" alias="QCI_148"/>
+         <label data="149" alias="QCI_149"/>
+         <label data="150" alias="QCI_150"/>
+         <label data="151" alias="QCI_151"/>
+         <label data="152" alias="QCI_152"/>
+         <label data="153" alias="QCI_153"/>
+         <label data="154" alias="QCI_154"/>
+         <label data="155" alias="QCI_155"/>
+         <label data="156" alias="QCI_156"/>
+         <label data="157" alias="QCI_157"/>
+         <label data="158" alias="QCI_158"/>
+         <label data="159" alias="QCI_159"/>
+         <label data="160" alias="QCI_160"/>
+         <label data="161" alias="QCI_161"/>
+         <label data="162" alias="QCI_162"/>
+         <label data="163" alias="QCI_163"/>
+         <label data="164" alias="QCI_164"/>
+         <label data="165" alias="QCI_165"/>
+         <label data="166" alias="QCI_166"/>
+         <label data="167" alias="QCI_167"/>
+         <label data="168" alias="QCI_168"/>
+         <label data="169" alias="QCI_169"/>
+         <label data="170" alias="QCI_170"/>
+         <label data="171" alias="QCI_171"/>
+         <label data="172" alias="QCI_172"/>
+         <label data="173" alias="QCI_173"/>
+         <label data="174" alias="QCI_174"/>
+         <label data="175" alias="QCI_175"/>
+         <label data="176" alias="QCI_176"/>
+         <label data="177" alias="QCI_177"/>
+         <label data="178" alias="QCI_178"/>
+         <label data="179" alias="QCI_179"/>
+         <label data="180" alias="QCI_180"/>
+         <label data="181" alias="QCI_181"/>
+         <label data="182" alias="QCI_182"/>
+         <label data="183" alias="QCI_183"/>
+         <label data="184" alias="QCI_184"/>
+         <label data="185" alias="QCI_185"/>
+         <label data="186" alias="QCI_186"/>
+         <label data="187" alias="QCI_187"/>
+         <label data="188" alias="QCI_188"/>
+         <label data="189" alias="QCI_189"/>
+         <label data="190" alias="QCI_190"/>
+         <label data="191" alias="QCI_191"/>
+         <label data="192" alias="QCI_192"/>
+         <label data="193" alias="QCI_193"/>
+         <label data="194" alias="QCI_194"/>
+         <label data="195" alias="QCI_195"/>
+         <label data="196" alias="QCI_196"/>
+         <label data="197" alias="QCI_197"/>
+         <label data="198" alias="QCI_198"/>
+         <label data="199" alias="QCI_199"/>
+         <label data="200" alias="QCI_200"/>
+         <label data="201" alias="QCI_201"/>
+         <label data="202" alias="QCI_202"/>
+         <label data="203" alias="QCI_203"/>
+         <label data="204" alias="QCI_204"/>
+         <label data="205" alias="QCI_205"/>
+         <label data="206" alias="QCI_206"/>
+         <label data="207" alias="QCI_207"/>
+         <label data="208" alias="QCI_208"/>
+         <label data="209" alias="QCI_209"/>
+         <label data="210" alias="QCI_210"/>
+         <label data="211" alias="QCI_211"/>
+         <label data="212" alias="QCI_212"/>
+         <label data="213" alias="QCI_213"/>
+         <label data="214" alias="QCI_214"/>
+         <label data="215" alias="QCI_215"/>
+         <label data="216" alias="QCI_216"/>
+         <label data="217" alias="QCI_217"/>
+         <label data="218" alias="QCI_218"/>
+         <label data="219" alias="QCI_219"/>
+         <label data="220" alias="QCI_220"/>
+         <label data="221" alias="QCI_221"/>
+         <label data="222" alias="QCI_222"/>
+         <label data="223" alias="QCI_223"/>
+         <label data="224" alias="QCI_224"/>
+         <label data="225" alias="QCI_225"/>
+         <label data="226" alias="QCI_226"/>
+         <label data="227" alias="QCI_227"/>
+         <label data="228" alias="QCI_228"/>
+         <label data="229" alias="QCI_229"/>
+         <label data="230" alias="QCI_230"/>
+         <label data="231" alias="QCI_231"/>
+         <label data="232" alias="QCI_232"/>
+         <label data="233" alias="QCI_233"/>
+         <label data="234" alias="QCI_234"/>
+         <label data="235" alias="QCI_235"/>
+         <label data="236" alias="QCI_236"/>
+         <label data="237" alias="QCI_237"/>
+         <label data="238" alias="QCI_238"/>
+         <label data="239" alias="QCI_239"/>
+         <label data="240" alias="QCI_240"/>
+         <label data="241" alias="QCI_241"/>
+         <label data="242" alias="QCI_242"/>
+         <label data="243" alias="QCI_243"/>
+         <label data="244" alias="QCI_244"/>
+         <label data="245" alias="QCI_245"/>
+         <label data="246" alias="QCI_246"/>
+         <label data="247" alias="QCI_247"/>
+         <label data="248" alias="QCI_248"/>
+         <label data="249" alias="QCI_249"/>
+         <label data="250" alias="QCI_250"/>
+         <label data="251" alias="QCI_251"/>
+         <label data="252" alias="QCI_252"/>
+         <label data="253" alias="QCI_253"/>
+         <label data="254" alias="QCI_254"/>
+      </single>
+   </avp>
+   <avp name="QoS-Negotiation" code="1029" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="NO_QoS_NEGOTIATION"/>
+         <label data="1" alias="QoS_NEGOTIATION_SUPPORTED"/>
+      </single>
+   </avp>
+   <avp name="QoS-Upgrade" code="1030" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="QoS_UPGRADE_NOT_SUPPORTED"/>
+         <label data="1" alias="QoS_UPGRADE_SUPPORTED"/>
+      </single>
+   </avp>
+   <avp name="Rule-Failure-Code" code="1031" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="1-15,18">
+         <label data="1" alias="UNKNOWN_RULE_NAME"/>
+         <label data="2" alias="RATING_GROUP_ERROR"/>
+         <label data="3" alias="SERVICE_IDENTIFIER_ERROR"/>
+         <label data="4" alias="GWPCEF_MALFUNCTION"/>
+         <label data="5" alias="RESOURCES_LIMITATION"/>
+         <label data="6" alias="MAX_NR_BEARERS_REACHED"/>
+         <label data="7" alias="UNKNOWN_BEARER_ID"/>
+         <label data="8" alias="MISSING_BEARER_ID"/>
+         <label data="9" alias="MISSING_FLOW_INFORMATION"/>
+         <label data="10" alias="RESOURCE_ALLOCATION_FAILURE"/>
+         <label data="11" alias="UNSUCCESSFUL_QOS_VALIDATION"/>
+         <label data="12" alias="INCORRECT_FLOW_INFORMATION"/>
+         <label data="13" alias="PS_TO_CS_HANDOVER"/>
+         <label data="14" alias="TDF_APPLICATION_IDENTIFIER_ERROR"/>
+         <label data="15" alias="NO_BEARER_BOUND"/>
+         <label data="18" alias="MISSING_REDIRECT_SERVER_ADDRESS"/>
+      </single>
+   </avp>
+   <avp name="RAT-Type" code="1032" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1,1000-1004,2000-2003">
+         <label data="0" alias="WLAN"/>
+         <label data="1" alias="VIRTUAL"/>
+         <label data="1000" alias="UTRAN"/>
+         <label data="1001" alias="GERAN"/>
+         <label data="1002" alias="GAN"/>
+         <label data="1003" alias="HSPA_EVOLUTION"/>
+         <label data="1004" alias="EUTRAN"/>
+         <label data="2000" alias="CDMA2000_1X"/>
+         <label data="2001" alias="HRPD"/>
+         <label data="2002" alias="UMB"/>
+         <label data="2003" alias="EHRPD"/>
+      </single>
+   </avp>
+   <avp name="Allocation-Retention-Priority" code="1034" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="Priority-Level" type="Mandatory"/>
+         <avprule id="Pre-emption-Capability" type="Optional"/>
+         <avprule id="Pre-emption-Vulnerability" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="APN-Aggregate-Max-Bitrate-DL" code="1040" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="APN-Aggregate-Max-Bitrate-UL" code="1041" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Revalidation-Time" code="1042" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Rule-Activation-Time" code="1043" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Rule-DeActivation-Time" code="1044" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Session-Release-Cause" code="1045" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="UNSPECIFIED_REASON"/>
+         <label data="1" alias="UE_SUBSCRIPTION_REASON"/>
+      </single>
+   </avp>
+   <avp name="Priority-Level" code="1046" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Pre-emption-Capability" code="1047" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="PRE-EMPTION_CAPABILITY_ENABLED"/>
+         <label data="1" alias="PRE-EMPTION_CAPABILITY_DISABLED"/>
+      </single>
+   </avp>
+   <avp name="Pre-emption-Vulnerability" code="1048" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="PRE-EMPTION_VULNERABILITY_ENABLED"/>
+         <label data="1" alias="PRE-EMPTION_VULNERABILITY_DISABLED"/>
+      </single>
+   </avp>
+   <avp name="Default-EPS-Bearer-QoS" code="1049" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="QoS-Class-Identifier" type="Optional"/>
+         <avprule id="Allocation-Retention-Priority" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="AN-GW-Address" code="1050" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Authorization-State-Change-Time" code="1057" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Flow-Information" code="1058" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="Flow-Description" type="Optional"/>
+         <avprule id="Flow-Direction" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Next-Authorization-State" code="1059" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="AUTHORIZED"/>
+         <label data="1" alias="DENIED_CALENDAR_TIME"/>
+      </single>
+   </avp>
+   <avp name="Resource-Allocation-Notification" code="1063" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0">
+         <label data="0" alias="ENABLE_NOTIFICATION"/>
+      </single>
+   </avp>
+   <avp name="Monitoring-Key" code="1066" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Usage-Monitoring-Information" code="1067" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="Monitoring-Key" type="Optional"/>
+         <avprule id="Granted-Service-Unit" type="Optional"/>
+         <avprule id="Used-Service-Unit" type="Optional"/>
+         <avprule id="Usage-Monitoring-Level" type="Optional"/>
+         <avprule id="Usage-Monitoring-Report" type="Optional"/>
+         <avprule id="Usage-Monitoring-Support" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Usage-Monitoring-Level" code="1068" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="SESSION_LEVEL"/>
+         <label data="1" alias="PCC_RULE_LEVEL"/>
+      </single>
+   </avp>
+   <avp name="Usage-Monitoring-Report" code="1069" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0">
+         <label data="0" alias="USAGE_MONITORING_REPORT_REQUIRED"/>
+      </single>
+   </avp>
+   <avp name="Usage-Monitoring-Support" code="1070" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0">
+         <label data="0" alias="USAGE_MONITORING_DISABLED"/>
+      </single>
+   </avp>
+   <avp name="Flow-Direction" code="1080" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="UNSPECIFIED"/>
+         <label data="1" alias="DOWNLINK"/>
+         <label data="2" alias="UPLINK"/>
+         <label data="3" alias="BIDIRECTIONAL"/>
+      </single>
+   </avp>
+   <avp name="Redirect-Information" code="1085" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="Redirect-Support" type="Optional"/>
+         <avprule id="Redirect-Address-Type" type="Optional"/>
+         <avprule id="Redirect-Server-Address" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Redirect-Support" code="1086" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="REDIRECTION_DISABLED"/>
+         <label data="1" alias="REDIRECTION_ENABLED"/>
+      </single>
+   </avp>
+   <avp name="TDF-Application-Identifier" code="1088" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Application-Detection-Information" code="1098" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="TDF-Application-Identifier" type="Mandatory"/>
+         <avprule id="TDF-Application-Instance-Identifier" type="Optional"/>
+         <avprule id="Flow-Information" type="Optional" qual="*"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="VASP-Id" code="1101" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="VAS-Id" code="1102" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Domain-Name" code="1200" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Recipient-Address" code="1201" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Address-Type" type="Optional"/>
+         <avprule id="Address-Data" type="Optional"/>
+         <avprule id="Address-Domain" type="Optional"/>
+         <avprule id="Addressee-Type" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Submission-Time" code="1202" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="MM-Content-Type" code="1203" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Type-Number" type="Optional"/>
+         <avprule id="Additional-Type-Information" type="Optional"/>
+         <avprule id="Content-Size" type="Optional"/>
+         <avprule id="Additional-Content-Information" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Type-Number" code="1204" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-88"/>
+   </avp>
+   <avp name="Additional-Type-Information" code="1205" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Content-Size" code="1206" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Additional-Content-Information" code="1207" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Type-Number" type="Optional"/>
+         <avprule id="Additional-Type-Information" type="Optional"/>
+         <avprule id="Content-Size" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Addressee-Type" code="1208" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="TO"/>
+         <label data="1" alias="CC"/>
+         <label data="2" alias="BCC"/>
+      </single>
+   </avp>
+   <avp name="Priority" code="1209" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="Low"/>
+         <label data="1" alias="Normal"/>
+         <label data="2" alias="High"/>
+      </single>
+   </avp>
+   <avp name="Message-ID" code="1210" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Message-Type" code="1211" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="1-15">
+         <label data="1" alias="m-send-req"/>
+         <label data="2" alias="m-send-conf"/>
+         <label data="3" alias="m-notification-ind"/>
+         <label data="4" alias="m-notifyresp-ind"/>
+         <label data="5" alias="m-retrieve-conf"/>
+         <label data="6" alias="m-acknowledge-ind"/>
+         <label data="7" alias="m-delivery-ind"/>
+         <label data="8" alias="m-read-rec-ind"/>
+         <label data="9" alias="m-read-orig-ind"/>
+         <label data="10" alias="m-forward-req"/>
+         <label data="11" alias="m-forward-conf"/>
+         <label data="12" alias="m-mbox-store-conf"/>
+         <label data="13" alias="m-mbox-view-conf"/>
+         <label data="14" alias="m-mbox-upload-conf"/>
+         <label data="15" alias="m-mbox-delete-conf"/>
+      </single>
+   </avp>
+   <avp name="Message-Size" code="1212" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Message-Class" code="1213" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Class-Identifier" type="Optional"/>
+         <avprule id="Token-Text" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Class-Identifier" code="1214" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="Personal"/>
+         <label data="1" alias="Advertisement"/>
+         <label data="2" alias="Informational"/>
+         <label data="3" alias="Auto"/>
+      </single>
+   </avp>
+   <avp name="Token-Text" code="1215" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Delivery-Report-Requested" code="1216" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="No"/>
+         <label data="1" alias="Yes"/>
+      </single>
+   </avp>
+   <avp name="Adaptations" code="1217" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="Yes"/>
+         <label data="1" alias="No"/>
+      </single>
+   </avp>
+   <avp name="Applic-ID" code="1218" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Aux-Applic-Info" code="1219" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Content-Class" code="1220" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-7">
+         <label data="0" alias="text"/>
+         <label data="1" alias="image-basic"/>
+         <label data="2" alias="image-rich"/>
+         <label data="3" alias="video-basic"/>
+         <label data="4" alias="video-rich"/>
+         <label data="5" alias="megapixel"/>
+         <label data="6" alias="content-basic"/>
+         <label data="7" alias="content-rich"/>
+      </single>
+   </avp>
+   <avp name="DRM-Content" code="1221" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="No"/>
+         <label data="1" alias="Yes"/>
+      </single>
+   </avp>
+   <avp name="Read-Reply-Report-Requested" code="1222" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="No"/>
+         <label data="1" alias="Yes"/>
+      </single>
+   </avp>
+   <avp name="Reply-Applic-ID" code="1223" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Unit-Quota-Threshold" code="1226" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="PDP-Address" code="1227" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="SGSN-Address" code="1228" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="PDP-Context-Type" code="1247" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="MMBox-Storage-Requested" code="1248" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="No"/>
+         <label data="1" alias="Yes"/>
+      </single>
+   </avp>
+   <avp name="Service-Specific-Info" code="1249" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Service-Specific-Type" type="Optional"/>
+         <avprule id="Service-Specific-Data" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Called-Asserted-Identity" code="1250" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Requested-Party-Address" code="1251" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Service-Generic-Information" code="1256" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Application-Server-ID" type="Optional"/>
+         <avprule id="Application-Service-Type" type="Optional"/>
+         <avprule id="Application-Session-ID" type="Optional"/>
+         <avprule id="Delivery-Status" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Service-Specific-Type" code="1257" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Access-Network-Information" code="1263" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Trigger" code="1264" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Trigger-Type" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Base-Time-Interval" code="1265" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Envelope" code="1266" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Envelope-Start-Time" type="Mandatory"/>
+         <avprule id="Envelope-End-Time" type="Optional"/>
+         <avprule id="CC-Total-Octets" type="Optional"/>
+         <avprule id="CC-Input-Octets" type="Optional"/>
+         <avprule id="CC-Output-Octets" type="Optional"/>
+         <avprule id="CC-Service-Specific-Units" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Envelope-End-Time" code="1267" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Envelope-Reporting" code="1268" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-4">
+         <label data="0" alias="DO_NOT_REPORT_ENVELOPES"/>
+         <label data="1" alias="REPORT_ENVELOPES"/>
+         <label data="2" alias="REPORT_ENVELOPES_WITH_VOLUME"/>
+         <label data="3" alias="REPORT_ENVELOPES_WITH_EVENTS"/>
+         <label data="4" alias="REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS"/>
+      </single>
+   </avp>
+   <avp name="Envelope-Start-Time" code="1269" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Time-Quota-Mechanism" code="1270" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Time-Quota-Type" type="Mandatory"/>
+         <avprule id="Base-Time-Interval" type="Mandatory"/>
+      </grouped>
+   </avp>
+   <avp name="Time-Quota-Type" code="1271" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="DISCRETE_TIME_PERIOD"/>
+         <label data="1" alias="CONTINUOUS_TIME_PERIOD"/>
+      </single>
+   </avp>
+   <avp name="Early-Media-Description" code="1272" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="SDP-TimeStamps" type="Optional"/>
+         <avprule id="SDP-Media-Component" type="Optional" qual="*"/>
+         <avprule id="SDP-Session-Description" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="SDP-TimeStamps" code="1273" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="SDP-Offer-Timestamp" type="Optional"/>
+         <avprule id="SDP-Answer-Timestamp" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="SDP-Offer-Timestamp" code="1274" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="SDP-Answer-Timestamp" code="1275" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="AF-Correlation-Information" code="1276" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="AF-Charging-Identifier" type="Mandatory"/>
+         <avprule id="Flows" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Alternate-Charged-Party-Address" code="1280" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="IMS-Communication-Service-Identifier" code="1281" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Media-Initiator-Party" code="1288" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="SMS-Information" code="2000" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="SMS-Node" type="Optional"/>
+         <avprule id="Client-Address" type="Optional"/>
+         <avprule id="Originator-SCCP-Address" type="Optional"/>
+         <avprule id="SMSC-Address" type="Optional"/>
+         <avprule id="Data-Coding-Scheme" type="Optional"/>
+         <avprule id="SM-Discharge-Time" type="Optional"/>
+         <avprule id="SM-Message-Type" type="Optional"/>
+         <avprule id="Originator-Interface" type="Optional"/>
+         <avprule id="SM-Protocol-ID" type="Optional"/>
+         <avprule id="Reply-Path-Requested" type="Optional"/>
+         <avprule id="SM-Status" type="Optional"/>
+         <avprule id="SM-User-Data-Header" type="Optional"/>
+         <avprule id="Number-Of-Messages-Sent" type="Optional"/>
+         <avprule id="Recipient-Info" type="Optional" qual="*"/>
+         <avprule id="Originator-Received-Address" type="Optional"/>
+         <avprule id="SM-Service-Type" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Data-Coding-Scheme" code="2001" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Integer32"/>
+   </avp>
+   <avp name="Destination-Interface" code="2002" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Interface-Id" type="Optional"/>
+         <avprule id="Interface-Text" type="Optional"/>
+         <avprule id="Interface-Port" type="Optional"/>
+         <avprule id="Interface-Type" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Interface-Id" code="2003" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Interface-Port" code="2004" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Interface-Text" code="2005" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Interface-Type" code="2006" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-4">
+         <label data="0" alias="Unknown"/>
+         <label data="1" alias="MOBILE_ORIGINATING"/>
+         <label data="2" alias="MOBILE_TERMINATING"/>
+         <label data="3" alias="APPLICATION_ORIGINATING"/>
+         <label data="4" alias="APPLICATION_TERMINATION"/>
+      </single>
+   </avp>
+   <avp name="SM-Message-Type" code="2007" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-2">
+         <label data="0" alias="SUBMISSION"/>
+         <label data="1" alias="DELIVERY_REPORT"/>
+         <label data="2" alias="SM Service Request"/>
+      </single>
+   </avp>
+   <avp name="Originator-SCCP-Address" code="2008" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Originator-Interface" code="2009" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Interface-Id" type="Optional"/>
+         <avprule id="Interface-Text" type="Optional"/>
+         <avprule id="Interface-Port" type="Optional"/>
+         <avprule id="Interface-Type" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Recipient-SCCP-Address" code="2010" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Reply-Path-Requested" code="2011" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="No Reply Path Set"/>
+         <label data="1" alias="Reply path Set"/>
+      </single>
+   </avp>
+   <avp name="SM-Discharge-Time" code="2012" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="SM-Protocol-ID" code="2013" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="SM-Status" code="2014" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="SM-User-Data-Header" code="2015" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="SMS-Node" code="2016" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-3">
+         <label data="0" alias="SMS Router"/>
+         <label data="1" alias="IP-SM-GW"/>
+         <label data="2" alias="SMS Router and IP-SM-GW"/>
+         <label data="3" alias="SMS-SC"/>
+      </single>
+   </avp>
+   <avp name="SMSC-Address" code="2017" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Client-Address" code="2018" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Address"/>
+   </avp>
+   <avp name="Number-Of-Messages-Sent" code="2019" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Low-Balance-Indication" code="2020" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="NOT_APPLICABLE"/>
+         <label data="1" alias="YES"/>
+      </single>
+   </avp>
+   <avp name="Remaining-Balance" code="2021" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Unit-Value" type="Mandatory"/>
+         <avprule id="Currency-Code" type="Mandatory"/>
+      </grouped>
+   </avp>
+   <avp name="Refund-Information" code="2022" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Carrier-Select-Routing-Information" code="2023" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Number-Portability-Routing-Information" code="2024" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Recipient-Info" code="2026" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Destination-Interface" type="Optional"/>
+         <avprule id="Recipient-Address" type="Optional" qual="*"/>
+         <avprule id="Recipient-Received-Address" type="Optional" qual="*"/>
+         <avprule id="Recipient-SCCP-Address" type="Optional"/>
+         <avprule id="SM-Protocol-ID" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Originator-Received-Address" code="2027" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Address-Type" type="Optional"/>
+         <avprule id="Address-Data" type="Optional"/>
+         <avprule id="Address-Domain" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Recipient-Received-Address" code="2028" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Address-Type" type="Optional"/>
+         <avprule id="Address-Data" type="Optional"/>
+         <avprule id="Address-Domain" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="SM-Service-Type" code="2029" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-10">
+         <label data="0" alias="VAS4SMS Short Message content processing"/>
+         <label data="1" alias="VAS4SMS Short Message forwarding"/>
+         <label data="2" alias="VAS4SMS Short Message Forwarding multiple subscriptions"/>
+         <label data="3" alias="VAS4SMS Short Message filtering"/>
+         <label data="4" alias="VAS4SMS Short Message receipt"/>
+         <label data="5" alias="VAS4SMS Short Message Network Storage"/>
+         <label data="6" alias="VAS4SMS Short Message to multiple destinations"/>
+         <label data="7" alias="VAS4SMS Short Message Virtual Private Network (VPN)"/>
+         <label data="8" alias="VAS4SMS Short Message Auto Reply"/>
+         <label data="9" alias="VAS4SMS Short Message Personal Signature"/>
+         <label data="10" alias="VAS4SMS Short Message Deferred Delivery"/>
+      </single>
+   </avp>
+   <avp name="SDP-Type" code="2036" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="SDP Offer"/>
+         <label data="1" alias="SDP Answer"/>
+      </single>
+   </avp>
+   <avp name="Current-Tariff" code="2056" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Currency-Code" type="Optional"/>
+         <avprule id="Scale-Factor" type="Optional"/>
+         <avprule id="Rate-Element" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Next-Tariff" code="2057" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Currency-Code" type="Optional"/>
+         <avprule id="Scale-Factor" type="Optional"/>
+         <avprule id="Rate-Element" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Rate-Element" code="2058" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="CC-Unit-Type" type="Mandatory"/>
+         <avprule id="Reason-Code" type="Optional"/>
+         <avprule id="Unit-Value" type="Optional"/>
+         <avprule id="Unit-Cost" type="Optional"/>
+         <avprule id="Unit-Quota-Threshold" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Scale-Factor" code="2059" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Value-Digits" type="Mandatory"/>
+         <avprule id="Exponent" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Tariff-Information" code="2060" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Current-Tariff" type="Mandatory"/>
+         <avprule id="Tariff-Time-Change" type="Optional"/>
+         <avprule id="Next-Tariff" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Unit-Cost" code="2061" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Value-Digits" type="Mandatory"/>
+         <avprule id="Exponent" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Application-Server-ID" code="2101" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Application-Service-Type" code="2102" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="100-105">
+         <label data="100" alias="SENDING"/>
+         <label data="101" alias="RECEIVING"/>
+         <label data="102" alias="RETRIEVAL"/>
+         <label data="103" alias="INVITING"/>
+         <label data="104" alias="LEAVING"/>
+         <label data="105" alias="JOINING"/>
+      </single>
+   </avp>
+   <avp name="Application-Session-ID" code="2103" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Delivery-Status" code="2104" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="SIP-Request-Timestamp-Fraction" code="2301" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="SIP-Response-Timestamp-Fraction" code="2302" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Online-Charging-Flag" code="2303" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-1">
+         <label data="0" alias="ECF address not provided"/>
+         <label data="1" alias="ECF address provided"/>
+      </single>
+   </avp>
+   <avp name="Real-Time-Tariff-Information" code="2305" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <grouped>
+         <avprule id="Tariff-Information" type="Optional"/>
+         <avprule id="Tariff-XML" type="Optional"/>
+      </grouped>
+   </avp>
+   <avp name="Tariff-XML" code="2306" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Account-Expiration" code="2309" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Reason-Code" code="2316" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="Enumerated" enum="0-4">
+         <label data="0" alias="UNKNOWN"/>
+         <label data="1" alias="USAGE"/>
+         <label data="2" alias="COMMUNICATION-ATTEMPT-CHARGE"/>
+         <label data="3" alias="SETUP-CHARGE"/>
+         <label data="4" alias="ADD-ON-CHARGE"/>
+      </single>
+   </avp>
+   <avp name="Outgoing-Session-Id" code="2320" vendor-name="3GPP" may-encrypt="no" v-bit="must" m-bit="must" p-bit="may">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="TDF-Application-Instance-Identifier" code="2802" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="UTF8String"/>
+   </avp>
+   <avp name="Mute-Notification" code="2809" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Enumerated" enum="0">
+         <label data="0" alias="MUTE_REQUIRED"/>
+      </single>
+   </avp>
+   <avp name="User-Location-Info-Time" code="2812" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Time"/>
+   </avp>
+   <avp name="Presence-Reporting-Area-Elements-List" code="2820" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Presence-Reporting-Area-Identifier" code="2821" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="OctetString"/>
+   </avp>
+   <avp name="Presence-Reporting-Area-Information" code="2822" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <grouped>
+         <avprule id="Presence-Reporting-Area-Identifier" type="Optional"/>
+         <avprule id="Presence-Reporting-Area-Status" type="Optional"/>
+         <avprule id="Presence-Reporting-Area-Elements-List" type="Optional"/>
+         <avprule id="AVP" type="Optional" qual="*"/>
+      </grouped>
+   </avp>
+   <avp name="Presence-Reporting-Area-Status" code="2823" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="NetLoc-Access-Support" code="2824" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+      <single format-name="Unsigned32"/>
+   </avp>
+   <avp name="Reservation-Priority" code="458" vendor-name="ETSI" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="may">
+      <single format-name="Enumerated" enum="0-15">
+         <label data="0" alias="DEFAULT"/>
+         <label data="1" alias="PRIORITY-ONE"/>
+         <label data="2" alias="PRIORITY-TWO"/>
+         <label data="3" alias="PRIORITY-THREE"/>
+         <label data="4" alias="PRIORITY-FOUR"/>
+         <label data="5" alias="PRIORITY-FIVE"/>
+         <label data="6" alias="PRIORITY-SIX"/>
+         <label data="7" alias="PRIORITY-SEVEN"/>
+         <label data="8" alias="PRIORITY-EIGHT"/>
+         <label data="9" alias="PRIORITY-NINE"/>
+         <label data="10" alias="PRIORITY-TEN"/>
+         <label data="11" alias="PRIORITY-ELEVEN"/>
+         <label data="12" alias="PRIORITY-TWELVE"/>
+         <label data="13" alias="PRIORITY-THIRTEEN"/>
+         <label data="14" alias="PRIORITY-FOURTEEN"/>
+         <label data="15" alias="PRIORITY-FIFTEEN"/>
+      </single>
+   </avp>
+   <command name="CER" code="257" type="Request">
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+      <avprule id="Vendor-Id" type="Mandatory"/>
+      <avprule id="Product-Name" type="Mandatory"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+      <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+      <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+      <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+      <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+      <avprule id="Firmware-Revision" type="Optional"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="CEA" code="257" type="Answer">
+      <avprule id="Result-Code" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+      <avprule id="Vendor-Id" type="Mandatory"/>
+      <avprule id="Product-Name" type="Mandatory"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Error-Message" type="Optional"/>
+      <avprule id="Failed-AVP" type="Optional" qual="*"/>
+      <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+      <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+      <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+      <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+      <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+      <avprule id="Firmware-Revision" type="Optional"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="RA-Request" code="258" type="Request">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Auth-Application-Id" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Destination-Realm" type="Mandatory"/>
+      <avprule id="Destination-Host" type="Mandatory"/>
+      <avprule id="Re-Auth-Request-Type" type="Mandatory"/>
+      <avprule id="Session-Release-Cause" type="Optional"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Event-Trigger" type="Optional" qual="*"/>
+      <avprule id="Charging-Rule-Remove" type="Optional" qual="*"/>
+      <avprule id="Charging-Rule-Install" type="Optional" qual="*"/>
+      <avprule id="Default-EPS-Bearer-QoS" type="Optional"/>
+      <avprule id="QoS-Information" type="Optional"/>
+      <avprule id="Revalidation-Time" type="Optional"/>
+      <avprule id="Content-Filtering-Profile-Id" type="Optional"/>
+      <avprule id="Usage-Monitoring-Information" type="Optional" qual="*"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="Route-Record" type="Optional" qual="*"/>
+      <avprule id="Presence-Reporting-Area-Information" type="Optional"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="RA-Answer" code="258" type="Answer">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Result-Code" type="Optional"/>
+      <avprule id="Experimental-Result" type="Optional"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="IP-CAN-Type" type="Optional"/>
+      <avprule id="RAT-Type" type="Optional"/>
+      <avprule id="AN-GW-Address" type="Optional" qual="0*2"/>
+      <avprule id="3GPP-SGSN-MCC-MNC" type="Optional"/>
+      <avprule id="3GPP-SGSN-Address" type="Optional"/>
+      <avprule id="3GPP-SGSN-IPv6-Address" type="Optional"/>
+      <avprule id="RAI" type="Optional"/>
+      <avprule id="3GPP-User-Location-Info" type="Optional"/>
+      <avprule id="3GPP-MS-TimeZone" type="Optional"/>
+      <avprule id="Charging-Rule-Report" type="Optional" qual="*"/>
+      <avprule id="Error-Message" type="Optional"/>
+      <avprule id="Error-Reporting-Host" type="Optional"/>
+      <avprule id="Failed-AVP" type="Optional" qual="*"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="NetLoc-Access-Support" type="Optional"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="ACR" code="271" type="Request">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Destination-Realm" type="Mandatory"/>
+      <avprule id="Accounting-Record-Type" type="Mandatory"/>
+      <avprule id="Accounting-Record-Number" type="Mandatory"/>
+      <avprule id="Acct-Application-Id" type="Optional"/>
+      <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+      <avprule id="User-Name" type="Optional"/>
+      <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+      <avprule id="Acct-Session-Id" type="Optional"/>
+      <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+      <avprule id="Acct-Interim-Interval" type="Optional"/>
+      <avprule id="Accounting-Realtime-Required" type="Optional"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Event-Timestamp" type="Optional"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="Route-Record" type="Optional" qual="*"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="ACA" code="271" type="Answer">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Result-Code" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Accounting-Record-Type" type="Mandatory"/>
+      <avprule id="Accounting-Record-Number" type="Mandatory"/>
+      <avprule id="Acct-Application-Id" type="Optional"/>
+      <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+      <avprule id="User-Name" type="Optional"/>
+      <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+      <avprule id="Acct-Session-Id" type="Optional"/>
+      <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+      <avprule id="Error-Reporting-Host" type="Optional"/>
+      <avprule id="Acct-Interim-Interval" type="Optional"/>
+      <avprule id="Accounting-Realtime-Required" type="Optional"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Event-Timestamp" type="Optional"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="CC-Request" code="272" type="Request">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Auth-Application-Id" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Destination-Realm" type="Mandatory"/>
+      <avprule id="CC-Request-Type" type="Mandatory"/>
+      <avprule id="CC-Request-Number" type="Mandatory"/>
+      <avprule id="Destination-Host" type="Optional"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Subscription-Id" type="Optional" qual="*"/>
+      <avprule id="Supported-Features" type="Optional" qual="*"/>
+      <avprule id="Network-Request-Support" type="Optional"/>
+      <avprule id="Bearer-Identifier" type="Optional"/>
+      <avprule id="Bearer-Operation" type="Optional"/>
+      <avprule id="Framed-IP-Address" type="Optional"/>
+      <avprule id="Framed-IPv6-Prefix" type="Optional"/>
+      <avprule id="IP-CAN-Type" type="Optional"/>
+      <avprule id="3GPP-RAT-Type" type="Optional"/>
+      <avprule id="RAT-Type" type="Optional"/>
+      <avprule id="Termination-Cause" type="Optional"/>
+      <avprule id="User-Equipment-Info" type="Optional"/>
+      <avprule id="QoS-Information" type="Optional"/>
+      <avprule id="QoS-Negotiation" type="Optional"/>
+      <avprule id="QoS-Upgrade" type="Optional"/>
+      <avprule id="Default-EPS-Bearer-QoS" type="Optional"/>
+      <avprule id="AN-GW-Address" type="Optional" qual="0*2"/>
+      <avprule id="3GPP-SGSN-MCC-MNC" type="Optional"/>
+      <avprule id="3GPP-SGSN-Address" type="Optional"/>
+      <avprule id="3GPP-SGSN-IPv6-Address" type="Optional"/>
+      <avprule id="RAI" type="Optional"/>
+      <avprule id="3GPP-User-Location-Info" type="Optional"/>
+      <avprule id="3GPP-MS-TimeZone" type="Optional"/>
+      <avprule id="User-Location-Info-Time" type="Optional"/>
+      <avprule id="Called-Station-Id" type="Optional"/>
+      <avprule id="Bearer-Usage" type="Optional"/>
+      <avprule id="Online" type="Optional"/>
+      <avprule id="Offline" type="Optional"/>
+      <avprule id="3GPP-Charging-Characteristics" type="Optional"/>
+      <avprule id="Gx-Capability-List" type="Optional"/>
+      <avprule id="Rule-Space-Decision" type="Optional"/>
+      <avprule id="Rule-Space-Suggestion" type="Optional"/>
+      <avprule id="Charging-Rule-Report" type="Optional" qual="*"/>
+      <avprule id="Event-Trigger" type="Optional" qual="*"/>
+      <avprule id="Access-Network-Charging-Address" type="Optional"/>
+      <avprule id="Application-Detection-Information" type="Optional" qual="*"/>
+      <avprule id="Access-Network-Charging-Identifier-Gx" type="Optional" qual="*"/>
+      <avprule id="Usage-Monitoring-Information" type="Optional" qual="*"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="Route-Record" type="Optional" qual="*"/>
+      <avprule id="Presence-Reporting-Area-Information" type="Optional"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="CC-Answer" code="272" type="Answer">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Auth-Application-Id" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="CC-Request-Type" type="Mandatory"/>
+      <avprule id="CC-Request-Number" type="Mandatory"/>
+      <avprule id="Result-Code" type="Optional"/>
+      <avprule id="Experimental-Result" type="Optional"/>
+      <avprule id="Supported-Features" type="Optional" qual="*"/>
+      <avprule id="Bearer-Control-Mode" type="Optional"/>
+      <avprule id="Event-Trigger" type="Optional" qual="*"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Redirect-Host" type="Optional" qual="*"/>
+      <avprule id="Redirect-Host-Usage" type="Optional"/>
+      <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+      <avprule id="Charging-Rule-Remove" type="Optional" qual="*"/>
+      <avprule id="Charging-Rule-Install" type="Optional" qual="*"/>
+      <avprule id="Charging-Information" type="Optional"/>
+      <avprule id="Online" type="Optional"/>
+      <avprule id="Offline" type="Optional"/>
+      <avprule id="Content-Filtering-Profile-Id" type="Optional"/>
+      <avprule id="3GPP-Charging-Characteristics" type="Optional"/>
+      <avprule id="Gx-Capability-List" type="Optional"/>
+      <avprule id="QoS-Information" type="Optional"/>
+      <avprule id="Revalidation-Time" type="Optional"/>
+      <avprule id="Default-EPS-Bearer-QoS" type="Optional"/>
+      <avprule id="Customer-Id" type="Optional"/>
+      <avprule id="Usage-Monitoring-Information" type="Optional" qual="*"/>
+      <avprule id="Failed-AVP" type="Optional" qual="*"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="Route-Record" type="Optional" qual="*"/>
+      <avprule id="Presence-Reporting-Area-Information" type="Optional"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="ASR" code="274" type="Request">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Destination-Realm" type="Mandatory"/>
+      <avprule id="Destination-Host" type="Mandatory"/>
+      <avprule id="Auth-Application-Id" type="Mandatory"/>
+      <avprule id="User-Name" type="Optional"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="Route-Record" type="Optional" qual="*"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="ASA" code="274" type="Answer">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Result-Code" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="User-Name" type="Optional"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Error-Message" type="Optional"/>
+      <avprule id="Error-Reporting-Host" type="Optional"/>
+      <avprule id="Failed-AVP" type="Optional" qual="*"/>
+      <avprule id="Redirect-Host" type="Optional" qual="*"/>
+      <avprule id="Redirect-Host-Usage" type="Optional"/>
+      <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="STR" code="275" type="Request">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Destination-Realm" type="Mandatory"/>
+      <avprule id="Auth-Application-Id" type="Mandatory"/>
+      <avprule id="Termination-Cause" type="Mandatory"/>
+      <avprule id="User-Name" type="Optional"/>
+      <avprule id="Destination-Host" type="Optional"/>
+      <avprule id="Class" type="Optional" qual="*"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="Route-Record" type="Optional" qual="*"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="STA" code="275" type="Answer">
+      <avprule id="Session-Id" type="Fixed"/>
+      <avprule id="Result-Code" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="User-Name" type="Optional"/>
+      <avprule id="Class" type="Optional" qual="*"/>
+      <avprule id="Error-Message" type="Optional"/>
+      <avprule id="Error-Reporting-Host" type="Optional"/>
+      <avprule id="Failed-AVP" type="Optional" qual="*"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+      <avprule id="Redirect-Host" type="Optional" qual="*"/>
+      <avprule id="Redirect-Host-Usage" type="Optional"/>
+      <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+      <avprule id="Proxy-Info" type="Optional" qual="*"/>
+      <avprule id="AVP" type="Optional" qual="*"/>
+   </command>
+   <command name="DWR" code="280" type="Request">
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+   </command>
+   <command name="DWA" code="280" type="Answer">
+      <avprule id="Result-Code" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Error-Message" type="Optional"/>
+      <avprule id="Failed-AVP" type="Optional" qual="*"/>
+      <avprule id="Origin-State-Id" type="Optional"/>
+   </command>
+   <command name="DPR" code="282" type="Request">
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Disconnect-Cause" type="Mandatory"/>
+   </command>
+   <command name="DPA" code="282" type="Answer">
+      <avprule id="Result-Code" type="Mandatory"/>
+      <avprule id="Origin-Host" type="Mandatory"/>
+      <avprule id="Origin-Realm" type="Mandatory"/>
+      <avprule id="Error-Message" type="Optional"/>
+      <avprule id="Failed-AVP" type="Optional" qual="*"/>
+   </command>
+</dictionary>
index 31eb97d..5d1fa45 100755 (executable)
@@ -53,7 +53,7 @@ Usage: $0 <test stuff directory|dynamic> [-s]
           and a file called 'dynamic.suffix' used to complete the dynamic operation
           in this way:
 
           and a file called 'dynamic.suffix' used to complete the dynamic operation
           in this way:
 
-             dynamic|<timeout ms>|<initial sequence>|<final sequence>|<dynamic.suffix content>
+             dynamic|<initial sequence>|<final sequence>|<dynamic.suffix content>
 
           For example, you could have this content for 'dynamic.suffix':
 
 
           For example, you could have this content for 'dynamic.suffix':
 
@@ -61,11 +61,11 @@ Usage: $0 <test stuff directory|dynamic> [-s]
 
           in order to generate the operation:
 
 
           in order to generate the operation:
 
-             dynamic|0|<initial sequence>|<final sequence>|7|CCR-I.xml|CCR-T.xml
+             dynamic|<initial sequence>|<final sequence>|0|7|CCR-I.xml|CCR-T.xml
 
           which would be parsed for the specific ADML instance programmed:
 
 
           which would be parsed for the specific ADML instance programmed:
 
-             dynamic|0|2000001|2001000|7|CCR-I.xml|CCR-T.xml
+             dynamic|2000001|2001000|0|7|CCR-I.xml|CCR-T.xml
 
           The file 'dynamic.suffix' could have several lines for several scenaries.
           In this case, this script will prompt for the desired one.
 
           The file 'dynamic.suffix' could have several lines for several scenaries.
           In this case, this script will prompt for the desired one.