RE: [jitsi-dev] FW: [jitsi/jitsi-videobridge] channel-bundles suddenly empty after patching conference in 1055 (#680)


#1

Hi Damian,

Sorry, I’m only seeing now that you wrote.

I’m not saying that channel bundles ever made sense but changing this now will break a lot.

Could you please give a top-level overview of what exactly was changed. This is how a new conference in 1011 looks like. channel-bundle-id is a string which points to the id in the channel-bundles array.

{

 "id": "8bd6ee1d3705d72b",

 "contents": [{

       "name": "audio",

       "channels": [{

            "id": "327a9f81de45736d",

            "expire": 15,

            "initiator": true,

            "endpoint": "NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw",

            "direction": "sendrecv",

            "channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw",

            "rtp-level-relay-type": "translator",

            "sources": [1394101277]

       }, {

            "id": "699c102693936514",

            "expire": 15,

            "initiator": true,

            "endpoint": "NA-lTs2sSgimlkjgGybgXQ|||||AOcRLW7takPnkUkkPEJAh-I",

            "direction": "sendrecv",

            "channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ|||||AOcRLW7takPnkUkkPEJAh-I",

            "rtp-level-relay-type": "translator",

            "sources": [1394101277]

       }]

 }, {

       "name": "video",

       "channels": [{

            "id": "7aeccdb53c8c8f49",

            "expire": 15,

            "initiator": true,

            "endpoint": "NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw",

            "direction": "sendrecv",

            "channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw",

            "rtp-level-relay-type": "translator",

            "last-n": 3,

            "sources": [4196990244]

       }, {

            "id": "b85ff0b999eb312e",

            "expire": 15,

            "initiator": true,

            "endpoint": "NA-lTs2sSgimlkjgGybgXQ|||||AOcRLW7takPnkUkkPEJAh-I",

            "direction": "sendrecv",

            "channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ|||||AOcRLW7takPnkUkkPEJAh-I",

            "rtp-level-relay-type": "translator",

            "last-n": 3,

            "sources": [4196990244]

       }]

 }, {

       "name": "data",

       "sctpconnections": [{

            "id": "70d13db3c11fe73a",

            "expire": 15,

            "initiator": true,

            "endpoint": "NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw",

            "port": 5000,

            "channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw"

       }, {

            "id": "813d08dbbf108d84",

            "expire": 15,

            "initiator": true,

            "endpoint": "NA-lTs2sSgimlkjgGybgXQ|||||AOcRLW7takPnkUkkPEJAh-I",

            "port": 5000,

            "channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ|||||AOcRLW7takPnkUkkPEJAh-I"

       }]

 }],

 "channel-bundles": [{

       "id": "NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw",

       "transport": {

            "xmlns": "urn:xmpp:jingle:transports:ice-udp:1",

            "rtcp-mux": true,

            "ufrag": "4oi691cfvd6tp8",

            "pwd": "5k5ehgb7648luin2c1rdoaulgj",

            "fingerprints": [{

                 "fingerprint": "FD:D0:BF:5B:6F:10:46:6C:FA:FA:23:3B:02:A1:48:A7:D2:DD:93:2C",

                 "hash": "sha-1",

                 "setup": "actpass"

            }],

            "candidates": [{

                 "id": "8bd6ee1d3705d72b1fb0ef61359622ea013e5501b",

                 "component": 1,

                 "protocol": "ssltcp",

                 "priority": 2130706431,

                 "ip": "176.9.157.236",

                 "port": 443,

                 "type": "host",

                 "tcptype": "passive",

                 "generation": 0,

                 "foundation": "1",

                 "network": 0

            }, {

                 "id": "8bd6ee1d3705d72b1fb0ef61359622ea013e57570",

                 "component": 1,

                 "protocol": "udp",

                 "priority": 2130706431,

                 "ip": "176.9.157.236",

                 "port": 10000,

                 "type": "host",

                 "generation": 0,

                 "foundation": "2",

                 "network": 0

            }]

       }

 }, {

       "id": "NA-lTs2sSgimlkjgGybgXQ|||||AOcRLW7takPnkUkkPEJAh-I",

       "transport": {

            "xmlns": "urn:xmpp:jingle:transports:ice-udp:1",

            "rtcp-mux": true,

            "ufrag": "4h5831cfvd6tqt",

            "pwd": "4ardldl0juhmea4rpja3dpnuv8",

            "fingerprints": [{

                 "fingerprint": "FD:D0:BF:5B:6F:10:46:6C:FA:FA:23:3B:02:A1:48:A7:D2:DD:93:2C",

                 "hash": "sha-1",

                 "setup": "actpass"

            }],

            "candidates": [{

                 "id": "8bd6ee1d3705d72b6d5db00b2b3979bb0ffffffffe9405838",

                 "component": 1,

                 "protocol": "ssltcp",

                 "priority": 2130706431,

                 "ip": "176.9.157.236",

                 "port": 443,

                 "type": "host",

                 "tcptype": "passive",

                 "generation": 0,

                 "foundation": "1",

                 "network": 0

            }, {

                 "id": "8bd6ee1d3705d72b6d5db00b2b3979bb0ffffffffe9407d8d",

                 "component": 1,

                 "protocol": "udp",

                 "priority": 2130706431,

                 "ip": "176.9.157.236",

                 "port": 10000,

                 "type": "host",

                 "generation": 0,

                 "foundation": "2",

                 "network": 0

            }]

       }

 }]

}

If I understand the code correctly, you have moved everything from channel-bundles (here: the transport object) into an endpoint object like here (channel-bundles-id removed, endpoint is now an object which contains the appropriate element of the channel bundle)?

{

 "id": "8bd6ee1d3705d72b",

 "contents": [{

       "name": "audio",

       "channels": [{

            "id": "327a9f81de45736d",

            "expire": 15,

            "initiator": true,

            "endpoint": {

“id”: “NA-lTs2sSgimlkjgGybgXQ|||||WWWZ-YiJTfa05K_iftQuGw”,

                  "transport": {

                       "xmlns": "urn:xmpp:jingle:transports:ice-udp:1",

                       "rtcp-mux": true,

                       "ufrag": "4oi691cfvd6tp8",

                       "pwd": "5k5ehgb7648luin2c1rdoaulgj",

                       "fingerprints": [{

                            "fingerprint": "FD:D0:BF:5B:6F:10:46:6C:FA:FA:23:3B:02:A1:48:A7:D2:DD:93:2C",

                            "hash": "sha-1",

                            "setup": "actpass"

                       }],

                       "candidates": [{

                             "id": "8bd6ee1d3705d72b1fb0ef61359622ea013e5501b",

                            "component": 1,

                            "protocol": "ssltcp",

                            "priority": 2130706431,

                            "ip": "176.9.157.236",

                            "port": 443,

                            "type": "host",

                            "tcptype": "passive",

                            "generation": 0,

                            "foundation": "1",

                            "network": 0

                       }, {

                            "id": "8bd6ee1d3705d72b1fb0ef61359622ea013e57570",

                            "component": 1,

                            "protocol": "udp",

                            "priority": 2130706431,

                            "ip": "176.9.157.236",

                            "port": 10000,

                            "type": "host",

                            "generation": 0,

                            "foundation": "2",

                            "network": 0

                       }]

                  }

},

            "direction": "sendrecv",

            "rtp-level-relay-type": "translator",

            "sources": [1394101277]

       },

(…)

What happens when we have multiple channels (video, auto, sctp)? Is the endpoint information repeated or does it only show once?

Thanks,

Oliver