10. Using VSA framework for customised attributes

This section describes how to enable advanced attribute encoding and decoding with Radiator's VSA (Vendor-Specific Attributes) framework.
Radiator's VSA framework supports creating vendor-specific modules for encoding and decoding attributes that have non-standard formats. The attribute type for these attributes is set to custom in Radiator's dictionary.
At this moment, the distribution package includes a customised dictionary file, dictionary.custom_vsa, and 2 vendor-specific modules:
The customised dictionary file, dictionary.custom_vsa, redefines some attributes present in the default dictionary file. The redefined attributes are passed the included vendor-specific modules.
Here is an example of decoding attribute 3GPP-GPRS-QoS-Profile when dictionary.custom_vsa is first disabled and then enabled:
Wed Dec 13 17:48:50 2017: DEBUG: Packet dump:
*** Received from 127.0.0.1 port 59458 ....
Code:       Access-Request
Identifier: 193
Authentic:  <230>\<232><168><1><151><191>/OZ<171>k<203><164><199><206>
Attributes:
        User-Name = "mikem"
        Service-Type = Framed-User
        NAS-IP-Address = 203.63.154.1
        NAS-Identifier = "203.63.154.1"
        NAS-Port = 1234
        Called-Station-Id = "123456789"
        Calling-Station-Id = "987654321"
        NAS-Port-Type = Async
        User-Password = o<244><24><21><12>-<191>v<233><217>o<6><165>0<137><230>
        3GPP-GPRS-QoS-Profile = "99-23731f9301858574597878


Wed Dec 13 17:51:27 2017: DEBUG: Packet dump:
*** Received from 127.0.0.1 port 60790 ....
Code:       Access-Request
Identifier: 85
Authentic:  {<152><151>~<149>Z<157>@w<250><146>B<7><218><253><234>
Attributes:
        User-Name = "mikem"
        Service-Type = Framed-User
        NAS-IP-Address = 203.63.154.1
        NAS-Identifier = "203.63.154.1"
        NAS-Port = 1234
        Called-Station-Id = "123456789"
        Calling-Station-Id = "987654321"
        NAS-Port-Type = Async
        User-Password = <187><166><234><164>Q<150>bu<132><3>c<0><16>02<175>
        3GPP-GPRS-QoS-Profile = 99-23731f9301858574597878
        OSC-3GPP-GPRS-Release-Indicator = 99
        OSC-3GPP-GPRS-Peak-Throughput-Class = Up-to-64kBps
        OSC-3GPP-GPRS-Mean-Throughput-Class = Best-Effort-Mean-Throughput
        OSC-3GPP-GPRS-Traffic-Class = Background-Class
        OSC-3GPP-GPRS-Max-Uplink = 896
        OSC-3GPP-GPRS-Guaranteed-Uplink = 512
        OSC-3GPP-GPRS-Max-Downlink = 896
        OSC-3GPP-GPRS-Guaranteed-Downlink = 512