Playback currently treats audio files as headerless RTP payload bytes. The PIN-gate prompts are 8 kHz, mono, signed-16 PCM WAV, so rustisk would transmit the RIFF header and little-endian PCM while labeling it as the negotiated RTP codec. Add WAV parsing, validate the prompt format, encode samples as negotiated PCMU (PT 0) or PCMA (PT 8), and send paced 20 ms voice frames. Add receiver-oriented regressions that prove the RIFF header is not transmitted and both negotiated G.711 codecs contain encoded audio samples. RFC 3551 sections 4.2, 4.5.14, and 6 define 20 ms packetization and the PCMU/PCMA RTP mappings.
Playback currently treats audio files as headerless RTP payload bytes. The PIN-gate prompts are 8 kHz, mono, signed-16 PCM WAV, so rustisk would transmit the RIFF header and little-endian PCM while labeling it as the negotiated RTP codec. Add WAV parsing, validate the prompt format, encode samples as negotiated PCMU (PT 0) or PCMA (PT 8), and send paced 20 ms voice frames. Add receiver-oriented regressions that prove the RIFF header is not transmitted and both negotiated G.711 codecs contain encoded audio samples. RFC 3551 sections 4.2, 4.5.14, and 6 define 20 ms packetization and the PCMU/PCMA RTP mappings.