Case Study - Contact Center as a Service


A pioneer in both cloud-based contact center and Omni-channel contact center technology.  This Company provides contact center solutions for some of the biggest brands in finance, technology and retail.


The Company’s ability to offer an omni-channel solution created significant billing challenges. They were not able to find a solution capable of supporting their unique billing requirements, therefore, the Company built and managed an in-house billing solution.  Over time this solution required more and more resources and became too difficult to manage and scale. 


BluLogix identified the primary complexity of the project to be one of mediating more than 15 sources of usage data.


Blulogix Mediation was used to load and process all portions/legs of a CC event for producing billable CDRs. This process was setup and configured in three stages. Below is a high-level description for this process. The objective behind this approach was to eliminate or, at least, minimize the effort that would be required to onboard new customers, regardless of the pricing, sequence of events or options.

Stage 1: File/Event loading.

Source CDRs (Raw event record) was loaded from the following sources. Multiple loading methods, formats and/or sources were supported in this stage.

SBC records: One type
ACD records: two types
IVR records: (TT, NLU and TTS)/ two types
ACD login records: two types
Multi-channel/Metaphor records: two types
WFM records: Aspect and Teleopti
Dialers: 3 types
Carriers: Multiple types (around 5)

Stage 2: Aggregation and reconciliation.

Records were identified using Unique Call Identifier (UCI). Rules for “START” record (first record in CC event) and “STOP” record (last record in in CC event) were identified. All records with the same UCI were coupled in One Aggregated Call Event record (ACE). Interim records were stored in a transit table until START/STOP records are received.

Carrier CDRs were loaded separately, but UCI was added for each carrier record, if an association was established. Customer id was also identified and added to ACE during this process. Data was normalized, formatted and reconciled between multiple legs/records to capture complete and consistent information.

Stage 3: Billable CDR extraction.

Multiple billable CDRs were extracted from each ACE based on the type of usage and charging policy (rate plan). Each billable CDR contained information needed for rating including: UCI, internal id, customer id, date and timestamp, type of usage, duration/volume, etc. Extracted CDRs were pushed into pre-rating CDR table (internal name is EDR_RAW) to be rated and applied to relevant customer accounts.

Unique fields

Unique fields were loaded as one of two categories:
• Pass-through custom fields that has no impact on rating
• Rating attribute, in this case it will go through the normalization, formatting and reconciliation process

Failed/Expired Event Records

Failed source event records (source CDRs) that failed during the mediation process were moved into a failure event table (MED_RAW_CDR_FAILURE). This table stores two categories of failed source event records
• Event records with missing data from the source file loading process
• Expired transient event records that are loaded and linked to specific UCI but waiting for other related & mandatory event records (other legs of the same UCI). These type of event records will only go to failure if the mediation is configured to be sent to failure.

An error message indicating the reason for failure is added to each failed records. Failed events can be viewed at any time. Once the cause of failure has been fixed, selected records can be reprocessed for mediation again. Event records can also be purged or deleted.


Combining BluLogix professional services expertise and it powerful rating and mediation capabilities enabled the Company to significantly reduce resource requirements, time and errors through improved automation and rating while re-aligning many legacy processes to better align with a more complete and accurate processing of invoices.