Attention is currently required from: neels.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27310 )
Change subject: inter-BSC HO in: add Codec List (BSS Supported) IE to HO Req Ack
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27310
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3c0576505a3ceb3cd5cc31dc69c5bc4a86a4ea08
Gerrit-Change-Number: 27310
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 28 Feb 2022 09:59:28 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321 )
Change subject: ranap_rab_ass: check for more than one RAB assignment req
......................................................................
ranap_rab_ass: check for more than one RAB assignment req
The spec permits RAB AssignmentRequests with multiple RABs at a time.
Even though one voice call is assigned only one RAB in practice. Since
the current FSM implementation only supports a 1:1 scenario, lets check
if the MSC really assigns only one RAB and block RAB Assignments that do
not fit in this scheme.
Change-Id: I0f1d868fd0b4dc413533d6fcc5482862825181be
Related: OS#5152
---
M include/osmocom/hnbgw/ranap_rab_ass.h
M src/osmo-hnbgw/mgw_fsm.c
M src/osmo-hnbgw/ranap_rab_ass.c
M tests/ranap_rab_ass/ranap_rab_ass_test.c
M tests/ranap_rab_ass/ranap_rab_ass_test.ok
5 files changed, 56 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
dexter: Looks good to me, approved
diff --git a/include/osmocom/hnbgw/ranap_rab_ass.h b/include/osmocom/hnbgw/ranap_rab_ass.h
index eb18de8..13fd2df 100644
--- a/include/osmocom/hnbgw/ranap_rab_ass.h
+++ b/include/osmocom/hnbgw/ranap_rab_ass.h
@@ -17,3 +17,5 @@
bool ranap_rab_ass_req_ies_check_release(RANAP_RAB_AssignmentRequestIEs_t *ies, uint8_t rab_id);
bool ranap_rab_ass_resp_ies_check_failure(RANAP_RAB_AssignmentResponseIEs_t *ies, uint8_t rab_id);
+
+int ranap_rab_ass_req_ies_get_count(RANAP_RAB_AssignmentRequestIEs_t *ies);
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index 3da2b60..d90571b 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -689,6 +689,16 @@
mgw_fsm_priv = talloc_zero(map, struct mgw_fsm_priv);
mgw_fsm_priv->ranap_rab_ass_req_message = message;
+ /* This FSM only supports RAB assignments with a single RAB assignment only. This limitation has been taken
+ * into account under the assumption that voice calls typically require a single RAB only. Nevertheless, we
+ * will block all incoming RAB assignments that try to assign more (or less) than one RAB. */
+ if (ranap_rab_ass_req_ies_get_count(&message->msg.raB_AssignmentRequestIEs) != 1) {
+ LOGP(DMGW, LOGL_ERROR,
+ "mgw_fsm_alloc_and_handle_rab_ass_req() rua_ctx_id=%d, RAB-AssignmentRequest with more than one RAB assignment -- abort!\n",
+ map->rua_ctx_id);
+ goto error;
+ }
+
/* Parse the RAB Assignment Request now, if it is bad for some reason we will exit early and not bother with
* creating an FSM etc. */
ies = &mgw_fsm_priv->ranap_rab_ass_req_message->msg.raB_AssignmentRequestIEs;
diff --git a/src/osmo-hnbgw/ranap_rab_ass.c b/src/osmo-hnbgw/ranap_rab_ass.c
index 56886c7..5930451 100644
--- a/src/osmo-hnbgw/ranap_rab_ass.c
+++ b/src/osmo-hnbgw/ranap_rab_ass.c
@@ -620,3 +620,18 @@
return result;
}
+
+/*! Find out how many RAB items are present in a RAB-SetupOrModifyList inside RANAP_RAB_AssignmentRequestIEs.
+ * \ptmap[in] ies user provided memory with RANAP_RAB_AssignmentRequestIEs.
+ * \returns number of RAB items, -1 on failure. */
+int ranap_rab_ass_req_ies_get_count(RANAP_RAB_AssignmentRequestIEs_t *ies)
+{
+ /* Make sure we indeed deal with a setup-or-modify list */
+ if (!(ies->presenceMask & RAB_ASSIGNMENTREQUESTIES_RANAP_RAB_SETUPORMODIFYLIST_PRESENT)) {
+ RANAP_DEBUG
+ ("Decoding failed, the RANAP RAB AssignmentRequest did not contain a setup-or-modify list!\n");
+ return -1;
+ }
+
+ return ies->raB_SetupOrModifyList.list.count;
+}
diff --git a/tests/ranap_rab_ass/ranap_rab_ass_test.c b/tests/ranap_rab_ass/ranap_rab_ass_test.c
index 052549e..9a98cf8 100644
--- a/tests/ranap_rab_ass/ranap_rab_ass_test.c
+++ b/tests/ranap_rab_ass/ranap_rab_ass_test.c
@@ -320,6 +320,33 @@
ranap_ran_rx_co_free(&message);
}
+void test_ranap_rab_ass_req_ies_get_count(void)
+{
+ int rc;
+ ranap_message message;
+ uint8_t testvec[] = {
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x01, 0x00,
+ 0x36, 0x40, 0x52, 0x00, 0x00, 0x01, 0x00, 0x35,
+ 0x00, 0x48, 0x78, 0x22, 0xcd, 0x80, 0x10, 0x2f,
+ 0xa7, 0x20, 0x1a, 0x2c, 0x00, 0x00, 0xf4, 0x4c,
+ 0x08, 0x0a, 0x02, 0x80, 0x00, 0x51, 0x40, 0x00,
+ 0x27, 0x20, 0x28, 0x14, 0x00, 0x67, 0x40, 0x00,
+ 0x00, 0x22, 0x28, 0x14, 0x00, 0x3c, 0x40, 0x00,
+ 0x00, 0x00, 0x50, 0x3d, 0x02, 0x00, 0x02, 0x27,
+ 0xc0, 0x35, 0x00, 0x01, 0x0a, 0x09, 0x01, 0xa2,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1f, 0x76,
+ 0x00, 0x00, 0x40, 0x01, 0x00, 0x00
+ };
+
+ rc = ranap_ran_rx_co_decode(talloc_asn1_ctx, &message, testvec, sizeof(testvec));
+ OSMO_ASSERT(rc == 0);
+
+ rc = ranap_rab_ass_req_ies_get_count(&message.msg.raB_AssignmentRequestIEs);
+ printf("ranap_rab_ass_req_ies_get_count rc=%d\n", rc);
+ ranap_ran_rx_co_free(&message);
+}
+
static const struct log_info_cat log_cat[] = {
[DRANAP] = {
.name = "RANAP", .loglevel = LOGL_DEBUG, .enabled = 1,
@@ -382,6 +409,7 @@
test_ranap_rab_ass_resp_ies_replace_inet_addr();
test_ranap_rab_ass_resp_ies_check_failure();
test_ranap_rab_ass_req_ies_check_release();
+ test_ranap_rab_ass_req_ies_get_count();
test_cleanup();
return 0;
diff --git a/tests/ranap_rab_ass/ranap_rab_ass_test.ok b/tests/ranap_rab_ass/ranap_rab_ass_test.ok
index 688925c..aca4ff3 100644
--- a/tests/ranap_rab_ass/ranap_rab_ass_test.ok
+++ b/tests/ranap_rab_ass/ranap_rab_ass_test.ok
@@ -18,3 +18,4 @@
ranap_rab_ass_resp_ies_check_failure rab_failed_at_hnb=0 (RAB ID 44, which is not in the message)
ranap_rab_ass_req_ies_check_release rab_release_req=1 (RAB ID 23)
ranap_rab_ass_req_ies_check_release rab_release_req=0 (RAB ID 44, which is not in the message)
+ranap_rab_ass_req_ies_get_count rc=1
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I0f1d868fd0b4dc413533d6fcc5482862825181be
Gerrit-Change-Number: 27321
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: pespin, daniel.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321 )
Change subject: ranap_rab_ass: check for more than one RAB assignment req
......................................................................
Patch Set 3: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I0f1d868fd0b4dc413533d6fcc5482862825181be
Gerrit-Change-Number: 27321
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 28 Feb 2022 09:26:49 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: pespin, daniel.
Hello Jenkins Builder, laforge, pespin, daniel,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321
to look at the new patch set (#3).
Change subject: ranap_rab_ass: check for more than one RAB assignment req
......................................................................
ranap_rab_ass: check for more than one RAB assignment req
The spec permits RAB AssignmentRequests with multiple RABs at a time.
Even though one voice call is assigned only one RAB in practice. Since
the current FSM implementation only supports a 1:1 scenario, lets check
if the MSC really assigns only one RAB and block RAB Assignments that do
not fit in this scheme.
Change-Id: I0f1d868fd0b4dc413533d6fcc5482862825181be
Related: OS#5152
---
M include/osmocom/hnbgw/ranap_rab_ass.h
M src/osmo-hnbgw/mgw_fsm.c
M src/osmo-hnbgw/ranap_rab_ass.c
M tests/ranap_rab_ass/ranap_rab_ass_test.c
M tests/ranap_rab_ass/ranap_rab_ass_test.ok
5 files changed, 56 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/21/27321/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I0f1d868fd0b4dc413533d6fcc5482862825181be
Gerrit-Change-Number: 27321
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin, daniel.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321 )
Change subject: ranap_rab_ass: check for more than one RAB assignment req
......................................................................
Patch Set 3:
(1 comment)
File src/osmo-hnbgw/mgw_fsm.c:
https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321/comment/bcea1a2c_f2e9ddc1
PS1, Line 694: then
> than
Done
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/27321
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I0f1d868fd0b4dc413533d6fcc5482862825181be
Gerrit-Change-Number: 27321
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 28 Feb 2022 09:22:39 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: comment
dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/27320 )
Change subject: mgw_fsm: release call when FSM is not created
......................................................................
mgw_fsm: release call when FSM is not created
While the FSM is created the RAB Assignment Requests is checked and
parsed. In case of failure the context is freed, but the CN is not
informed about the problem. The RAB AssignmentRequest will then most
likely time out. However, lets make sure the call is released by re
requesting an IU Release.
Change-Id: I1904f7e95d86bbcecee14f8721bd4075d0e33ab4
Related: OS#5152
---
M src/osmo-hnbgw/mgw_fsm.c
1 file changed, 2 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
daniel: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index d4ef800..3da2b60 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -719,9 +719,9 @@
return 0;
error:
- /* TODO: If we fail in this early stage, we should generate an appropriate RAB AssignmentResponse to inform
- * the core network about the failure. */
+ /* Cleanup context and make sure that the call is cleared. */
mgw_fsm_priv_cleanup(mgw_fsm_priv);
+ tx_release_req(map);
return -EINVAL;
}
1 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/27320
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I1904f7e95d86bbcecee14f8721bd4075d0e33ab4
Gerrit-Change-Number: 27320
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: Hoernchen.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27340 )
Change subject: simtrace: Add support for slot_mux_nr to CardEmu_BD_Config
......................................................................
Patch Set 2: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27340
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Id29584764a2f27b9de5fa9ff67fd0ae3e912f02e
Gerrit-Change-Number: 27340
Gerrit-PatchSet: 2
Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Comment-Date: Sun, 27 Feb 2022 17:45:07 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/27331 )
Change subject: osmo-hnbgw.cfg: use local port 2729 as default for MGCP client
......................................................................
osmo-hnbgw.cfg: use local port 2729 as default for MGCP client
There are several osmo processes that talk to osmo-mgw via
osmo-mgcp-client. The sample config for osmo-bsc suggest 2727 and the
sample config for osmo-msc suggests 2728 as local port default. To make
it less likely for users to get port collisions whlie setting up their
networks we should use a different port for osmo-hnbgw. Lets use 2729.
Change-Id: I55179c2bff3e6ef0e54fee6b1b90fc76f541e58e
---
M doc/examples/osmo-hnbgw/osmo-hnbgw.cfg
1 file changed, 1 insertion(+), 0 deletions(-)
Approvals:
osmith: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/doc/examples/osmo-hnbgw/osmo-hnbgw.cfg b/doc/examples/osmo-hnbgw/osmo-hnbgw.cfg
index a683187..53b5508 100644
--- a/doc/examples/osmo-hnbgw/osmo-hnbgw.cfg
+++ b/doc/examples/osmo-hnbgw/osmo-hnbgw.cfg
@@ -25,6 +25,7 @@
hnbap-allow-tmsi 1
mgcp
mgw remote-ip 127.0.0.1
+ mgw local-port 2729
mgw remote-port 2427
mgw reset-endpoint rtpbridge/*
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/27331
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I55179c2bff3e6ef0e54fee6b1b90fc76f541e58e
Gerrit-Change-Number: 27331
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: merged