[M] Change in osmo-bsc[master]: Only check for intersecting AMR codec support on matching TS rate
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/35135?usp=email ) Change subject: Only check for intersecting AMR codec support on matching TS rate ...................................................................... Only check for intersecting AMR codec support on matching TS rate Only check for intersecting full rate AMR codec, if the BTS has at least one full rate or dynamic time slot configured. Only check for intersecting half rate AMR codec, if the BTS has at least one half rate or dynamic time slot configured. Related: OS#5926 Change-Id: Ia4a8e7f22dc652655ee7c5458624df8ae136dd95 --- M src/osmo-bsc/codec_pref.c 1 file changed, 36 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/35135/1 diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index 31b5215..454b00b 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -481,22 +481,28 @@ rc = -1; } - bts_gsm48_ie = (struct gsm48_multi_rate_conf *)&bts->mr_full.gsm48_ie; - rc_rate = calc_amr_rate_intersection(NULL, &msc->amr_conf, bts_gsm48_ie); - if (rc_rate < 0) { - LOGP(DMSC, LOGL_FATAL, - "network amr tch-f mode config of BTS %u does not intersect with amr-config of MSC %u\n", - bts->nr, msc->nr); - rc = -1; + /* Full rate codec check, only if any full rate TS is configured. */ + if (test_codec_support_bts_rate(bts, true)) { + bts_gsm48_ie = (struct gsm48_multi_rate_conf *)&bts->mr_full.gsm48_ie; + rc_rate = calc_amr_rate_intersection(NULL, &msc->amr_conf, bts_gsm48_ie); + if (rc_rate < 0) { + LOGP(DMSC, LOGL_FATAL, + "network amr tch-f mode config of BTS %u does not intersect with amr-config of MSC %u\n", + bts->nr, msc->nr); + rc = -1; + } } - bts_gsm48_ie = (struct gsm48_multi_rate_conf *)&bts->mr_half.gsm48_ie; - rc_rate = calc_amr_rate_intersection(NULL, &msc->amr_conf, bts_gsm48_ie); - if (rc_rate < 0) { - LOGP(DMSC, LOGL_FATAL, - "network amr tch-h mode config of BTS %u does not intersect with amr-config of MSC %u\n", - bts->nr, msc->nr); - rc = -1; + /* Half rate codec check, only if any half rate TS is configured. */ + if (test_codec_support_bts_rate(bts, false)) { + bts_gsm48_ie = (struct gsm48_multi_rate_conf *)&bts->mr_half.gsm48_ie; + rc_rate = calc_amr_rate_intersection(NULL, &msc->amr_conf, bts_gsm48_ie); + if (rc_rate < 0) { + LOGP(DMSC, LOGL_FATAL, + "network amr tch-h mode config of BTS %u does not intersect with amr-config of MSC %u\n", + bts->nr, msc->nr); + rc = -1; + } } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/35135?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia4a8e7f22dc652655ee7c5458624df8ae136dd95 Gerrit-Change-Number: 35135 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas@eversberg.eu> Gerrit-MessageType: newchange
participants (1)
-
jolly