Add option for logging congested calls as CONGESTION instead of NO_ANSWER in CDR

This patch adds a CDR option to cdr.conf that will allow CDR files to log calls ending
with congestion in a way that is unique from other unanswered calls.

(closes issue ASTERISK-14842)
Reported by: Alec Davis
Patches:
	cdr_congestion.diff.txt (License #5546) patch uploaded by Alec Davis


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jonathan Rose
2011-08-22 17:05:14 +00:00
parent 91d3a7d3a1
commit 901e275c4c
5 changed files with 72 additions and 2 deletions

View File

@@ -58,6 +58,7 @@ enum {
AST_CDR_FAILED = (1 << 1),
AST_CDR_BUSY = (1 << 2),
AST_CDR_ANSWERED = (1 << 3),
AST_CDR_CONGESTION = (1 << 4),
};
/*!
@@ -133,6 +134,7 @@ struct ast_cdr {
};
int ast_cdr_isset_unanswered(void);
int ast_cdr_isset_congestion(void);
void ast_cdr_getvar(struct ast_cdr *cdr, const char *name, char **ret, char *workspace, int workspacelen, int recur, int raw);
int ast_cdr_setvar(struct ast_cdr *cdr, const char *name, const char *value, int recur);
int ast_cdr_serialize_variables(struct ast_cdr *cdr, struct ast_str **buf, char delim, char sep, int recur);
@@ -266,6 +268,15 @@ void ast_cdr_answer(struct ast_cdr *cdr);
*/
extern void ast_cdr_noanswer(struct ast_cdr *cdr);
/*!
* \brief A call was set to congestion
* \param cdr the cdr you wish to associate with the call
* Markst he channel disposition as "CONGESTION"
* Will skip CDR's in chain with ANS_LOCK bit set. (see
* forkCDR() application
*/
extern void ast_cdr_congestion(struct ast_cdr *cdr);
/*!
* \brief Busy a call
* \param cdr the cdr you wish to associate with the call