osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/33361 )
Change subject: codec_filter_init: prepare for CSD ......................................................................
codec_filter_init: prepare for CSD
Related: OS#4394 Change-Id: I1270b00464456abc5300fd47e6087a0ba6243d03 --- M include/osmocom/msc/codec_filter.h M include/osmocom/msc/transaction_cc.h M src/libmsc/codec_filter.c M src/libmsc/gsm_04_08_cc.c M src/libmsc/transaction_cc.c 5 files changed, 18 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/61/33361/1
diff --git a/include/osmocom/msc/codec_filter.h b/include/osmocom/msc/codec_filter.h index c90388d..ca32e3c 100644 --- a/include/osmocom/msc/codec_filter.h +++ b/include/osmocom/msc/codec_filter.h @@ -52,7 +52,6 @@ struct sdp_msg result; };
-void codec_filter_init(struct codec_filter *codec_filter); void codec_filter_set_ran(struct codec_filter *codec_filter, enum osmo_rat_type ran_type); void codec_filter_set_bss(struct codec_filter *codec_filter, const struct gsm0808_speech_codec_list *codec_list_bss_supported); diff --git a/include/osmocom/msc/transaction_cc.h b/include/osmocom/msc/transaction_cc.h index df0f9d8..c2550f6 100644 --- a/include/osmocom/msc/transaction_cc.h +++ b/include/osmocom/msc/transaction_cc.h @@ -30,4 +30,5 @@ #include <osmocom/msc/transaction.h> #include <osmocom/msc/vlr.h>
+void trans_cc_filter_init(struct gsm_trans *trans); void trans_cc_filter_set_ms_from_bc(struct gsm_trans *trans, const struct gsm_mncc_bearer_cap *bcap); diff --git a/src/libmsc/codec_filter.c b/src/libmsc/codec_filter.c index e93ebaf..99ae7b2 100644 --- a/src/libmsc/codec_filter.c +++ b/src/libmsc/codec_filter.c @@ -60,11 +60,6 @@ sdp_audio_codecs_add_speech_ver(ac, utran_codecs[i]); }
-void codec_filter_init(struct codec_filter *codec_filter) -{ - *codec_filter = (struct codec_filter){}; -} - void codec_filter_set_ran(struct codec_filter *codec_filter, enum osmo_rat_type ran_type) { codec_filter->ran = (struct sdp_audio_codecs){}; diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 773ee3d..fff7c3f 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -671,7 +671,7 @@ }
/* MO call leg starting, gather all codec information so far known: */ - codec_filter_init(&trans->cc.codecs); + trans_cc_filter_init(trans); 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); if (setup.fields & MNCC_F_BEARER_CAP) @@ -804,7 +804,7 @@ * Initialize the codecs filter with this side's BSS' codec list, received at Complete Layer 3. * 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); + trans_cc_filter_init(trans); 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); /* sdp.remote: if SDP is included in the MNCC, take that as definitive list of remote audio codecs. */ diff --git a/src/libmsc/transaction_cc.c b/src/libmsc/transaction_cc.c index 3a0db2c..4946d3f 100644 --- a/src/libmsc/transaction_cc.c +++ b/src/libmsc/transaction_cc.c @@ -24,6 +24,11 @@
#include <osmocom/msc/transaction_cc.h>
+void trans_cc_filter_init(struct gsm_trans *trans) +{ + trans->cc.codecs = (struct codec_filter){}; +} + 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};