dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/31987 )
Change subject: mgw_fsm: fix typp
......................................................................
mgw_fsm: fix typp
Change-Id: I16ee37bbfda01b541ad7a6f5269689c4b9e92c8c
---
M src/osmo-hnbgw/mgw_fsm.c
1 file changed, 10 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/87/31987/1
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index cddc64e..0b129b5 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -680,7 +680,7 @@
}
/* The RTP stream negotiation usually begins with a RAB-AssignmentRequest and ends with an IU-Release, however
- * it may also be thet the MSC decides to release the RAB with a dedicated RAB-AssignmentRequest that contains
+ * it may also be that the MSC decides to release the RAB with a dedicated RAB-AssignmentRequest that contains
* a ReleaseList. In this case an FSM will already be present. */
if (map->mgw_fi) {
/* A RAB Release might be in progress, handle it */
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/31987
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I16ee37bbfda01b541ad7a6f5269689c4b9e92c8c
Gerrit-Change-Number: 31987
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/31988 )
Change subject: mgw_fsm: fix log line
......................................................................
mgw_fsm: fix log line
The function name mentioned in the log line does not match the actual
function name.
Change-Id: Iefc005f10e3c8f165c5686781747460a10ada1e0
---
M src/osmo-hnbgw/mgw_fsm.c
1 file changed, 13 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/88/31988/1
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index 0b129b5..2ba3af4 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -699,7 +699,7 @@
* 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",
+ "handle_rab_ass_req() rua_ctx_id=%d, RAB-AssignmentRequest with more than one RAB assignment -- abort!\n",
map->rua_ctx_id);
tx_release_req(map);
return -1;
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/31988
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Iefc005f10e3c8f165c5686781747460a10ada1e0
Gerrit-Change-Number: 31988
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/31989 )
Change subject: mgw_fsm: refactor helper function handle_rab_release()
......................................................................
mgw_fsm: refactor helper function handle_rab_release()
the function handle_rab_release() is difficult to read and it is not
immediately clear what happens and why. Lets split this up and add some
comments to improve this.
Related: OS#5916
Change-Id: I3595502b98ea5febbde7f2fab3999e2533766b48
---
M src/osmo-hnbgw/mgw_fsm.c
1 file changed, 47 insertions(+), 19 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/89/31989/1
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index 2ba3af4..252188f 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -633,30 +633,42 @@
};
/* The MSC may ask to release a specific RAB within a RAB-AssignmentRequest */
-static int handle_rab_release(struct hnbgw_context_map *map, struct msgb *ranap_msg, ranap_message *message)
+static int release_mgw_fsm(struct hnbgw_context_map *map, struct msgb *ranap_msg)
{
- bool rab_release_req;
struct osmo_fsm_inst *fi = map->mgw_fi;
- struct mgw_fsm_priv *mgw_fsm_priv = fi->priv;
int rc;
- /* Check if the RAB that is handled by this FSM is addressed by the release request */
- rab_release_req = ranap_rab_ass_req_ies_check_release(&message->msg.raB_AssignmentRequestIEs,
- mgw_fsm_priv->rab_id);
- if (!rab_release_req)
- return -EINVAL;
-
- LOGPFSML(map->mgw_fi, LOGL_NOTICE, "MSC asked to release RAB-ID %u\n", mgw_fsm_priv->rab_id);
-
/* Forward the unmodifed RAB-AssignmentRequest to HNB, so that the HNB is informed about the RAB release as
* well */
LOGPFSML(fi, LOGL_DEBUG, "forwarding unmodified RAB-AssignmentRequest to HNB\n");
rc = map_rua_dispatch(map, MAP_RUA_EV_TX_DIRECT_TRANSFER, ranap_msg);
+ if (rc < 0) {
+ LOGPFSML(fi, LOGL_DEBUG, "cannot forward RAB-AssignmentRequest to HNB\n");
+ return -EINVAL;
+ }
/* Release the FSM normally */
osmo_fsm_inst_state_chg(fi, MGW_ST_RELEASE, 0, 0);
+ return 0;
+}
- return rc;
+/* Check if the message contains a RAB-ReleaseItem that matches the RAB-ID that is managed by the given context map */
+static bool is_our_rab_release(struct hnbgw_context_map *map, ranap_message *message) {
+
+ bool rab_release_req;
+ struct osmo_fsm_inst *fi = map->mgw_fi;
+ struct mgw_fsm_priv *mgw_fsm_priv = fi->priv;
+
+ /* Check if the RAB that is handled by this FSM is addressed by the release request */
+ rab_release_req = ranap_rab_ass_req_ies_check_release(&message->msg.raB_AssignmentRequestIEs,
+ mgw_fsm_priv->rab_id);
+ if (!rab_release_req) {
+ LOGPFSML(map->mgw_fi, LOGL_ERROR, "RAB-AssignmentRequest does not contain any RAB-RelaseItem with RAB-ID %u\n", mgw_fsm_priv->rab_id);
+ return false;
+ }
+ LOGPFSML(map->mgw_fi, LOGL_NOTICE, "MSC asked to release RAB-ID %u\n", mgw_fsm_priv->rab_id);
+
+ return true;
}
/*! Allocate MGW FSM and handle RANAP RAB AssignmentRequest.
@@ -671,7 +683,6 @@
static bool initialized = false;
struct mgw_fsm_priv *mgw_fsm_priv;
char fsm_name[255];
- int rc;
/* Initialize FSM if not done yet */
if (!initialized) {
@@ -683,13 +694,16 @@
* it may also be that the MSC decides to release the RAB with a dedicated RAB-AssignmentRequest that contains
* a ReleaseList. In this case an FSM will already be present. */
if (map->mgw_fi) {
- /* A RAB Release might be in progress, handle it */
- rc = handle_rab_release(map, ranap_msg, message);
- if (rc >= 0)
- return rc;
+ /* Check if the RAB-AssignmentRequest contains a RAB-ReleaseItem that matches the RAB-ID we are
+ * managing in this HNBGW context map. */
+ if (is_our_rab_release(map, message))
+ return release_mgw_fsm(map, ranap_msg);
- LOGPFSML(map->mgw_fi, LOGL_ERROR,
- "mgw_fsm_alloc_and_handle_rab_ass_req() unable to handle RAB-AssignmentRequest!\n");
+ /* The RAB-ReleaseItem in the incoming message should match the RAB ID we are managing. A mismatch may
+ * mean that there is an inconsistency between the HNBGW and the MSC state and the MGW FSM on the HNBGW
+ * side may serve an abandonned connection, which we will now close. However we must also assume that
+ * the incoming message may still contain a RAB-Assignment for a new RTP stream, so we still must
+ * continue with the message evaluation. */
osmo_fsm_inst_state_chg(map->mgw_fi, MGW_ST_FAILURE, 0, 0);
OSMO_ASSERT(map->mgw_fi == NULL);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/31989
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I3595502b98ea5febbde7f2fab3999e2533766b48
Gerrit-Change-Number: 31989
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: laforge.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/31967
to look at the new patch set (#4).
Change subject: contrib: Add BER testing tool
......................................................................
contrib: Add BER testing tool
This implements RTP based GSM BER testing for osmo-bts, implementing
ideas described in https://osmocom.org/projects/osmobts/wiki/BER_Testing
In short: The command transmits a PRBS sequence encapsulated in RTP
frames, which are sent to the BTS, which transmits that data in the
(unimpaired) downlink. The mobile station receives the data and is
instructed to loop it back in the (possibly impaired) uplink. The BTS
receives that uplink, puts in in RTP frames which end up being received
back by this very tool. By correlating the received RTP with the PRBS
sequence, this tool can compute the BER (Bit Error Rate) of the
(possibly impaired) uplink. Doing this with different RF channel model
simulators in the uplink allows to establish BER at different levels and
channel conditions.
Original code by Sylvain Munaut extended with some comments and Automake
integration by Harald Welte.
Change-Id: I1cffa0ae959e29ec61775b13185fd1057ed7485a
---
M .gitignore
M configure.ac
M contrib/Makefile.am
A contrib/ber/Makefile.am
A contrib/ber/README
A contrib/ber/rtp_ber.c
A contrib/ber/rtp_gen_map.c
7 files changed, 726 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/31967/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31967
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I1cffa0ae959e29ec61775b13185fd1057ed7485a
Gerrit-Change-Number: 31967
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: tnt <tnt(a)246tNt.com>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newpatchset
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/31597 )
(
9 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
)Change subject: pcuif_proto: increment version number
......................................................................
pcuif_proto: increment version number
The co-located PCU support for Ericsson RBS E1 CCU made it necessary to
add new features to the PCU socket interface, so let's increase the
version number.
Change-Id: I8315bd67c7f3eb0d7ee71b64cd4dff889a84fcf1
Depends: osmo-pcu.git I2a78651593323e8b9627c39918d949a33497b70f
Related: OS#5198
---
M include/osmocom/bsc/pcuif_proto.h
1 file changed, 16 insertions(+), 1 deletion(-)
Approvals:
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h
index e92ed49..1dda160 100644
--- a/include/osmocom/bsc/pcuif_proto.h
+++ b/include/osmocom/bsc/pcuif_proto.h
@@ -8,7 +8,7 @@
#define PCU_SOCK_DEFAULT "/tmp/pcu_bts"
-#define PCU_IF_VERSION 0x0a
+#define PCU_IF_VERSION 0x0b
#define TXT_MAX_LEN 128
/* msg_type */
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/31597
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I8315bd67c7f3eb0d7ee71b64cd4dff889a84fcf1
Gerrit-Change-Number: 31597
Gerrit-PatchSet: 14
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged