Attention is currently required from: neels, pespin, fixeria, dexter.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/29475 )
Change subject: fix gsm0808_sc_cfg <-> gsm48_mr_cfg conversion
......................................................................
Patch Set 5: Code-Review+1
(1 comment)
Patchset:
PS5:
this has been ready for merge for weeks now. Any reason not to merge it? I would have merged it, but nhofmeyr always states he doesn't want me to merge any of his patches?
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/29475
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I900fda192742fa8f6dd54e9131ef1704b14cc41a
Gerrit-Change-Number: 29475
Gerrit-PatchSet: 5
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-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 22 Mar 2023 09:26:25 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: neels.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/30126 )
Change subject: [codecs filter] use filter result in Assignment
......................................................................
Patch Set 9: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/30126
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I66e7c8c5e401f4f3a7d3d42b9525b2c6e99691d9
Gerrit-Change-Number: 30126
Gerrit-PatchSet: 9
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 22 Mar 2023 09:23:27 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/31990 )
Change subject: segfault: verify lchan presence on Assignment Complete
......................................................................
segfault: verify lchan presence on Assignment Complete
User reports a SEGV:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 send_assignment_complete (conn=conn@entry=0x557dbabb75a0) at assignment_fsm.c:188
#1 0x0000557db66aa6b0 in assignment_success (conn=0x557dbabb75a0) at assignment_fsm.c:277
#2 0x00007f6007afee82 in _osmo_fsm_inst_dispatch (fi=0x557db9615b80, event=4, data=0x0, file=0x7f6007a7dc21 "mgcp_client_endpoint_fsm.c", line=513) at fsm.c:875
#3 0x00007f6007a78c12 in ?? () from /lib/x86_64-linux-gnu/libosmo-mgcp-client.so.9
version: osmo-bsc 1.9.0.111.fc339.202212220009
The situation apparently is conn->lchan == NULL (primary lchan is gone),
but Assignment has just concluded. Apparently an unexpected / orthogonal
event has interrupted operations.
During assignment_success(), do not assume that conn->lchan is still
present. This should normally be true, but if not, fail the assignment
procedure instead of crashing osmo-bsc.
Related: SYS#6382
Change-Id: I4db25d0458f620954a1ca345282f5d8316341919
---
M src/osmo-bsc/assignment_fsm.c
1 file changed, 33 insertions(+), 0 deletions(-)
Approvals:
fixeria: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c
index e21a036..02ca29c 100644
--- a/src/osmo-bsc/assignment_fsm.c
+++ b/src/osmo-bsc/assignment_fsm.c
@@ -185,6 +185,11 @@
struct gsm_lchan *lchan = conn->lchan;
struct osmo_fsm_inst *fi = conn->fi;
+ if (!lchan) {
+ assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, "Assignment interrupted: primary lchan lost");
+ return;
+ }
+
chosen_channel = gsm0808_chosen_channel(lchan->type, lchan->current_ch_mode_rate.chan_mode);
if (!chosen_channel) {
assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE,
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/31990
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I4db25d0458f620954a1ca345282f5d8316341919
Gerrit-Change-Number: 31990
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
laforge has submitted this change. ( 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(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index 2ecd7a5..e07ea3b 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: 4
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
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/32001 )
Change subject: doc: fix typo
......................................................................
doc: fix typo
Change-Id: Ie001645e9b44cb5e16090813ca4f053118ac39a4
---
M doc/manuals/chapters/overview.adoc
1 file changed, 10 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc
index 24fe8b9..c65e5ad 100644
--- a/doc/manuals/chapters/overview.adoc
+++ b/doc/manuals/chapters/overview.adoc
@@ -8,7 +8,7 @@
=== About OsmoSIPConnector
OsmoSIPConnector translates between Mobile Network Call Control (MNCC)
-used in the GSM newtwork and Voice over IP SIP call control messages so that
+used in the GSM network and Voice over IP SIP call control messages so that
speech calls can traverse through the mobile network to SIP and vice versa. It
has the following interfaces:
--
To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/32001
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-sip-connector
Gerrit-Branch: master
Gerrit-Change-Id: Ie001645e9b44cb5e16090813ca4f053118ac39a4
Gerrit-Change-Number: 32001
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/32002 )
Change subject: doc: Expand the virtually empty user manual with some basics
......................................................................
doc: Expand the virtually empty user manual with some basics
Change-Id: Id42904a183b045eefac15a94139221a3bc65ecdd
---
M doc/manuals/chapters/overview.adoc
1 file changed, 30 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc
index c65e5ad..a06b410 100644
--- a/doc/manuals/chapters/overview.adoc
+++ b/doc/manuals/chapters/overview.adoc
@@ -16,6 +16,27 @@
- SIP towards the PBX
- The Osmocom typical telnet VTY interface.
+The SIP implemented by osmo-sip-connector can be characterized as follows:
+
+Only a SIP trunk is supported; it will appear to the remote SIP server (PBX) like
+another PBX (or a public network) interfaced via a trunk. Specifically, this means
+there is no SIP REGISTER or any form of authentication supported. You
+will need to configure the SIP peer to implicitly authorize the trunk by
+its IP address / port.
+
+osmo-sip-connector handles only the signaling translation between GSM CC
+and SIP, but does not handle RTP. The RTP user plane is passed
+transparently from the MSC-colocated osmo-mgw to the SIP side. This also
+means that no transcoding is performed. The RTP streams contain whatever
+cellular specific codec you have configured your network to use for this
+call (FR, EFR, HR, AMR). Hence, **the SIP peer must support the
+codec[s] you have configured on your MSC/BSC**
+
+As the osmo-sip-connector attaches to the external MNCC socket of
+OsmoMSC, running osmo-sip-connector will disable the internal call
+routing of OsmoMSC, see the related OsmoMSC documentation. All mobile
+originated calls originating in GSM will be passed to the SIP connector.
+
Find the OsmoSIPConnector issue tracker and wiki online at
- https://osmocom.org/projects/osmo-sip-connector
--
To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/32002
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-sip-connector
Gerrit-Branch: master
Gerrit-Change-Id: Id42904a183b045eefac15a94139221a3bc65ecdd
Gerrit-Change-Number: 32002
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/32002 )
Change subject: doc: Expand the virtually empty user manual with some basics
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/32002
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-sip-connector
Gerrit-Branch: master
Gerrit-Change-Id: Id42904a183b045eefac15a94139221a3bc65ecdd
Gerrit-Change-Number: 32002
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 22 Mar 2023 09:21:28 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment