<div>Hi,</div><div> </div><div>We would like to use FreeRadius to decode Cablelabs accounting messages, as specified in <a href="http://www.cablelabs.com/packetcable/downloads/specs/PKT-SP-EM-I12-05812.pdf">http://www.cablelabs.com/packetcable/downloads/specs/PKT-SP-EM-I12-05812.pdf</a>.</div>
<div> </div><div>FreeRadius has a CableLabs dictionary, which works fine, but... </div><div>The value of one of the AVP, CableLabs-Event-Message, is actually an HEX value containing additional fields.</div><div>For example:</div>
<div>        CableLabs-Event-Message = 0x0001d2d2026d30310000000000003030313030303000<br>0e812333000100033031000000000000303031303030300000000006323031323031333130363032<br>32312e3633390000000081000500</div><div> </div><div>
The FreeRadius does not decode that value to get all details.</div><div>For example, bytes 4 to 28 (d2d2026d303100000000000030303130303030000e812333) is actually the BCID (Billing Correlation ID) field.</div><div>The BCID itself contains 4 "sub" fields: NTP time reference (4 first bytes), Element ID (next 8 bytes), Time Zone (next 8 bytes), and Event counter (ast 4 bytes).</div>
<div>See the packet cable specifications for more details.</div><div> </div><div>I understood the only way would be to write a perl module to decode those values.</div><div> </div><div>Before I start writing, does anyone know of any implementation of such a perl module? I would not like spending my time rewriting something that already exists.</div>
<div> </div><div>Thanks in advance for any help anyone could provide on this topic.</div><div> </div><div>Laurent.</div>