neels has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/30118 )

 (

4 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted 
one.
 )Change subject: [codecs filter] store BSS codec list from Compl L3
......................................................................

[codecs filter] store BSS codec list from Compl L3

The initial Compl L3 happens long before we establish a CC transaction.
Remember the Codec List (BSS Supported), so that we can feed the new
codecs filter with it. Subsequent patches implement feeding the filter.

Related: SYS#5066
Change-Id: I7cdc348218433141a43d2e42750af02591688240
---
M include/osmocom/msc/msc_a.h
M src/libmsc/msc_a.c
2 files changed, 30 insertions(+), 0 deletions(-)

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




diff --git a/include/osmocom/msc/msc_a.h b/include/osmocom/msc/msc_a.h
index e56ea52..18eb76c 100644
--- a/include/osmocom/msc/msc_a.h
+++ b/include/osmocom/msc/msc_a.h
@@ -121,6 +121,9 @@
         *                   \-------RTP--> (ISUP) <--RTP--> <--RTP-->
         */
        struct {
+               /* Codec List (BSS Supported) as received during Complete Layer 
3 Information */
+               struct gsm0808_speech_codec_list 
compl_l3_codec_list_bss_supported;
+
                /* All of the RTP stream handling */
                struct call_leg *call_leg;
                struct mncc_call *mncc_forwarding_to_remote_ran;
diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c
index e74a425..d9a7341 100644
--- a/src/libmsc/msc_a.c
+++ b/src/libmsc/msc_a.c
@@ -46,6 +46,7 @@
 #include <osmocom/msc/call_leg.h>
 #include <osmocom/msc/rtp_stream.h>
 #include <osmocom/msc/msc_ho.h>
+#include <osmocom/msc/codec_mapping.h>

 #define MSC_A_USE_WAIT_CLEAR_COMPLETE "wait-Clear-Complete"

@@ -1443,6 +1444,18 @@
                };
                gsm0808_cell_id_to_cgi(&msc_a->via_cell, msg->compl_l3.cell_id);

+               /* If a codec list was sent along in the RAN_MSG_COMPL_L3, 
remember it for any upcoming codec
+                * resolution. */
+               if (msg->compl_l3.codec_list_bss_supported) {
+                       msc_a->cc.compl_l3_codec_list_bss_supported = 
*msg->compl_l3.codec_list_bss_supported;
+                       if (log_check_level(msc_a->c.ran->log_subsys, 
LOGL_DEBUG)) {
+                               struct sdp_audio_codecs ac = {};
+                               sdp_audio_codecs_from_speech_codec_list(&ac, 
&msc_a->cc.compl_l3_codec_list_bss_supported);
+                               LOG_MSC_A(msc_a, LOGL_DEBUG, "Complete Layer 3: 
Codec List (BSS Supported): %s\n",
+                                         sdp_audio_codecs_to_str(&ac));
+                       }
+               }
+
                /* Submit the Complete Layer 3 Information DTAP */
                rc = msc_a_up_l3(msc_a, msg->compl_l3.msg);
                if (!rc) {

--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/30118
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I7cdc348218433141a43d2e42750af02591688240
Gerrit-Change-Number: 30118
Gerrit-PatchSet: 8
Gerrit-Owner: neels <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: neels <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to