SIP和Java,从哪里开始和用什么?

我想在java中实现SIP协议,并希望能够创建不同的客户端(5个或更多)并使它们连接到代理服务器。 这一切都是出于测试目的,所以我希望能够在相当低的水平上看到正在发生的事情。
客户端应该首先能够通过文本进行通信,之后也可以通过音频进行通信。 (如果我走得那么远)

我已经阅读了一些关于JAIN库的内容,我从中了解到它们并不是非常适合服务器端? 我也没有真正找到任何代理服务器示例,教程,使用JAIN。
我也找到了这本SIP Servlet教程书 ,我过去使用过HTTP servlet但是我应该选择servlet还是JAIN还是……?

我是SIP的新手,所以我真的不知道从哪里开始,或者与java结合使用。

如果打算将您的SIP堆栈合并到生产应用程序中,那么我对您的建议就是尽一切可能避免从头开始编写自己的SIP堆栈。 可以毫不夸张地说,多年来让您的堆栈与所有不同的SIP设备和服务器一起顺利运行需要多年。 如果你有一套非常狭窄的集成要求,那么也许你可以更快地完成它,但它仍然是一项艰巨的任务。

这是一个很好的SIP堆栈列表。 另一方面,如果您决定通过查看SIP RFC列表来实现自己的开始。 RFC 3261是核心协议规范,但它已经被许多其他RFC更新,因此您只需要为核心SIPfunction实现至少六个。 之后,如果你想支持诸如转移,在线状态,消息等待等事情,那么就可以实现更多的RFC。 这是SIP堆栈的列表。

Sip Servlets平台将帮助您构建融合应用程序,即HTTP和SIP应用程序。 Sip最终用户设备将与Sip Servlet应用程序交互。 例如,Sip Servlet应用程序可以是B2BUA或SIP代理。

我建议你试试Mobicents Sip Servlet ,这是一个完整的Sip Servlet平台,位于Java Servlets之上,经过JSR289规范认证,并使用Jain Sip进行SIP Stack。

项目周围有一个活跃的社区,您将找到有用的示例来开始。

通过选择一个入门平台,您可以专注于业务逻辑,而不必弄乱细节