codec_filter_set_ran: prepare for CSD
Related: OS#4394
Change-Id: I467a7bd461dcac2fff93a3777d4090d6b7d3d041
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};