It’s a copy of the same topic raised in Jul’21
At this time this was not yet implemented.
But will repeat same here.
I have Asterisk 18.11.3 with serveral endpoints. A is configured with
allow = !all, opus, alaw
and B with
allow = !all, alaw
Both of them configured with
codec_prefs_incoming_answer : prefer:configured, operation:intersect, keep:all, transcode:prevent codec_prefs_incoming_offer : prefer:configured, operation:intersect, keep:all, transcode:prevent codec_prefs_outgoing_answer : prefer:configured, operation:intersect, keep:all, transcode:prevent codec_prefs_outgoing_offer : prefer:configured, operation:intersect, keep:all, transcode:prevent
When I’m calling from endpoint A to B , I’m still getting A is talking to Asterisk with
OPUS , but with B Asterisk it talking with
alaw . So, Asterisk doing transcoding.
Dialplan is quite simple, just
SDP of INVITE of endpoint A is
a=rtpmap:96 opus/48000/2 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:97 telephone-event/48000 a=rtpmap:101 telephone-event/8000 a=fmtp:96 useinbandfec=1
200 OK SDP from endpoint B is
m=audio 22440 RTP/AVP 8 101 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000
Problem is actually happening with
OPUS codec in this transcoding is sometimes voice transcoded in OPUS → PCMA way is really distorted (or can became distorted after some time in the call). The thing I can’t really catch it.
Just in a case OPUS settings are
[opus] type=opus packet_loss=10 fec=yes
Is there any way to disable transcoding on Asterisk at all? And best if Asterisk will look on codecs present in
200 OK answer from remote side and align own
200 OK with it. So-called late negotiation.