CDR and Call Recording Service

The CDR (Call Detail Records) and Call Recording Service is a new, innovative service from Bluestone that provides real time access, via an SQL interface to the call records and (if appropriate) any call recordings. Having direct SQL access to the data:

  • Enables customers to build this service directly into custom applications that they can create, or
  • Allows the use of any one of a number of SQL browsers to either review the data or create local SQL queries.

You can also use the integrated CDR browser that is part of the configuration server interface. The diagram below shows a typical view. You can sort by numerous fields and locally interrogate the results by sorting on any column. You can even using a regular expression to search the entire table.

The Integrated CDR Browser

Download Recordings Directly from the Browser

The browser also detects when calls were recorded and creates a link directly to the MP3 file. Clicking on this link allows you to play the call directly from the browser.

The Data is Real Time and its Secure

The Data Sever that houses the MySQL database is removed from the soft switches handling the actual calls themselves. A daemon running on the switch updates the data server every minute. The switch talks to the data server, there is no communication in the other direction. In other words there is no mechanism for users of the service to access the soft switches themselves. In addition access to the tables for a particular company is confined to customer specified IP address, in addition to the usual username and password.

Database Organization

Each company is allocated two tables, one that stores the CDR records and the other that stores the call recordings as BLOBs (Binary Large OBject). The two tables share a common column that is allocated a uniqueID for each call. This "split-table" approach means the CDR records can be easily browsed without downloading the huge amounts of data that are potentially contained in the call recordings.

The SQL for the CDR tables is:

CREATE TABLE `cdr` (
calldate datetime NOT NULL default '0000-00-00 00:00:00',
clid varchar(40) NOT NULL default '',
src varchar(40) NOT NULL default '',
dst varchar(40) NOT NULL default '',
duration int(11) NOT NULL default '0',
billsec int(11) NOT NULL default '0',
direction varchar(10) NOT NULL default 'in',
record varchar(10) NOT NULL default 'no',
recxfr varchar(10) NOT NULL default 'no',
app varchar(10) NOT NULL default '',
uniqueid char(20) NOT NULL PRIMARY KEY
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

The SQL for the REC table is:

CREATE TABLE rec (
uniqueid char(20) NOT NULL PRIMARY KEY,
rec mediumblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Bottom Line

The bottom line with this service is you can do anything you want. Its a real time SQL connection to ALL of the information you need. Its secure, its fast, its the most flexible solution on the market today.