mirror of
https://github.com/oxen-io/session-desktop.git
synced 2023-12-14 02:12:57 +01:00
call: pick a sample of 2 of the iceservers before creating connection
This commit is contained in:
parent
b1221c6809
commit
78b84d4ed8
1 changed files with 44 additions and 38 deletions
|
@ -120,46 +120,51 @@ let ignoreOffer = false;
|
|||
let isSettingRemoteAnswerPending = false;
|
||||
let lastOutgoingOfferTimestamp = -Infinity;
|
||||
|
||||
/**
|
||||
* This array holds all of the ice servers Session can contact.
|
||||
* They are all contacted at the same time, so before triggering the request, we get only a subset of those, randomly
|
||||
*/
|
||||
const iceServersFullArray = [
|
||||
{
|
||||
urls: 'turn:freyr.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:fenrir.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:frigg.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:angus.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:hereford.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:holstein.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:brahman.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
];
|
||||
|
||||
const configuration: RTCConfiguration = {
|
||||
bundlePolicy: 'max-bundle',
|
||||
rtcpMuxPolicy: 'require',
|
||||
iceServers: [
|
||||
{
|
||||
urls: 'turn:freyr.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:fenrir.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:frigg.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:angus.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:hereford.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:holstein.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
{
|
||||
urls: 'turn:brahman.getsession.org',
|
||||
username: 'session202111',
|
||||
credential: '053c268164bc7bd7',
|
||||
},
|
||||
],
|
||||
// iceTransportPolicy: 'relay', // for now, this cause the connection to break after 30-40 sec if we enable this
|
||||
};
|
||||
|
||||
|
@ -701,7 +706,8 @@ function createOrGetPeerConnection(withPubkey: string) {
|
|||
return peerConnection;
|
||||
}
|
||||
remoteStream = new MediaStream();
|
||||
peerConnection = new RTCPeerConnection(configuration);
|
||||
const sampleOfICeServers = _.sampleSize(iceServersFullArray, 2);
|
||||
peerConnection = new RTCPeerConnection({ ...configuration, iceServers: sampleOfICeServers });
|
||||
dataChannel = peerConnection.createDataChannel('session-datachannel', {
|
||||
ordered: true,
|
||||
negotiated: true,
|
||||
|
|
Loading…
Reference in a new issue