Holger Hans Peter Freyther wrote:
Codec selection in a real network works a bit
differently. It is applied
in the BSC and the MSC. The MSC can/will look at the bearer capabilities
and then ask the BSC to choose from a list of codecs.
in oder to select a codec, the MSC must know.
- what codecs it supports (or the other end, in case of TFO)
- what codecs the MS supports (bearer capabilities)
- what codecs the BTS supports
in my testing branch: the negotiation is done with LCR and even with
built-in MNCC support of osmo-nitb. in case of built-in MNCC, a commonly
supported codec (by both MS in a call) is used.
i do not know how the MSC (in a real network) knows about what codecs
are supported by the BTS in order to select a supported codec. in this
patch i simply remove unsupported codecs from bearer capabilities, so
all remaining codecs are supported by BTS and the MS. the MSC will only
receive a list of commonly supported codecs.
my question is: how does the MSC in a real network knows what codecs are
supported by BTS, so it can skip unsupported codecs when negotiating
with the other end?