aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_dial.c
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-08-05 23:45:32 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-08-05 23:45:32 +0000
commite44c06e6c5fd14be3f78dbcceb45eb61cc5379e1 (patch)
tree5cc17919fb6c8c46a38008cb1b2beafc9b98ccfe /apps/app_dial.c
parent008db88c6569e1c8049ac0d53edc06e4089bcd47 (diff)
Merged revisions 135799 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r135799 | murf | 2008-08-05 17:13:20 -0600 (Tue, 05 Aug 2008) | 34 lines (closes issue #12982) Reported by: bcnit Tested by: murf I discovered that also, in the previous bug fixes and changes, the cdr.conf 'unanswered' option is not being obeyed, so I fixed this. And, yes, there are two 'answer' times involved in this scenario, and I would agree with you, that the first answer time is the time that should appear in the CDR. (the second 'answer' time is the time that the bridge was begun). I made the necessary adjustments, recording the first answer time into the peer cdr, and then using that to override the bridge cdr's value. To get the 'unanswered' CDRs to appear, I purposely output them, using the dial cmd to mark them as DIALED (with a new flag), and outputting them if they bear that flag, and you are in the right mode. I also corrected one small mention of the Zap device to equally consider the dahdi device. I heavily tested 10-sec-wait macros in dial, and without the macro call; I tested hangups while the macro was running vs. letting the macro complete and the bridge form. Looks OK. Removed all the instrumentation and debug. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135821 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r--apps/app_dial.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 07cbf51ee..a03dfc0ab 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -672,6 +672,10 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in,
if (!peer) {
ast_verb(3, "%s answered %s\n", c->name, in->name);
peer = c;
+ if (peer->cdr) {
+ peer->cdr->answer = ast_tvnow();
+ peer->cdr->disposition = AST_CDR_ANSWERED;
+ }
ast_copy_flags64(peerflags, o,
OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER |
OPT_CALLEE_HANGUP | OPT_CALLER_HANGUP |