Dynamic_features проблемы со звездочкой
Я разработал небольшую часть кода набора номера, который позволяет участникам разговора набирать код, воспроизводящий воспроизведение (на обоих каналах). Кроме того, это должно быть записано (весь звонок и голос за кадром).
В начале я смог заставить его работать. При звонке с расширения на расширение работает отлично. Проблема в том, что я делаю исходящий звонок через SIP-транк. Я набираю код, диалплан показывает мне "Функция найдена", но ничего не происходит.
В моем extensions_custom.conf
У меня есть следующее:
[macro-testing]
exten => s,1,NooP(Ha pulsado *200 valor bridgepeer ${BRIDGEPEER})
;same => n,Monitor(wav,/var/spool/asterisk/monitor/${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}PRUEBA${TIMESTAMP:0:8})
exten => s,n,Dial(Local/spy@macro-testing,30,G(testing-play^0^1))
exten => _spy,1,ChanSpy(SIP/${CALLERID(num)},BqS)
[testing-play]
exten => 0,2(music),Playback(custom/Loc-testing)
В моем features_applicationmap_custom.conf
У меня есть следующая строка:
testing => *315,self/both,Macro,testing
Я также попробовал следующее: testing => *315,self/callee,Macro,testing
,
И у меня есть это тоже в extensions_custom.conf:
exten => n,Set(__DYNAMIC_FEATURES=testing)
Я пытался определить __DYNAMIC_FEATURES
в globals_custom.conf
файл, но я получаю тот же результат (без воспроизведения).
В параметрах исходящего набора Asterisk SIP я отметил "wW".
Я повторяю, что от расширения к расширению это работает отлично. С входящими звонками тоже работает. Проблема с исходящими звонками.
Он работает на Asterisk версии 11.21.0. Я пробовал это в Asterisk 13 тоже с тем же результатом.
Может кто-нибудь мне помочь? Заранее спасибо.
2 ответа
Вы не можете набирать или переводить из кодов функций. Канал заблокирован для функций.
Вы можете использовать системный вызов или вызов UserEvent, перехватить внешним приложением, передать ПОСЛЕ того, как он вернется из функций (в течение 0,5 с).
Также один из ваших контекстов не имеет приоритета 1.
Я разработал новую часть кода набора номера, используя CONFBRIDGE
это позволяет то же самое, но теперь проблема в том, что он не работает на входящих вызовах, когда агент находится в очереди...
extensions_custom.conf, имеет следующее:
[macro-testing]
exten => s,1,Noop(Quick Conference |||| Bridgepeer: ${BRIDGEPEER} ||||)
same => n,ChannelRedirect(${BRIDGEPEER},pruebas,s,1)
same => n,Set(HORA=${EPOCH})
same => n,Set(CONFBRIDGE(user,template)=admin1)
same => n,Monitor(wav,/var/spool/asterisk/monitor/${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}PRUEBA${TIMESTAMP:0:8})
same => n,DumpChan()
same => n,ConfBridge(${HORA})
same => n,MacroExit()
[pruebas]
exten => s,1,Macro(user-callerid)
same => n,Set(CONFBRIDGE(user,template)=default_user1)
same => n,Set(HORA=${EPOCH})
same => n,ConfBridge(${HORA})
same => n,MacroExit()
confbridge_custom.conf, у меня есть следующее:
[default_bridge]
type=bridge
sound_join=t
sound_leave=t
sound_kicked=t
language=es
[default_user1]
announcement=tt-monkeys
type=user
announce_only_user=no
dtmf_passthrough=yes
[admin1]
announcement=tt-monkeys
type=user
dtmf_passthrough=no
admin=yes
announce_only_user=no