Страница 1 из 1
Запись данных в MYSQL
Добавлено: 23 мар 2016, 08:54
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 .???
Re: Запись данных в MYSQL
Добавлено: 23 мар 2016, 09:09
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})
далее составите простой скулевый
Re: Запись данных в MYSQL
Добавлено: 23 мар 2016, 11:24
ded
IMHO - лучше это забубенить в PHP AGI и вызывать скрипт agi из диалплана.
Re: Запись данных в MYSQL
Добавлено: 23 мар 2016, 11:46
virus_net
Присоединяюсь к ИМХО ded`a.
Там же, в AGI, можно и нормальный обработчик ошибок забубенить.
Re: Запись данных в MYSQL
Добавлено: 23 мар 2016, 14:01
Glukinho
func_odbc попроще будет в данном случае.
Re: Запись данных в MYSQL
Добавлено: 23 мар 2016, 14:56
Pechen
народ вы о чем? человек спрашивает как инсертить в базу. вопрос из области sql, наш форум, разумеется, лучшее место для изучения оного.
Re: Запись данных в MYSQL
Добавлено: 23 мар 2016, 15:47
gofer_k
Всем спасибо за ответы.
Подумаю как сделать с AGI.
Pechen писал(а):народ вы о чем? человек спрашивает как инсертить в базу. вопрос из области sql, наш форум, разумеется, лучшее место для изучения оного.
Не совсем так.Я спрашиваю как инсертить в базу командами диалплана asterisk и используя глобальные переменные asterisk.
Re: Запись данных в MYSQL
Добавлено: 16 апр 2016, 01:12
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})
Это самый стремный способ....
Re: Запись данных в MYSQL
Добавлено: 17 апр 2016, 14:42
Pechen
1g0r, апдейтить разумеется
Re: Запись данных в MYSQL
Добавлено: 29 мар 2017, 15:40
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)