我在使用 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 方法呢?如果您需要更多信息来帮助我解决我的问题,请随时提问。