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

custom cdr postgres

1 2>
Avatara of Arceny
Откуда: Bryansk, Russia
Сообщений: 46

custom cdr postgres

Требуется настроить складывание custom'ных полей CDR в постргресовскую базу данных. Как я понял стандартный cdr_pgsql этого не умеет. Нагуглил некую cdr_yada . Есть ли ещё способы решения?
2009-07-17 18:22

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: custom cdr postgres

Как раз недавно такую задачу делали, только на mysql.
Проблема была в том, что добавление записи в CDR происходит после завершения работы h exten'a.
Следовательно, прапдейтить custom field нельзя. Придумали задействовать временную таблицу и триггер на after insert на cdr. После добавления записи cdr триггер ищет записи во временной таблице с добавляемым uniqueid, и переносит себе, а там удаляет.
Мы использовали app_mysql, не помню, чтобы мне попадался app_psql, но думаю, что через func_odbc это можно будет сделать.
Успехов! И дай знать, как решишь задачу.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2009-07-18 16:47

Avatara of IgorG
Откуда: Омск
Сообщений: 478

Re: custom cdr postgres

В 1.6 (кажется с 1.6.1, возможно с 1.6.0) внедрена адаптивная работа с базой данных. Это касается как реалтайма, так и CDR. При записи переменной вида CDR(myfield) и наличии соответствующего поля в БД, переменная будет вставлена в базу. Наверное можно портировать эти изменения в 1.4
OpenSUSE 11.2 / Asterisk 1.6.x / Vicidial / UniMRCP
2009-07-18 16:52

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: custom cdr postgres

Игорь, а как 1.6 в реальном использовании? Можно переходить?
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2009-07-18 18:11

Avatara of IgorG
Откуда: Омск
Сообщений: 478

Re: custom cdr postgres

Нормально, уже использую. Но всегда прежде прикидываю используемые приложения и системы, оцениваю степень изменений по сравнению с 1.6, тестирую, а потом уже решаю использовать или нет. В общем это относится ко всем применениям всех версий. Кому-то и trunk может подходить для реального использования.
OpenSUSE 11.2 / Asterisk 1.6.x / Vicidial / UniMRCP
2009-07-19 09:55

Сообщений: 135

Re: custom cdr postgres

litnimax:

Как раз недавно такую задачу делали, только на mysql.
Проблема была в том, что добавление записи в CDR происходит после завершения работы h exten'a.
Следовательно, прапдейтить custom field нельзя.
Никогда не понимал как этот custom field можно использовать, и главное - зачем. У меня решено следующим образом:
CDR(мое_поле) сохраняется и в h extension и далее. Соответсвенно, во время dialplan flow кладем туда все, что надо, а затем сохраняем
посгресовский драйвер в 1.4 действительно не умеет нестандартные поля, за что и был пропатчен:
http://static.ipfw.ru/patch-cdr_pgsql.diff

В результате в конфиге пишем формат names и values в insert'e, например вот так:
http://asteriskpbx.ru/pastebin/28?format=raw
2009-07-21 11:39

Avatara of Arceny
Откуда: Bryansk, Russia
Сообщений: 46

Re: custom cdr postgres

Красота!

А я для этого написал perl'овый скриптик,который натравливается на Master.csv по типу
tail -f Master.csv | my_best_perl_parcer
Ну и при ротации лога естественно перезапускается
2009-07-21 17:08

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: custom cdr postgres

посгресовский драйвер в 1.4 действительно не умеет нестандартные поля, за что и был пропатчен:
http://static.ipfw.ru/patch-cdr_pgsql.diff
Почему не в bug.digium.com? Зажал со всем миром поделиться, редиска? Или ты лентяй? Выбирай одно из двух!

P.S. И кстати, насчет "добавление записи в CDR происходит после завершения работы h exten'a." там тоже можно было бы дискуссию поднят....
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2009-07-22 00:50

Сообщений: 243

Re: custom cdr postgres

В результате в конфиге пишем формат names и values в insert'e, например вот так:
http://asteriskpbx.ru/pastebin/28?format=raw
Заменил длинную строку, поломавшую форматирование.
2009-07-22 00:55

Avatara of IgorG
Откуда: Омск
Сообщений: 478

Re: custom cdr postgres

litnimax:

посгресовский драйвер в 1.4 действительно не умеет нестандартные поля, за что и был пропатчен:
http://static.ipfw.ru/patch-cdr_pgsql.diff
Почему не в bug.digium.com? Зажал со всем миром поделиться, редиска? Или ты лентяй? Выбирай одно из двух!

P.S. И кстати, насчет "добавление записи в CDR происходит после завершения работы h exten'a." там тоже можно было бы дискуссию поднят....
Я выберу третье: в 1.4 новые функции не принимаются, а в 1.6 нестандартные поля уже пишутся.

P.S. Кто-нибудь иногда смотрит в конфиги? Опция endbeforehexten кажется именно для этого и придумана (есть с незапамятных времён)
OpenSUSE 11.2 / Asterisk 1.6.x / Vicidial / UniMRCP
2009-07-22 05:33

1 2>
Добавить страницу в закладки:  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