2012-10-03 90 views
1

我已成功使用jainsip注册客户端。 processRequest方法正在工作。我正在从代理向手机发送邀请,手机正在响铃。邀请的源端口是5060,服务器的ip是ip。我用一个嗅探器来验证100Trying和180Ringing从客户端发送到端口5060上的服务器/代理服务器。在服务器上注册了两个客户端,如上所述,processRequest正在工作,但100Trying和180Ringing响应未被拾取通过SIpListener或processResponse方法就不会被调用。我使用这些罐子:jainsip processResponse not called

<dependency> 
    <groupId>javax.sip</groupId> 
    <artifactId>jain-sip-api</artifactId> 
    <version>1.2.1.4</version> 
</dependency> 
<dependency> 
    <groupId>javax.sip</groupId> 
    <artifactId>jain-sip-ri</artifactId> 
    <version>1.2.167</version> 
</dependency> 

我送请使用此代码:

ClientTransaction clientTransaction = sipProviderStatic.getNewClientTransaction(inviteRequest); 
clientTransaction.sendRequest(); 

的注册会通过量精细,所以它不是一个防火墙的问题,我甚至试图将其关闭。

有没有人有想法?

回答

0

第一件事情就是你要重定向的端口,如果你在两个模拟器通过发送请求并获得响应类似测试以下内容:

去比输入“远程登录本地主机5554”命令,然后输入相同的另一个模拟器

比输入“REDIR添加UDP:5070:5070”为服务器代码和

比输入“REDIR添加UDP:5060:5060”为它发送请求的客户端代码......比你能看到这两个仿真器之间的请求和响应

+0

我证实客户端通过嗅探正确响应。响应转到jainsip侦听器正在运行的端口5060 udp上的服务器ip地址,并正确接收请求。 – user1717917