neels has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-msc/+/30119
)
Change subject: [codecs filter] MO call: apply BSS codec list
......................................................................
[codecs filter] MO call: apply BSS codec list
Related: SYS#5066
Change-Id: I062268406ae3f3a63a7f413db51c509c9eaf9e8a
---
M src/libmsc/gsm_04_08_cc.c
M tests/msc_vlr/msc_vlr_test_call.err
2 files changed, 12 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/19/30119/1
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 41066d7..032d9fe 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -610,8 +610,17 @@
new_cc_state(trans, GSM_CSTATE_INITIATED);
+ /* MO call leg starting, gather all codec information so far known: */
+ codec_filter_init(&trans->cc.codecs);
+ codec_filter_set_ran(&trans->cc.codecs, 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)
+ codec_filter_set_ms_from_bc(&trans->cc.codecs, &trans->bearer_cap);
+ codec_filter_run(&trans->cc.codecs);
+
LOG_TRANS(trans, setup.emergency ? LOGL_NOTICE : LOGL_INFO, "%sSETUP to
%s\n",
setup.emergency ? "EMERGENCY_" : "", setup.called.number);
+ LOG_TRANS(trans, LOGL_DEBUG, "codecs: %s\n",
codec_filter_to_str(&trans->cc.codecs));
rate_ctr_inc(rate_ctr_group_get_ctr(trans->net->msc_ctrs,
MSC_CTR_CALL_MO_SETUP));
diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err
index c25c083..0018d86 100644
--- a/tests/msc_vlr/msc_vlr_test_call.err
+++ b/tests/msc_vlr/msc_vlr_test_call.err
@@ -290,6 +290,7 @@
DCC trans(CC:NULL
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000001 tid-8) starting guard timer with 180 seconds
DCC trans(CC:NULL
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000001 tid-8) new state NULL -> INITIATED
DCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000001 tid-8) SETUP to 123
+DCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000001 tid-8) codecs: :0{AMR:octet-align=1#112} (from:
MS={AMR:octet-align=1#112,GSM-EFR#110,GSM#3,GSM-HR-08#111}
RAN={AMR:octet-align=1#112,AMR-WB:octet-align=1#113})
DMNCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000001 tid-8) tx MNCC_SETUP_IND
MSC --> MNCC: callref 0x80000001: MNCC_SETUP_IND
DREF
msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}:
- rx_from_ms: now used by 1 (cc)
@@ -1657,6 +1658,7 @@
DCC trans(CC:NULL
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000002 tid-8) starting guard timer with 180 seconds
DCC trans(CC:NULL
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000002 tid-8) new state NULL -> INITIATED
DCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000002 tid-8) SETUP to 123
+DCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000002 tid-8) codecs: :0{AMR:octet-align=1#112} (from:
MS={AMR:octet-align=1#112,GSM-EFR#110,GSM#3,GSM-HR-08#111}
RAN={AMR:octet-align=1#112,AMR-WB:octet-align=1#113})
DMNCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000002 tid-8) tx MNCC_SETUP_IND
MSC --> MNCC: callref 0x80000002: MNCC_SETUP_IND
DREF
msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}:
- rx_from_ms: now used by 1 (cc)
@@ -2085,6 +2087,7 @@
DCC trans(CC:NULL
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000003 tid-8) starting guard timer with 180 seconds
DCC trans(CC:NULL
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000003 tid-8) new state NULL -> INITIATED
DCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000003 tid-8) SETUP to 123
+DCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000003 tid-8) codecs: :0{AMR:octet-align=1#112} (from:
MS={AMR:octet-align=1#112,GSM-EFR#110,GSM#3,GSM-HR-08#111}
RAN={AMR:octet-align=1#112,AMR-WB:octet-align=1#113})
DMNCC trans(CC:INITIATED
IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ
callref-0x80000003 tid-8) tx MNCC_SETUP_IND
MSC --> MNCC: callref 0x80000003: MNCC_SETUP_IND
DREF
msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}:
- rx_from_ms: now used by 1 (cc)
--
To view, visit
https://gerrit.osmocom.org/c/osmo-msc/+/30119
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I062268406ae3f3a63a7f413db51c509c9eaf9e8a
Gerrit-Change-Number: 30119
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newchange