Audio > ICE Candidates

ICE lines

Next we have the ICE lines, which is the mechanism chosen for NAT traversal in WebRTC. You can find a very didactic and comprehensive explanation of ICE here. ICE is complex enough to deserve its own post, but I will try to explain its SDP lines in an understandable way.

a=candidate:1853887674 1 udp 1845501695 46.2.2.2 36768 typ srflx raddr 192.168.0.197 rport 36768 generation 0
a=candidate:1853887674 2 udp 1845501695 46.2.2.2 36768 typ srflx raddr 192.168.0.197 rport 36768 generation 0

Here we have the server reflexive candidates. Note that they have lower priority than host candidates. These candidates are discovered thanks to STUN server (see this post to learn more). The couple public public IP-port are included after the priority. The couple private IP-port after typ srflx raddr are the private IP:port related (there is a NAT binding) to the public IP:port where the traffic is going to be received.