The CDRfix4/5/6 omnibus cdr fixes.

(closes issue #10927)
Reported by: murf
Tested by: murf, deeperror

(closes issue #12907)
Reported by: falves11
Tested by: murf, falves11


(closes issue #11849)
Reported by: greyvoip

As to 11849, I think these changes fix the core problems 
brought up in that bug, but perhaps not the more global
problems created by the limitations of CDR's themselves
not being oriented around transfers.

Reopen if necc, but bug reports are not the best
medium for enhancement discussions. We need to start
a second-generation CDR standardization effort to cover
transfers.

(closes issue #11093)
Reported by: rossbeer
Tested by: greyvoip, murf




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@127663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2008-07-03 00:16:25 +00:00
parent 27a3ead8a7
commit e9f5152eba
7 changed files with 135 additions and 216 deletions

View File

@@ -24,14 +24,20 @@
#define _ASTERISK_CDR_H
#include <sys/time.h>
/*! Flags */
#define AST_CDR_FLAG_KEEP_VARS (1 << 0)
#define AST_CDR_FLAG_POSTED (1 << 1)
#define AST_CDR_FLAG_LOCKED (1 << 2)
#define AST_CDR_FLAG_CHILD (1 << 3)
#define AST_CDR_FLAG_POST_DISABLED (1 << 4)
#define AST_CDR_FLAG_ANSLOCKED (1 << 5)
#define AST_CDR_FLAG_DONT_TOUCH (1 << 6)
#define AST_CDR_FLAG_BRIDGED (1 << 5)
#define AST_CDR_FLAG_MAIN (1 << 6)
#define AST_CDR_FLAG_ENABLE (1 << 7)
#define AST_CDR_FLAG_ANSLOCKED (1 << 8)
#define AST_CDR_FLAG_DONT_TOUCH (1 << 9)
/*! Disposition */
#define AST_CDR_NULL 0
#define AST_CDR_FAILED (1 << 0)
#define AST_CDR_BUSY (1 << 1)
@@ -282,6 +288,14 @@ char *ast_cdr_disp2str(int disposition);
*/
void ast_cdr_reset(struct ast_cdr *cdr, struct ast_flags *flags);
/*! Reset the detail record times, flags */
/*!
* \param cdr which cdr to act upon
* \param flags |AST_CDR_FLAG_POSTED whether or not to post the cdr first before resetting it
* |AST_CDR_FLAG_LOCKED whether or not to reset locked CDR's
*/
void ast_cdr_specialized_reset(struct ast_cdr *cdr, struct ast_flags *flags);
/*! Flags to a string */
/*!
* \param flags binary flag