2013-04-22 140 views
5

我要求创建一个SIP客户端,但我完全失去了...... 经过一番研究,我发现了java中的Jain SIP API,我想我会使用它。 但是我真的不知道我应该使用什么类,以及我应该实现或不使用什么接口。我应该使用Jain SIP(​​java)的哪些类来创建SIP客户端?

我读这篇文章:http://www.oracle.com/technetwork/articles/entarch/introduction-jain-sip-090386.html

而这个:http://hudson.jboss.org/hudson/job/jain-sip/lastSuccessfulBuild/artifact/javadoc/javax/sip/package-summary.html#package_description

但我不明白,这部分我应该实现一个SIP客户端? SipListener或SipStack和SipProvider?

谢谢。

+0

没有任何回答帮助你的? – 2013-05-02 18:51:58

回答

7

您需要实现这两个类。

SipProvider类将连接到您的端点(例如Aterisk)。请注意,此类必须位于静态上下文中,因为每个客户端只允许一个连接。

你不能创建一个调用SipStack类的SipProvider实例,在sipStack.createSipProvider(listeningPoint)。在此之后,您可以创建交易并将请求发送给您的终端。

SipListener是将处理来自服务器的所有响应的类。这意味着您发送到服务器的每个请求(通过SipProvider)都将在SipListener上收到响应。因此,您必须让此侦听器处理您的端点返回的所有数据。

尝试实施您引用的oracle文章中描述的代码。我开始基于这篇文章开发,并且工作得很好!

+0

非常感谢您的帮助和您给我的描述,它对我有很大帮助! – user2308044 2013-05-26 15:39:54

+0

不客气,任何怀疑只是问! – 2013-05-26 17:22:27

+0

我正在使用相同的代码。对于IP,我设置了我的本地IP,它工作正常。当我尝试将ip更改为正在运行sip服务器的计算机的ip时,该项目抛出异常,表示无法绑定到该地址。当我从命令行ping通那个ip时,我得到了一个快速响应。当我进一步调试时,我发现这一行发生异常:'sipStack.createListeningPoint'。有人能指出我应该设置什么属性,或者我应该做些什么改变才能使它工作? – 2013-12-26 12:15:03