Per poter recitare il tempo stimato di attesa in coda è necessario effettuare i seguenti step.
Aggiunta di un evento di init in cui viene definita la funzione che calcola il valore del tempo stimato di attesa in coda:
<event type="init"> <body> <eval type="code"><![CDATA[ function GetEstimatedWaitTime() { if (queue.AgentsLoggedIn == 0) { return 0; } return Math.ceil((call.Position * (queue.AvgOnlineJobDur + queue.AvgOfflineTelJobDur)) / queue.AgentsLoggedIn); } ]]></eval> </body> </event>
Esempio di recitazione periodica di posizione e di tempo stimato attesa in coda (solo se il valore ritornato dalla funzione è maggiore di 0):
<event type="queued"> <body> <loop times="forever"> <playwait>$WaitMusic.wav</playwait> <eval type="code"><![CDATA[ positionstr = "La sua posizione in coda é la " + call.Position; call.PlayWait(positionstr); waittime = GetEstimatedWaitTime(); if (waittime > 0) { waittimestr = "Il tempo stimato di attesa è di " + waittime + " secondi"; call.PlayWait(waittimestr); } ]]></eval> </loop> </body> </event>
❗ Nella definizione dello scalar AvgOnlineJobDur manca la configurazione dell’età massima in secondi dei campioni da considerare per il calcolo della media, deve essere allineato a quanto configurato nello scalar AvgOfflineTelJobDur.
Gli scalar essendo di categoria inbound non hanno problemi di visibilità da parte dei siprpin, dove vengono eseguiti gli script di accodamento.