ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Проблемы и их решения Asterisk как такового

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

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

Сообщение gofer_k » 23 мар 2016, 09:54

Всем доброго дня.
Требуется заставить 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 .???
Моя бабка еще помнит беспроводные утюги.
gofer_k
 
Сообщений: 275
Зарегистрирован: 08 апр 2011, 16:27

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

Сообщение april22 » 23 мар 2016, 10:09

Код: выделить все
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})

далее составите простой скулевый
Своими вопросами , вы загоняете меня в ГУГЛЬ.
april22
 
Сообщений: 2187
Зарегистрирован: 09 июл 2012, 09:47

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

Сообщение ded » 23 мар 2016, 12:24

IMHO - лучше это забубенить в PHP AGI и вызывать скрипт agi из диалплана.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение virus_net » 23 мар 2016, 12:46

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

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

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

Сообщение Glukinho » 23 мар 2016, 15:01

func_odbc попроще будет в данном случае.
Glukinho
 
Сообщений: 616
Зарегистрирован: 07 янв 2011, 21:05

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

Сообщение Pechen » 23 мар 2016, 15:56

народ вы о чем? человек спрашивает как инсертить в базу. вопрос из области sql, наш форум, разумеется, лучшее место для изучения оного.
Pechen
 
Сообщений: 118
Зарегистрирован: 29 дек 2013, 23:16

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

Сообщение gofer_k » 23 мар 2016, 16:47

Всем спасибо за ответы.
Подумаю как сделать с AGI.

Pechen писал(а):народ вы о чем? человек спрашивает как инсертить в базу. вопрос из области sql, наш форум, разумеется, лучшее место для изучения оного.

Не совсем так.Я спрашиваю как инсертить в базу командами диалплана asterisk и используя глобальные переменные asterisk.
Моя бабка еще помнит беспроводные утюги.
gofer_k
 
Сообщений: 275
Зарегистрирован: 08 апр 2011, 16:27

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

Сообщение 1g0r » 16 апр 2016, 02:12

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})

Это самый стремный способ....
1g0r
 
Сообщений: 126
Зарегистрирован: 25 ноя 2013, 16:56

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

Сообщение Pechen » 17 апр 2016, 15:42

1g0r, апдейтить разумеется
Pechen
 
Сообщений: 118
Зарегистрирован: 29 дек 2013, 23:16

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

Сообщение nickplus » 29 мар 2017, 16:40

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)
nickplus
 
Сообщений: 1
Зарегистрирован: 29 мар 2017, 16:31


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH