Feature #3739
closedon osmo-bsc startup, sanity check codec-, pchan-types and AMR rates configuration
100%
Description
It is possible to configure a codec-list that mismatches the TCH/x kind.
For example
network bts 0 trx 0 timeslot * phys_chan_config TCH/H msc codec-list fr1 fr3
and
network bts 0 amr tch-h modes 0 1 2 3 amr tch-f modes 0 1 2 3 msc amr-config 12_2k allowed amr-config 10_2k allowed amr-config 7_95k forbidden amr-config 7_40k forbidden amr-config 6_70k forbidden amr-config 5_90k forbidden amr-config 5_15k forbidden amr-config 4_75k forbidden
On startup, go through each BTS configuration and make sure that each timeslot has at least one configuration that it can work with.
Log all faults on error log.
Maybe it should even exit in error, with a cmdline option --allow-unusable-timeslots that allows to start anyway?
Updated by osmith about 4 years ago
- Status changed from New to In Progress
- Assignee set to osmith
Updated by osmith about 4 years ago
- % Done changed from 0 to 50
On startup, go through each BTS configuration and make sure that each timeslot has at least one configuration that it can work with.
Log all faults on error log.
This has already been implemented (src/osmo-bsc/codec_pref.c). With current osmo-bsc master, it is heavily complaining in error log.
First example config:
20200317115904984 DMSC FATAL codec-support/trx config of BTS 0 does not intersect with codec-list of MSC 0 (codec_pref.c:480) 20200317115904984 DMSC FATAL network amr tch-f mode config of BTS 0 does not intersect with amr-config of MSC 0 (codec_pref.c:489) 20200317115904984 DMSC FATAL network amr tch-h mode config of BTS 0 does not intersect with amr-config of MSC 0 (codec_pref.c:498) 20200317115904984 DMSC FATAL codec-support/trx config of BTS 1 does not intersect with codec-list of MSC 0 (codec_pref.c:480) 20200317115904984 DMSC FATAL network amr tch-f mode config of BTS 1 does not intersect with amr-config of MSC 0 (codec_pref.c:489) 20200317115904984 DMSC FATAL network amr tch-h mode config of BTS 1 does not intersect with amr-config of MSC 0 (codec_pref.c:498) 20200317115904984 DMSC ERROR Configuration contains mutually exclusive codec settings -- check configuration! (osmo_bsc_main.c:906)
Second example config:
20200317120231328 DMSC FATAL network amr tch-f mode config of BTS 0 does not intersect with amr-config of MSC 0 (codec_pref.c:489) 20200317120231328 DMSC FATAL network amr tch-h mode config of BTS 0 does not intersect with amr-config of MSC 0 (codec_pref.c:498) 20200317120231328 DMSC FATAL network amr tch-f mode config of BTS 1 does not intersect with amr-config of MSC 0 (codec_pref.c:489) 20200317120231328 DMSC FATAL network amr tch-h mode config of BTS 1 does not intersect with amr-config of MSC 0 (codec_pref.c:498) 20200317120231328 DMSC ERROR Configuration contains mutually exclusive codec settings -- check configuration! (osmo_bsc_main.c:906)
Maybe it should even exit in error, with a cmdline option --allow-unusable-timeslots that allows to start anyway?
Sounds like a good addition, I'll implement it.
Updated by osmith about 4 years ago
- % Done changed from 50 to 90
Updated by osmith almost 4 years ago
- Status changed from In Progress to Resolved
- % Done changed from 90 to 100