[asterisk-commits] murf: branch 1.4 r142474 - /branches/1.4/res/res_features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Sep 10 16:58:17 CDT 2008


Author: murf
Date: Wed Sep 10 16:58:17 2008
New Revision: 142474

URL: http://svn.digium.com/view/asterisk?view=rev&rev=142474
Log:
(closes issue #12318)
Reported by: krtorio

I made a small change to the code that handles local channel situations.
In that code, I copy the answer time from the peer cdr, to the bridge_cdr,
but I wasn't also copying the disposition from the peer cdr.

So, Now I copy the disposition, and I've tested against 
these cases:

1. phone 1 never answers the phone; no cdr is generated at all.
   this should show up as a manager command failure or something.

2. phone 2 never answers. CDR is generated, says NO ANSWER

3. phone 2 is busy. CDR is generated, says BUSY

4. phone 2 answers: CDR is generated, times are correct; disposition
   is ANSWERED, which is correct. The start time is the time that
   the manager dialed the first phone. The answer time is the time
   the second phone picks up.

I purposely left the cid and src fields blank; since this call really
originates from the manager, there is no 'easy' data to put in these
fields. If you feel strongly that these fields should be filled in,
re-open this bug and I'll dig further.




Modified:
    branches/1.4/res/res_features.c

Modified: branches/1.4/res/res_features.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/res/res_features.c?view=diff&rev=142474&r1=142473&r2=142474
==============================================================================
--- branches/1.4/res/res_features.c (original)
+++ branches/1.4/res/res_features.c Wed Sep 10 16:58:17 2008
@@ -1491,6 +1491,8 @@
 		if (peer->cdr && !ast_tvzero(peer->cdr->answer)) {
 			bridge_cdr->answer = peer->cdr->answer;
 			chan->cdr->answer = peer->cdr->answer;
+			bridge_cdr->disposition = peer->cdr->disposition;
+			chan->cdr->disposition = peer->cdr->disposition;
 		} else {
 			ast_cdr_answer(bridge_cdr);
 			ast_cdr_answer(chan->cdr); /* for the sake of cli status checks */




More information about the asterisk-commits mailing list