VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

asterisk func_odbc + postgres

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
script
Сообщения: 12
Зарегистрирован: 25 янв 2023, 13:15

asterisk func_odbc + postgres

Сообщение script »

Всем привет,

подскажите по такому вопросу:

имеется postgres 14, asterisk 18
появилась необходимость в обновлении определенных данных через dialplan в таблице cdr (в определенных ситуациях)
добавил новое поле в таблицу cdr, прописал alias в cdr_adaptive_odbc.conf (само подключения к БД настроено через res_odbc.conf)
настроил func_odbc.conf
[PG]
writehandle=pbx-cdr
writesql=${${ARG1}}

прописал в dialplane для теста (при звонке на 123 не отвечаю 5 секунд и жду выполнения ODBC_PG с запросом на update)

Код: Выделить всё

...
exten => 123,1,Set(QUERY=update cdr set data=1 where uniqueid='${UNIQUEID}') -- без апострофов тоже проверял
 same => n,Dial(SIP/123,5)
 same => n,Set(ODBC_PG(QUERY)=${QUERY})
 same => n,Hangup()
...
в консоли ни одной ошибки, вижу запрос c данными uniqueid, а в postgres запрос на update не приходит - фигурирует только insert в cdr

варианты решения нашел (сделал иначе), но вот, а почему так не хочет обработать ? что-то нужно добавить / изменить ? или это все только для MySQL будет работать, я в документации не нашел инфы что с postgres это не будет работать (хотя все примеры только для MySQL) ?
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: asterisk func_odbc + postgres

Сообщение ded »

Update в незавершённую транзакцию CDR не получится. Чтобы реализовать свой сценарий вам нужно обратить внимание на другую таблицу - CEL - Call event logging, где изменён подход к CDR, как раз и записывается такая информация при трансферах, удержаниях, и пр.
script
Сообщения: 12
Зарегистрирован: 25 янв 2023, 13:15

Re: asterisk func_odbc + postgres

Сообщение script »

понял, спасибо
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH