..in the .CAF-container (24 kHz):
MacRumors article (https://www.macrumors.com/2019/03/13/ios-12-2-improved-audio-message-quality/)
Wow, that is a big success for opus.
Interesting why didn't they use standard sampling rate (48000) which Opus is designed for.
Opus supports 8, 12, 16, 24 and 48KHz sample rates.
Opus always uses 48KHz timestamp units, but you can use lower samplerates that divide evenly with 48KHz, in order to save bandwidth and storage costs. You can input and output at any supported samplerate.
An upper frequency limit of 12KHz is fine for speech. This is for audio messages, not recording musical content.
It would have been much clearer if they'd described this in terms of bandwidth, since Opus may or may not actually be using the sample-rate described. Or maybe it would have been even more confusing. In this particular case, if iOS is using 24 kHz speech, then Opus will be in hybrid mode, with the LP layer running at a sample-rate of 16 kHz to encode low frequencies and the MDCT layer running at 48 kHz to encode the higher frequencies. The outputs are then resampled or decimated respectively, and combined to produce samples at the desired 24 kHz.