diff options
author | Guy Harris <guy@alum.mit.edu> | 2005-09-29 02:20:29 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2005-09-29 02:20:29 +0000 |
commit | a275cd2495144bf5bf00d26c3cf5d26c5f69fbd8 (patch) | |
tree | 0072cf00502222c5aa6fe2b0fc7debb4326c71b2 /diameter | |
parent | 7aa4b4ffe1f575bbb50f03e012b6f77dd5ab02f0 (diff) |
Move the Diameter dictionary files to a "diameter" subdirectory, along
the lines of what's done for RADIUS. That keeps them together (and
separate from other files), and makes the layout of the top-level source
directory closer to the layout of the installation directory, so that if
you run Ethereal or Tethereal from the top-level directory on Windows
it'll pick up the Diameter dictionary files (if it supports loading
them), and can do so on UN*X if we support a mechanism to let it find
its control files in the directory in which the binary resides.
Use the diameter_DATA, dtds_DATA, and radius_DATA macros in the
EXTRA_DIST macro, so you only have to change the lists of Diameter, DTD,
and RADIUS files in one place if you add or remove a file.
svn path=/trunk/; revision=16050
Diffstat (limited to 'diameter')
-rw-r--r-- | diameter/dictionary.dtd | 74 | ||||
-rw-r--r-- | diameter/dictionary.xml | 707 | ||||
-rw-r--r-- | diameter/imscxdx.xml | 147 | ||||
-rw-r--r-- | diameter/mobileipv4.xml | 62 | ||||
-rw-r--r-- | diameter/nasreq.xml | 291 | ||||
-rw-r--r-- | diameter/sunping.xml | 22 |
6 files changed, 1303 insertions, 0 deletions
diff --git a/diameter/dictionary.dtd b/diameter/dictionary.dtd new file mode 100644 index 0000000000..6285108f5d --- /dev/null +++ b/diameter/dictionary.dtd @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + $Log: dictionary.dtd,v $ + Revision 1.1 2001/11/01 21:52:44 guy + From David Frascone: duUpdate to Diameter dissector to load the + dictionary as an XML file rather than building it in, and various + Diameter updates. + + Revision 1.1 2001/08/24 18:04:44 chaos + Added per Mark's request + + Revision 1.3 2001/07/31 17:43:36 chaos + Oops, forgot to turn on validity checking. Fixed some errors found with validity checking turned on + + Revision 1.2 2001/07/31 16:56:15 chaos + Lots of changes to support flags like in the draft, and to support commands + +--> +<!ELEMENT dictionary (base, application*)> +<!ELEMENT base (command*, vendor*, typedefn+, avp+)> +<!ATTLIST base + uri CDATA #IMPLIED +> + +<!ELEMENT application (command*, vendor*, typedefn*, avp*)> +<!ATTLIST application + id CDATA #REQUIRED + name CDATA #IMPLIED + uri CDATA #IMPLIED +> +<!ELEMENT command (#PCDATA)> +<!ATTLIST command + name CDATA #REQUIRED + code CDATA #REQUIRED + vendor-id IDREF #IMPLIED +> +<!ELEMENT vendor EMPTY> +<!ATTLIST vendor + vendor-id ID #REQUIRED + code CDATA #REQUIRED + name CDATA #IMPLIED +> +<!ELEMENT typedefn EMPTY> +<!ATTLIST typedefn + type-name ID #REQUIRED + type-parent IDREF #IMPLIED + description CDATA #IMPLIED +> +<!ELEMENT avp ((type | grouped), (enum*))> +<!ATTLIST avp + name ID #REQUIRED + description CDATA #IMPLIED + code CDATA #REQUIRED + may-encrypt (yes | no) "yes" + mandatory (must | may | mustnot | shouldnot) "may" + protected (must | may | mustnot | shouldnot) "may" + vendor-bit (must | may | mustnot | shouldnot) "mustnot" + vendor-id IDREF #IMPLIED + constrained (true | false) "false" +> +<!ELEMENT type EMPTY> +<!ATTLIST type + type-name IDREF #REQUIRED +> +<!ELEMENT grouped (gavp+)> +<!ELEMENT gavp EMPTY> +<!ATTLIST gavp + name IDREF #REQUIRED +> +<!ELEMENT enum EMPTY> +<!ATTLIST enum + name CDATA #REQUIRED + code CDATA #REQUIRED +> diff --git a/diameter/dictionary.xml b/diameter/dictionary.xml new file mode 100644 index 0000000000..f04f488270 --- /dev/null +++ b/diameter/dictionary.xml @@ -0,0 +1,707 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE dictionary SYSTEM "dictionary.dtd" [ + <!ENTITY nasreq SYSTEM "nasreq.xml"> + <!ENTITY mobileipv4 SYSTEM "mobileipv4.xml"> + <!ENTITY sunping SYSTEM "sunping.xml"> + <!ENTITY imscxdx SYSTEM "imscxdx.xml"> +]> +<dictionary> + <base uri="http://www.ietf.org/rfc/rfc3588.txt"> + <!-- + $Log: dictionary.xml,v $ + Revision 1.1 2001/11/01 21:52:44 guy + From David Frascone: duUpdate to Diameter dissector to load the + dictionary as an XML file rather than building it in, and various + Diameter updates. + + Revision 1.7 2001/08/24 18:03:24 chaos + Mark's Changes + + Revision 1.6 2001/07/31 19:13:55 chaos + Missed a couple of MIP AVPs + + Revision 1.5 2001/07/31 19:09:22 chaos + Added Mobile-Ip and Sun Ping Extension + + Revision 1.4 2001/07/31 17:43:25 chaos + Oops, forgot to turn on validity checking. Fixed some errors found with validity checking turned on + + Revision 1.3 2001/07/31 16:56:31 chaos + Added commands, and validated with xmllint + + Revision 1.2 2001/07/31 16:29:34 chaos + Checking in some changes to verify log and ident strings + +--> + <!-- *********************** Commands ***************************** --> + <!-- Diameter Base Protocol Command Codes --> + <command name="Abort-Session" code="274" vendor-id="None"> + <!-- Maybe some avp stuff here one day --> + </command> + <command name="Accounting" code="271" vendor-id="None"/> + <command name="Capabilities-Exchange" code="257" vendor-id="None"/> + <command name="Device-Watchdog" code="280" vendor-id="None"/> + <command name="Disconnect-Peer" code="282" vendor-id="None"/> + <command name="Re-Auth" code="258" vendor-id="None"/> + <command name="Session-Termination" code="275" vendor-id="None"/> + <!-- ********************** End Commands ************************** --> + + <!-- ************************* Vendors **************************** --> + <vendor vendor-id="None" code="0" name="None"/> + <vendor vendor-id="HP" code="11" name="Hewlett Packard"/> + <vendor vendor-id="Merit" code="61" name="Merit Networks"/> + <vendor vendor-id="Sun" code="42" name="Sun Microsystems, Inc."/> + <vendor vendor-id="USR" code="429" name="US Robotics Corp."/> + <vendor vendor-id="TGPP" code="10415" name="3GPP"/> + <!-- *********************** End Vendors ************************** --> + + <!-- ************************ typedefn's ************************** --> + <typedefn type-name="OctetString"/> + <!-- + The data contains arbitrary data of variable length. Unless + otherwise noted, the AVP Length field MUST be set to at least 9 + (13 if the 'V' bit is enabled). Data used to transmit (human + readable) character string data uses the UTF-8 [24] character + set and is NOT NULL-terminated. The minimum Length field MUST + be 9, but can be set to any value up to 65504 bytes. AVP Values + of this type that do not align on a 32-bit boundary MUST have + the necessary padding. + --> + <typedefn type-name="UTF8String" type-parent="OctetString"/> + <!-- + The UTF8String format is derived from the OctetString AVP Base + Format. This is a human readable string represented using the + ISO/IEC IS 10646-1 character set, encoded as an OctetString + using the UTF-8 [29] transformation format described in RFC + 2279. + + Since additional code points are added by amendments to the + 10646 standard from time to time, implementations MUST be + prepared to encounter any code point from 0x00000001 to + 0x7fffffff. Byte sequences that do not correspond to the valid + UTF-8 encoding of a code point or are outside this range are + prohibited. Note that since a code point of 0x00000000 is + prohibited, no octet will contain a value of 0x00. + + The use of control codes SHOULD be avoided. When it is + necessary to represent a newline, the control code sequence CR + LF SHOULD be used. + + The use of leading or trailing white space SHOULD be avoided. + + For code points not directly supported by user interface + hardware or software, an alternative means of entry and + display, such as hexadecimal, MAY be provided. + + For information encoded in 7-bit US-ASCII, the UTF-8 encoding + is identical to the US-ASCII encoding. + + UTF-8 may require multiple bytes to represent a single + character / code point; thus the length of a UTF8String in + octets may be different from the number of characters encoded. + + Note that the size of an UTF8String is measured in octets, not + characters. + + The UTF8String MUST not contain any octets with a value of + zero. + --> + <typedefn type-name="IPAddress" type-parent="OctetString"/> + <!-- + The IPAddress format is derived from the OctetString AVP Base + Format. It represents 32 bit (IPv4) [17] or 128 bit (IPv6) [16] + address, most significant octet first. The format of the + address (IPv4 or IPv6) is determined by the length. If the + attribute value is an IPv4 address, the AVP Length field MUST + be 12 (16 if 'V' bit is enabled), otherwise the AVP Length + field MUST be set to 24 (28 if the 'V' bit is enabled) for IPv6 + addresses. + --> + <typedefn type-name="DiameterIdentity" type-parent="OctetString"/> + <!-- + The DiameterIdentity format is derived from the OctetString AVP + Base Format. It uses the UTF-8 encoding and has the same + requirements as the UTF8String. In addition, it must follow + the Uniform Resource Identifiers (URI) syntax [29] rules + specified below: + + Diameter-Identity = fqdn [ port ] [ transport ] + [ protocol ] + + aaa-protocol = ( "diameter" | "radius" | "tacacs+" ) + + protocol = ";protocol=" aaa-protocol + ; If absent, the default AAA protocol + ; is diameter. + + fqdn = Fully Qualified Host Name + + port = ":" 1*DIGIT + ; One of the ports used to listen for + ; incoming connections. ; If absent, + ; the default Diameter port (TBD) is + ; assumed. + + transport-protocol = ( "tcp" | "sctp" | "udp" ) + + transport = ";transport=" transport-protocol + + ; One of the transports used to listen + ; for incoming connections. If absent, + ; the default SCTP [26] protocol is + ; assumed. UDP MUST NOT be used when + ; the aaa-protocol field is set to + ; diameter. + + The following are examples of valid Diameter host + identities: + + host.abc.com;transport=tcp + host.abc.com:6666;transport=tcp + aaa://host.abc.com;protocol=diameter + aaa://host.abc.com:6666;protocol=diameter + aaa://host.abc.com:6666;transport=tcp;protocol=diameter + aaa://host.abc.com:1813;transport=udp;protocol=radius + + Since multiple Diameter processes on a single host cannot + listen for incoming connections on the same port on a given + protocol, the DiameterIdentity is guaranteed to be unique per + host. + + A Diameter node MAY advertise different identities on each + connection, via the CER and CEA's Origin-Host AVP, but the same + identity MUST be used throughout the duration of a connection. + + When comparing AVPs of this format, it is necessary to add any + absent fields with the default values prior to the comparison. + For example, diameter-host.abc.com would be expanded to + aaa://diameter/diameter-host.abc.com:TBD;protocol=sctp. + --> + <typedefn type-name="IPFilterRule" type-parent="OctetString"/> + <!-- + The IPFilterRule format is derived from the OctetString AVP + Base Format. It uses the UTF-8 encoding and has the same + requirements as the UTF8String. Packets may be filtered based + on the following information that is associated with it: + + Direction (in or out) + Source and destination IP address (possibly masked) + Protocol + Source and destination port (lists or ranges) + TCP flags + IP fragment flag + IP options + ICMP types + + Rules for the appropriate direction are evaluated in order, + with the first matched rule terminating the evaluation. Each + packet is evaluated once. If no rule matches, the packet is + dropped if the last rule evaluated was a permit, and passed if + the last rule was a deny. + + IPFilterRule filters MUST follow the format: + + action dir proto from src to dst [options] + + action permit - Allow packets that match the rule. + deny - Drop packets that match the rule. + + dir "in" is from the terminal, "out" is to the + terminal. + + proto An IP protocol specified by number. The "ip" + keyword means any protocol will match. + + src and dst <address/mask> [ports] + + The <address/mask> may be specified as: + ipno An IPv4 or IPv6 number in dotted- + quad or canonical IPv6 form. Only + this exact IP number will match the + rule. + ipno/bits An IP number as above with a mask + width of the form 1.2.3.4/24. In + this case all IP numbers from + 1.2.3.0 to 1.2.3.255 will match. + The bit width MUST be valid for the + IP version and the IP number MUST + NOT have bits set beyond the mask. + + The sense of the match can be inverted by + preceding an address with the not modifier, + causing all other addresses to be matched + instead. This does not affect the selection of + port numbers. + + The keyword "any" is 0.0.0.0/0 or the IPv6 + equivalent. The keyword "assigned" is the + address or set of addresses assigned to the + terminal. The first rule SHOULD be "deny in + ip !assigned". + + With the TCP, UDP and SCTP protocols, optional + ports may be specified as: + + {port|port-port}[,port[,...]] + + The `-' notation specifies a range of ports + (including boundaries). + + Fragmented packets which have a non-zero offset + (i.e. not the first fragment) will never match + a rule which has one or more port + specifications. See the frag option for + details on matching fragmented packets. + + options: + frag Match if the packet is a fragment and this is not + the first fragment of the datagram. frag may not + be used in conjunction with either tcpflags or + TCP/UDP port specifications. + + ipoptions spec + Match if the IP header contains the comma + separated list of options specified in spec. The + supported IP options are: + + ssrr (strict source route), lsrr (loose source + route), rr (record packet route) and ts + (timestamp). The absence of a particular option + may be denoted with a `!'. + + tcpoptions spec + Match if the TCP header contains the comma + separated list of options specified in spec. The + supported TCP options are: + + mss (maximum segment size), window (tcp window + advertisement), sack (selective ack), ts (rfc1323 + timestamp) and cc (rfc1644 t/tcp connection + count). The absence of a particular option may + be denoted with a `!'. + + established + TCP packets only. Match packets that have the RST + or ACK bits set. + + setup TCP packets only. Match packets that have the SYN + bit set but no ACK bit. + + tcpflags spec + TCP packets only. Match if the TCP header + contains the comma separated list of flags + specified in spec. The supported TCP flags are: + + fin, syn, rst, psh, ack and urg. The absence of a + particular flag may be denoted with a `!'. A rule + which contains a tcpflags specification can never + match a fragmented packet which has a non-zero + offset. See the frag option for details on + matching fragmented packets. + + icmptypes types + ICMP packets only. Match if the ICMP type is in + the list types. The list may be specified as any + combination of ranges or individual types + separated by commas. The supported ICMP types + are: + + echo reply (0), destination unreachable (3), + source quench (4), redirect (5), echo request + (8), router advertisement (9), router + solicitation (10), time-to-live exceeded (11), IP + header bad (12), timestamp request (13), + timestamp reply (14), information request (15), + information reply (16), address mask request (17) + and address mask reply (18). + + There is one kind of packet that the access device MUST always + discard, that is an IP fragment with a fragment offset of one. + This is a valid packet, but it only has one use, to try to + circumvent firewalls. + + An access device that is unable to interpret or apply a deny + rule MUST terminate the session. An access device that is + unable to interpret or apply a permit rule MAY apply a more + restrictive rule. An access device MAY apply deny rules of + its own before the supplied rules, for example to protect + the access device owner's infrastructure. + + The rule syntax is a modified subset of ipfw(8) from FreeBSD, + and the ipfw.c code may provide a useful base for + implementations. + --> + <typedefn type-name="QOSFilterRule" type-parent="OctetString"/> + <!-- + The QosFilterRule format is derived from the OctetString AVP + Base Format. It uses the UTF-8 encoding and has the same + requirements as the UTF8String. Packets may be marked or + metered based on the following information that is associated + with it: + + Direction (in or out) + Source and destination IP address (possibly masked) + Protocol + Source and destination port (lists or ranges) + DSCP values (no mask or range) + + Rules for the appropriate direction are evaluated in order, + with the first matched rule terminating the evaluation. Each + packet is evaluated once. If no rule matches, the packet is + treated as best effort. + + QoSFilterRule filters MUST follow the format: + + action dir proto from src to dst [options] + + tag - Mark packet with a specific DSCP [49]. + The DSCP option MUST be included. + + meter - Meter traffic. The metering options + MUST be included. + + dir "in" is from the terminal, "out" is to the + terminal. + + proto An IP protocol specified by number. The "ip" + keyword means any protocol will match. + + src and dst <address/mask> [ports] + + The <address/mask> may be specified as: + ipno An IPv4 or IPv6 number in dotted- + quad or canonical IPv6 form. Only + this exact IP number will match the + rule. + ipno/bits An IP number as above with a mask + width of the form 1.2.3.4/24. In + this case all IP numbers from + 1.2.3.0 to 1.2.3.255 will match. + The bit width MUST be valid for the + IP version and the IP number MUST + NOT have bits set beyond the mask. + + The sense of the match can be inverted by + preceding an address with the not modifier, + causing all other addresses to be matched + instead. This does not affect the selection of + port numbers. + + The keyword "any" is 0.0.0.0/0 or the IPv6 + equivalent. The keyword "assigned" is the + address or set of addresses assigned to the + terminal. The first rule SHOULD be "deny in + ip !assigned". + + With the TCP, UDP and SCTP protocols, optional + ports may be specified as: + + {port|port-port}[,port[,...]] + + The `-' notation specifies a range of ports + (including boundaries). + + options: + + DSCP <color> + color values as defined in [49]. Exact matching + of DSCP values is required (no masks or ranges). + the "deny" can replace the color_under or + color_over values in the meter action for rate- + dependent packet drop. + + metering <rate> <color_under> <color_over> + The metering option provides Assured Forwarding, + as defined in [50], and MUST be present if the + action is set to meter. The rate option is the + throughput, in bits per second, which is used by + the access device to mark packets. Traffic above + the rate is marked with the color_over codepoint, + while traffic under the rate is marked with the + color_under codepoint. The color_under and + color_over options contain the drop preferences, + and MUST conform to the recommended codepoint + keywords described in [50] (e.g. AF13). + + The metering option also supports the strict + limit on traffic required by Expedited + Forwarding, as defined in [51]. The color_over + option may contain the keyword "drop" to prevent + forwarding of traffic that exceeds the rate + parameter. + + The rule syntax is a modified subset of ipfw(8) from FreeBSD, + and the ipfw.c code may provide a useful base for + implementations. + + --> + <typedefn type-name="MIPRegistrationRequest" type-parent="OctetString"/> + + <typedefn type-name="Integer32"/> + <!-- + 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="AppId" type-parent="Integer32"/> + <typedefn type-name="Integer64"/> + <!-- + 64 bit signed value, in network byte order. The AVP Length + field MUST be set to 16 (20 if the 'V' bit is enabled). + --> + <typedefn type-name="Unsigned32"/> + <!-- + 32 bit unsigned value, in network byte order. The AVP Length + field MUST be set to 12 (16 if the 'V' bit is enabled). + Unsigned32 values used to transmit time data contains the four + most significant octets returned from NTP [18], in network byte + order. + --> + <typedefn type-name="Time"/> + <!-- + The Time format is derived from the Unsigned32 AVP Base Format. + This is 32 bit unsigned value containing the four most + significant octets returned from NTP [18], in network byte + order. + + This represent the number of seconds since 0h on 1 January 1900 + with respect to the Coordinated Universal Time (UTC). + + On 6h 28m 16s UTC, 7 February 2036 the time value will + overflow. NTP [18] describes a procedure to extend the time to + 2104. + --> + <typedefn type-name="Unsigned64"/> + <!-- + 64 bit unsigned value, in network byte order. The AVP Length + field MUST be set to 16 (20 if the 'V' bit is enabled). + --> + <!-- ************************* End Typedefns ************************ --> + <!-- ******************* DIAMETER BASE PROTOCOL AVPS ************************ --> + <avp name="Accounting-Interim-Interval" code="482" mandatory="must" may-encrypt="yes" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Accounting-Multi-Session-Id" code="50" mandatory="must" protected="may" may-encrypt="yes" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Accounting-Record-Number" code="485" mandatory="must" may-encrypt="yes" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Accounting-Record-Type" code="480" mandatory="must" may-encrypt="yes" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="Event Record" code="1"/> + <enum name="Start Record" code="2"/> + <enum name="Interim Record" code="3"/> + <enum name="Stop Record" code="4"/> + </avp> + <avp name="Accounting-Session-Id" code="44" mandatory="must" protected="may" may-encrypt="yes" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Acct-Application-Id" code="259" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="AppId"/> + </avp> + <avp name="Alternate-Peer" code="275" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Auth-Application-Id" code="258" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="AppId"/> + </avp> + <avp name="Auth-Request-Type" code="274" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="Authenticate Only" code="1"/> + <enum name="Authorize Only" code="2"/> + <enum name="Authorize Authenticate" code="3"/> + </avp> + <avp name="Authorization-Lifetime" code="291" mandatory="must" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="Integer32"/> + </avp> + <avp name="Auth-Grace-Period" code="276" mandatory="must" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Auth-Session-State" code="277" mandatory="must" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="State Maintained" code="0"/> + <enum name="No State Maintained" code="1"/> + </avp> + <avp name="Re-Auth-Request-Type" code="285" mandatory="must" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="Authorize Only" code="0"/> + <enum name="Authorize Authenticate" code="1"/> + </avp> + <avp name="Destination-Host" code="293" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <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"/> + </avp> + <avp name="Disconnect-Cause" code="273" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="Rebooting" code="0"/> + <enum name="Busy" code="1"/> + <enum name="Do not want to talk to you" code="2"/> + </avp> + <avp name="Error-Message" code="281" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="UTF8String"/> + </avp> + <avp name="Error-Reporting-Host" code="294" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Failed-AVP" code="279" mandatory="must" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="OctetString"/> + </avp> + <avp name="Firmware-Revision" code="267" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Host-IP-Address" code="257" mandatory="must" protected="mustnot" may-encrypt="no" vendor-bit="mustnot"> + <type type-name="IPAddress"/> + </avp> + <avp name="Multi-Round-Time-Out" code="272" mandatory="must" may-encrypt="yes" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Origin-Host" code="264" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Origin-Realm" code="296" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="UTF8String"/> + </avp> + <avp name="Origin-State-Id" code="278" mandatory="must" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Product-Name" code="269" mandatory="mustnot" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="UTF8String"/> + </avp> + <avp name="Proxy-Host" code="280" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <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"/> + </avp> + <avp name="Redirect-Host" code="292" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Redirect-Host-Usage" code="261" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="Don't Care" code="0"/> + <enum name="All Session" code="1"/> + <enum name="All Realm" code="2"/> + <enum name="Realm and Application" code="3"/> + <enum name="All Application" code="4"/> + <enum name="All Host" code="5"/> + </avp> + <avp name="Redirect-Max-Cache-Time" code="262" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Result-Code" code="268" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="DIAMETER_MULTI_ROUND_AUTH" code="1001"/> + <enum name="DIAMETER_SUCCESS" code="2001"/> + <enum name="DIAMETER_LIMITED_SUCCESS" code="2002"/> + <enum name="DIAMETER_COMMAND_UNSUPPORTED" code="3001"/> + <enum name="DIAMETER_UNABLE_TO_DELIVER" code="3002"/> + <enum name="DIAMETER_REALM_NOT_SERVED" code="3003"/> + <enum name="DIAMETER_TOO_BUSY" code="3004"/> + <enum name="DIAMETER_LOOP_DETECTED" code="3005"/> + <enum name="DIAMETER_REDIRECT_INDICATION" code="3006"/> + <enum name="DIAMETER_APPLICATION_UNSUPPORTED" code="3007"/> + <enum name="DIAMETER_INVALID_HDR_BITS" code="3008"/> + <enum name="DIAMETER_INVALID_AVP_BITS" code="3009"/> + <enum name="DIAMETER_UNKNOWN_PEER" code="3010"/> + <enum name="DIAMETER_AUTHENTICATION_REJECTED" code="4001"/> + <enum name="DIAMETER_OUT_OF_SPACE" code="4002"/> + <enum name="DIAMETER_ELECTION_LOST" code="4003"/> + <enum name="DIAMETER_AVP_UNSUPPORTED" code="5001"/> + <enum name="DIAMETER_UNKNOWN_SESSION_ID" code="5002"/> + <enum name="DIAMETER_AUTHORIZATION_REJECTED" code="5003"/> + <enum name="DIAMETER_INVALID_AVP_VALUE" code="5004"/> + <enum name="DIAMETER_MISSING_AVP" code="5005"/> + <enum name="DIAMETER_RESOURCES_EXCEEDED" code="5006"/> + <enum name="DIAMETER_CONTRADICTING_AVPS" code="5007"/> + <enum name="DIAMETER_AVP_NOT_ALLOWED" code="5008"/> + <enum name="DIAMETER_AVP_OCCURS_TOO_MANY_TIMES" code="5009"/> + <enum name="DIAMETER_NO_COMMON_APPLICATION " code="5010"/> + <enum name="DIAMETER_UNSUPPORTED_VERSION" code="5011"/> + <enum name="DIAMETER_UNABLE_TO_COMPLY" code="5012"/> + <enum name="DIAMETER_INVALID_BIT_IN_HEADER" code="5013"/> + <enum name="DIAMETER_INVALID_AVP_LENGTH" code="5014"/> + <enum name="DIAMETER_INVALID_MESSAGE_LENGTH" code="5015"/> + <enum name="DIAMETER_INVALID_AVP_BIT_COMBO" code="5016"/> + <enum name="DIAMETER_NO_COMMON_SECURITY" code="5017"/> + </avp> + <avp name="Experimental-Result" code="297" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <grouped> + <gavp name="Vendor-Id"/> + <gavp name="Experimental-Result-Code"/> + </grouped> + </avp> + <avp name="Experimental-Result-Code" code="298" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="First Registration" code="2001"/> + <enum name="Subsequent Registration" code="2002"/> + <enum name="Unregistered Service" code="2003"/> + <enum name="Success Server Name Not Stored" code="2004"/> + <enum name="Server Selection" code="2005"/> + <enum name="Error User Unknown" code="5001"/> + <enum name="Error Identities Dont Match" code="5002"/> + <enum name="Error Identity Not Registered" code="5003"/> + <enum name="Error Roaming Not Allowed" code="5004"/> + <enum name="Error Roaming Identity Already Registered" code="5005"/> + <enum name="Error Roaming Auth Scheme Not Supported" code="5006"/> + <enum name="Error In Assignment Type" code="5007"/> + <enum name="Error Too Much Data" code="5008"/> + <enum name="Error Not Supported User Data" code="5009"/> + </avp> + <avp name="Route-Record" code="282" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Session-Id" code="263" mandatory="must" protected="mustnot" vendor-bit="mustnot"> + <type type-name="UTF8String"/> + </avp> + <avp name="Session-Binding" code="270" mandatory="must" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Session-Server-Failover" code="271" mandatory="must" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="Refuse Service" code="0"/> + <enum name="Try Again" code="1"/> + <enum name="Allow Service" code="2"/> + <enum name="Try Again / Allow Service" code="3"/> + </avp> + <avp name="Source-Route" code="286" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Supported-Vendor-Id" code="265" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="VendorId"/> + </avp> + <avp name="Termination-Cause" code="295" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="Unsigned32"/> + <enum name="Logout" code="1"/> + <enum name="Service Not Provided" code="2"/> + <enum name="Bad Answer" code="3"/> + <enum name="Administrative" code="4"/> + <enum name="Link Broken" code="5"/> + </avp> + <avp name="Vendor-Id" code="266" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <type type-name="VendorId"/> + </avp> + <avp name="Vendor-Specific-Application-Id" code="260" mandatory="must" may-encrypt="no" protected="mustnot" vendor-bit="mustnot"> + <grouped> + <gavp name="Vendor-Id"/> + <gavp name="Auth-Application-Id"/> + <gavp name="Acct-Application-Id"/> + </grouped> + </avp> + <avp name="Example-AVP" code="999999" mandatory="mustnot" vendor-bit="may"> + <grouped> + <gavp name="Origin-Host"/> + <gavp name="Host-IP-Address"/> + </grouped> + </avp> + <!-- ************************ END DIAMETER BASE PROTOCOL AVPS ******************* --> + </base> + + &nasreq; + &mobileipv4; + &sunping; + &imscxdx; + +</dictionary> diff --git a/diameter/imscxdx.xml b/diameter/imscxdx.xml new file mode 100644 index 0000000000..d884339331 --- /dev/null +++ b/diameter/imscxdx.xml @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> + + <application id="167772151" name="IMS_Cx_Dx" uri="http://www.3GPP.org/ftp/Specs/html-info/29229.htm"> + + <!-- IMS Cx Dx Application --> + <command name="User-Authorization" code="300" vendor-id="TGPP"/> + <command name="Server-Assignment" code="301" vendor-id="TGPP"/> + <command name="Location-Info" code="302" vendor-id="TGPP"/> + <command name="Multimedia-Auth" code="303" vendor-id="TGPP"/> + <command name="Registration-Termination" code="304" vendor-id="TGPP"/> + <command name="Push-Profile" code="305" vendor-id="TGPP"/> + + <!-- ************************** IMS Cx Dx AVPS ********************* --> + <avp name="Visited-Network-Identifier" code="1" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="no"> + <type type-name="OctetString"/> + </avp> + <avp name="Public-Identity" code="2" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="UTF8String"/> + </avp> + <avp name="Server-Name" code="3" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="UTF8String"/> + </avp> + <avp name="Server-Capabilities" code="4" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <grouped> + <gavp name="Mandatory-Capability"/> + <gavp name="Optional-Capability"/> + <gavp name="Server-Name"/> + </grouped> + </avp> + <avp name="Mandatory-Capability" code="5" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Optional-Capability" code="6" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="User-Data" code="7" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <avp name="SIP-Number-Auth-Items" code="8" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="SIP-Authentication-Scheme" code="9" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="UTF8String"/> + </avp> + <avp name="SIP-Authenticate" code="10" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <avp name="SIP-Authorization" code="11" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <avp name="SIP-Authentication-Context" code="12" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <!-- GROUPED --> + <avp name="SIP-Auth-Data-Item" code="13" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <grouped> + <gavp name="SIP-Item-Number"/> + <gavp name="SIP-Authentication-Scheme"/> + <gavp name="SIP-Authenticate"/> + <gavp name="SIP-Authorization"/> + <gavp name="SIP-Authentication-Context"/> + <gavp name="Confidentiality-Key"/> + <gavp name="Integrity-Key"/> + </grouped> + </avp> + <avp name="SIP-Item-Number" code="14" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Server-Assignment-Type" code="15" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + <enum name="No-Assignment" code="0"/> + <enum name="Registration" code="1"/> + <enum name="Re-Registration" code="2"/> + <enum name="Unregistered-User" code="3"/> + <enum name="Timeout-Deregistration" code="4"/> + <enum name="User-Deregistration" code="5"/> + <enum name="Timeout-Deregistration-Store-Server-Name" code="6"/> + <enum name="User-Deregistration-Store-Server-Name" code="7"/> + <enum name="Administrative-Deregistration" code="8"/> + <enum name="Authentication-Failure" code="9"/> + <enum name="Authentication-Timeout" code="10"/> + <enum name="Deregistration-Too-Much-Data" code="11"/> + </avp> + <!-- GROUPED --> + <avp name="Deregistration-Reason" code="16" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <grouped> + <gavp name="Reason-Code"/> + <gavp name="Reason-Info"/> + </grouped> + </avp> + <avp name="Reason-Code" code="17" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + <enum name="Permanent-Termination" code="0"/> + <enum name="New-Server-Assigned" code="1"/> + <enum name="Server-Change" code="2"/> + <enum name="Remove-S-CSCF" code="3"/> + </avp> + <avp name="Reason-Info" code="18" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="UTF8String"/> + </avp> + <!-- GROUPED --> + <avp name="Charging-Information" code="19" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <grouped> + <gavp name="Primary-Event-Charging-Function-Name"/> + <gavp name="Secondary-Event-Charging-Function-Name"/> + <gavp name="Primary-Charging-Collection-Function-Name"/> + <gavp name="Secondary-Charging-Collection-Function-Name"/> + </grouped> + </avp> + <avp name="Primary-Event-Charging-Function-Name" code="20" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Secondary-Event-Charging-Function-Name" code="21" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Primary-Charging-Collection-Function-Name" code="22" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="Secondary-Charging-Collection-Function-Name" code="23" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="User-Authorization-Type" code="24" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + <enum name="Registration" code="0"/> + <enum name="De-Registration" code="1"/> + <enum name="Registration-And-Capabilities" code="2"/> + </avp> + <avp name="User-Data-Request-Type" code="25" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + <enum name="Complete-Profile" code="0"/> + <enum name="Registered-Profile" code="1"/> + <enum name="Unregistered-Profile" code="2"/> + </avp> + <avp name="User-Data-Already-Available" code="26" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="Unsigned32"/> + <enum name="User-Data-Not-Available" code="0"/> + <enum name="User-Data-Already-Available" code="1"/> + </avp> + <avp name="Confidentiality-Key" code="27" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <avp name="Integrity-Key" code="28" mandatory="must" vendor-bit="must" vendor-id="TGPP" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <!-- ************************ END IMS Cx Dx AVPS ******************* --> + + </application> diff --git a/diameter/mobileipv4.xml b/diameter/mobileipv4.xml new file mode 100644 index 0000000000..37566a8c57 --- /dev/null +++ b/diameter/mobileipv4.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> + + <application id="4" name="Mobile IPv4 Application" uri="ftp://ftp.ietf.org/internet-drafts/draft-ietf-aaa-diameter-mobileip-07.txt"> + + <!-- Mobile-IPv4 Application --> + <command name="AA-Mobile-Node" code="260" vendor-id="None"/> + <command name="Home-Agent-MIP" code="262" vendor-id="None"/> + + <!-- ************************** Mobile-IPv4 AVPS ********************* --> + <avp name="MIP-Filter-Rule" code="347" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="IPFilterRule"/> + </avp> + <avp name="MIP-Auth-Input-Data-Length" code="338" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="MIP-Authenticator-Length" code="339" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="MIP-Authenticator-Offset" code="340" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="MIP-FA-Challenge" code="344" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <avp name="MIP-Feature-Vector" code="337" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="MIP-Foreign-Agent-Host" code="330" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="MIP-Home-Agent-Address" code="334" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="IPAddress"/> + </avp> + <avp name="MIP-MN-AAA-Auth" code="322" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <grouped> + <gavp name="MIP-MN-AAA-SPI"/> + <gavp name="MIP-Auth-Input-Data-Length"/> + <gavp name="MIP-Authenticator-Length"/> + <gavp name="MIP-Authenticator-Offset"/> + </grouped> + </avp> + <avp name="MIP-MN-AAA-SPI" code="341" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="Unsigned32"/> + </avp> + <avp name="MIP-Mobile-Node-Address" code="333" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="IPAddress"/> + </avp> + <avp name="MIP-Previous-FA-Addr" code="336" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="IPAddress"/> + </avp> + <avp name="MIP-Previous-FA-Host" code="335" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="DiameterIdentity"/> + </avp> + <avp name="MIP-Reg-Request" code="320" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="MIPRegistrationRequest"/> + </avp> + <avp name="MIP-Reg-Reply" code="321" mandatory="must" vendor-bit="mustnot" may-encrypt="yes"> + <type type-name="OctetString"/> + </avp> + <!-- ************************ END Mobile-IPv4 AVPS ******************* --> + + </application> diff --git a/diameter/nasreq.xml b/diameter/nasreq.xml new file mode 100644 index 0000000000..30f36a954c --- /dev/null +++ b/diameter/nasreq.xml @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8"?> + + <application id="1" name="NASREQ Application" uri="ftp://ftp.ietf.org/internet-drafts/draft-calhoun-diameter-nasreq-06.txt"> + + <command name="AA" code="265" vendor-id="None"/> + <command name="Diameter-EAP" code="268" vendor-id="None"/> + + <!-- ************************* RADIUS AVPs ************************ --> + <avp name="User-Name" code="1"> + <type type-name="UTF8String"/> + </avp> + <avp name="User-Password" code="2"> + <type type-name="OctetString"/> + </avp> + <avp name="CHAP-Password" code="3"> + <type type-name="OctetString"/> + </avp> + <avp name="NAS-IP-Address" code="4"> + <type type-name="IPAddress"/> + </avp> + <avp name="NAS-Port" code="5"> + <type type-name="Integer32"/> + </avp> + <avp name="Service-Type" code="6"> + <type type-name="Unsigned32"/> + <enum name="Labels" code="3"/> + <enum name="RSVP" code="1"/> + <enum name="TOS" code="2"/> + </avp> + <avp name="Framed-Protocol" code="7"> + <type type-name="Unsigned32"/> + <enum name="ARA" code="3"/> + <enum name="Ascend-ARA" code="255"/> + <enum name="COMB" code="260"/> + <enum name="EURAW" code="257"/> + <enum name="EUUI" code="258"/> + <enum name="FR" code="261"/> + <enum name="Gandalf" code="4"/> + <enum name="MPP" code="256"/> + <enum name="PPP" code="1"/> + <enum name="SLIP" code="2"/> + <enum name="X25" code="259"/> + <enum name="Xylogics" code="5"/> + </avp> + <avp name="Framed-IP-Address" code="8"> + <type type-name="IPAddress"/> + </avp> + <avp name="Framed-IP-Netmask" code="9"> + <type type-name="IPAddress"/> + </avp> + <avp name="Framed-Routing" code="10"> + <type type-name="Unsigned32"/> + <enum name="Broadcast" code="1"/> + <enum name="Broadcast-Listen" code="3"/> + <enum name="Listen" code="2"/> + <enum name="None" code="0"/> + </avp> + <avp name="Filter-Id" code="11"> + <type type-name="UTF8String"/> + </avp> + <avp name="Framed-MTU" code="12"> + <type type-name="Integer32"/> + </avp> + <avp name="Framed-Compression" code="13"> + <type type-name="Unsigned32"/> + <enum name="IPX-Header-Compression" code="2"/> + <enum name="None" code="0"/> + <enum name="Van-Jacobson-TCP-IP" code="1"/> + </avp> + <avp name="Login-IP-Host" code="14"> + <type type-name="IPAddress"/> + </avp> + <avp name="Login-Service" code="15"> + <type type-name="Unsigned32"/> + <enum name="LAT" code="4"/> + <enum name="PortMaster" code="3"/> + <enum name="Rlogin" code="1"/> + <enum name="TCP-Clear" code="2"/> + <enum name="Telnet" code="0"/> + <enum name="X25-PAD" code="5"/> + <enum name="X25-T3POS" code="6"/> + </avp> + <avp name="Login-TCP-Port" code="16"> + <type type-name="Integer32"/> + </avp> + <avp name="Old-Password" code="17"> + <type type-name="OctetString"/> + </avp> + <avp name="Reply-Message" code="18"> + <type type-name="UTF8String"/> + </avp> + <avp name="Callback-Number" code="19"> + <type type-name="OctetString"/> + </avp> + <avp name="Callback-Id" code="20"> + <type type-name="OctetString"/> + </avp> + <avp name="Framed-Route" code="22"> + <type type-name="UTF8String"/> + </avp> + <avp name="Framed-IPX-Network" code="23"> + <type type-name="OctetString"/> + </avp> + <avp name="State" code="24"> + <type type-name="OctetString"/> + </avp> + <avp name="Class" code="25"> + <type type-name="OctetString"/> + </avp> + <avp name="Vendor-Specific" code="26"> + <type type-name="Unsigned32"/> + <!-- Should vendors be enum'ed? --> + </avp> + <avp name="Session-Timeout" code="27"> + <type type-name="Integer32"/> + </avp> + <avp name="Idle-Timeout" code="28"> + <type type-name="Integer32"/> + </avp> + <avp name="Termination-Action" code="29"> + <type type-name="Unsigned32"/> + <enum name="Default" code="0"/> + <enum name="RADIUS-Request" code="1"/> + </avp> + <avp name="Called-Station-Id" code="30"> + <type type-name="OctetString"/> + </avp> + <avp name="Calling-Station-Id" code="31"> + <type type-name="OctetString"/> + </avp> + <avp name="NAS-Identifier" code="32"> + <type type-name="OctetString"/> + </avp> + <avp name="Proxy-State" code="33"> + <type type-name="OctetString"/> + </avp> + <avp name="Login-LAT-Service" code="34"> + <type type-name="OctetString"/> + </avp> + <avp name="Login-LAT-Node" code="35"> + <type type-name="OctetString"/> + </avp> + <avp name="Login-LAT-Group" code="36"> + <type type-name="OctetString"/> + </avp> + <avp name="Framed-AppleTalk-Link" code="37"> + <type type-name="Integer32"/> + </avp> + <avp name="Framed-AppleTalk-Network" code="38"> + <type type-name="Integer32"/> + </avp> + <avp name="Framed-AppleTalk-Zone" code="39"> + <type type-name="OctetString"/> + </avp> + <avp name="Acct-Status-Type" code="40"> + <type type-name="Unsigned32"/> + <enum name="Accounting-Off" code="8"/> + <enum name="Accounting-On" code="7"/> + <enum name="Alive" code="3"/> + <enum name="Cancel" code="6"/> + <enum name="Modem-Start" code="4"/> + <enum name="Modem-Stop" code="5"/> + <enum name="Start" code="1"/> + <enum name="Stop" code="2"/> + </avp> + <avp name="Acct-Delay-Time" code="41"> + <type type-name="Integer32"/> + </avp> + <avp name="Acct-Input-Octets" code="42"> + <type type-name="Integer32"/> + </avp> + <avp name="Acct-Output-Octets" code="43"> + <type type-name="Integer32"/> + </avp> + <avp name="Acct-Session-Id" code="44" mandatory="must"> + <type type-name="OctetString"/> + </avp> + <avp name="Acct-Authentic" code="45"> + <type type-name="Unsigned32"/> + <enum name="Local" code="2"/> + <enum name="None" code="0"/> + <enum name="RADIUS" code="1"/> + </avp> + <avp name="Acct-Session-Time" code="46"> + <type type-name="Integer32"/> + </avp> + <avp name="Acct-Input-Packets" code="47"> + <type type-name="Integer32"/> + </avp> + <avp name="Acct-Output-Packets" code="48"> + <type type-name="Integer32"/> + </avp> + <avp name="Acct-Terminate-Cause" code="49"> + <type type-name="Unsigned32"/> + <enum name="Admin-Reboot" code="7"/> + <enum name="Admin-Reset" code="6"/> + <enum name="Callback" code="16"/> + <enum name="Host-Request" code="18"/> + <enum name="Idle-Timeout" code="4"/> + <enum name="Lost-Carrier" code="2"/> + <enum name="Lost-Service" code="3"/> + <enum name="NAS-Error" code="9"/> + <enum name="NAS-Reboot" code="11"/> + <enum name="NAS-Request" code="10"/> + <enum name="Port-Error" code="8"/> + <enum name="Port-Preempted" code="13"/> + <enum name="Port-Suspended" code="14"/> + <enum name="Port-Unneeded" code="12"/> + <enum name="Service-Unavailable" code="15"/> + <enum name="Session-Timeout" code="5"/> + <enum name="User-Error" code="17"/> + <enum name="User-Request" code="1"/> + </avp> + <avp name="Acct-Multi-Session-Id" code="50"> + <type type-name="OctetString"/> + </avp> + <avp name="Acct-Link-Count" code="51"> + <type type-name="Integer32"/> + </avp> + <avp name="CHAP-Challenge" code="60"> + <type type-name="OctetString"/> + </avp> + <avp name="NAS-Port-Type" code="61"> + <type type-name="Unsigned32"/> + <enum name="Async" code="0"/> + <enum name="HDLC-Clear-Channel" code="7"/> + <enum name="ISDN-Async-v110" code="4"/> + <enum name="ISDN-Async-v120" code="3"/> + <enum name="ISDN-Sync" code="2"/> + <enum name="PIAFS" code="6"/> + <enum name="Sync" code="1"/> + <enum name="Virtual" code="5"/> + <enum name="X25" code="8"/> + <enum name="X75" code="9"/> + </avp> + <avp name="Port-Limit" code="62"> + <type type-name="Integer32"/> + </avp> + <avp name="Login-LAT-Port" code="63"> + <type type-name="OctetString"/> + </avp> + <avp name="Tunnel-Type" code="64"> + <type type-name="Unsigned32"/> + <enum name="PPTP" code="1"/> + <enum name="L2F" code="2"/> + <enum name="L2TP" code="3"/> + <enum name="ATMP" code="4"/> + <enum name="VTP" code="5"/> + <enum name="AH" code="6"/> + <enum name="IP-IP-Encap" code="7"/> + <enum name="MIN-IP-IP" code="8"/> + <enum name="ESP" code="9"/> + <enum name="GRE" code="10"/> + <enum name="DVS" code="11"/> + <enum name="IP-IP" code="12"/> + </avp> + <avp name="Tunnel-Medium-Type" code="65"> + <type type-name="Unsigned32"/> + <enum name="IPv4" code="1"/> + <enum name="IPv6" code="2"/> + <enum name="NSAP" code="3"/> + <enum name="HDLC" code="4"/> + <enum name="BBN" code="5"/> + <enum name="IEEE-802" code="6"/> + <enum name="E-163" code="7"/> + <enum name="E-164" code="8"/> + <enum name="F-69" code="9"/> + <enum name="X-121" code="10"/> + <enum name="IPX" code="11"/> + <enum name="Appletalk-802" code="12"/> + <enum name="Decnet4" code="13"/> + <enum name="Vines" code="14"/> + <enum name="E-164-NSAP" code="15"/> + </avp> + <avp name="Tunnel-Client-Endpoint" code="66"> + <type type-name="OctetString"/> + </avp> + <avp name="Tunnel-Server-Endpoint" code="67"> + <type type-name="OctetString"/> + </avp> + <avp name="Tunnel-Connection-ID" code="68"> + <type type-name="OctetString"/> + </avp> + <avp name="Tunnel-Password" code="69"> + <type type-name="OctetString"/> + </avp> + <avp name="Tunnel-Assignment-Id" code="82"> + <type type-name="OctetString"/> + </avp> + + </application> diff --git a/diameter/sunping.xml b/diameter/sunping.xml new file mode 100644 index 0000000000..fa3cbc96f2 --- /dev/null +++ b/diameter/sunping.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> + <application id="555" name="Sun Ping Application" uri="ftp://ftp.ietf.org/internet-drafts/draft-calhoun-diameter-sun-ping-02.txt"> + <!-- *********************** Commands ***************************** --> + <!-- Sun Ping Extension --> + <command name="Ping" code="511" vendor-id="Sun"/> + <!-- ********************** End Commands ************************** --> + <!-- ************************ Sun Ping Extension AVPS ******************* --> + <avp name="Ping-Timestamp-Secs" code="1" vendor-id="Sun" mandatory="mustnot" vendor-bit="must"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Ping-Timestamp-Usecs" code="2" vendor-id="Sun" mandatory="mustnot" vendor-bit="must"> + <type type-name="Unsigned32"/> + </avp> + <avp name="Ping-Timestamp" code="3" vendor-id="Sun" mandatory="mustnot" vendor-bit="must"> + <grouped> + <gavp name="Ping-Timestamp-Secs"/> + <gavp name="Ping-Timestamp-Usecs"/> + </grouped> + </avp> + <!-- ********************** End Sun Ping Extension AVPS ***************** --> + <!-- ************************ Sun PING Extension AVPs ***************************--> + </application> |