Where do I patch transport information when using REST?


#1

In 1011, when I received an answer from the client, I patched transport information (ice-ufrag, fingerprint, etc.) into the channels where the client signaled it.

In 1066, it doesn’t seem to work anymore and the bridge does not return that information either (not sure if this was correct before), because it no longer replies channel-bundles. In the response, a lot of information is simply gone.

I think somebody should update https://github.com/jitsi/jitsi-videobridge/blob/master/doc/rest-colibri.md so we know what’s expected.

PATCH /conference

{
	"id": "e1064008286d5826",
	"contents": [{
		"name": "audio",
		"channels": [{
			"id": "1e455aff0a2ba7ba",
			"direction": "sendrecv",
			"sources": [128020113],
			"ssrc-groups": [],
			"payload-types": [{
				"id": 111,
				"name": "opus",
				"clockrate": 48000,
				"channels": 2,
				"parameters": {
					"minptime": "10",
					"useinbandfec": "1"
				}
			}],
			"rtp-hdrexts": [{
				"id": 1,
				"uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
			}],
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true,
				"ufrag": "ubJO",
				"pwd": "G/SFk4v0bW2XIswQ2kOSCMbX",
				"fingerprints": [{
					"fingerprint": "1D:6F:8B:72:2C:FF:2B:27:0E:26:46:1C:57:9E:8A:F1:66:32:4C:88:99:6E:9D:D2:93:4C:4B:AA:0B:88:E0:D4",
					"hash": "sha-256",
					"setup": "active"
				}]
			}
		}]
	}, {
		"name": "video",
		"channels": [{
			"id": "a5f8323a76b38a93",
			"direction": "sendrecv",
			"sources": [3724856490],
			"ssrc-groups": [],
			"payload-types": [{
				"id": 96,
				"name": "VP8",
				"clockrate": 90000,
				"channels": 0,
				"rtcp-fbs": [{
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}, {
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}]
			}],
			"rtp-hdrexts": [{
				"id": 3,
				"uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
			}],
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true,
				"ufrag": "ubJO",
				"pwd": "G/SFk4v0bW2XIswQ2kOSCMbX",
				"fingerprints": [{
					"fingerprint": "1D:6F:8B:72:2C:FF:2B:27:0E:26:46:1C:57:9E:8A:F1:66:32:4C:88:99:6E:9D:D2:93:4C:4B:AA:0B:88:E0:D4",
					"hash": "sha-256",
					"setup": "active"
				}]
			}
		}]
	}, {
		"name": "data",
		"sctpconnections": [{
			"id": "4813127ad7d7fe44"
		}]
	}],
	"endpoints": [],
	"channel-bundles": []
}

Response:

{
	"id": "e1064008286d5826",
	"contents": [{
		"name": "audio",
		"channels": [{
			"id": "ee6002483aecfb9f",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~AfNNBe8A6Ek",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~AfNNBe8A6Ek",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"sources": [266566501],
			"ssrcs": [3662844701]
		}, {
			"id": "1e455aff0a2ba7ba",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~AfNNFC5A6Ek",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~AfNNFC5A6Ek",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"sources": [266566501],
			"ssrcs": [128020113]
		}]
	}, {
		"name": "video",
		"channels": [{
			"id": "df504fe6a71795d1",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~AfNNBe8A6Ek",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~AfNNBe8A6Ek",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"last-n": 3,
			"sources": [166098279],
			"ssrcs": [1619052362]
		}, {
			"id": "a5f8323a76b38a93",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~AfNNFC5A6Ek",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~AfNNFC5A6Ek",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"last-n": 3,
			"sources": [166098279],
			"ssrcs": [3724856490]
		}]
	}, {
		"name": "data",
		"sctpconnections": [{
			"id": "41c1634e88b57436",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~AfNNBe8A6Ek",
			"port": 5000,
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true,
				"ufrag": "d0ag31cgn2g2t3",
				"pwd": "541a136ttrebjkdh7kfr49tjv6",
				"fingerprints": [{
					"fingerprint": "A4:72:EA:09:05:95:82:61:A1:49:20:08:1A:70:BA:CF:76:BE:83:67",
					"hash": "sha-1",
					"setup": "actpass"
				}],
				"candidates": [{
					"id": "e1064008286d582663b310066c67ada50ffffffffba1cab02",
					"component": 1,
					"protocol": "ssltcp",
					"priority": 2130706431,
					"ip": "176.9.157.236",
					"port": 443,
					"type": "host",
					"tcptype": "passive",
					"generation": 0,
					"foundation": "1",
					"network": 0
				}, {
					"id": "e1064008286d582663b310066c67ada50ffffffffba1cd057",
					"component": 1,
					"protocol": "udp",
					"priority": 2130706431,
					"ip": "176.9.157.236",
					"port": 10000,
					"type": "host",
					"generation": 0,
					"foundation": "2",
					"network": 0
				}]
			}
		}, {
			"id": "4813127ad7d7fe44",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~AfNNFC5A6Ek",
			"port": 5000,
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true,
				"ufrag": "d10fk1cgn2g2t0",
				"pwd": "3tjhdr7e4pq1tjkaciqtr9q0p3",
				"fingerprints": [{
					"fingerprint": "A4:72:EA:09:05:95:82:61:A1:49:20:08:1A:70:BA:CF:76:BE:83:67",
					"hash": "sha-1",
					"setup": "actpass"
				}],
				"candidates": [{
					"id": "e1064008286d582657d14a46b3823b40ffffffffb3755c20",
					"component": 1,
					"protocol": "ssltcp",
					"priority": 2130706431,
					"ip": "176.9.157.236",
					"port": 443,
					"type": "host",
					"tcptype": "passive",
					"generation": 0,
					"foundation": "1",
					"network": 0
				}, {
					"id": "e1064008286d582657d14a46b3823b40ffffffffb3758175",
					"component": 1,
					"protocol": "udp",
					"priority": 2130706431,
					"ip": "176.9.157.236",
					"port": 10000,
					"type": "host",
					"generation": 0,
					"foundation": "2",
					"network": 0
				}]
			}
		}]
	}],
	"endpoints": [{
		"id": "NA-lTs2sSgimlkjgGybgXQ~AfNNBe8A6Ek"
	}, {
		"id": "NA-lTs2sSgimlkjgGybgXQ~AfNNFC5A6Ek"
	}],
	"channel-bundles": []
}

#2

I think this here is obsolete. The problem is elsewhere, but there is one I believe :frowning: Will post tomorrow.