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

mysql cmd asterisk

0
exten => s,1,Set(vars=${CDR(dstchannel)})
exten => s,n,MYSQL(Connect connid localhost root 1234 asterisk)
exten => s,n,MYSQL(Query resultid ${connid} SELECT uniqueid FROM cdr WHERE dstchannel='${vars}')
exten => s,n,MYSQL(Fetch fetchid ${resultid} numbers)
exten => s,n,NoOp(${numbers})
exten => s,n,MYSQL(Disconnect ${connid})

Коллеги подскажите пожайлуста в чем может быть косяк ,в общем при выполнение запроса отраженного выше переменная numbers пустая,причем видно,что переменная vars,получает значения Если составить запрос без уточнения т.е

exten => s,n,MYSQL(Query resultid ${connid} SELECT uniqueid FROM cdr )

то

exten => s,n,MYSQL(Fetch fetchid ${resultid} numbers)
exten => s,n,NoOp(${numbers})
exten => s,n,MYSQL(Disconnect ${connid})

переменная ${numbers} будет иметь значения Почему не работает при уточнения выборки нужной инфы используя where

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

спросил 2012-09-07 12:18:35 +0400

scheford Gravatar scheford
1 1

обновил 2012-09-07 12:57:08 +0400

zzuz Gravatar zzuz flag of Russian Federation
6744 2 6 69
http://line24.ru/

Comments

отредактируйте в читабельный вид

romariosar ( 2012-09-07 12:36:48 +0400 )редактировать

"причем видно,что переменная vars,получает значения" - где это видно? для кого видно?

zzuz ( 2012-09-07 12:58:00 +0400 )редактировать

3 Ответа

1

Вы делаете запрос к записи , которая еще не заполнена. Если конечно это делается во время обработки вызова. Еще бы порекомендовал смягчить ковычки или даже экранировать их , чтобы pbx_conf их не интрепретировал в своё представление.

dstchannel="${vars}"
ссылка удалить спам редактировать

ответил 2012-09-07 13:05:10 +0400

zzuz Gravatar zzuz flag of Russian Federation
6744 2 6 69
http://line24.ru/
0

если уж таки хочется писать sql запросы в диалплане переходите на ODBC.

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

ответил 2012-09-07 12:33:18 +0400

komrad123 Gravatar komrad123
3780 5 3 42

Comments

да,но asterisk поддерживает и так mysql ,у меня версия к примеру 1,8, зачем использовать odbc ,или имеются какие глюки

scheford ( 2012-09-07 12:45:32 +0400 )редактировать

Это какие интересно?

zzuz ( 2012-09-07 12:56:48 +0400 )редактировать
0

переходите на фугкцию realtime либо func_odbc. mysql оставлена исключительно для обратной совместимости.

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

ответил 2012-09-08 10:33:13 +0400

meral Gravatar meral flag of Ukraine
21228 24 19 169
http://pro-sip.net/

Ваш ответ

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 ленту новостей

Статистика

Задан: 2012-09-07 12:18:35 +0400

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

Обновлен: Sep 08 '12

Похожие вопросы:

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