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