Attention is currently required from: dexter, laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/36018?usp=email )
Change subject: pcu_sock: forward PCU_VERSION only once
......................................................................
Patch Set 1:
(1 comment)
Commit Message:
https://gerrit.osmocom.org/c/osmo-bts/+/36018/comment/eb69d5e7_dd631bbb
PS1, Line 10: is not active the PCU even sends the version number in regular
why is the PCU sending its version at different occasions?
Is that correct? It needs to be fixed at the PCU?
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/36018?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Id82fe0504d0cbdf71473c1e7dfe6125a3471bd85
Gerrit-Change-Number: 36018
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 19 Feb 2024 15:10:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/36018?usp=email )
Change subject: pcu_sock: forward PCU_VERSION only once
......................................................................
pcu_sock: forward PCU_VERSION only once
The PCU may send its version at different occasions and in case the BTS
is not active the PCU even sends the version number in regular
intervals. When the BTS a receives a PCU_VERSION txt message from the PCU,
it forwards it as an OML Failure Event Report. This means we might get
multiple copies of the same message on OML. This should be avoided, we
only should forward the PCU_VERSION when it actually changes.
Related: OS#6270
Change-Id: Id82fe0504d0cbdf71473c1e7dfe6125a3471bd85
---
M include/osmo-bts/bts.h
M src/common/abis.c
M src/common/pcu_sock.c
3 files changed, 28 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/18/36018/1
diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h
index c3e5dce..7193a30 100644
--- a/include/osmo-bts/bts.h
+++ b/include/osmo-bts/bts.h
@@ -173,6 +173,7 @@
/* Connected PCU version (if any) */
char pcu_version[MAX_VERSION_LENGTH];
+ bool pcu_version_oml_sent;
/* maximum Tx power that the MS is permitted to use in this cell */
int ms_max_power;
diff --git a/src/common/abis.c b/src/common/abis.c
index 5629cf2..e6a11ba 100644
--- a/src/common/abis.c
+++ b/src/common/abis.c
@@ -110,6 +110,7 @@
bts->osmo_link = NULL;
}
+ bts->pcu_version_oml_sent = false;
}
static int pick_next_bsc(struct osmo_fsm_inst *fi)
diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c
index 048e766..b8c68d4 100644
--- a/src/common/pcu_sock.c
+++ b/src/common/pcu_sock.c
@@ -864,7 +864,15 @@
case PCU_VERSION:
LOGP(DPCU, LOGL_INFO, "OsmoPCU version %s connected\n",
txt->text);
- oml_tx_failure_event_rep(&bts->gprs.cell.mo, NM_SEVER_CEASED, OSMO_EVT_PCU_VERS, txt->text);
+
+ /* Forward the PCU version information only once */
+ if (strcmp(bts->pcu_version, txt->text) != 0)
+ bts->pcu_version_oml_sent = false;
+ if (!bts->pcu_version_oml_sent && bts->oml_link) {
+ oml_tx_failure_event_rep(&bts->gprs.cell.mo, NM_SEVER_CEASED, OSMO_EVT_PCU_VERS, txt->text);
+ bts->pcu_version_oml_sent = true;
+ }
+
osmo_strlcpy(bts->pcu_version, txt->text, MAX_VERSION_LENGTH);
/* patch SI to advertise GPRS, *if* the SI sent by BSC said so */
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/36018?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Id82fe0504d0cbdf71473c1e7dfe6125a3471bd85
Gerrit-Change-Number: 36018
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: fixeria, laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/35796?usp=email )
Change subject: Implement M3UA-over-TCP (in addition to SCTP)
......................................................................
Patch Set 6:
(1 comment)
File TODO-RELEASE:
https://gerrit.osmocom.org/c/libosmo-sccp/+/35796/comment/cdf2ad63_3504059b
PS6, Line 15: libosmo-sigtran ABI change struct osmo_ss7_asp: new field(s)
> We always add new fields at the end, so I don't see the need to clarify this here.
How many counterexamples should I provide?
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/35796?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I8c76d271472befacbeb998a93bbdc9e8660d9b5d
Gerrit-Change-Number: 35796
Gerrit-PatchSet: 6
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 19 Feb 2024 14:46:31 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: laforge.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/36014?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: saip.personalization: include encode/decode of value; add validation method
......................................................................
saip.personalization: include encode/decode of value; add validation method
Change-Id: Ia9fa39c25817448afb191061acd4be894300eeef
---
M pySim/esim/saip/personalization.py
M tests/test_esim_saip.py
2 files changed, 86 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/14/36014/4
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/36014?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ia9fa39c25817448afb191061acd4be894300eeef
Gerrit-Change-Number: 36014
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newpatchset
Attention is currently required from: laforge.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/36014?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: saip.personalization: include encode/decode of value; add validation method
......................................................................
saip.personalization: include encode/decode of value; add validation method
Change-Id: Ia9fa39c25817448afb191061acd4be894300eeef
---
M pySim/esim/saip/personalization.py
M tests/test_esim_saip.py
2 files changed, 85 insertions(+), 13 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/14/36014/3
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/36014?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ia9fa39c25817448afb191061acd4be894300eeef
Gerrit-Change-Number: 36014
Gerrit-PatchSet: 3
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/36017?usp=email )
Change subject: gtp-link: close sockets on error
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/36017?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libgtpnl
Gerrit-Branch: master
Gerrit-Change-Id: I9c437de9712ebe568528b4c9ee1e89a4ba5cd5d1
Gerrit-Change-Number: 36017
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 19 Feb 2024 13:08:17 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/36013?usp=email )
Change subject: saip: improve docstrings
......................................................................
saip: improve docstrings
Change-Id: I0ca82a434e0bde3dc1b304dfc179d568588631c6
---
M pySim/esim/saip/__init__.py
M pySim/esim/saip/personalization.py
2 files changed, 30 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/pySim/esim/saip/__init__.py b/pySim/esim/saip/__init__.py
index 82ed2b7..b8e41ce 100644
--- a/pySim/esim/saip/__init__.py
+++ b/pySim/esim/saip/__init__.py
@@ -30,7 +30,13 @@
asn1 = compile_asn1_subdir('saip')
class File:
- """Internal representation of a file in a profile filesystem."""
+ """Internal representation of a file in a profile filesystem.
+
+ Parameters:
+ pename: Name string of the profile element
+ l: List of tuples [fileDescriptor, fillFileContent, fillFileOffset profile elements]
+ template: Applicable FileTemplate describing defaults as per SAIP spec
+ """
def __init__(self, pename: str, l: Optional[List[Tuple]] = None, template: Optional[templates.FileTemplate] = None):
self.pe_name = pename
self.template = template
@@ -103,7 +109,7 @@
@staticmethod
def linearize_file_content(l: List[Tuple]) -> Optional[io.BytesIO]:
- """linearize a list of fillFileContent + fillFileOffset tuples."""
+ """linearize a list of fillFileContent / fillFileOffset tuples into a stream of bytes."""
stream = io.BytesIO()
for k, v in l:
if k == 'doNotCreate':
@@ -125,6 +131,7 @@
return "File(%s): %s" % (self.pe_name, self.fileDescriptor)
class ProfileElement:
+ """Class representing a Profile Element (PE) within a SAIP Profile."""
FILE_BEARING = ['mf', 'cd', 'telecom', 'usim', 'opt-usim', 'isim', 'opt-isim', 'phonebook', 'gsm-access',
'csim', 'opt-csim', 'eap', 'df-5gs', 'df-saip', 'df-snpn', 'df-5gprose', 'iot', 'opt-iot']
def _fixup_sqnInit_dec(self) -> None:
@@ -162,6 +169,7 @@
@property
def header_name(self) -> str:
+ """Return the name of the header field within the profile element."""
# unneccessarry compliaction by inconsistent naming :(
if self.type.startswith('opt-'):
return self.type.replace('-','') + '-header'
@@ -169,10 +177,12 @@
@property
def header(self):
+ """Return the decoded ProfileHeader."""
return self.decoded.get(self.header_name, None)
@property
def templateID(self):
+ """Return the decoded templateID used by this profile element (if any)."""
return self.decoded.get('templateID', None)
@property
@@ -216,9 +226,12 @@
self.pes_by_naa: Dict = {}
def get_pes_for_type(self, tname: str) -> List[ProfileElement]:
+ """Return list of profile elements present for given profile element type."""
return self.pe_by_type.get(tname, [])
def get_pe_for_type(self, tname: str) -> Optional[ProfileElement]:
+ """Return a single profile element for given profile element type. Works only for
+ types of which there is only a signle instance in the PE Sequence!"""
l = self.get_pes_for_type(tname)
if len(l) == 0:
return None
diff --git a/pySim/esim/saip/personalization.py b/pySim/esim/saip/personalization.py
index fd83387..5adaf2e 100644
--- a/pySim/esim/saip/personalization.py
+++ b/pySim/esim/saip/personalization.py
@@ -32,7 +32,8 @@
return file
class ClassVarMeta(abc.ABCMeta):
- """Metaclass that puts all additional keyword-args into the class."""
+ """Metaclass that puts all additional keyword-args into the class. We use this to have one
+ class definition for something like a PIN, and then have derived classes for PIN1, PIN2, ..."""
def __new__(metacls, name, bases, namespace, **kwargs):
#print("Meta_new_(metacls=%s, name=%s, bases=%s, namespace=%s, kwargs=%s)" % (metacls, name, bases, namespace, kwargs))
x = super().__new__(metacls, name, bases, namespace)
@@ -78,6 +79,7 @@
return filtered[0]
class Puk(ConfigurableParameter, metaclass=ClassVarMeta):
+ """Configurable PUK (Pin Unblock Code). String ASCII-encoded digits."""
keyReference = None
def apply(self, pes: ProfileElementSequence):
mf_pes = pes.pes_by_naa['mf'][0]
@@ -93,6 +95,7 @@
pass
class Pin(ConfigurableParameter, metaclass=ClassVarMeta):
+ """Configurable PIN (Personal Identification Number). String of digits."""
keyReference = None
def apply(self, pes: ProfileElementSequence):
mf_pes = pes.pes_by_naa['mf'][0]
@@ -105,6 +108,7 @@
return
raise ValueError('cannot find pinCode')
class AppPin(ConfigurableParameter, metaclass=ClassVarMeta):
+ """Configurable PIN (Personal Identification Number). String of digits."""
keyReference = None
def _apply_one(self, pe: ProfileElement):
pinCodes = obtain_first_pe_from_pelist(pe, 'pinCodes')
@@ -134,6 +138,7 @@
class AlgoConfig(ConfigurableParameter, metaclass=ClassVarMeta):
+ """Configurable Algorithm parameter. bytes."""
key = None
def apply(self, pes: ProfileElementSequence):
for pe in pes.get_pes_for_type('akaParameter'):
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/36013?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I0ca82a434e0bde3dc1b304dfc179d568588631c6
Gerrit-Change-Number: 36013
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged