Модераторы: Glukinho, Zavr2008, Glukinho, Zavr2008
Честно , нет , нашел на просторах интернета , тема и описание встречаются довольно часто . К слову сказать , Вы мне помогли в прошлый раз по этому же вопросу ( в этой же теме , несколькими постами ранее ) и там все работает как надо .А вы сами написали эту пред-бработку? Контекст dynamic_did?
Да , вот же запрос в самом контексте-- Executing [03612ХХХХ@dynamic_did:5] MYSQL("SIP/pop4voip-00000000", "Fetch fetchid 2 accid calldate clid src dst") - будете заполнять переменные данными из MySQL-запроса?
Ну по тому как Вы спросили , я так понимаю что не совсем хорошо , но это работает на других серверах и особо не мешает .[2019-03-27 12:23:54] WARNING[13176][C-00000000]: app_mysql.c:485 aMYSQL_fetch: ast_MYSQL_fetch: More fields (23) than variables (5) - ничего, что он говорит, про 23 значения, которые вы пытаетесь засунуть в 5 переменных?
Но в контексте же есть строка , вот - exten => _X.,n,Set(number=${src}) , а при запросе в MySQL {src} у нас получется 777 экстеншен и {dst} номер на который звонил этот экстеншен 052889YYYY . Поэтому и возник вопрос , почему вот здесь-- Executing [03612ХХХХ@dynamic_did:6] Set("SIP/pop4voip-00000000", "number=052889YYYY") -- в непонятную никому, кроме автора переменную number засовывается номер 052889YYYY. Это номер кто звонит (Caller ID)? Это номер куда он позвонил (DID)? Это номер внутреннего абонента (777), который должен обслужить этот вызов?
Согласен , поэтому и задал вопрос .Вместо этого - чушь (извините), которая и отрабатывается криво.
Поверьте , если бы не было желания разбираться самому , уже давно нашел бы кому заплатить что бы сделали ..Если эти пояснения не помогут - в раздел Бизнес
Ну зачем Вы так , я же не прошу решить за меня поставленную задачу . Я пытаюсь найти проблему в поисках по интернету , в частности спрашиая и здесь на форуме . То что я пытаюсь сделать и с чем у меня возникают вопросы я выкладываю здесь на форуме в попытке найти помощь в решении задачи .OK, разбирайтесь сами. Но тогда при чём тут форум?
Я сам разбираюсь - ищу и пробую.
Не сам разбираюсь - зову других, пишу на форуме: "Помогите! Не разобрался!"
Подправил запрос в контексте и теперь он выглядит так :У вас запрос из базы отдаёт 23 значения, из которых вы берёте какие-то 5 значений. Одно значение - мимо. Если владеете SQL командами , выполните
SELECT * FROM cdr WHERE dst LIKE '%${CALLID}%' ORDER BY calldate DESC
Почему не закрыта ? Я же пытаюсь вернуться с номера который записан уже в cdr как NO ANSWER на экстеншен который мне звонил .Главная ошибка: вы пытаетесь выгребать данные для выполняющегося звонка из cdr, а ведь он туда ещё не записан, транзакция не закрыта