我想实现一个可以实现以下的简单VoIP系统;
我想知道是否有支持这个的开源库?还是一个我可以实现这个目的的开源软件?
答案 0 :(得分:1)
我为我的工作做了类似的测试。
我有
例如......说我的freeswitch是ip:120.0.0.7
我正以5000用户身份注册该freeswitch,我想呼叫同时注册的用户4000.
我使用 SIPP(linux)或 SIPCLI(windows。)
<强> SIPP 强>
SIPP的好处在于它非常强大,可以进行无数的性能测试,而不是。但是发送音频有点挑战,但它是可行的。你基本上是在一些编解码器(g711,g729等)中发送录制音频的pcap,所以你运行如下命令:
sudo sipp -s [the phone number/ user] [your freeswitch] -sn uac_pcap -mi [your ip] -l 1 -m 1
最后两个参数(l和m)设置多少负载,默认情况下sipp每秒发送10个呼叫。你可能不想要那个。所以我说“限制对#的调用”,m说“一次只运行x次调用。”
<强> SIPCLI 强>
更简单的方法是sipcli(但它只是一个Windows工具。) 在sipcli中,你基本上可以发送一个wav文件,以及文本到语音。我喜欢它。它有一个内置的库,可以拨打号码,你可以传递类似-t的内容“这是测试用于测试和测试的测试工具。”它会在通话时将其转换为音频。你还可以构建指向你录制的wav文件的场景....
SIPCLI将使用类似SIPP的命令进行连接:
sipcli [user/phone number] -d [domain or proxy] -t "This is text i want converted to speech on the phone call"
你也可以传递给wav的链接。
sipcli也可以发送dtmf音调,或者你可以指向wt的dtmf音调。
场景编辑器起初有点复杂,需要一点时间习惯。但是一旦你掌握了制作场景文件的麻烦,这很容易。
SIPP的好处
SIPP可以捕获性能指标(在您配置的起点和终点之间的整个时间内以毫秒为单位) SIPP可以在您想要的一端驱动数千个电话 SIPP可以增加呼叫或在运行中减少呼叫 SIPP可以生成statisics和csv文件进行分析 您编写的SIPP方案本身正在构建数据包。因此,您可以更好地控制数据包在INVITE上发送的内容。 SIPP是开源的
SIPP的否定
SIPP无法发送wav文件 SIPP无法生成自己的dtmf音(它使用pcaps,这可能会有问题) SIPP无法生成文本到语音 SIPP有点复杂
SIPCLI的好处
SIPCLI可以即时将文本转换为语音 SIPCLI可以使用录制的wav发送给收件人 SIPCLI易于使用 SIPCLI也可以作为接收者(即IVR播放问候语并接受输入) SIPCLI有一些逻辑来验证收到的数据(比如用户按#3,然后按#4。)
SIPCLI的否定
SIPCLI不允许您访问它发送的SIP标头(因此对测试的控制较少) SIPCLI不执行加载或性能指标 SIPCLI的编辑器起初有点困难,但它并不像学习SIPP的高级功能那么难 SIPCLI不是开源....它的试用率是90%有用。要获得其他10%(更长的电话),您需要以70美元的价格购买。
我也尝试过像PJSua这样的其他工具,但是这两个工具是我测试你所谈论的场景的绝佳方法。
关于Framework / softwsitch / proxy ...我使用Freeswitch。
答案 1 :(得分:0)
是您可以使用Asterisk,Freeswitch(我的个人偏好)或许多与此类似的其他平台。
一旦你有freeswitch设置,请查看此链接以实现目标: http://wiki.freeswitch.org/wiki/Javascript_QuickStart
答案 2 :(得分:0)
使用ivrworx进行简单测试
参见流光示例。