mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
app_queue: fix Calculate talktime when is first call answered
Fix calculate of average time for talktime is wrong when is completed the first call beacuse the time for talked would be that call. ASTERISK-25800 #close Change-Id: I94f79028935913cd9174b090b52bb300b91b9492
This commit is contained in:
@@ -5441,9 +5441,13 @@ static int update_queue(struct call_queue *q, struct member *member, int callcom
|
||||
if (callcompletedinsl) {
|
||||
q->callscompletedinsl++;
|
||||
}
|
||||
/* Calculate talktime using the same exponential average as holdtime code*/
|
||||
oldtalktime = q->talktime;
|
||||
q->talktime = (((oldtalktime << 2) - oldtalktime) + newtalktime) >> 2;
|
||||
if (q->callscompletedinsl == 1) {
|
||||
q->talktime = newtalktime;
|
||||
} else {
|
||||
/* Calculate talktime using the same exponential average as holdtime code */
|
||||
oldtalktime = q->talktime;
|
||||
q->talktime = (((oldtalktime << 2) - oldtalktime) + newtalktime) >> 2;
|
||||
}
|
||||
ao2_unlock(q);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user