Reporting
N2ACD incorporates a broad reporting architecture directly into the product to simplify and enhance N2ACD production deployments.
N2ACD EDRs
EDRs are generated by the n2svcd
processes that run on each service node.
The overall EDR format is documented in the N2SVCD technical documentation.
EDR files are text based, easily parseable, and there will be one EDR record per telephony action.
When N2ACD is used with N-Squared’s SIP call control, SIP EDRs will be generated for telephony actions.
When N2ACD is used with N-Squared’s INAP call control, INAP EDRs will be generated for telephony actions.
To represent what ACD is doing at the logical level for the freephone service, there are ACD-specific EDRs in addition to these telephony EDRs.
ACD specific EDRs are documented on the ACD EDR Content page.
EDR Processing
EDRs are generated on INAP SCP and SIP-AS nodes. The N2ACD reporting subsystem transfers EDR files immediately to the N2ACD reporting server. EDRs from N2IVR nodes may also be transferred and incorporated into the processing pipeline as well. On this node, several actions are then taken with the EDRs as they arrive:
- The EDR file is compressed and stored, so it is available for downstreams systems to copy and store/process further.
- The EDR is processed by the Apache Nifi based data processing framework. Raw EDR data is loaded into the reporting database as “JSON” formatted EDR records. The JSON formatting allows for database-level querying using the postgres JSON query language (https://www.postgresql.org/docs/13/functions-json.html).
- The EDR is further processed a second time so that each ACD voice call ends with a single summarised EDR with relevant information derived from both the ACD EDR, and all associated telephoney EDRs.
EDRs are maintained using partitioned tables, and by default the database will keep three months of raw EDRs, and 2 years of summarised EDRs. The length of time of storage of EDR data is configurable.
EDR processing is done by NiFi dataflows.
Frontend Reports
N2ACD has a built-in subsystem for delivering reports to end-users (including external users). The following reports are available in the product:
- Announcement Usage - A general report listing all flows that use an announcement, based on the announcement name (or partial name).
- Scheduled Flows by Service Number - A general report listing all flows that use a termination number matching a given prefix.
- Termination Number Usage - A general report listing all flows that use a termination number matching a given prefix.
Reports based off of the reporting EDR database data include reports for service number, termination number and calling party detail.
On system install no reports will be automatically loaded. To load a report, use the manage_available_reports.pl command line tool.