BroadWorks CDR Decoder

If you use BroadWorks with CSV CDRs, you're probably accustomed to reading these:

00255943365CF3FC1CF15820160404194616.3061-040000,ECG,Normal,+12296543428,+19125293400,Originating,+12296543428,Public,+12296543409,20160404194616.306,1-040000,Yes,20160404194624.106,20160404194650.684,016,VoIP,,3409,private,,,,local,Group,,PCMU/8000,,fd390cb4-eb6d3d15-f8fb7fd2@,,,,Hermes Communications,,,,,,,,,,n,,,17552886061:0,17552886091:0,Ordinary,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Chris Brice,Public,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33.292,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Group,,,,,,,,,,,,,,,,+19125293400,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Primary Device,33.292,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,PolycomSoundPointIP-SPIP_650-UA/,,,,,,,,,,,,,,,,,,,,,,,,,,10626401:2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Should you tire of counting commas, here's a CDR decoder meant to run on Mac or Linux systems with gawk: bwcdrdecoder script

With it, you can get output like this:

bwcdrdecoder was made to understand BroadWorks Release 21 CDRs; and generally older CDRs as well.

How To Make bwcdrdecoder Your Own

  1. Download bwcdrdecoder script
  2. Save it as "bwcdrdecoder" someplace in your path, or in your home directory, ~
  3. Change the permission on the file to allow execution, e.g.,
    chmod o+x ~/bwcdrdecoder
  4. Execute it to read in some BroadWorks CSV CDRs, e.g.,
    ~/bwcdrdecoder BW-CDR-20160501000000-2-5CF3FC1CF158-001455.csv


If you don't have GNU awk "gawk" installed, you're probably using Mac OS X, and you should install it. I recommend using "brew"

If gawk is installed in another location besides /usr/local/bin/gawk, then you'll need to edit bwcdrdecoder to change the first line. For example, if bwcdrdecoder is in /usr/bin, you can change the first line to reflect that.