laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33362 )
Change subject: codec_filter_set_ran: prepare for CSD ......................................................................
codec_filter_set_ran: prepare for CSD
Related: OS#4394 Change-Id: I467a7bd461dcac2fff93a3777d4090d6b7d3d041 --- M include/osmocom/msc/transaction_cc.h M src/libmsc/gsm_04_08_cc.c M src/libmsc/transaction_cc.c 3 files changed, 19 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 c2550f6..0d25b31 100644 --- a/include/osmocom/msc/transaction_cc.h +++ b/include/osmocom/msc/transaction_cc.h @@ -31,4 +31,5 @@ #include <osmocom/msc/vlr.h>
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_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 fff7c3f..868dd66 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -672,7 +672,7 @@
/* MO call leg starting, gather all codec information so far known: */ trans_cc_filter_init(trans); - codec_filter_set_ran(&trans->cc.codecs, trans->msc_a->c.ran->type); + 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); if (setup.fields & MNCC_F_BEARER_CAP) trans_cc_filter_set_ms_from_bc(trans, &trans->bearer_cap); @@ -805,7 +805,7 @@ * 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. */ trans_cc_filter_init(trans); - codec_filter_set_ran(&trans->cc.codecs, trans->msc_a->c.ran->type); + 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); /* 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); diff --git a/src/libmsc/transaction_cc.c b/src/libmsc/transaction_cc.c index 4946d3f..8059bb4 100644 --- a/src/libmsc/transaction_cc.c +++ b/src/libmsc/transaction_cc.c @@ -23,12 +23,18 @@ */
#include <osmocom/msc/transaction_cc.h> +#include <osmocom/msc/codec_filter.h>
void trans_cc_filter_init(struct gsm_trans *trans) { trans->cc.codecs = (struct codec_filter){}; }
+void trans_cc_filter_set_ran(struct gsm_trans *trans, enum osmo_rat_type ran_type) +{ + codec_filter_set_ran(&trans->cc.codecs, ran_type); +} + 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};