1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Diameter dictionary DTD -->
4 <!ELEMENT dictionary (format*, vendor*, avp*, command*)>
5 <!ATTLIST dictionary name CDATA #REQUIRED>
12 <!ELEMENT format EMPTY>
13 <!ATTLIST format name CDATA #REQUIRED parent-type ( OctetString | Integer32 | Integer64 | Unsigned32 | Unsigned64 | Float32 | Float64 ) #REQUIRED>
17 name: Format type unique name
18 parent-type: Format parent type within diameter basics: OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64
21 <!ELEMENT vendor EMPTY>
22 <!ATTLIST vendor name CDATA #REQUIRED code CDATA #REQUIRED>
26 name: Vendor unique name
27 code: Vendor numeric code
30 <!ELEMENT avp (single | grouped)>
31 <!ATTLIST avp name CDATA #REQUIRED code CDATA #REQUIRED vendor-name CDATA #IMPLIED may-encrypt (yes | no) #IMPLIED v-bit (must | may | shouldnot | mustnot) #IMPLIED m-bit (must | may | shouldnot | mustnot) #IMPLIED p-bit (must | may | shouldnot | mustnot) #IMPLIED>
36 code: Avp numeric code
37 vendor-name: Avp vendor name with vendor-id value. Gets IETF (zero value) when missing
38 may-encrypt: Avp data may be encrypted (yes, no). By default is 'no'
39 v-bit: Avp vendor-specific bit rule (must, may, shouldnot, mustnot). By default is 'mustnot'
40 m-bit: Avp mandatory bit rule (must, may, shouldnot, mustnot). By default is 'may'
41 p-bit: Avp protected (encryption) bit rule (must, may, shouldnot, mustnot). By default is 'may'
44 <!ELEMENT single (label*)>
45 <!ATTLIST single format-name CDATA #REQUIRED enum CDATA #IMPLIED>
47 Non-grouped avp struct
49 format-name: Avp format type name (RFC3588: 'OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64, Address, Time, UTF8String, DiameterIdentity, DiameterURI, Enumerated, IPFilterRule, QoSFilterRule' or application format data type names)
50 enum: Enum values restriction for enumerated-format avp: '[i][,[j]][,[m-n]...]'
53 <!ELEMENT label EMPTY>
54 <!ATTLIST label data CDATA #REQUIRED alias CDATA #REQUIRED>
56 Mostly used with enumerated-type avps
58 data: Specific avp data
59 alias: Data-linked name
62 <!ELEMENT grouped (avprule+)>
67 <!ELEMENT avprule EMPTY>
68 <!ATTLIST avprule id CDATA #REQUIRED type (Fixed | Mandatory | Optional) #REQUIRED qual CDATA #IMPLIED>
72 id: Avp name reference. Generic AVP is harcoded with 'AVP' name
73 type: Avp type (Fixed, Mandatory, Optional)
74 qual: Avp qualifier: *:0-inf; x*:x-inf; *x:0-x; x*y:x-y; missing:1(Fixed, Mandatory), 0-1(Optional)
77 <!ELEMENT command (avprule*)>
78 <!ATTLIST command name CDATA #REQUIRED code CDATA #REQUIRED type (Request | Answer) #REQUIRED>
82 name: Command unique name
83 code: Command numeric code
84 type: Command type (Request, Answer)