Discriminatory CDR data

Hi all,

I’ve searched the forums and archives for info on how to turn CDR off for certain SIP accounts and various criteria but have not found it. I’m hoping this is the correct forum for my question:

We’re running Asterisk 1.4.22 in a Debian environment with a 75+ phone call center (almost 100% outgoing) through 3- PRI lines for outgoing and 3- POTS for incoming. CDR data is recorded to CSV and stored in MySQL. We use SIP for both softphones and hard phones; outgoing calls for customers are placed almost exclusively from softphones.

Everything works pretty well (except for the usual, known bugs in 1.4.22) and we get good performance out of our setup. Here’s my problem: I know it sounds odd but one of our proposed projects involves a customer who wants us NOT to record certain call data but have other call data at-hand for billing. Specifically, thanks to new privacy reg’s, they do not want us recording outgoing call phone numbers for their project to CDR. We still need to maintain CDR data in full for the rest of our customers but not this one.

Is there a way to NOT record certain fields of CDR data based on the SIP account of an outgoing call? What I really need is a way to do this on-the-fly without interrupting the data we collect for every other call placed.

TIA and sorry my first post to this forum has to be a Q.



I would point out to them that internally to the system you need the called number so that the call can be billed. You could supply the CDR data to them from the mysql and not include the called number i the query.

I think they need to be informed that what is internal to systems is seperate to what is supplied. I would even hazard a guess but the same regs will impose on you to keep a record of all calls you make and to what number . this seems like a catch 22.

Basicly I would just use a query without the called number for them


Hmmm… Telling the customer, “Sorry, Charile” isn’t an option. They’re in medical service and a governmental agency to boot. Plus, we kind of want thier money.

Then again, I’m with a governmental agency also – a state university – so they’re not the only ones with odd rules to follow.

Since I’m dealing with two governmental bureaucracies, it is possible this is a designed Catch-22. I have to deal with it as the IT guy and find a solution which works for all involved parties – or explain why “my” phone system cannot accomodate the client

Anyone have any ideas as to how I can tell CDR not to record certain data (number dialed) for a given SIP account but to record the data for any other SIP account?


Would it be sufficient for you to delete the CDR at the end of the call? You can use dead agi to run a script that deletes the record associated with the call. In this way the CDR data becomes somewhat transitory. This would work with your MySQL database but not the CSV, so you would have to ditch CSV. If there are data elements in CSV that you want in your MySQL CDR, you could write it to the userfield.

Anyone tried using the nocdr command in the dialplan? If this works the way it should, it would solve my issue.