laforge has submitted this change. ( 
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(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved




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 <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to