[codecs filter] MT call: apply BSS codec list

For MT call, initialize the codecs filter and apply the
Codec List (BSS Supported) from Compl L3.

Related: SYS#5066
Change-Id: I530409a64d11da48518a3dc60aa3a4e47c384663
This commit is contained in:
Neels Hofmeyr 2022-01-13 21:40:58 +01:00
parent ae13759703
commit fabe49c431
1 changed files with 10 additions and 0 deletions

View File

@ -674,6 +674,16 @@ static int gsm48_cc_tx_setup(struct gsm_trans *trans, void *arg)
gsm48_start_cc_timer(trans, 0x303, GSM48_T303);
/* MT call leg is starting. Gather all codecs information so far known.
* (Usually) paging has succeeded, and now we're processing the MNCC Setup from the remote MO call leg.
* Initialize the codecs filter with this side's BSS' codec list, received at Complete Layer 3.
* We must not pass bearer_cap to codec_filter_init(), because we haven't received the MT MS's Bearer
* Capabilities yet; the Bearer Capabilities handled here are actually the remote call leg's Bearer
* Capabilities. */
codec_filter_init(&trans->cc.codecs);
codec_filter_set_ran(&trans->cc.codecs, trans->msc_a->c.ran->type);
codec_filter_set_bss(&trans->cc.codecs, &trans->msc_a->cc.compl_l3_codec_list_bss_supported);
/* bearer capability */
if (setup->fields & MNCC_F_BEARER_CAP) {
/* Create a copy of the bearer capability in the transaction struct, so we