I am writing a C program to talk to Janus Gateway (Video Call Plugin).
What I observed:
* Registered a user "user1" from the program, registered a user "user2" from Firefox.
* Now I am trying to call user2 (Firefox) from user1 (program). Gathered the local NICE candidates and sending them as offer to Janus.
* I did not include "a=ice-options:trickle" in my offer SDP, but included all of the gathered candidates as "a=candidate" in my offer SDP.
* I could get a new call indication on user2 (Firefox) and accepted it.
* On the Janus call leg talking to my program, I could find the following log message. Looks as if the call is accepted, and my program receives the JSON message that user2 (Firefox) has accepted the call.
[2356519772] Done! Ready to setup remote candidates and send connectivity checks... [2356519772] -- ICE Trickling is supported by the browser, waiting for remote candidates... Sending event to janus.transport.http (0x7f78240008c0)
Got a Janus API event to send (0x7f78240008c0)
>> 0 (Success)
Pushing event: {
"videocall": "event",
"result": {
"event": "accepted"
}
}
* But, It is *not* loading the remote candidates supplied by my initial SDP offer, means the function janus_ice_setup_remote_candidates() is not getting called at all.
* Now, instead I use another Firefox as user1 and trying to call user2 on Firefox, I could get the following logs instead.
[568636380] Done! Ready to setup remote candidates and send connectivity checks...
[568636380] -- bundle is supported by the browser, getting rid of one of the RTP/RTCP components, if any...
[568636380] -- rtcp-mux is supported by the browser, getting rid of RTCP components, if any...
[568636380] -- Processing 15 pending trickle candidates
...... <<My Comment>>.. Could see logs to load the trickle candidates, call janus_ice_setup_remote_candidates(), then the following logs ......
[568636380] -- ICE Trickling is supported by the browser, waiting for remote candidates...
[568636380] Sending event to transport...
Sending event to janus.transport.http (0x7f2a180008c0)
Got a Janus API event to send (0x7f2a180008c0)
>> 0 (Success)
Pushing event: {
"videocall": "event",
"result": {
"event": "accepted"
}
}
Questions:
* Is it possible to disable ICE trickling?
* Even though I am sending the candidates in the original SDP, why Janus is not loading it?
But, at the same time replying as the call is accepted?
* To try out, I just added the extra line "a=ice-options:trickle", in my original SDP, but keeping the candidates and other lines the same,
but, the behaviour is the same as above.
Any idea?
Thanks and Regards
Anand