[asterisk-bugs] [Asterisk 0016422]: Asterisk 1.6.2: CDR is not produced with .call files
Asterisk Bug Tracker
noreply at bugs.digium.com
Thu Dec 17 09:26:32 CST 2009
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=16422
======================================================================
Reported By: mmoran69
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 16422
Category: CDR/General
Reproducibility: always
Severity: minor
Priority: normal
Status: acknowledged
Asterisk Version: SVN
JIRA: SWP-513
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): trunk
SVN Revision (number only!): 227580
Request Review:
======================================================================
Date Submitted: 2009-12-09 18:18 CST
Last Modified: 2009-12-17 09:26 CST
======================================================================
Summary: Asterisk 1.6.2: CDR is not produced with .call files
Description:
Asterisk 1.6.2 is not generating CDR for .call files. Looking
into the code I do not see code similar to patch from
https://issues.asterisk.org/view.php?id=16222 applied.
Applying the same logic in channel.c/__ast_request_and_dial() as follows:
@@ -4432,12 +4432,24 @@
break;
case AST_CONTROL_BUSY:
- case AST_CONTROL_CONGESTION:
- case AST_CONTROL_ANSWER:
+ ast_cdr_busy(chan->cdr);
*outstate = f->subclass.integer;
- timeout = 0; /* trick
to force exit from the while() */
+ timeout = 0;
break;
+ case AST_CONTROL_CONGESTION:
+ ast_cdr_failed(chan->cdr);
+ *outstate = f->subclass.integer;
+ timeout = 0;
+ break;
+
+ case AST_CONTROL_ANSWER:
+ ast_cdr_answer(chan->cdr);
+ *outstate = f->subclass.integer;
+ timeout = 0; /* trick
to force exit from the while() */
+
/* Ignore these */
case AST_CONTROL_PROGRESS:
case AST_CONTROL_PROCEEDING:
.. but still wasn't working... So, looking further, I found this in
ast_hangup():
02210 if (chan->cdr) { /* End the CDR if it hasn't already */
02211 ast_cdr_end(chan->cdr);
02212 cdr = chan->cdr;
02213 chan->cdr = NULL;
02214 }
Then this is never true and the CDR is not detached/posted:
02245 if (chan->cdr && !ast_test_flag(chan->cdr,
AST_CDR_FLAG_BRIDGED) &&
02246 !ast_test_flag(chan->cdr, AST_CDR_FLAG_POST_DISABLED) &&
02247 (chan->cdr->disposition != AST_CDR_NULL ||
ast_test_flag(chan->cdr, AST_CDR_FLAG_DIALED))) {
02248 ast_channel_lock(chan);
02249
02250 ast_cdr_end(chan->cdr);
02251 ast_cdr_detach(chan->cdr);
02252 chan->cdr = NULL;
02253 ast_channel_unlock(chan);
02254 }
I removed the first piece and then it works.
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
has duplicate 0016450 .call file does not create cdr
======================================================================
----------------------------------------------------------------------
(0115379) lmadsen (administrator) - 2009-12-17 09:26
https://issues.asterisk.org/view.php?id=16422#c115379
----------------------------------------------------------------------
Shouldn't need to install the patch into 1.6.1.12-rc1 as it should already
be merged there.
Perhaps there is another issue here that is affecting the calls. If you're
experiencing this issue, please make sure you're running the latest set of
release candidates (1.6.2.0-rc8 or 1.6.1.12-rc1), and then provide the
console output, along with debug information when reproducing this issue.
Also provide any additional information which may be relevant such as
configuration files, etc...
Issue History
Date Modified Username Field Change
======================================================================
2009-12-17 09:26 lmadsen Note Added: 0115379
======================================================================
More information about the asterisk-bugs
mailing list