aboutsummaryrefslogtreecommitdiffstats
path: root/dictionary.xml
blob: f04f4882709f69268a53572599288c5607d75829 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
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>