[asterisk-bugs] [Asterisk 0017042]: Create CDR queue so records are not lost when connectivity is lost

Asterisk Bug Tracker noreply at bugs.digium.com
Sat Jul 10 09:33:36 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17042 
====================================================================== 
Reported By:                lmadsen
Assigned To:                russell
====================================================================== 
Project:                    Asterisk
Issue ID:                   17042
Category:                   CDR/NewFeature
Reproducibility:            have not tried
Severity:                   feature
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
JIRA:                       SWP-1095 
Regression:                 No 
Reviewboard Link:           https://reviewboard.asterisk.org/r/531/ 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-03-16 13:12 CDT
Last Modified:              2010-07-10 09:33 CDT
====================================================================== 
Summary:                    Create CDR queue so records are not lost when
connectivity is lost
Description: 
The current CDR implementation in Asterisk does nothing to ensure that
every CDR record is successfully logged to configured logging destinations.
 A single attempt is made to log a record.  If for some reason it fails,
such as connectivity to a database being temporarily disrupted, then the
records are lost.  Obviously, this is very bad in many cases where these
records are used for things like billing.

The primary purpose behind these changes is to ensure that every record is
successfully logged to every destination that has been configured.  If
posting a CDR fails, it will be queued up for a retry later.

A new method has been added for backends to register callbacks for
receiving CDR records.  For CDR modules that allow posting CDRs to multiple
destinations, such as multiple DB tables or multiple text files, they now
make a registration into the core for every destination.  That way, the
success or failure of the attempt to each destination can be tracked.  All
backends that need it have been updated to operate this way.

main/cdr.c has also been updated to use more modern Asterisk APIs.  It has
also been updated with various other bits of code cleanup.

One side effect of these changes is that the code that previously
implemented the batch mode has been completely removed, as that code is now
deprecated.  The biggest benefit from batch mode was handling CDR posting
asynchronously from channel threads.  In this code, that is the only
behavior that exists.
====================================================================== 

---------------------------------------------------------------------- 
 (0124452) russell (administrator) - 2010-07-10 09:33
 https://issues.asterisk.org/view.php?id=17042#c124452 
---------------------------------------------------------------------- 
No, it's not ready for testing.  There rae some problems with reload that I
need to resolve. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-07-10 09:33 russell        Note Added: 0124452                          
======================================================================




More information about the asterisk-bugs mailing list