Question

i got a strange Problem using Jain Sip (dowload today Version Jain-sip-ri-1.2.2014.jar). I'm connecting to a PBX to do some uaCSTA stuff with it. The Connection works fine i also can execute MakeCall Commands etc. but after some time (~20Minutes) the Jain Sip Stack seems to not call the processRequest Method anymore. I't seems that the Session-Expires or the timeout beetween the ReInvites does not Matter.

I traced all Communication with Wireshark so i know there is a Request.

The Communication goes like this.

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

until now everything is fine. After some time doing nothing i call the Monitored Device (Phone) so the PBX will generate a DeliveredEvent.

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

this Message is send 11 times followed by a 11 Bye messages

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

So why is the processRequest Method not called? If you need some more Information to help me with my Problem feel free to Ask.

Was it helpful?

Solution

After some hours debug I finally found the Problem. The Windows Firewall blocked the UDP. The UPD appeared in my Wire Shark Trace but did never get received by the Socket of my Application.

After sending a UDP the underlying Internet Protocol waits for a Response because it’s a UDP there is no Response. But the Firewall stays open until the Time to live of the IP expires. That’s why it’s working for 64 seconds.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top