Signalling
The gateway stays in the signalling path for the whole call, so BYE and re-INVITE reach both sides.
Audio
WhatsApp uses Opus. When your trunk does not accept Opus, the gateway converts between Opus and G.711
for you. If your trunk lists Opus as a codec, the gateway can offer it to your platform directly.
Trunks can also use G.729, a compressed 8 kHz codec found on older contact-centre and carrier equipment. The
gateway converts between it and WhatsApp’s Opus. If a trunk lists only G.729, it is offered G.729 only. Converting
to G.729 uses more processing than G.711, which matters when planning for many simultaneous calls.
Audio is carried in both directions through the gateway, which holds the audio address that Meta and your
platform send to. This keeps NAT and firewall rules on your side simple: allow the gateway.
Who sends first
Meta expects the business side to send the first audio packet on every call. Make sure your platform starts sending audio as soon as it answers.Keypad tones (DTMF)
Customers can open a keypad during a WhatsApp call, and the key presses reach your platform. Meta sends each press as a standard RFC 4733 telephone-event packet in the audio stream, with an 8,000 Hz clock rate. The gateway passes these on to your platform as RFC 4733 telephone-events, with the digit, volume and duration intact. Meta provides no separate notification of the digits, so they travel only in the audio stream. To receive them, your platform must:- Accept telephone-event in the SDP. The gateway offers
telephone-event/8000. Include it in your SDP answer and use the payload type from the offer. - Read digits as RFC 4733 events. They are not sent as audio tones, and not as SIP INFO messages.

