Asterisk 带有星号的动态功能问题
我开发了一小部分拨号计划代码,允许对话参与者拨打播放回放的代码(在两个频道上)。此外,还必须进行录音(整个通话和画外音播放) 一开始,我能让它工作。在从一个分机到另一个分机的呼叫中,它可以完美地工作。问题是当我通过SIP中继线拨出电话时。我拨了号码,拨号计划显示了一个“已找到功能”,但什么也没发生 在我的Asterisk 带有星号的动态功能问题,asterisk,voip,dialplan,Asterisk,Voip,Dialplan,我开发了一小部分拨号计划代码,允许对话参与者拨打播放回放的代码(在两个频道上)。此外,还必须进行录音(整个通话和画外音播放) 一开始,我能让它工作。在从一个分机到另一个分机的呼叫中,它可以完美地工作。问题是当我通过SIP中继线拨出电话时。我拨了号码,拨号计划显示了一个“已找到功能”,但什么也没发生 在我的扩展\u custom.conf中,我有以下内容: [macro-testing] exten => s,1,NooP(Ha pulsado *200 valor bridgepeer $
扩展\u 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)
[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()
[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
在我的features\u applicationmap\u custom.conf
中,我有以下行:
testing => *315,self/both,Macro,testing
我还尝试了以下方法:testing=>*315,self/callee,Macro,testing
而且,我在extensions_custom.conf中也有这个:
exten => n,Set(__DYNAMIC_FEATURES=testing)
我试图在globals\u custom.conf
文件中定义\u动态\u功能
,但得到了相同的结果(没有播放)
在星号SIP出站拨号选项中,我标记了“wW”
我一个接一个地重复这一点,它工作得非常好。对于来电,它也可以工作。问题在于传出的电话
它在Asterisk 11.21.0版上运行。我也在星号13中尝试过,结果也一样
有人能帮我吗?提前感谢。您不能拨打或从功能代码转接。频道已锁定,以获取功能 您可以使用system或UserEvent调用、外部应用捕获、从功能返回后的传输(在0.5秒内)
另外,您的一个上下文没有优先级1。我使用
CONFBRIDGE
开发了一部分新的拨号计划代码,允许相同的优先级,但现在的问题是,当代理处于队列中时,它无法处理传入呼叫
扩展名_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)
[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()
[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
confbridge_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)
[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()
[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
你好,谢谢你的回复。你能给我们举个小例子说明应该怎么做吗?