我想在java中实现SIP协议,并希望能够创建不同的客户端(5个或更多)并使它们连接到代理服务器。这一切都是出于测试目的,所以我希望能够在相当低的水平上看到正在发生的事情 客户端应该首先能够通过文本进行通信,之后也可以通过音频进行通信。 (如果我做得那么远)
我已经read了解了JAIN库,我从中得到的理解是它们不太适合服务器端?我也没有找到任何代理服务器示例,教程,使用JAIN 我也发现了这个SIP Servlet Tutorial book,过去我使用过HTTP servlet但是我应该更喜欢servlets还是JAIN还是......?
我对SIP很陌生,所以我真的不知道从哪里开始,或者与java结合使用。
答案 0 :(得分:13)
如果打算将您的SIP堆栈合并到生产应用程序中,那么我对您的建议就是尽一切可能避免从头开始编写自己的SIP堆栈。可以毫不夸张地说,多年来让您的堆栈与所有不同的SIP设备和服务器一起顺利运行。如果你有一套非常狭窄的集成要求,那么也许你可以更快地完成它,但它仍然是一项艰巨的任务。
这是一个很好的可用SIP stacks列表。另一方面,如果你决定通过查看SIP RFC list来实现自己的开始。 RFC 3261是核心协议规范,但它已被许多其他RFC更新,因此您只需要为核心SIP功能实现至少六个。之后,如果你想支持转移,在线状态,消息等待等事情,那么就要实现更多的RFC。这是SIP stacks的列表。
答案 1 :(得分:5)
Sip Servlets平台将帮助您构建融合应用程序,即HTTP和SIP应用程序。 Sip最终用户设备将与Sip Servlet应用程序交互。例如,Sip Servlet应用程序可以是B2BUA或SIP代理。
我建议你尝试Mobicents Sip Servlet,这是一个基于Java Servlets的完整Sip Servlet平台,经过JSR289规范认证,并使用Jain Sip进行SIP Stack。
项目周围有一个活跃的社区,您将找到有用的示例来开始。
通过选择一个入门平台,您可以专注于业务逻辑,而不必弄乱
的细节。