laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33363 )
Change subject: codec_filter_set_bss: prepare for CSD ......................................................................
codec_filter_set_bss: prepare for CSD
Related: OS#4394 Change-Id: I931db33820d9da81147bda84002ada0b80f11186 --- M include/osmocom/msc/transaction_cc.h M src/libmsc/gsm_04_08_cc.c M src/libmsc/transaction_cc.c 3 files changed, 18 insertions(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve
diff --git a/include/osmocom/msc/transaction_cc.h b/include/osmocom/msc/transaction_cc.h index 0d25b31..1f2f8c1 100644 --- a/include/osmocom/msc/transaction_cc.h +++ b/include/osmocom/msc/transaction_cc.h @@ -32,4 +32,5 @@
void trans_cc_filter_init(struct gsm_trans *trans); void trans_cc_filter_set_ran(struct gsm_trans *trans, enum osmo_rat_type ran_type); +void trans_cc_filter_set_bss(struct gsm_trans *trans, struct msc_a *msc_a); void trans_cc_filter_set_ms_from_bc(struct gsm_trans *trans, const struct gsm_mncc_bearer_cap *bcap); diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 868dd66..810b404 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -673,7 +673,7 @@ /* MO call leg starting, gather all codec information so far known: */ trans_cc_filter_init(trans); trans_cc_filter_set_ran(trans, trans->msc_a->c.ran->type); - codec_filter_set_bss(&trans->cc.codecs, &trans->msc_a->cc.compl_l3_codec_list_bss_supported); + trans_cc_filter_set_bss(trans, trans->msc_a); if (setup.fields & MNCC_F_BEARER_CAP) trans_cc_filter_set_ms_from_bc(trans, &trans->bearer_cap); codec_filter_run(&trans->cc.codecs); @@ -806,7 +806,7 @@ * actually the remote call leg's Bearer Capabilities. */ trans_cc_filter_init(trans); trans_cc_filter_set_ran(trans, trans->msc_a->c.ran->type); - codec_filter_set_bss(&trans->cc.codecs, &trans->msc_a->cc.compl_l3_codec_list_bss_supported); + trans_cc_filter_set_bss(trans, trans->msc_a); /* sdp.remote: if SDP is included in the MNCC, take that as definitive list of remote audio codecs. */ rx_mncc_sdp(trans, setup->msg_type, setup->sdp); /* sdp.remote: if there is no SDP information or we failed to parse it, try using the Bearer Capability from diff --git a/src/libmsc/transaction_cc.c b/src/libmsc/transaction_cc.c index 8059bb4..58617cd 100644 --- a/src/libmsc/transaction_cc.c +++ b/src/libmsc/transaction_cc.c @@ -35,6 +35,11 @@ codec_filter_set_ran(&trans->cc.codecs, ran_type); }
+void trans_cc_filter_set_bss(struct gsm_trans *trans, struct msc_a *msc_a) +{ + codec_filter_set_bss(&trans->cc.codecs, &msc_a->cc.compl_l3_codec_list_bss_supported); +} + void trans_cc_filter_set_ms_from_bc(struct gsm_trans *trans, const struct gsm_mncc_bearer_cap *bcap) { trans->cc.codecs.ms = (struct sdp_audio_codecs){0};