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

Запись данных в MYSQL

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

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

Ответить
gofer_k
Сообщения: 275
Зарегистрирован: 08 апр 2011, 16:27

Запись данных в MYSQL

Сообщение gofer_k »

Всем доброго дня.
Требуется заставить aster средствами диалплана вносить данные в базу MYSQL.
В общих чертах:Есть БД с номерами клиентов, посредством скрипта и call файлов астер автоматом прозванивает клиентов по базе и говорит им информацию (не реклама).
Требуется в случае удачного или неудачного звонка ставить пометки в базе типа дозвонился то 1 не дозвонился 0.
Забирать данные из базы и присваивать им глобальные переменные я научился , а вот как внести запись в базу никак не вкурю.
Нужно что то типа того (при неудачно звонке)

exten => failed,1,MySQL(Connect connid localhost root ****** DBname)
same => n,MYSQL(Query resultid ${connid} вставить в ячейку А значение 0 WHERE phonenumber=${EXTEN}

В общем что прописать вместо этого вставить в ячейку А значение 0 .???
Моя бабка еще помнит беспроводные утюги.
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: Запись данных в MYSQL

Сообщение april22 »

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

exten => s,n,MYSQL(Connect connid localhost root123 123 operator)
exten => s,n,GotoIf($["${connid}" = ""]?error,1)
exten => s,n,MYSQL(Query resultid ${connid} insert into `au`(`data`,`time`,`queue`,`ext`,`status`)VALUES('${STRFTIME(${EPOCH},,%d%m%Y)}','${STRFTIME(${EPOCH},,%H:%M:%S)}','${QUEUENO}','${CALLBACKNUM}','logon'))
exten => s,n,MYSQL(Disconnect ${connid})
далее составите простой скулевый
Своими вопросами , вы загоняете меня в ГУГЛЬ.
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Запись данных в MYSQL

Сообщение ded »

IMHO - лучше это забубенить в PHP AGI и вызывать скрипт agi из диалплана.
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Запись данных в MYSQL

Сообщение virus_net »

Присоединяюсь к ИМХО ded`a.
Там же, в AGI, можно и нормальный обработчик ошибок забубенить.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: Запись данных в MYSQL

Сообщение Glukinho »

func_odbc попроще будет в данном случае.
Pechen
Сообщения: 118
Зарегистрирован: 29 дек 2013, 23:16

Re: Запись данных в MYSQL

Сообщение Pechen »

народ вы о чем? человек спрашивает как инсертить в базу. вопрос из области sql, наш форум, разумеется, лучшее место для изучения оного.
gofer_k
Сообщения: 275
Зарегистрирован: 08 апр 2011, 16:27

Re: Запись данных в MYSQL

Сообщение gofer_k »

Всем спасибо за ответы.
Подумаю как сделать с AGI.
Pechen писал(а):народ вы о чем? человек спрашивает как инсертить в базу. вопрос из области sql, наш форум, разумеется, лучшее место для изучения оного.
Не совсем так.Я спрашиваю как инсертить в базу командами диалплана asterisk и используя глобальные переменные asterisk.
Моя бабка еще помнит беспроводные утюги.
1g0r
Сообщения: 126
Зарегистрирован: 25 ноя 2013, 16:56

Re: Запись данных в MYSQL

Сообщение 1g0r »

Pechen писал(а):Не совсем так.Я спрашиваю как инсертить в базу командами диалплана asterisk и используя глобальные переменные asterisk.
если я правильно понял...
наверное не инсертить а апдейтить... и вопрос явно про то "как составить простой запрос на SQL"...

[global]

HOST=localhost
USERNAME=asteriskuser
PASSWORD=asteriskpass
DBNAME=asteriskdb
TABLE=mytable

[context]

exten => failed,1,MYSQL(Connect connid ${HOST} ${USERNAME} ${PASSWORD} ${DBNAME})
same => n,MYSQL(Query resultid ${connid} SET names UTF8)
same => n,MYSQL(Query resultid ${connid} UPDATE ${TABLE} SET `column_name`='new_string' WHERE `phonenumber`='${EXTEN}')
same => n, MYSQL(Disconnect ${connid})

Это самый стремный способ....
Pechen
Сообщения: 118
Зарегистрирован: 29 дек 2013, 23:16

Re: Запись данных в MYSQL

Сообщение Pechen »

1g0r, апдейтить разумеется
nickplus
Сообщения: 1
Зарегистрирован: 29 мар 2017, 15:31

Re: Запись данных в MYSQL

Сообщение nickplus »

gofer_k писал(а):exten => failed,1,MYSQL(Connect connid ${HOST} ${USERNAME} ${PASSWORD} ${DBNAME})
same => n,MYSQL(Query resultid ${connid} SET names UTF8)
Оказывается можно так utf8 загнать сразу в Connect:

exten => failed,1,MYSQL(Connect connid ${HOST} ${USERNAME} ${PASSWORD} ${DBNAME} utf8)
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH