【问题标题】:Jain Sip processRequest Method in SipListener is not called不调用 SipListener 中的 Jain Sip processRequest 方法
【发布时间】:2012-03-30 13:23:01
【问题描述】:

我在使用 Jain Sip 时遇到了一个奇怪的问题(今天下载版本 Jain-sip-ri-1.2.2014.jar)。我正在连接到一个 PBX 来做一些 uaCSTA 的事情。连接工作正常,我也可以执行 MakeCall 命令等,但经过一段时间(~20 分钟),Jain Sip Stack 似乎不再调用 processRequest 方法。我似乎 Session-Expires 或 ReInvites 之间的超时无关紧要。

我跟踪了与 Wireshark 的所有通信,所以我知道有一个请求。

沟通是这样进行的。

1. me -> PBX Request: INVITE sip:xxx  CSTA RequestSystemStatus
2. me <- PBX Status:  100 Trying
3. me <- PBX Status:  200 Ok          CSTA RequestSystemStatusResponse Normal
4. me -> PBX ACK             sip:xxx 
5. me -> PBX Request: INFO   sip:xxx  CSTA MonitorStart
6. me <- PBX Status:  200 Ok          CSTA MonitorStartResponse

到目前为止一切都很好。一段时间后什么都不做,我打电话给受监控的设备(电话),这样 PBX 就会生成一个 DeliveredEvent。

x. me <- PBX Request: INFO   sip:xxx  DeliveredEvent

此消息发送 11 次,然后是 11 条再见消息

x. me <- PBX Request: BYE    sip:xxx  

那么为什么没有调用processRequest方法呢?如果您需要更多信息来帮助我解决我的问题,请随时提问。

【问题讨论】:

    标签: java sip jain-sip


    【解决方案1】:

    经过几个小时的调试,我终于找到了问题所在。 Windows 防火墙阻止了 UDP。 UPD 出现在我的 Wire Shark Trace 中,但从未被我的应用程序的套接字接收。

    发送 UDP 后,底层 Internet 协议等待响应,因为它是 UDP,因此没有响应。但是防火墙保持打开状态,直到 IP 的生存时间到期。这就是它工作 64 秒的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-08
      • 2011-01-14
      • 2014-09-04
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多