我需要测量网络中VOIP服务的MOS和质量。我想创建一个模拟呼叫的脚本,然后测量网络指标。
我正在使用星号。
您对如何使用星号编写脚本和安排测试调用有什么建议吗?
我想使用一些 avi 文件进行不同持续时间的调用。
显然,我需要自动拨出电话和自动接听拨出电话。
我建议使用星号调用文件
创建文件名/tmp/example.call
例如:
Channel: SIP/peerdevice/1234
Application: Playback
Data: silence/1&tt-weasels
然后复制该文件并将其移动到星号传出假脱机中,例如:
cp /tmp/example.call /tmp/example.call.new
mv /tmp/example.call.new /var/spool/asterisk/outgoing
您会注意到在星号CLI中,它将发起一个新调用。
您可以通过在拨号计划中说接听来使另一个星号框自动接听电话,例如,如果您有其他设备SIP/peerdevice
,并且您根据我的示例在拨号计划中拨打 1234:
[somecontext]
exten => 1234,1,Answer()
same => n,Noop(Example call inbound)
same => n,Playback(hello-world)
same => n,Hangup()
您可以创建多个扩展来执行您喜欢的操作,以改变呼叫的行为。
您还可以使用 originate 命令,例如:
ast*CLI> channel originate SIP/755XXXXX@sip-outbound extension s@context_name
也可以从外壳发出:
[user@host]$ asterisk -rx 'channel originate SIP/755XXXXX@sip-outbound extension s@context_name'
SIP/755XXXXX@sip-outbound
= 是拨出时使用的设备,因此可能是斜杠和电话号码后面的 IAX.,SIP,DAHDI
extension
= 命令需要。您也可以使用application
后跟Asterisk应用程序,这是一种可以播放声音文件的channel originate SIP/device/1234 application playback tt-monkeys
。
s
= 这是在下面指定的上下文中发送到的扩展名
@context_name
= 在extensions.conf
中发送到哪个上下文
更多信息请见此星号指南
如果您调用星号扩展:
asterisk -rx "console dial extension@context"