laforge submitted this change.

View Change


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
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(-)

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};

To view, visit change 33362. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I467a7bd461dcac2fff93a3777d4090d6b7d3d041
Gerrit-Change-Number: 33362
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged