Як вирахувати різницю двох часів у номерному плані Астеріск

Asterisk PBXЩоб вирахувати різницю між двома часами у номерному плані Астеріск, спочатку необхідно конвертувати час у формат Лінукс епохи. Це можна зробити за допомогою функції Астеріск STRFTIME. Рядок у номерному плані, що зконвертує час у формат Лінукс епохи:

Set(time=${STRFTIME(${EPOCH},,%s)})

У наступному прикладі маємо дві змінні : starttime та endtime , задані з інтервалом часу 10 секунд. Далі вираховується різниця між часами й зберігається у змінну diff. У даному прикладі змінна diff буде завжди дорівнювати 10:

exten => 1000,1,Set(starttime=${STRFTIME(${EPOCH},,%s)})

same => n,Wait(10)

same => n,Set(endtime=${STRFTIME(${EPOCH},,%s)})

same => n,Set(diff=$[${endtime} -${starttime}])

same => n,Hangup()