Hi,
I have a client (broken) that, for yet unknown reason, sent 2 http GET requests to REST API, which caused Janus to not respond with keepalive to any of those requests and eventually destroy that session.
What do you mean by “not respond with keepalive”? The GET is used as a way to perform long polling and receive responses/events from Janus: while that GET can act as a keepalive trigger (it’s activity on the session), it’s not its main task. There’s a specific keep-alive message that can be sent too (and which other transports use).
I’m using freeswitch-mod-janus which does only http GET and if there is no activity on session in 30sec a keepalive message is sent by Janus and received.
Practically built with this in mind The long-poll request has a 30 seconds timeout. If it has no event to report, a simple keep-alive message will be triggered:
But in this case, when two consecutive http GETs are sent at same second, there is no keepalive produced by janus in next 2min (which is basically my session + reclaim_session timeout)