osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/33367 ) Change subject: msc: add trans_cc_set_remote_from_bc ...................................................................... msc: add trans_cc_set_remote_from_bc Prepare to set remote CSD bearer services in a future patch. Related: OS#4394 Change-Id: I71a8ff6167e2adf3ee609883730e5f67b7539185 --- M include/osmocom/msc/transaction_cc.h M src/libmsc/gsm_04_08_cc.c M src/libmsc/transaction_cc.c 3 files changed, 32 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/67/33367/1 diff --git a/include/osmocom/msc/transaction_cc.h b/include/osmocom/msc/transaction_cc.h index 32e61b6..c16d9c1 100644 --- a/include/osmocom/msc/transaction_cc.h +++ b/include/osmocom/msc/transaction_cc.h @@ -35,3 +35,4 @@ void trans_cc_filter_set_bss(struct gsm_trans *trans, struct msc_a *msc_a); void trans_cc_filter_run(struct gsm_trans *trans); void trans_cc_filter_set_ms_from_bc(struct gsm_trans *trans, const struct gsm_mncc_bearer_cap *bcap); +void trans_cc_set_remote_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 77090ca..4fbf929 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -812,8 +812,7 @@ * MNCC, if any. */ if (!trans->cc.remote.audio_codecs.count && (setup->fields & MNCC_F_BEARER_CAP)) { trans->cc.remote = (struct sdp_msg){}; - sdp_audio_codecs_from_bearer_cap(&trans->cc.remote.audio_codecs, - &setup->bearer_cap); + trans_cc_set_remote_from_bc(trans, &setup->bearer_cap); LOG_TRANS_CAT(trans, DMNCC, LOGL_DEBUG, "rx %s Bearer Cap: remote=%s\n", get_mncc_name(setup->msg_type), sdp_msg_to_str(&trans->cc.remote)); } diff --git a/src/libmsc/transaction_cc.c b/src/libmsc/transaction_cc.c index d221d7c..cb1424b 100644 --- a/src/libmsc/transaction_cc.c +++ b/src/libmsc/transaction_cc.c @@ -64,3 +64,21 @@ break; } } + +void trans_cc_set_remote_from_bc(struct gsm_trans *trans, const struct gsm_mncc_bearer_cap *bcap) +{ + trans->cc.remote.audio_codecs = (struct sdp_audio_codecs){0}; + + if (!bcap) + return; + + switch (bcap->transfer) { + case GSM48_BCAP_ITCAP_SPEECH: + sdp_audio_codecs_from_bearer_cap(&trans->cc.remote.audio_codecs, bcap); + break; + default: + LOG_TRANS(trans, LOGL_ERROR, "Handling of information transfer capability %d not implemented\n", + bcap->transfer); + break; + } +} -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I71a8ff6167e2adf3ee609883730e5f67b7539185 Gerrit-Change-Number: 33367 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith@sysmocom.de> Gerrit-MessageType: newchange