M4 CDR Disputes

From Kolmisoft Wiki
Revision as of 10:57, 4 April 2017 by Zilvinas (talk | contribs)
Jump to navigationJump to search

What is a CDR Dispute?

A telecom business often faces various disputes over the inconsistency of data between the Call Detail Records (CDR). Such data deviations include Call Price or Duration mismatches and is usually pointed out by the telecom's Suppliers/Providers or Clients. Such a phenomenon can be a result of a variety of reasons including different billing systems.

What is a CDR Dispute resolution tool provided by M2?

The CDR Comparison Tool automatically analyzes the Call Detail Records provided by the Clients or the Suppliers/Providers. The mechanism compares the Local CDRs present in the Database with the imported external CDRs and highlights the discrepancies. The result is a generated and comprehensive report.

Typical CDR comparison scenario

Preparations

First a CDR file (CSV) from the Client or the Supplier/Provider involved in a Dispute has to be retrieved. The CSV file for the current version of the CDR comparison tool should contain the following information:

Table 1. Structure of the CSV file required for the comparison
Source* Destination* Start Time* Disposition* Billsec* Price* Answer Time End Time
Number Number Datetime ANSWERED|NO ANSWER|BUSY|FAILED Integer Number Datetime Datetime
... ... ... ... ... ... ... ...

NOTES:

  • Columns marked with an asterisk (*) are required.
  • Order of the CSV columns is not important.
  • In order to work between the different billing systems correctly the CSV should be as generic as possible i.e. Source and Destination should be simple numbers.
  • Make sure the prices in the CSV file are precise enough when exported. Suggested precision is 8 decimal spaces.
  • The file should contain a sufficient amount of CDRs in order to resolve a Dispute.

Finally a CDR import template needs to be created in order to correctly import the retrieved CSV file. More on how to create a template can be found here CDR Import Templates.

Creating a new Dispute

A Dispute can be created by opening the BILLING > CDR > Disputes page from the System Admin's menu.

M2 CDR Disputes menu.png

Shortly after, a list with the information about the Disputes is presented indicating the Client or the Supplier/Provider involved, the period of the CDRs compared, the differences between the imported external CDRs and the corresponding local ones, and the amounts of the compared local and external CDRs.

M2 CDR Disputes list.png

NOTE: Once completed a Dispute cannot be edited thus a comprehensive tooltip with a detailed Dispute information is provided.
By clicking the ADD NEW button a Dispute creation form is opened:

M2 CDR Dispute from.png

The form provides the options required by the Dispute:

  • Direction determines whether the Dispute involves an Originator or a Terminator (Supplier/Provider).
  • User selector depending on the Dispute direction. NOTE: Only Users with Connection Points can be selected here.
  • Periods Start/End determine the time interval which the Dispute is organized for.
  • Save as Template allows the sections Dispute Options and Tolerance Options to be saved for later reuse.
  • Template name allows to set the name for the Template. NOTE: Template name must be unique in the system and it cannot be edited.
  • Compare last SRC/DST digits determines how many last digits of a Source/Destination Number are compared.
  • External Currency determines the Currency of the external CDRs.
  • Exchange rate determines the exchange rate of the external CDRs. NOTE: This field is automatically computed depending on the selected Currency and the exchange rate information present in the system. However, it can be edited when necessary.
  • Billsec tolerance determines how much the Billsec shift between the two CDRs is tolerated (in seconds).
  • Price tolerance determines how much the Price shift between the two CDRs is tolerated (in Currency).


By clicking the SAVE AND PROCEED TO CDR IMPORT button the Dispute is saved and the CDR import page is opened. If there were any errors during the saving procedure, messages are displayed.
NOTE: If the import procedure (described below) is interrupted or canceled the Dispute remains editable and it is possible to perform the CDR import later when desired. Edit form is adjusted with two additional buttons IMPORT CDR and UPDATE:

M2 CDR Dispute edit form.png

Importing External CDR

After successfully saving a Dispute or from the edit from (as described above) the the next step of the CDR Dispute is the CDR Import where the external CDR file is uploaded:

M2 CDR Dispute apply Template.png

NOTE: before proceeding make sure to read the Preparations section above.
When the system is done parsing the file it is necessary to confirm whether the template is applied correctly:

M2 CDR Dispute confirm columns.png

Ater the successful import the Disputes list rendered once again indicating the the Dispute is in progress. The task is run in the background thus it might take some time to be put in a queue and ran. The task progress can be monitored in the Background Tasks page.
NOTE: When in progress a Dispute can neither be edited nor deleted.

Comparison Logic

  • Firstly, the comparison module retrieves the first CDR Dispute present in a Background Tasks queue.
  • Due to the Dispute settings (such as Periods, Direction, User etc.) the local and external CDRs are retrieved from the Database.
  • Next, the time shift between the local and external CDRs is determined. It is done by finding pairs of CDRs by Source and Destination Numbers and by checking the Call Start Time difference in seconds. If a difference that is dominating more than 52% of the CDRs being compared is found, it is elected to be the time shift between the local and external CDRs.
  • Next, CDRs are compared in pairs. Each pair is compared only when the Source and Destination Numbers together with the Call Start Time + time shift are exactly matched. Else the CDR pair is non-matching. NOTE: CDRs that don't follow the time shift pattern will be interpreted as having no match.
  • Finally, a report is generated based on the comparison results.