我开发了一小部分拨号方案代码,允许对话的参与者拨打播放播放的代码(在两个频道上)。此外,必须记录(整个电话和画外音)。
一开始,我能够让它发挥作用。在从分机到分机的通话中,它完美无缺。问题是当我通过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中尝试了同样的结果。
任何人都可以帮助我吗?提前谢谢。
答案 0 :(得分:0)
您无法通过功能代码拨打或转接。频道已锁定功能。
您可以使用系统或UserEvent调用,通过外部应用程序捕获,从功能返回后传输(0.5秒内)。
您的一个上下文也没有优先级1.
答案 1 :(得分:0)
我使用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