Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Queue log => CURL

0

Доброго времени суток!

FreePBX 13.0.195.18

Asterisk 13.17.0

Есть необходимость передавать queue_log через curl на сторонний сервер для дальнейшей обработки. В таблицу mysql пишется без проблем:

extconfig.conf

[settings]
queue_log => mysql,general

Пробуем завернуть на CURL, как-то так:

[settings]
#queue_log => mysql,general
queue_log => curl,https://my.server.com/testcurl

Не работает. Модуль есть:

dahua-security*CLI> module show like res_config_curl
Module                         Description                              Use Count  Status      Support Level
res_config_curl.so             Realtime Curl configuration              0          Running              core
1 modules loaded

Подскажите, пожалуйста, это возможно? В какую сторону копать?

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

спросил 2018-10-31 23:39:22 +0400

rukit Gravatar rukit
75 8 5

1 Ответ

1

возможно.

платите 50 долларов фрилансеру, вам пишут простой скрипт, который в цикле проверяет, не появилися ли в базе новые строчки и отправляет их вам по curl

Ну это раз вы сами не можете.

или пишите простой odbc драйвер, который умеет только insert и делает curl запрос.

realtime curl тоже работает, но там надо писать фактически драйвер в веб интерфейсе. в частности, вам надо начать с require запроса. и да, все запросы - POST

вот смотрите

pro-sip*CLI> realtime  store queue_log test test
Failed to store record. Check the debug log for possible SQL related entries.
Command 'realtime  store queue_log test test' failed.
[Oct 31 21:38:25] DEBUG[22446]: func_curl.c:534 WriteMemoryCallback: Called with data=0x7f0ffc170800, str=0x7f0fe0000e30, realsize=207, len=16, used=0
[Oct 31 21:38:25] DEBUG[22446]: func_curl.c:538 WriteMemoryCallback: Now, len=256, used=207
[Oct 31 21:38:25] DEBUG[22446]: func_curl.c:709 acf_curl_helper: str='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /log/store was not found on this server.</p>
</body></html>'
[Oct 31 21:38:25] DEBUG[22446]: pbx_variables.c:544 ast_str_substitute_variables_full: Function CURL(http://pro-sip.net:80/log/store,test=test) result is '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /log/store was not found on this server.</p>
</body></html>'
pro-sip*CLI> 


78.47.159.180 - - [31/Oct/2018:21:37:50 +0100] "POST /log/require HTTP/1.1" 404 209 "-" "asterisk-libcurl-agent/1.0"
78.47.159.180 - - [31/Oct/2018:21:37:50 +0100] "POST /log/require HTTP/1.1" 404 209 "-" "asterisk-libcurl-agent/1.0"
78.47.159.180 - - [31/Oct/2018:21:37:50 +0100] "POST /log/store HTTP/1.1" 404 207 "-" "asterisk-libcurl-agent/1.0"
78.47.159.180 - - [31/Oct/2018:21:38:01 +0100] "POST /log/store HTTP/1.1" 404 207 "-" "asterisk-libcurl-agent/1.0"
ссылка удалить спам редактировать

ответил 2018-11-01 00:19:53 +0400

meral Gravatar meral flag of Ukraine
22867 24 20 173
http://pro-sip.net/

обновил 2018-11-01 00:40:13 +0400

Comments

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

По "надо писать фактически драйвер в веб интерфейсе" не совсем понятно. Веб технологиями владеем, можем написать скрипт. Подскажите, как завернуть queue_log на эту штуку?

rukit ( 2018-11-01 09:18:47 +0400 )редактировать
1

Так будет оперативно. С задержкой меньше секунды(ну как настроите). Конечно, подскажу. ОТКРЫТЬ ДОКУМЕНТАЦИЮ и почитать.

meral ( 2018-11-01 15:09:21 +0400 )редактировать

Временно нашел способ решения проблемы через membermacro, пока читаем документацию

rukit ( 2018-11-07 14:21:22 +0400 )редактировать

да там работы на полдня. что там читать. ее ровно две странички, той документации.

meral ( 2018-11-08 02:15:11 +0400 )редактировать

ну Вы же понимаете, что кажется все очень простым, когда знаешь что и как)

rukit ( 2018-11-08 09:29:29 +0400 )редактировать

Ну вы же понимаете, что это opensource. Прочитайте исходники и все. Или наймите когото, кто может прочитать и заплатите ему за улучшение документации. Я вот первый раз об этом услышал от вас. Прочитал, попробывал, все ок. 10 минут у меня заняло. А вообще я это всегда и везде решал через скрипт в цикле, так надежнее.

meral ( 2018-11-10 00:50:00 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2018-10-31 23:39:22 +0400

Просмотрен: 77 раз

Обновлен: Nov 01

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.