0

我正在用 Java 编写一个应用程序来拨打电话并查看人们何时通话、他们的电话正在响铃或空闲,使用库 Jain-Sip 并且目前正在尝试使用 SUBSCRIBE 和 NOTIFY 消息正确实现存在。我能够获得要接收的存在数据,但过了一段时间,我的程序停止显示存在数据。

我相信这是因为没有调用覆盖的方法“processRequest”。这是程序中处理 NOTIFY 消息的最早点,甚至不输出打印语句。

奇怪的是,当我拨打电话时正在发送通知消息,并且存在数据在那里。我知道这一点是因为我在运行程序时已经完成了 Wireshark 跟踪。

注意:在程序执行期间没有发生异常,导致错误行为。

如果有人对为什么会发生这种情况有任何见解,我将不胜感激。

非常感谢,亚当

4

1 回答 1

0

确保您正确添加了您的侦听器类。唯一可能的其他原因是 NOTIFY 是未经请求的,这不应该是这种情况,但它确实发生了。尝试启用此标志gov.nist.javax.sip.DELIVER_UNSOLICITED_NOTIFY。在这里查看更多信息https://jsip.ci.cloudbees.com/job/jsip/javadoc/gov/nist/javax/sip/SipStackImpl.html

否则,您将需要附加调试日志来弄清楚,可能是格式错误的请求或类似的东西。

于 2014-04-20T14:58:10.430 回答