Improvements from anna fork
[anna.git] / example / diameter / launcher / deployments / aots / agents / ADML / HINTS.md
1 # ADML hints
2
3 ## AF-Application-Identifier
4
5 Diameter RFC assigned the format 'OctetString' to this AVP although it is almost always intended to be human-readable. 'UTF8String' format could be more appropiate, but probably the intention was to avoid possible limits.
6
7 ADML message codec shows readable data when possible using the field 'data'. When this is not possible, the 'hex-data' field will encode the information. The 'OctetString' format is hexadecimal by nature (string of octets), then always 'hex-data' will be shown for this kind of AVPs.
8
9 For example:
10 <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
11
12 You could decode using hex dump utility: 'xxd'
13
14 $> echo "75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c" | xxd -p -r
15 $> urn%3Aurn-xxx%3A3gpp-service.ims.icsi.mmtel
16
17 But the thing that you may probably need, is to encode a desired value into xml messages while designing a test case. For this situation, use the opossite (drop reverse flag '-r' to xxd):
18
19 $> echo -n "urn%3Aurn-xxx%3A3gpp-service.ims.icsi.mmtel" | xxd -p | tr -d '\n'
20 $> 75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c
21
22 or use 'od' (files dump) utility:
23
24 $> echo -n "urn%3Aurn-xxx%3A3gpp-service.ims.icsi.mmtel" | od -A n -t x1 | tr -d ' ' | tr -d '\n'
25 $> 75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c
26
27 The '-n' in the echo is neccessary to avoid encoding of carriage return (0x0a) for the string provided.
28