首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SIP测试平台

SIP测试平台
EN

Stack Overflow用户
提问于 2010-03-04 22:49:39
回答 4查看 23.2K关注 0票数 18

我正在寻找一个测试SIP调用的工具。从SIP设备A向SIP设备B发起呼叫并报告结果的平台...

有什么想法吗?一个模拟平台将是理想的。

thnx,cateof

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-04 23:05:51

在SourceForge上查看SIPp。它有许多不同的测试场景,其中UAS模式(服务器)可能会让您感兴趣,并且似乎允许INVITE、BYE等。

票数 9
EN

Stack Overflow用户

发布于 2010-08-21 21:14:04

有很多解决方案。一些人比另一些人更破碎。下面是我在寻找合适的自动化测试解决方案的基础时所发现的快速总结。

如果你一次只想要一个对话框,这是可以的。这里不起作用的是复杂的解决方案,你需要在同一场景中同步两个呼叫分支,进行注册,呼叫和在线状态。如果采用这种方式,最终将分别为每个对话元素运行多个sipp场景。Sipp在媒体传输方面也完全没有伸缩性。即使它是多线程的,也有一些东西阻止了它的并发运行--例如,如果你看看htop,你会发现sipp从来没有超过100%这条线。大约50个媒体呼叫,它开始切断音频,并占用了机器的所有CPU。

它有时会失去对发生的事情的跟踪,一些实际上不属于呼叫的数据包可能会导致测试失败。它有一些愚蠢的bug,比如区分大小写的标头比较。

基于Ruby的解决方案,您必须用Ruby编写自己的场景。它有自己的SIP协议栈和大量的测试。虽然它总体上很好,很好地处理了许多复杂的场景,但它的设计很糟糕。Bug很难跟踪,一周后,我有了10多个补丁,仅仅是为了让它做一些基本的事情。后来我了解到,一些场景只是以不同的方式编写的,但SIPr开发人员并没有真正做出响应,而且花了很多时间才弄清楚。如果同步多个代理的操作是一个困难的问题,因为他们宁愿使用基于事件的,但仍然是单线程的版本...这只会让你过于专注于“这种情况会以什么顺序发生,我是否能正确地处理它”,而不是编写实际的测试。

商业解决方案。从来没有正确地测试过它,因为评估版本中缺少基本功能,而且很难在你不确定是否有效的东西上花费那么多钱……

基于Java的解决方案重用Jain-SIP堆栈。它几乎可以做任何场景,而且相当不错。它试图让所有东西都是非阻塞的/基于动作的,这会导致SIPr同样的问题,但在这种情况下,将其并行化/线程化是微不足道的。它有自己的but,所以并不是所有的东西都能在香草包中很好地工作,但大多数东西都是可以修补的。开发人员似乎忙于其他项目,所以很长一段时间都没有更新。如果您需要传输、在线状态、对话信息、自定义消息、RTP处理等,则必须编写自己的修改来支持它们。这不利于性能测试。

如果你像我一样讨厌Java,它可以通过Jython、JRuby或任何其他JVM语言以一种简单的方式使用。

最后,我选择了SIPunit作为最少损坏/恶意/不可用的解决方案。它绝对不是完美的,但是...它在大多数情况下都是有效的。如果我用所有这些知识再做一次这个项目,我可能会重用SIPp配置,并尝试编写自己的合理解决方案,使用适当的线程-但对于一个人来说,这至少需要半年的时间,才能使其足够好地用于生产。

票数 27
EN

Stack Overflow用户

发布于 2011-02-10 23:10:26

试试SIPInspector。它是一个基于JAVA的实用程序,用于重新创建不同的SIP信令场景。它还可以播放RTP并对系统进行压力测试。因为它是用JAVA编写的,所以它具有很高的可移植性,可以在不同的操作系统上运行。比起SIPp,使用起来要容易得多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2380148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档