Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / TrixBox, Elastix, FreePbx / результат команды System

результат команды System

нужно делать запрос в БД mysql
1 2>
Avatara of romariosar
Откуда: Саратов
Сообщений: 64

результат команды System

Есть бд mysql в ней находятся номера клиентов.
При звонке на астериск, в контексте должен проиходить запрос в БД, который запрашивает есть ли такой телефон в базе, результать должен быть да или нет. После этого должен запускать скрипт shell/

Как такое реализовать?
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-10-20 16:57

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: результат команды System

1. Сделать в диалплане запрос к БД;
2. Проанализировать результат запроса;
3. Выполнить, соответствующую результату, команду System();

Не?
Создам аварийную ситуацию. Дорого. На долго =)
2010-10-20 17:06

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: результат команды System

AGI Вам, автор , в помощь.
из диаплана выполнять такой анализ - дурной тон , по моему мнению. да и запутаетесь скорее всего.

а выглядеть так будет

[macro-check_bd]
exten => s,1,MYSQL(Connect connid ${CONNECTDB})
exten => s,n,MYSQL(Query resultid ${connid} SELECT `number` FROM table WHERE `num`='${ARG1}')
exten => s,n,MYSQL(Fetch fetchid ${resultid} RESULT)
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,ExecIF($["${EXISTS(${RESULT})}" = "1"]?System(echo 1))
http://линия24.рф - Астериск и прочие бубны!
2010-10-20 22:56

Откуда: Киев
Сообщений: 749

Re: результат команды System

ну а если четко по теме то делаеться так
exten => s,1,System(/somepath/somescript.sh >/tmp/${UNIQUE}.res)
exten => s,2,ReadFile(result=/tmp/${UNIQUE}.res,200); upto 200 bytes from file

2010-10-21 10:30

Откуда: Russia
Сообщений: 72

Re: результат команды System

zzuz:

AGI Вам, автор , в помощь.
из диаплана выполнять такой анализ - дурной тон , по моему мнению. да и запутаетесь скорее всего.
Я пока не освоил хотя бы питон или перл, предпочитаю работать с базой так как вы описали. Пока не запутываюсь. :) А вообще работает быстро, замечаний у меня не вызывает. Использую для присвоения нужного CallerID внутреннему телефону.
2010-10-21 11:10

Откуда: Киев
Сообщений: 749

Re: результат команды System

вместо такой рабоыт с базой лучш еработать через realtime
гааараздо меньше глюков и компактнее.
2010-10-21 12:50

Avatara of romariosar
Откуда: Саратов
Сообщений: 64

Re: результат команды System

Stalker:

zzuz:

AGI Вам, автор , в помощь.
из диаплана выполнять такой анализ - дурной тон , по моему мнению. да и запутаетесь скорее всего.
Я пока не освоил хотя бы питон или перл, предпочитаю работать с базой так как вы описали. Пока не запутываюсь. :) А вообще работает быстро, замечаний у меня не вызывает. Использую для присвоения нужного CallerID внутреннему телефону.
подскажите как.
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-10-22 10:18

Avatara of noize
Откуда: Москва
Сообщений: 398

Re: результат команды System

Есть замечательная вещь, называется ODBC. Она позволяет одной строчкой в диалплане обращаться к базе и получать результат выполнения запроса.
2010-10-22 11:35

Avatara of romariosar
Откуда: Саратов
Сообщений: 64

Re: результат команды System

ExecIF($["${EXISTS(${RESULT})}" = "1"]?System(echo 1))

подскажи эта строка проверяем значение в переменой RESULT,
А мне нужно вообще в принципе проверить записано в RESULT какое либо значение или нет. Вывод запроса к БД может быть пустым.
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-12-09 11:50

Avatara of noize
Откуда: Москва
Сообщений: 398

Re: результат команды System

ExecIF($[$[${EXISTS(${RESULT})}] & $[${RESULT} == 1]]?System(echo 1))
2010-12-09 12:19

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru