Glossary¶
Shared vocabulary for the WhatsApp calls protocol. Generated from spec/glossary.yaml.
| Term | Definition |
|---|---|
| call-creator | The JID of the device that created/initiated the call. Together with call-id it uniquely identifies a call, disambiguating cases where the same call-id space might otherwise collide across the two endpoints. |
| call-id | An identifier uniquely naming a single call instance. Combined with call-creator it keys the call across both peers and the server, and ties together the offer, accept/reject, transport updates, and terminate for that call. |
| Double Ratchet | The Signal Protocol's ratcheting algorithm that derives a fresh message key for every message, combining a Diffie-Hellman ratchet with symmetric key chains to provide forward secrecy and break-in recovery. Established |
| ICE | Interactive Connectivity Establishment, the NAT-traversal framework for negotiating a working media path between peers by gathering and testing candidate transport addresses. WhatsApp's |
| JID | Jabber/XMPP Identifier addressing a WhatsApp account or device, e.g. user@s.whatsapp.net, with a device suffix (user.deviceId@...) under multi-device. Call stanzas use JIDs in from/to and in call-creator to route between specific devices. |
| msg | A normal SignalMessage: the |
| multi-device | WhatsApp's architecture allowing several linked devices (phone plus companions) to share one account, each with its own Signal identity. For calls it means an offer may carry one |
| Noise Protocol | The Noise Protocol Framework handshake (WhatsApp uses an XX-style pattern) that establishes the encrypted transport for the multi-device WebSocket connection. All WABinary traffic, including call signaling, rides inside this Noise-encrypted channel; it secures the client-to-server link and is distinct from the end-to-end Signal layer. |
| pkmsg | A PreKeySignalMessage: the |
| prekey | A pre-generated public key (signed prekey and one-time prekeys) published to the server so others can run X3DH and start a Signal session asynchronously. Consuming a one-time prekey is what enables a pkmsg-type |
| Signal Protocol | The end-to-end encryption protocol (X3DH key agreement plus the Double Ratchet) used between user devices. In calls it protects the |
| SRTP | Secure Real-time Transport Protocol, the encrypted media transport for call audio/video, carried as UDP packets to WhatsApp voip relay servers. SRTP session keys are derived from the call/media key delivered over the Signal-encrypted |
| TURN/relay | TURN (Traversal Using Relays around NAT) servers relay media when a direct peer path is not possible. WhatsApp routes call media through its own voip relay servers; the transport endpoints ( |
| WABinary | WhatsApp's compact binary encoding of an XMPP-like stanza tree (tag, attributes, children) used on the wire instead of textual XML. Call signaling stanzas such as |
| X3DH | Extended Triple Diffie-Hellman, the asynchronous key-agreement step of the Signal Protocol. It lets one device establish a shared secret with another using published prekeys without both being online, bootstrapping the session that later |