% include( '/elements/header.html', 'Developer Documentation' ) %> <& /elements/menubar.html, 'Freeside Perl Modules' => $fsurl.'docs/library/FS.html', 'Complete Index' => $fsurl.'docs/library/index.html', &>
FS:cdr::acmepacket - CDR import definition based on Acme Packet Net-Net 4000
The Acme Packet NetNet 4000 S-CX6.4.0 generates an odd cdr log format:
- Each row in the CSV may be in one of many various formats, some of
them undocumented.
- Columns are inconsistently enclosed with " characters
- Quoted column values may, themselves, contain unescaped quote marks.
This breaks Text::CSV (well technically the FORMAT is broken, not
Text::CSV).
- A single call can generate multiple CDR records. The only records we're
interested in are billable calls:
- These are called "Stop Record CSV Placement" in Acme Packet documentation
- These will always contain a "2" as the first column value
- These rows may be 175 or 269 fields in length. It's unclear if the
undocumented 269 column rows are an intentional Acme Packet format, or
a bug in their switch. The extra columns are inserted at idx 115,
and can safely be disregarded.
NOTE ON DATE PARSING:
The Acme Packet manual doesn't describe it's date format in detail. The sample we were given contains only records from December. Dates are formatted like so: 15:54:56.868 PST DEC 18 2017 I gave my best guess how they will format the month text in the parser FS::cdr::_cdr_date_parse(). If this format doesn't import records on a particular month, check there.