What kind of TURN server is being used?

TURN servers are an essential part of the WebRTC infrastructure as they help with NAT traversal. But how often are they used and what does that usage tell us about the cost of operating a WebRTC service?

Philipp Hancke
Aug 31, 2017 · 4 min read
There is lots of ICE in Ymerbukkta on Svalbard

What is the failure rate?

snoop=# create or replace view dataset as 
select * from features_permanent where (
iceconnectedorcompleted = 't' or
(icefailure = 't' and icefailuresubsequent = 'f')) and
usingicelite = 'f' and
browsername = 'Chrome'
order by datetime desc limit 10000000;
CREATE VIEW
snoop=# select count(*), iceconnectedorcompleted
from dataset
group by iceconnectedorcompleted;
count | iceconnectedorcompleted
— — — — — -+ — — — — — — — — — — — — -
9949800 | t
50200 | f

What percentage of calls get relayed via TURN servers and what is the relative proportion of TURN/UDP, TURN/TCP and TURN/TLS?

snoop=# create or replace view dataset as
select * from features_permanent where
iceconnectedorcompleted = 't' and
usingicelite = 'f' and
browsername = 'Chrome' and
firstcandidatepairlocaltypepreference is not null
order by datetime desc limit 10000000;
snoop=# select count(*), firstcandidatepairlocaltypepreference 
from dataset
group by firstcandidatepairlocaltypepreference
order by firstcandidatepairlocaltypepreference desc;
count | firstcandidatepairlocaltypepreference
— — — — -+ — — — — — — — — — — — — — — — — — — — -
2046351 | 126
702720 | 110
5477486 | 100
1218542 | 2
507401 | 1
47500 | 0

Repeating the analysis for our SFU

snoop=# create or replace view dataset as 
select * from features_permanent where
iceconnectedorcompleted = 't' and
usingicelite = 't' and
browsername = 'Chrome' and
firstcandidatepairlocaltypepreference is not null and
firstcandidatepairlocaltypepreference <= 2
order by datetime desc limit 100000;
snoop=# select count(*), firstcandidatepairlocaltypepreference
from dataset
group by firstcandidatepairlocaltypepreference
order by firstcandidatepairlocaltypepreference desc;
count | firstcandidatepairlocaltypepreference
— — — -+ — — — — — — — — — — — — — — — — — — — -
19650 | 2
78447 | 1
1903 | 0

The appear.in Blog

The most recent blogs from the appear.in team

Philipp Hancke

Written by

doing things webrtc @appear_in

The appear.in Blog

The most recent blogs from the appear.in team