Hello!
Note that this regarding how the amr format works, and not the transcoding module.
Consider this scenario:
Caller -> Asterisk -> Callee.
AMR-WB used all the way.
Caller invites with all modes available. This is also offered in Asterisk's invite to the Callee.
Callee's 183 response is with mode-set "0,1,2" only.
Asterisk will send a 183 to the Caller with all modes (which is the same as the Caller has sent in the first Invite).
The problem now is when the Caller sends a higher rate than the Callee can handle (mobile network), which for some handsets will result in distorted audio. Scenario is a VoLTE mobile calling a mobile which is on 2G or 3G.
Current workaround is changing this line:
.mode_set = 0, /* all modes /
to:
.mode_set = 7, / mode 0,1,2 */
But that limits the possible call quality.
I assume:
The correct thing would be to pass mode "0,1,2" all the way from the Callee to the Caller? This will probably need a core change in Asterisk?
I'm not asking for a fix. Just some guidance for further debugging myself :-)
Hello!
Note that this regarding how the amr format works, and not the transcoding module.
Consider this scenario:
Caller -> Asterisk -> Callee.
AMR-WB used all the way.
Caller invites with all modes available. This is also offered in Asterisk's invite to the Callee.
Callee's 183 response is with mode-set "0,1,2" only.
Asterisk will send a 183 to the Caller with all modes (which is the same as the Caller has sent in the first Invite).
The problem now is when the Caller sends a higher rate than the Callee can handle (mobile network), which for some handsets will result in distorted audio. Scenario is a VoLTE mobile calling a mobile which is on 2G or 3G.
Current workaround is changing this line:
.mode_set = 0, /* all modes /
to:
.mode_set = 7, / mode 0,1,2 */
But that limits the possible call quality.
I assume:
The correct thing would be to pass mode "0,1,2" all the way from the Callee to the Caller? This will probably need a core change in Asterisk?
I'm not asking for a fix. Just some guidance for further debugging myself :-)