res_rtp_asterisk.c: Correct coefficient in MOS calculation.

Media Experience Score relies on incorrect pseudo_mos variable
calculation. According to forming an opinion section of the
documentation, calculation relies on ITU-T G.107 standard:

    https://docs.asterisk.org/Deployment/Media-Experience-Score/#forming-an-opinion

ITU-T G.107 Annex B suggests to calculate MOS with a coefficient
"seven times ten to the power of negative six", 7 * 10^(-6). which
would mean 6 digits after the decimal point. Current implementation
has 7 digits after the decimal point, which downrates the calls.

Fixes: #597
(cherry picked from commit 335b925fac)
This commit is contained in:
romryz 2024-02-06 15:57:32 +02:00 committed by Asterisk Development Team
parent 70ff49c474
commit a494b61fe2
1 changed files with 1 additions and 1 deletions

View File

@ -6240,7 +6240,7 @@ static double calc_media_experience_score(struct ast_rtp_instance *instance,
} else if (r_value > 100) {
pseudo_mos = 4.5;
} else {
pseudo_mos = 1 + (0.035 * r_value) + (r_value * (r_value - 60) * (100 - r_value) * 0.0000007);
pseudo_mos = 1 + (0.035 * r_value) + (r_value * (r_value - 60) * (100 - r_value) * 0.000007);
}
/*