webrtcbin restart ice support

in webrtcbin is it possible to force ice-restart ?

I detect a server restart through external callback and after the restart, i want to restart ice to establish connection again.

on getting restart callback, i tried offer-answer but it did not trigger ice-DTLS handshake.

In logs i can see logs like -

checking if negotiation is needed

no negotiation needed

ICE connection state change from completed(3) to connected(2)

ICE connection state change from connected(2) to completed(3)

ICE connection state: Completed

browsing through the code i can see comment -

/* FIXME: deal with ICE restarts */

Please let me know -

  1. is it possible to trigger ice-restart ?
  2. what would it take to add support for it, general guideline.

Regards

Rajneesh

Believe this is currently not supported. See the issue here, being dependent on support in libnice.

Thank you @Sanchayan for the pointer !

Hi, have there been any updates on this? This is still opened webrtcbin: Missing ICE restart support (#1318) · Issues · GStreamer / gstreamer · GitLab but this has been closed with apparently no implementation agent: ice restart will also reset the local candidates (!219) · Merge requests · libnice / libnice · GitLab.

Thank you!

The latest state is available from Draft: webrtc: preliminary support for ICE restarts (!4611) · Merge requests · GStreamer / gstreamer · GitLab. I am currently working on adding ICE-restart support to webrtcbin2 and have the initial code for librice available from support for ICE restarts and regathering by ystreet · Pull Request #175 · ystreet/librice · GitHub

Hi! Thanks for the update, I assume this will not be available for version Gstreamer 1.24 right?

Neither option would be available for GStreamer 1.24.

Hi, to what version will this be implemented?

All options would be developed on the main branch which would become the next stable release. Currently the earliest that any development would be part of is the 1.30 release series.