我在Debian 9上安装了Asterisk 13,我尝试了几种不同的方式播放音频文件,我打电话,星号答案,但它不播放文件。这是我的extensions.conf:
[ivr1]
exten => s,1,NoOp(IVR1)
same => n,Answer
same => n,Read(/var/lib/asterisk/sounds/custom/welcome)
same => n,WaitExten(5)
exten => 6598,1,Goto(ivr1,s,1)
Asterisk显示:
-- Executing [6598@ivr1:1] Goto("SIP/user-cc-0000001c", "ivr1,s,1") in new stack
-- Goto (ivr1,s,1)
-- Executing [s@ivr1:1] NoOp("SIP/user-cc-0000001c", "IVR1") in new stack
-- Executing [s@ivr1:2] Answer("SIP/user-cc-0000001c", "") in new stack
-- Executing [s@ivr1:3] Read("SIP/user-cc-0000001c", "/var/lib/asterisk/sounds/custom/welcome") in new stack
-- User disconnected
我尝试了2个不同的SIP客户端,声音无法播放。我试过不同的编解码器但仍然没有玩。
任何想法可能是什么问题?
由于
答案 0 :(得分:0)
您应该在防火墙中打开rtp端口(默认10000-20000)。
还需要确保您的网络类型具有正确的nat设置。
答案 1 :(得分:0)
看来你正在以错误的方式使用读取功能,它必须是这样的。
read(variable_name,sound_file)
请查看链接以获取更多信息
https://wiki.asterisk.org/wiki/display/AST/The+Read+Application
答案 2 :(得分:0)
您应该在客户端和星号服务器上运行pcap。使用wireshark执行捕获。您应该看到呼叫设置的信令,然后是关联RTP。如果您看到由星号发送但未在您的客户端收到的RTP,那么您有防火墙问题。您应该能够在SIP信令中看到SDP,以确定客户端和星号请求的端口。将其与防火墙设置进行比较。一般来说,如果您的客户端位于NAT后面,那么您需要确保在星号(nat设置)中启用了comedia。您还需要确保在客户端防火墙上禁用SIP ALG。