WebRTC’s reputation for being hard to debug comes largely from vocabulary confusion — “the call won’t connect” could mean a signaling failure, an ICE negotiation failure, or a media codec mismatch, and each requires a completely different fix. A team that names the layer precisely can triage in minutes instead of hours. This guide covers the English used when discussing WebRTC code with a team.
Key Vocabulary
Signaling — the out-of-band process (WebRTC doesn’t define it, so it’s built with WebSockets or similar) of exchanging session descriptions and candidates between peers before a connection can be established. “The call fails before any media flows, and the browser console shows no ICE errors at all — that points to a signaling problem, not a WebRTC connectivity issue.”
SDP (Session Description Protocol) — a text format describing a media session’s capabilities (codecs, resolutions, encryption keys), exchanged as an offer and answer between peers during signaling. “The remote peer’s SDP answer doesn’t include a codec our side offered — that’s an SDP negotiation mismatch, not a network problem.”
ICE candidate — a potential network path (a local IP, a NAT-reflected address via STUN, or a relayed address via TURN) that WebRTC gathers and exchanges to find a route between two peers. “We’re only gathering host candidates, no STUN or TURN candidates — that’s why this fails between two peers on different networks but works fine on the same LAN.”
STUN / TURN server — a STUN server helps a peer discover its public-facing address behind NAT; a TURN server relays media traffic entirely when a direct peer-to-peer path isn’t possible. “This connection only succeeds through the TURN relay, never directly — that tells us we’re dealing with a symmetric NAT that STUN alone can’t traverse.”
ICE negotiation — the process of both peers exchanging and testing candidate pairs to find a working network path, which can succeed, fail, or take an unexpectedly long time depending on network conditions. “ICE negotiation is stuck in the ‘checking’ state for ten seconds before it fails — let’s check whether our TURN server credentials are even valid.”
Media track (and renegotiation) — an individual audio or video stream added to a peer connection; adding or removing tracks after the initial connection requires renegotiating the SDP offer/answer exchange. “Adding the screen-share track mid-call requires a renegotiation — we can’t just attach it to the existing peer connection and expect the remote side to pick it up automatically.”
Common Phrases
- “Is this failing at signaling, or after signaling during ICE negotiation?”
- “Are we gathering STUN and TURN candidates, or only host candidates?”
- “Is this an SDP mismatch, or a genuine connectivity failure?”
- “Does adding this track require a renegotiation, or can it be added to the existing connection?”
- “Is the TURN relay being used, meaning direct peer-to-peer isn’t working here?”
Example Sentences
Reviewing a pull request: “This code tears down and recreates the whole peer connection just to add a screen-share track — let’s do a proper renegotiation instead, so the existing audio and video tracks aren’t interrupted.”
Explaining a design decision: “We deployed our own TURN server rather than relying on STUN alone, because a meaningful percentage of our users are behind symmetric NATs where STUN-only connectivity consistently fails.”
Describing an incident: “Calls between two specific office networks were failing, and it turned out their firewall was blocking the UDP ports STUN needs — TCP-based TURN as a fallback fixed it.”
Professional Tips
- Say “signaling failure” versus “ICE negotiation failure” precisely — they point to entirely different parts of the stack and different people usually own the fix.
- When triaging connection issues, ask “which candidates are we gathering, and which pair actually succeeded?” — this immediately narrows down NAT traversal problems.
- Use “renegotiation” specifically when describing adding or removing tracks mid-call — it’s the correct term and distinguishes it from a full reconnect.
- Distinguish “STUN” (discovering your own reachable address) from “TURN” (relaying traffic when direct connection fails) — conflating them misdiagnoses connectivity problems.
Practice Exercise
- Explain in two sentences the difference between a signaling failure and an ICE negotiation failure.
- Write a one-sentence explanation of when a TURN server is needed instead of STUN alone.
- Describe, in your own words, why adding a new media track mid-call requires renegotiation.
Beyond the Basics: Navigating Professional Communication
As we’ve explored in this article, understanding the specific vocabulary around WebRTC – signaling, ICE, media tracks – is crucial for effective collaboration. However, for non-native English speakers, simply knowing the definitions isn’t enough. The way you communicate these concepts matters just as much, particularly when discussing technical details within a professional setting. This often involves nuanced phrasing and an awareness of common expectations around clarity and precision. It’s about conveying your understanding confidently and contributing meaningfully to discussions, even if your first draft isn’t perfectly polished. Don’t be afraid to ask for clarification – genuine curiosity is always appreciated. Remember, the goal isn’t flawless grammar; it’s clear communication.
A frequent challenge arises during code reviews. Consider this scenario: a senior developer, Sarah, leaves a comment on a PR submitted by David regarding the audio track negotiation logic. Instead of simply saying “This needs fixing,” she writes, “I’m seeing some potential inefficiencies in how we handle fallback codecs here. Could you elaborate on the rationale for prioritizing libopus over vp8 in this particular scenario? Perhaps adding a check to ensure the user’s network bandwidth aligns with opus’s bitrate requirements would improve stability.” Notice the difference. Sarah isn’t just pointing out an issue; she’s prompting David to explain his thinking, demonstrating a collaborative approach and subtly suggesting a possible solution. Similarly, in Slack channels discussing performance issues, concise phrases like “Let’s investigate potential jitter impacting ICE negotiation” are far more effective than a vague complaint about “it not working right.” Being specific with your observations—especially when describing the impact of a problem—is key to driving solutions.
Another common situation involves crafting clear PR descriptions. A developer, Maria, is adding support for WebRTC’s SRST (Simultaneous Receiving Stream Transport) feature. Instead of a brief “Added SRST,” she writes: “Implemented SRST support, allowing the client to dynamically adjust its video bitrate based on network conditions and the receiver’s capabilities. This mitigates potential bandwidth limitations and improves perceived quality during periods of fluctuating connectivity. The implementation utilizes ffmpeg’s filtergraph functionality to perform real-time scaling and retransmission. Further testing is required to assess performance under varying network loads.” The detail in Maria’s description demonstrates a thorough understanding of the feature, its benefits, and how it was implemented. It also invites further questions and allows reviewers to quickly grasp the scope of the changes.
Finally, remember that active listening plays a huge role. When someone is explaining a complex concept, don’t just wait for your turn to speak. Paraphrase what you’ve heard to confirm understanding: “So, if I understand correctly, you’re saying we should prioritize using ICE candidates from the server for improved stability?” This simple act demonstrates engagement and reduces the likelihood of misunderstandings. It also provides an opportunity for clarification – “Could you elaborate on why that particular candidate is preferred?”
Here’s a simple example demonstrating how to use ffmpeg to analyze a media stream’s bitrate:
ffmpeg -i input.mp4 -f null - | openssl tsp -base64 Keep practising
Turn this article into muscle memory
Five-minute exercises with instant feedback — built from the same kind of real IT language.
What to read next
Frequently asked questions
What will I learn from "English for WebRTC Developers"?
This is a Advanced-level Vocabulary article covering vocabulary, webrtc, realtime and networking. Master the English vocabulary developers use for signaling, ICE negotiation, and media tracks when discussing real-time audio and video code with a team.
Is this article free to read?
Yes. Every article on CoderSlingo, including this one, is free to read with no account, sign-up, or paywall.
How is reading this article different from doing an exercise?
Articles like this one explain concepts and vocabulary in context through prose, while exercises are interactive drills — fill-in-the-blank, matching, and multiple-choice — that test and reinforce specific terms. Reading builds understanding; exercises build recall.
Can I practice the vocabulary used in this article?
Yes — this article's topic lines up with our vocabulary exercises. Use the "Practice this vocabulary" link below to jump straight into a matching drill.
How long does "English for WebRTC Developers" take to read?
About 8 min. Most CoderSlingo articles, including this one, are written to be read in one sitting, without needing a dictionary open in another tab.
Do I need to create an account to read or save this article?
No account is required to read any article. If you complete exercises elsewhere on the site, your progress is saved locally in your browser — no login needed.
What if I don't understand a technical term used in this article?
Check the site Glossary for plain-English definitions of common IT terms, or browse the #vocabulary tag page for other Vocabulary articles that use the same vocabulary in different contexts.
Can I share or link to "English for WebRTC Developers"?
Yes — use the Twitter/X or LinkedIn share buttons at the end of the article, or copy the page URL directly. Attribution back to CoderSlingo is appreciated but the content is free to reference.
When was this Vocabulary article published?
This article was published in 2026. New Vocabulary articles are added regularly — visit the #vocabulary tag page to see the full, continuously updated list.
Where can I find more articles like this one?
See "English for LiveKit Developers", "Kubernetes Networking Vocabulary: CNI, Services, Ingress, and Policies", "PartyKit: Real-Time Collaboration English for Web Developers" in the Related Articles section below, or browse all Vocabulary articles from the main Blog index.