"Send": false in subscriber handle after ICE restart

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:

  1. Create offer from publisher peer connection with { iceRestart: true} and set local description with that offer
  2. Initiate subscriber ICE restart via Janus Websocket sending configure request for subscriber handle with such data: { "restart": true }
  3. Send SDP offer back to client and set it as remote description. Also gathering candidates (these steps are same as during regular connection)
  4. Send “start” message to subscriber handle with JSEP answer from client

Is that valid flow? What can cause the problem with “Send”: false ?

Probably I’ve fixed it, providing { "audio": true, "video": true, restart: "true" } to configure request. But this is not documented. In documentation there is only about { restart: "true" }.

Can you elaborate, please @lorenzo ?