- Anatomy of a WebRTC SDP
- Build your own phone company with WebRTC and a weekend
- Developing mobile WebRTC hybrid applications
- An Intro to WebRTC’s NAT/Firewall Problem
- How to limit WebRTC bandwidth by modifying the SDP
- How to Figure Out WebRTC Camera Resolutions
- Reacting to React Native for native WebRTC apps (Alexey Aylarov)
webrtcH4cKS: ~ Am I behind a Symmetric NAT?
WebRTC establishes peer-to-peer connections between web browsers. To do that, it uses a set of techniques known as Interactive Connectivity Establishment or ICE. ICE allows clients behind certain types of routers that perform etwork Address Translation, or NAT, to establish direct connections. (See the WebRTC glossary entry for a good introduction.) One of the first problems is for a client to find what its public IP address is. To do so, the client asks a STUN server for its IP address.
NATs are boxes (physical or virtual) that connect our local private networks to the public internet. They do so by translating the internal IP addresses we use to public ones. They work differently from one another, which ends up requiring WebRTC to rely on both STUN and TURN in order to connect calls. For background on these, check out some of our past posts on this topic like this one and this one.