我在Ubuntu上安装了Asterisk
sip.conf
[10000001]
type=friend
host=dynamic
qualify=yes
secret=pw_random
context=demo
[10000002]
type=friend
host=dynamic
qualify=yes
secret=pw_random
context=demo
...
的extensions.conf
[demo]
exten => _1XXXXXXX,1,Dial(SIP/${EXTEN})
exten => _1XXXXXXX,2,Set(CALLFILENAME=${EXTEN:1})
exten => _1XXXXXXX,3,Monitor(wav,${CALLFILENAME},m)
然而,Asterisk运行Dial并卡住,用户可以在通话时互相通话,但Asterisk不会录制音频
运行asterisk -rvvv
,我得
-- Executing [10000001@demo:1] Dial("SIP/10000002-00000045", "SIP/10000001") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/10000001
-- SIP/10000001-00000046 is ringing
-- SIP/10000001-00000046 answered SIP/10000002-00000045
-- Channel SIP/10000002-00000045 joined 'simple_bridge' basic-bridge <1b882cee-b0f0-473f-aafb-651169788159>
-- Channel SIP/10000001-00000046 joined 'simple_bridge' basic-bridge <1b882cee-b0f0-473f-aafb-651169788159>
有什么想法吗?谢谢!
更新
如果我将extensions.conf修改为
exten => _1XXXXXXX,1,Set(CALLFILENAME=${EXTEN})
exten => _1XXXXXXX,2,Monitor(wav,${CALLFILENAME},m)
exten => _1XXXXXXX,3,Dial(SIP/${EXTEN})
日志
-- Executing [10000001@demo:1] Set("SIP/10000002-00000000", "CALLFILENAME=10000001") in new stack
[Apr 14 00:56:50] WARNING[8649][C-00000000]: pbx.c:4910 pbx_extension_helper: No application 'Monitor' for extension (demo, 10000001, 2)
== Spawn extension (demo, 10000001, 2) exited non-zero on 'SIP/10000002-00000000'
错误pbx_extension_helper: No application 'Monitor' for extension
很奇怪。
答案 0 :(得分:1)
我修好了。
归因于pbx_extension_helper: No application 'Monitor' for extension
应用程序&#39;监控&#39;找不到,因为星号不会根据this link
加载res_monitor
模块
因此,我在load=res_monitor.so
/etc/asterisk/modules.conf
该文件看起来像
[modules]
autoload=yes
load=pbx_config.so
load=chan_sip.so
load=chan_iax2.so
load=res_rtp_asterisk.so
load=app_hangup.so
load=app_dial.so
load=app_stack.so
load=res_monitor.so
load=pbx_functions.so
load=codec_ulaw.so
load=codec_gsm.so
load=bridge_simple.so
感谢Shu Zhang!
答案 1 :(得分:0)
您是否检查了目录/ var / lib / asterisk / sounds /,/ var / spool / asterisk / monitor,或者您可以按文件名找到您的ubuntu文件。由于详细没有显示任何警告,我相信你这样做是正确的,但录制的文件隐藏在某个地方。您可以修复文件名。
exten => _1XXXXXXX,3,Monitor(wav,fixedfilename)
在linux中找到这个文件名。
此外,你可以看看这个
答案 2 :(得分:0)
这是一个老字号,但是我遇到了同样的问题,您以正确的方式解决了这个问题,但是您只是在加载所有模块...而不是进行苗条的模块加载。
[modules]
autoload=yes <---- THIS
load=pbx_config.so <---- DISABLED THIS
load=chan_sip.so
load=chan_iax2.so
因此,要使其在苗条的模块加载配置中工作,必须加载
[modules]
autoload=no <---- THIS to NO
...
load=func_periodic_hook.so <---- THIS IS NEEDED IN ORDER TO LOAD MONITOR
load=load=res_monitor.so.so
...
您显然需要编解码器和格式,这是一个很好的苗条配置。