All AVP data fields must be either base data type or derived data type. Base data type AVP: - Octet-string: HexString
- Enumerated: s32 - 4 byte integer
- Unsigned32: 4 byte integer
- Unsigned64: 8 byte integer
- Integer32: 4 byte integer
- Integer64: 8 byte integer
- Float32: 4 byte floating point
- Float64: 8 byte floating point
- Grouped AVPs: sequence of nested AVPs
Example: <avp avp-name="Parent1"> <avp avp-name="Parent2"> <avp avp-name="Vendor-Id" value="10415" /> <avp avp-name="Auth-Application-Id" value="16777217" /> </avp> </avp> In the example above, one can observe that the AVP value in grouped AVPs is only provided if the AVP is a child (leaf) AVP and not a parent AVP. In other words, an AVP within a set of grouped AVPs should either provide a child AVP or an AVP value, but not both.
Derived data type: 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” - DiameterURI:
“The DiameterURI MUST follow the Uniform Resource Identifiers (URI) syntax rules specified below:
"aaa://" FQDN [ port ] [ transport ] [ protocol ] "aaas://" FQDN [ port ] [ transport ] [ protocol ] FQDN = Fully Qualified Host Name port = One of the ports used to listen for incoming connections. If absent, the default Diameter port (3868) is assumed. transport = ";transport=" transport-protocol One of the transports used to listen for incoming connections. If absent, the default SCTP [SCTP] protocol is assumed. transport-protocol = ( "tcp" / "sctp" / "udp" ) protocol = ";protocol=" aaa-protocol If absent, the default AAA protocol is diameter. aaa-protocol = ( "diameter" / "radius" ) The following are examples of valid Diameter host identities: aaa://host.example.com;transport=tcp aaa://host.example.com:6666;transport=tcp aaa://host.example.com;protocol=diameter aaa://host.example.com:6666;protocol=diameter |