We are trying to connect our janus instance to a 3rd party media server which is using ice-lite.
With ice lite, the media server is only required to respond to STUN requests but not to make them, which is exactly what they are doing.
We receive an “incomingcall” event from SIP plugin and forward the offer to them.
They receive this offer and respond with their answer, they are currently in “ringing” state.
We have no way of using this SDP without establishing the connection, but the call is not yet established. We have to store it in our own session data and use it later when the call is actually accepted. This then yields further delays because the connection is just now starting to be negotiated between the media servers, and that’s assuming that both media servers are willing to hold on these sessions for long enough.
Furthermore, in our specific scenario, this isn’t the case and we are actually not able to connect to the MS in question since they won’t even notify their users of ringing until the media servers are connected, basically ignoring our call.
A common solution for this kind of problem is to implement a preanswer, which they seem to expect us to do here.
I’m wondering why SIP doesn’t have this already? I would give it a go to add it myself and make a PR, if there is no reason why janus wouldn’t support this?