Diameter update:
authormartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 12 Jun 2007 11:09:22 +0000 (11:09 +0000)
committermartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 12 Jun 2007 11:09:22 +0000 (11:09 +0000)
- add IMS Gq interface (same AVPs seem to be used by IMS Rx and ETSI Gq' interfaces)
- other small corrections

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22079 f5534014-38df-0310-8fa8-9805f1628bb7

Makefile.am
diameter/TGPPSh.xml
diameter/dictionary.xml
diameter/gqpolicy.xml [new file with mode: 0644]
epan/dissectors/packet-diameter-defs.h

index 7bdd14f143f1e18431f39e46edd41f1008c9fde1..782790e63e2519f851b7682ad0e7998c4e37350f 100644 (file)
@@ -111,6 +111,7 @@ diameter_DATA = \
        diameter/chargecontrol.xml \
        diameter/dictionary.dtd \
        diameter/dictionary.xml \
+       diameter/gqpolicy.xml \
        diameter/imscxdx.xml \
        diameter/mobileipv4.xml \
        diameter/nasreq.xml \
index 1f31c3a93664837904bc66b69a21368b4f799063..b4ebda7beab9b35a38d3ed43134a74c7566baadb 100644 (file)
                                 <gavp name="MSISDN"/>
                         </grouped>
                </avp>
-               <avp name="MSISDN" code="701" mandatory="must" vendor-bit="mustnot" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="MSISDN" code="701" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="OctetString"/>
                </avp>
-               <avp name="User-Data" code="702" mandatory="must" vendor-bit="mustnot" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="User-Data" code="702" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="OctetString"/>
                </avp>
-               <avp name="Data-Reference" code="703" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="Data-Reference" code="703" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="Unsigned32"/>
                         <enum name="RepositoryData" code="0"/>
                         <enum name="IMSPublicIdentity" code="10"/>
                         <enum name="MSISDN" code="17"/>
                         <enum name="PSIActivation" code="18"/>
                </avp>
-               <avp name="Service-Indication" code="704" mandatory="must" vendor-bit="mustnot" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="Service-Indication" code="704" mandatory="must" vendor-bit="mustnot" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="OctetString"/>
                </avp>
-               <avp name="Subs-Req-Type" code="705" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="Subs-Req-Type" code="705" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="Unsigned32"/>
                         <enum name="Subscribe" code="0"/>
                         <enum name="Unsubscribe" code="1"/>
                </avp>
-               <avp name="Requested-Domain" code="706" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="Requested-Domain" code="706" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="Unsigned32"/>
                         <enum name="CS-Domain" code="0"/>
                         <enum name="PS-Domain" code="1"/>
                </avp>
-               <avp name="Current-Location" code="707" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="Current-Location" code="707" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="Unsigned32"/>
                         <enum name="DoNotNeedInitiateActiveLocationRetrieval" code="0"/>
                         <enum name="InitiateActiveLocationRetrieval" code="1"/>
                </avp>
-               <avp name="Identity-Set" code="708" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+               <avp name="Identity-Set" code="708" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
                        <type type-name="Unsigned32"/>
                         <enum name="ALL_IDENTITIES" code="0"/>
                         <enum name="REGISTERED_IDENTITIES" code="1"/>
index b5293d9506c2e9e780165864ec748e2a917de0e0..7ec734c851c5e51c74a3031231c8677c28215478 100644 (file)
@@ -8,6 +8,7 @@
        <!ENTITY imscxdx SYSTEM "imscxdx.xml">
        <!ENTITY TGPPSh SYSTEM "TGPPSh.xml">
        <!ENTITY sip SYSTEM "sip.xml">
+       <!ENTITY gqpolicy SYSTEM "gqpolicy.xml">
 ]>
 <dictionary>
        <base uri="http://www.ietf.org/rfc/rfc3588.txt">
          32 bit signed value, in network byte order. The AVP Length
          field MUST be set to 12 (16 if the 'V' bit is enabled).
        -->
-               <typedefn type-name="VendorId" type-parent="Integer32"/>
+               <typedefn type-name="VendorId" type-parent="Unsigned32"/>
                <typedefn type-name="AppId" type-parent="Integer32"/>
                <typedefn type-name="Integer64"/>
                <!--
                        <type type-name="DiameterIdentity"/>
                </avp>
                <avp name="Destination-Realm" code="283" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot">
-                       <type type-name="UTF8String"/>
+                       <type type-name="DiameterIdentity"/>
                </avp>
                <avp name="Proxy-Info" code="284" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot">
                        <type type-name="OctetString"/>
diff --git a/diameter/gqpolicy.xml b/diameter/gqpolicy.xml
new file mode 100644 (file)
index 0000000..25f1da4
--- /dev/null
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- $Id$ -->
+
+    <application id="16777222" name="3GPP Gq" uri="http://www.3GPP.org/ftp/Specs/html-info/29209.htm">
+
+        <!-- IMS Cx Dx Application -->
+        <command name="AA"                        code="265" vendor-id="TGPP"/>
+        <command name="Re-Auth"                   code="258" vendor-id="TGPP"/>
+        <command name="Session-Termination"       code="275" vendor-id="TGPP"/>
+        <command name="Abort-Session"             code="274" vendor-id="TGPP"/>
+
+        <!-- TODO: return codes -->
+        
+        <!-- ************************** Gq AVPS ********************* -->
+        <avp name="Abort-Cause" code="500" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+                <enum name="BEARER_RELEASED" code="0"/>
+                <enum name="INSUFFICIENT_SERVER_RESOURCES" code="1"/>
+                <enum name="NSUFFICIENT_BEARER_RESOURCES" code="2"/>
+        </avp>
+
+        <avp name="Access-Network-Charging-Address" code="501" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="OctetString"/>
+        </avp>
+
+        <avp name="Access-Network-Charging-Identifier" code="502" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <grouped>
+                    <gavp name="Access-Network-Charging-Identifier-Value"/>
+                    <gavp name="Flows"/>
+            </grouped>
+        </avp>
+
+        <avp name="Access-Network-Charging-Identifier-Value" code="503" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="OctetString"/>
+        </avp>
+
+        <avp name="AF-Application-Identifier" code="504" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="OctetString"/>
+        </avp>
+
+        <avp name="AF-Charging-Identifier" code="505" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="OctetString"/>
+        </avp>
+
+        <avp name="Authorization-Token" code="506" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="OctetString"/>
+        </avp>
+
+        <!-- type IPFilterRule -->
+        <avp name="Flow-Description" code="507" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="OctetString"/>
+        </avp>
+
+        <avp name="Flow-Grouping" code="508" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <grouped>
+                    <gavp name="Flows"/>
+            </grouped>
+        </avp>
+
+        <avp name="Flow-Number" code="509" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+        </avp>
+
+        <avp name="Flows" code="510" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <grouped>
+                    <gavp name="Media-Component-Number"/>
+                    <gavp name="Flow-Number"/>
+            </grouped>
+        </avp>
+
+        <avp name="Flow-Status" code="511" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+                <enum name="ENABLED-UPLINK" code="0"/>
+                <enum name="ENABLED-DOWNLINK" code="1"/>
+                <enum name="ENABLED" code="2"/>
+                <enum name="DISABLED" code="3"/>
+                <enum name="REMOVED" code="4"/>
+        </avp>
+
+        <avp name="Flow-Usage" code="512" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
+            <type type-name="Unsigned32"/>
+                <enum name="NO_INFORMATION" code="0"/>
+                <enum name="RTCP" code="1"/>
+        </avp>
+
+        <avp name="Specific-Action" code="513" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no">
+            <type type-name="Unsigned32"/>
+                <enum name="SERVICE_INFORMATION_REQUEST" code="0"/>
+                <enum name="CHARGING_CORRELATION_EXCHANGE" code="1"/>
+                <enum name="INDICATION_OF_LOSS_OF_BEARER" code="2"/>
+                <enum name="INDICATION_OF_RECOVERY_OF_BEARER" code="3"/>
+                <enum name="INDICATION_OF_RELEASE_OF_BEARER" code="4"/>
+                <enum name="INDICATION_OF_ESTABLISHMENT_OF_BEARER" code="5"/>
+        </avp>
+
+        <avp name="Max-Requested-Bandwidth-DL" code="515" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+        </avp>
+
+        <avp name="Max-Requested-Bandwidth-UL" code="516" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+        </avp>
+
+        <avp name="Media-Component-Description" code="517" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <grouped>
+                    <gavp name="Media-Component-Number"/>
+                    <gavp name="Media-Sub-Component"/>
+                    <gavp name="AF-Application-Identifier"/>
+                    <gavp name="Media-Type"/>
+                    <gavp name="Max-Requested-Bandwidth-UL"/>
+                    <gavp name="Max-Requested-Bandwidth-DL"/>
+                    <gavp name="Flow-Status"/>
+                    <gavp name="RS-Bandwidth"/>
+                    <gavp name="RR-Bandwidth"/>
+            </grouped>
+        </avp>
+
+        <avp name="Media-Component-Number" code="518" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+        </avp>
+
+        <avp name="Media-Sub-Component" code="519" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <grouped>
+                    <gavp name="Flow-Number"/>
+                    <gavp name="Flow-Description"/>
+                    <gavp name="Flow-Status"/>
+                    <gavp name="Flow-Usage"/>
+                    <gavp name="Max-Requested-Bandwidth-UL"/>
+                    <gavp name="Max-Requested-Bandwidth-DL"/>
+            </grouped>
+        </avp>
+
+        <avp name="Media-Type" code="520" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+                <enum name="AUDIO" code="0"/>
+                <enum name="VIDEO" code="1"/>
+                <enum name="DATA" code="2"/>
+                <enum name="APPLICATION" code="3"/>
+                <enum name="CONTROL" code="4"/>
+                <enum name="TEXT" code="5"/>
+                <enum name="MESSAGE" code="6"/>
+                <enum name="OTHER" code="4294967295"/>
+        </avp>
+
+
+        <avp name="RR-Bandwidth" code="521" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+        </avp>
+
+        <avp name="RS-Bandwidth" code="522" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+        </avp>
+        
+        <avp name="SIP-Forking-Indication" code="523" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes">
+            <type type-name="Unsigned32"/>
+                <enum name="SINGLE_DIALOGUE" code="0"/>
+                <enum name="SEVERAL_DIALOGUES" code="1"/>
+        </avp>
+
+
+        <!-- ************************ END Gq AVPS ******************* -->
+
+    </application>
index 0a9d88a76b63c610f18a63ca93f89345b040aa8d..7249b1fc8b62c54064eb33d3f1e0c0c10f47eba5 100644 (file)
@@ -904,7 +904,7 @@ static struct old_avp_info old_diameter_avps[] = {
     { 262, "Redirect-Max-Cache-Time",     DIAMETER_UNSIGNED32,  (value_string *)NULL},
     { 263, "Session-Id",                  DIAMETER_SESSION_ID,  (value_string *)NULL},
     { 264, "Origin-Host",                 DIAMETER_IDENTITY,    (value_string *)NULL},
-    { 265, "Supported-Vendor-Id",         DIAMETER_UNSIGNED32,  (value_string *)NULL},
+    { 265, "Supported-Vendor-Id",         DIAMETER_ENUMERATED,  sminmpec_values},
     { 266, "Vendor-Id",                   DIAMETER_ENUMERATED,  sminmpec_values},
     { 267, "Firmware-Revision",           DIAMETER_UNSIGNED32,  (value_string *)NULL},
     { 268, "Result-Code",                 DIAMETER_UNSIGNED32,  diameter_result_code_vals},