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

Неверно выдает результат Fetch

0
exten => 8841,n,MYSQL(QUERY result ${connid} SELECT ext FROM callerid WHERE caller=${CALLERID(name)}) 
exten => 8841,n,MYSQL(Fetch fetchid ${result} ext) 
exten => 8841,n,GotoIf($["${MYSQL_STATUS}" = "-1"]?oper:) 
exten => 8841,n,MYSQL(Clear ${result}) 
exten => 8841,n,MYSQL(Disconnect ${connid}) 
exten => 8841,n,Transfer(SIP/ostr/${EXTEN}) 
exten => 8841,n,Dial(SIP/ostr/${EXTEN}) 
exten => 8841,n(oper),Transfer(SIP/8841) 
exten => 8841,n,Dial(SIP/8841)


exten => s,n,MYSQL(QUERY resultid ${connid} SELECT EXTEN FROM callerid WHERE caller=${CALLERID(name)})

в результате этого запроса выдается не значение EXTEN, а откуда то берется значение 2.

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

спросил 2014-03-27 14:51:23 +0400

sir_analgin Gravatar sir_analgin
1 1 1

обновил 2014-03-27 17:27:50 +0400

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

Comments

Вы предлагаете ковыряться в вашей БД ?

zzuz ( 2014-03-27 15:28:13 +0400 )редактировать

нет. В том и странность заключается, что в БД вообще не существует ничего со значением 2, там хранятся только внутренние номера телефонов. А Fetch возвращает просто значение, непонятно откуда взявшееся... У меня вопрос именно по Fetch, какие именно необходимо задать параметры для возврата именно значения EXTEN

sir_analgin ( 2014-03-27 15:36:01 +0400 )редактировать

могу дать этот кусок dialplan'а, где это используется

sir_analgin ( 2014-03-27 15:39:50 +0400 )редактировать

exten => 8841,n,MYSQL(QUERY result ${connid} SELECT ext FROM callerid WHERE caller=${CALLERID(name)}) exten => 8841,n,MYSQL(Fetch fetchid ${result} ext) exten => 8841,n,GotoIf($["${MYSQL_STATUS}" = "-1"]?oper:) exten => 8841,n,MYSQL(Clear ${result}) exten => 8841,n,MYSQL(Disconnect ${connid}) exten => 8841,n,Transfer(SIP/ostr/${EXTEN}) exten => 8841,n,Dial(SIP/ostr/${EXTEN}) exten => 8841,n(oper),Transfer(SIP/8841) exten => 8841,n,Dial(SIP/8841)

sir_analgin ( 2014-03-27 16:23:43 +0400 )редактировать

Извиняюсь за комменты, но мало опыта в этом деле пока что. подскажите по вот этому куску dialplan'а...

sir_analgin ( 2014-03-27 16:25:29 +0400 )редактировать

Ну так и используйте переменную ${ext} , в чем проблема? именно в ней Вы записываете значение Fetch fetchid ${result}

zzuz ( 2014-03-27 17:29:51 +0400 )редактировать

спасибо всем за помощь, все отлично отрабатывает :-).

sir_analgin ( 2014-04-22 11:54:00 +0400 )редактировать

1 Ответ

1

используйте вот это.

http://www.voip-info.org/wiki/view/Asterisk+func+func_odbc

не используйет func_MYSQL.

ну или включаете дебаг и смотрите что как.

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

ответил 2014-03-27 17:36:11 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
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 ленту новостей

Статистика

Задан: 2014-03-27 14:51:23 +0400

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

Обновлен: Mar 27 '14

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