Opus codec and internal call ## blind transfers

Running FreePBX 16.0.26, asterisk 16.30.0. Have Yealink T54W phones. Everything seemed to work well until I enabled opus codec on two extensions. Set Disallow Codecs in advanced tab on extension settings to ALL and Allowed Codecs to Opus. When placing an internal call between extensions on the same PBX, the receiving or answering phone cannot use ## to initiate an unattended transfer. If I leave everything the same but use g722 or ulaw, the ## works fine. Any ideas?

Don’t set the DTMF mode to inband.

G.711 (µ-law) and G.722 represent the standard telephone frequency range in a simple way. More complex codecs can have problems with audio which is not speech, or possibly neither speech nor music.

Hmm, I never use inband. Using pjsip / RFC-4733 and it works fine on FPBX 15.0.23.25, asterisk 16.29.0 and opus seems to pass DTMF without an issue from T54W’s. I’ll have to comb through all firmware and asterisk versions to see if something might have broken recently in opus in asterisk 16.30.0 on FPBX 16.0.26.

If you don’t use inband, the DTMF does not use the codec in Asterisk.

It is always possible that the external device is sending partial, or full DTMF inband, and that could confuse another external device, but Asterisk will not see it as DTMF.