Hi there!
I am trying to implement ice restart. Almost got it, but have problem when after ICE restart I got “send”: false in subscriber handle. And peer1 which originated ICE restart stop hear peer2, but peer2 can hear peer1 after ICE restart.
"plugin_specific": {
"type": "subscriber",
"room": "fea68bec-68c6-43f0-877d-61c979f76592",
"private_id": 0,
"answered": true,
"pending_offer": false,
"pending_restart": false,
"paused": false,
"streams": [
{
"type": "audio",
"active": true,
"mindex": 0,
"mid": "0",
"ready": true,
"send": false,
"feed_id": "027f6498-2196-4c82-9407-909f60f84348",
"feed_mid": "0",
"codec": "opus"
},
My flow during ice restart:
- Create offer from publisher peer connection with
{ iceRestart: true}
and set local description with that offer - Initiate subscriber ICE restart via Janus Websocket sending configure request for subscriber handle with such data:
{ "restart": true }
- Send SDP offer back to client and set it as remote description. Also gathering candidates (these steps are same as during regular connection)
- Send “start” message to subscriber handle with JSEP answer from client
Is that valid flow? What can cause the problem with “Send”: false ?