А вы сами написали эту пред-бработку? Контекст dynamic_did?
Честно , нет , нашел на просторах интернета , тема и описание встречаются довольно часто . К слову сказать , Вы мне помогли в прошлый раз по этому же вопросу ( в этой же теме , несколькими постами ранее ) и там все работает как надо .
-- Executing [03612ХХХХ@dynamic_did:5] MYSQL("SIP/pop4voip-00000000", "Fetch fetchid 2 accid calldate clid src dst") - будете заполнять переменные данными из MySQL-запроса?
Да , вот же запрос в самом контексте
exten => _X.,n,MYSQL(Connect connidcdr localhost userdb passworddb asteriskcdrdb utf8)
;; All CALL
exten => _X.,n,MYSQL(Query resultidcdr ${connidcdr} SELECT * FROM cdr WHERE dst LIKE '%${CALLID}%' ORDER BY calldate DESC)
;; NOANSWER CALL ONLY
;;exten => _X.,n,MYSQL(Query resultidcdr ${connidcdr} SELECT * FROM cdr WHERE dst LIKE '%${CALLID}%' AND disposition LIKE 'NO ANSWER' ORDER BY calldate DESC)
;;
exten => _X.,n,MYSQL(Fetch fetchid ${resultidcdr} accid calldate clid src dst)
[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 переменных?
Ну по тому как Вы спросили , я так понимаю что не совсем хорошо , но это работает на других серверах и особо не мешает .
-- Executing [03612ХХХХ@dynamic_did:6] Set("SIP/pop4voip-00000000", "number=052889YYYY") -- в непонятную никому, кроме автора переменную number засовывается номер 052889YYYY. Это номер кто звонит (Caller ID)? Это номер куда он позвонил (DID)? Это номер внутреннего абонента (777), который должен обслужить этот вызов?
Но в контексте же есть строка , вот - exten => _X.,n,Set(number=${src}) , а при запросе в MySQL {src} у нас получется 777 экстеншен и {dst} номер на который звонил этот экстеншен 052889YYYY . Поэтому и возник вопрос , почему вот здесь
-- Executing [03612ХХХХ@dynamic_did:7] NoOp("SIP/pop4voip-00000000", "caller --> 777 callee --> from-internal"
мне выдает caller --> 777 , что соответствует {src} , а вот {dst} ---> выдает from-internal вместо набранного номера .
Вместо этого - чушь (извините), которая и отрабатывается криво.
Согласен , поэтому и задал вопрос .
Если эти пояснения не помогут - в раздел Бизнес
Поверьте , если бы не было желания разбираться самому , уже давно нашел бы кому заплатить что бы сделали ..