[svn-commits] russell: trunk r203376 - in /trunk: ./ main/features.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Jun 25 16:05:05 CDT 2009


Author: russell
Date: Thu Jun 25 16:04:55 2009
New Revision: 203376

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=203376
Log:
Merged revisions 203375 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r203375 | russell | 2009-06-25 16:02:18 -0500 (Thu, 25 Jun 2009) | 9 lines
  
  Fix a case where CDR answer time could be before the start time involving parking.
  
  (closes issue #13794)
  Reported by: davidw
  Patches:
        13794.patch uploaded by murf (license 17)
        13794.patch.160 uploaded by murf (license 17)
  Tested by: murf, dbrooks
........

Modified:
    trunk/   (props changed)
    trunk/main/features.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/main/features.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/main/features.c?view=diff&rev=203376&r1=203375&r2=203376
==============================================================================
--- trunk/main/features.c (original)
+++ trunk/main/features.c Thu Jun 25 16:04:55 2009
@@ -2702,7 +2702,16 @@
 		   before the macro started playing. To the phone system,
 		   this is billable time for the call, even tho the caller
 		   hears nothing but ringing while the macro does its thing. */
-		if (peer_cdr && !ast_tvzero(peer_cdr->answer)) {
+
+		/* Another case where the peer cdr's time will be set, is when
+		   A self-parks by pickup up phone and dialing 700, then B
+		   picks up A by dialing its parking slot; there may be more 
+		   practical paths that get the same result, tho... in which
+		   case you get the previous answer time from the Park... which
+		   is before the bridge's start time, so I added in the 
+		   tvcmp check to the if below */
+
+		if (peer_cdr && !ast_tvzero(peer_cdr->answer) && ast_tvcmp(peer->cdr->answer, bridge_cdr->start) >= 0) {
 			bridge_cdr->answer = peer_cdr->answer;
 			bridge_cdr->disposition = peer_cdr->disposition;
 			if (chan_cdr) {




More information about the svn-commits mailing list