Я создал диалплан, который принимает вызов и сохранить время начала и окончания вызова. Я использовал ${CDR(start)}
, чтобы получить время начала вызова, но когда я использовал ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)}
вместо этого он дал мне разницу в 10 или более секунд по сравнению с ${CDR(start)}
.part моего кода:
same => n,NoOp(------${CDR(start)}----${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)}--)
выше линии второй линии в мой диалплан. Из документов ${CDR(start)}
дается время начала звонка, и ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)}
дает текущее время. Но я помещаю линию в качестве второй строки моего диалплана, поэтому его почти начало разговора так что и ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)}
должны быть примерно равны, но результат был как
NoOp(------2015-10-25 12:30:10----2015-10-25 12:30:21--)
Почему так много различий в обоих? а также я не знаю, почему значение ${CDR(end)}
пуст.
Благодаря
У меня есть команда набора перед кодом, который я разместил, и я получил '$ {CDR (start)}', но вы говорите: «Это время начала вызова, когда был выполнен набор ( – codegasmer
). Вместо 'dial()' он также может быть входящим вызовом или некоторым внутренним вызовом (например, из AMI или файла вызова). Во всяком случае, это время начала текущего вызова. – sisoft