mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 11:58:52 +00:00
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 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1768,7 +1768,16 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
||||
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) {
|
||||
ast_cdr_setanswer(bridge_cdr, peer_cdr->answer);
|
||||
ast_cdr_setdisposition(bridge_cdr, peer_cdr->disposition);
|
||||
if (chan_cdr) {
|
||||
|
Reference in New Issue
Block a user