freeswitchforum.com
https://freeswitchforum.com/

CDR и формат времени
https://freeswitchforum.com/viewtopic.php?f=6&t=878
Страница 1 из 2

Автор:  mikkadim [ 07 ноя 2017 05:29 ]
Заголовок сообщения:  CDR и формат времени

Возможно ли в mod_cdr_csv или любом подобном сделать свой формат даты/времени?

Спасибо.

Автор:  error [ 07 ноя 2017 15:19 ]
Заголовок сообщения:  Re: CDR и формат времени

чем не устраивает формат времени который входит в состав бд?
как вариант можно использовать формат epoch, но думаю что вам не подойдет т.к. изобретение "нового велосипеда" лучше

Автор:  mikkadim [ 07 ноя 2017 17:48 ]
Заголовок сообщения:  Re: CDR и формат времени

error писал(а):
чем не устраивает формат времени который входит в состав бд?
как вариант можно использовать формат epoch, но думаю что вам не подойдет т.к. изобретение "нового велосипеда" лучше


В состав какой БД?
В cdr_csv дефолтный формат "2017-11-07 18:07:20" а хотелось бы "07.11.2017 18:07:20", причина - иногда парсер биллинга проприетарный/закрытый без возможности постравиваться под формат станции.

Спасибо.

Автор:  error [ 07 ноя 2017 20:02 ]
Заголовок сообщения:  Re: CDR и формат времени

ничего себе струя творчества с полей "проприетаршины"
никогда не видел чтобы на проприетаршине нельзя было подправить формат данных CDR для приема

в контексте диал-плана звонка вводите новые переменные год месяц день и время

в консоле fs_cli команда eval ${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}
чтобы было наглядно видно что и с чем едят, посмотрите в wiki freeswitch - strftime

далее новые переменные склеиваете cdr_csv по своему образу и подобию: ${день}.${месяц}.${год} ${время} в то место где должна быть дата-время

Автор:  mikkadim [ 08 ноя 2017 05:45 ]
Заголовок сообщения:  Re: CDR и формат времени

error писал(а):
ничего себе струя творчества с полей "проприетаршины"
никогда не видел чтобы на проприетаршине нельзя было подправить формат данных CDR для приема

в контексте диал-плана звонка вводите новые переменные год месяц день и время

в консоле fs_cli команда eval ${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}
чтобы было наглядно видно что и с чем едят, посмотрите в wiki freeswitch - strftime

далее новые переменные склеиваете cdr_csv по своему образу и подобию: ${день}.${месяц}.${год} ${время} в то место где должна быть дата-время


Хорошая идея, но тогда это время будет время не начала вызова, а окончания (время записи CDR)?

Спасибо.

Автор:  error [ 08 ноя 2017 10:58 ]
Заголовок сообщения:  Re: CDR и формат времени

интересна у вас "струя творчества"
по нормальному
1. если хопы звонок, ответ, конец измеряется в дата-время то промежутка длительности не должно быть
2. если только дата-время начала звонка то учитывается только длительность разговора
когда начинают мешать 1. и 2. получается не подъемная шляпа

покажите пример CDR записи которую полностью устроит проприетаршину
желательно с описанием полей

сдается мне что вас полностью устроит api_hangup_hook, т.е. по по завершению звонка будите формировать CDR которая вас устроит

Автор:  mikkadim [ 08 ноя 2017 17:59 ]
Заголовок сообщения:  Re: CDR и формат времени

error писал(а):
интересна у вас "струя творчества"
по нормальному
1. если хопы звонок, ответ, конец измеряется в дата-время то промежутка длительности не должно быть
2. если только дата-время начала звонка то учитывается только длительность разговора
когда начинают мешать 1. и 2. получается не подъемная шляпа

покажите пример CDR записи которую полностью устроит проприетаршину
желательно с описанием полей

сдается мне что вас полностью устроит api_hangup_hook, т.е. по по завершению звонка будите формировать CDR которая вас устроит


Да, api_hangup_hook сделал через:
Код:
<action application="export" data="nolocal:api_hangup_hook=lua cdr.lua"/>

но наткнулся на предостережение здесь: https://freeswitch.org/confluence/displ ... SWITCH/CDR
FreeSWITCH confluence писал(а):
DO NOT write CDR scripts in the hangup hook of your dialplan or ESL script as this will delay the termination of the voice thread and will not scale to large systems. Allow the voice thread to handle only voice; handle your back-end business processes separately, off-line. This approach works for all installations from small to huge.


Пример того что ждет "проприетарщина":

Дата начала звонка в формате день.месяц.год пробел время начала звонка в формате час:минута:секунда <табуляция> кол-во секунд табуляция номер с которого звонили 11 знаков (без плюса) <табуляция> еще раз номер с которого звонили 11 знаков (без плюса) <табуляция> номер на который позвонили 11 знаков (без плюса) <табуляция> еще раз на который номер звонили 11 знаков (без плюса) <табуляция> уникальный номер соеденительной линии входящей <табуляция> уникальный номер соеденительной линии исходящей <табуляция> число 49 <табуляция>повтор длительности вызова <табуляция>цифра ноль конец строки
ниже пример (знак <---> это табуляция):
Код:
08.11.2017 02:02:37<--->70<---->79161234567<--->79161234567<--->71231234567>71231234567>2.03.31>1.10.09>49<---->70<---->0

Автор:  Vlad1983 [ 08 ноя 2017 19:32 ]
Заголовок сообщения:  Re: CDR и формат времени

проще написать транслятор из xml_cdr в этот нужный формат чем через кучу костылей пытаться подогнать

Автор:  mikkadim [ 11 ноя 2017 01:03 ]
Заголовок сообщения:  Re: CDR и формат времени

Vlad1983 писал(а):
проще написать транслятор из xml_cdr в этот нужный формат чем через кучу костылей пытаться подогнать


транслятор не будет "онлайн"

Автор:  Vlad1983 [ 11 ноя 2017 09:52 ]
Заголовок сообщения:  Re: CDR и формат времени

ничем не обоснованное утверждение

может быть как в онлайне парсить тело HTTP-запроса, так и с небольшой задержкой, если парсить файлы с диска

Страница 1 из 2 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/