Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / [pgsql] CDR и UTC

[pgsql] CDR и UTC

net-misc/asterisk-1.6.2.13-r1
Сообщений: 14

[pgsql] CDR и UTC

Здравствуйте.

Настраиваю CDR для сабжа. Включен драйвер pgsql:
# cat cdr_pgsql.conf

[global]
hostname=server
port=5432
dbname=database
password=password
user=user
table=cdrs ;SQL table where CDRs will be inserted


# cat cdr.conf

[general]
enable=yes
batch=yes
size=10
time=30
scheduleronly=yes
safeshutdown=yes
unanswered=yes

[pgsql]
usegmtime=yes ; log date/time in GMT. Default is "no"
loguniqueid=yes ; log uniqueid. Default is "no"
loguserfield=yes ; log user field. Default is "no"


Всё работает как надо, за исключением того, что несмотря на usegmtime=yes, система пишет локальное время. Я специально проверял для csv-бекэнда, там реакция была какой надо: при yes писалось время в GMT, при no — локальное. Что с pgslq? Он не умеет этой фишки? Почему-то кажется, что таки не умеет, т.к. на voip-info не встречал такой настройки для pgsql, только для ODBC, который использовать не хочу. Это связано с определёнными трудностями.

Есть ли возможность заставить pgsql-драйвер писать время в GMT?
2010-10-04 16:14

Сообщений: 14

Re: [pgsql] CDR и UTC

Порылся в исходниках. Итак, в asterisk-1.6.2.13/cdr/cdr_csv.c встречается
ast_localtime(&when, &tm, usegmtime ? "GMT" : NULL);
, тогда как в asterisk-1.6.2.13/cdr/cdr_pgsql.c:
ast_localtime(&cdr->start, &tm, NULL);


ast_localtime(&cdr->start, &tm, NULL);

ast_localtime(&cdr->end, &tm, NULL);


В cdr_odbc.c ещё один вариант:
ast_localtime(&cdr->start, &tm, ast_test_flag(&config, CONFIG_USEGMTIME) ? "GMT" : NULL);


С горечью приходится признать, что эта фигня просто не сделана для pgsql. Самому ковырять тут боязно: неизвестно, откуда приходят данные, где и как они проверяются на валидность и тд. Получать глюки на ровном месте неохота.
2010-10-04 17:20

Откуда: AST
Сообщений: 280

Re: [pgsql] CDR и UTC

я думаю те сюда : https://issues.asterisk.org
за пару недель будет если активно будешь принимать участие.
2010-10-04 19:50

Сообщений: 2

Re: [pgsql] CDR и UTC

Можешь также в postgresql.conf поиграться параметром timezone.

А также для calldate вместо timestamp with time zone поставить timestamp without time zone.
А лучше всего используй постгрес через ODBC.

З.Ы. И вообще, у меня сложилось впечатление, что для разработчиков * постгрес вроде гадкого утенка - многих вкусностей чисто для него нет! А для MySQL они есть (например логи очереди в базу в 1.6.x).

2010-10-04 21:32

Сообщений: 14

Re: [pgsql] CDR и UTC

Kolobok:

А для MySQL они есть (например логи очереди в базу в 1.6.x).
Вы имеете в виду это http://www.voip-info.org/wiki/view/Asterisk+RealTime+Queue и queue_members?

Я ещё очереди в БД не складывал, но вроде бы для Postgres находил описания таблиц. Посмотрю, конечно, ещё: работает или нет.
2010-10-05 12:11

Откуда: Зеленоград
Сообщений: 446

Re: [pgsql] CDR и UTC

Речь идет не про описания очередей, а про логи. Аналог /var/log/asterisk/queue_log.
2010-10-05 12:14

Сообщений: 2

Re: [pgsql] CDR и UTC

Glukinho:

Речь идет не про описания очередей, а про логи. Аналог /var/log/asterisk/queue_log.
Я как раз это и имел в виду!
Логи очередей вообще работают с базой только с MySQL.
Я думаю, еще проще простого сделать тоже самое для постгреса.
2010-10-05 13:57

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru