laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/42289?usp=email )
Change subject: nokia_site: Change the LAPD N200 counter for RSL
......................................................................
nokia_site: Change the LAPD N200 counter for RSL
This commit raises the LAPD RSL N200 (retransmission) counter for
Nokia RSL links. The reason is that the readiness of the TRX is not
signalled (OML) nor can be queried from the BTS in any way, and on
larger macro setups the TRX reset takes ~15 seconds, thus the RSL
bootstrap times out before the TRX becomes ready.
This issue presents itself with UltraSite types, does not affect
InSite or MetroSite (the later two are "integrated TRX" units).
More modern macro setups like the Flexi or Multiradio are likely
affected.
Runtime tested with InSite and UltraSite (multi-TRX).
Change-Id: Ie4bb804ea636eba2182586db13a625c5933eff31
---
M src/osmo-bsc/bts_nokia_site.c
1 file changed, 4 insertions(+), 1 deletion(-)
Approvals:
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c
index 3800d45..c5e31b7 100644
--- a/src/osmo-bsc/bts_nokia_site.c
+++ b/src/osmo-bsc/bts_nokia_site.c
@@ -117,10 +117,13 @@
#endif
if (start) {
+ /* Raise N200 for RSL to fix slow TRX reset */
+ if (link->sapi == SAPI_RSL)
+ ts->lapd->profile.n200 = 20;
ts->lapd->profile.t200_sec = 1;
ts->lapd->profile.t200_usec = 0;
lapd_sap_start(ts->lapd, link->tei,
- link->sapi);
+ link->sapi);
} else
lapd_sap_stop(ts->lapd, link->tei,
link->sapi);
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/42289?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ie4bb804ea636eba2182586db13a625c5933eff31
Gerrit-Change-Number: 42289
Gerrit-PatchSet: 5
Gerrit-Owner: csaba.sipos <metro4(a)freemail.hu>
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-CC: domi <domi(a)tomcsanyi.net>
Attention is currently required from: fixeria.
laforge has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/38666?usp=email )
Change subject: gsup: align ordering of IEs
......................................................................
Patch Set 3: Code-Review+1
(1 comment)
Patchset:
PS2:
> Wouldn't it much easier to require an ordering based on ascending IE type? This way it wouldn't requ […]
I think the most compatible approach would be not to require any kind of ordering. In any case, this patch is not about changing the behaviour, but making documentation agree with implementation.
--
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/38666?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Change-Id: I5caa3101da310cddfa311d068ad889bca697b438
Gerrit-Change-Number: 38666
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 18 Mar 2026 10:34:26 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: lynxis lazus <lynxis(a)fe80.eu>
laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/42274?usp=email )
Change subject: esim/http_json_api: allow URL rewriting
......................................................................
esim/http_json_api: allow URL rewriting
The URL used when HTTP requests are performed is defined statically
with the url_prefix passed to the constructor of JsonHttpApiClient
together with the path property in JsonHttpApiFunction.
For applications that require dynamic URLs there is no way to rewrite
the URL. Let's add a mechanism that allows API users to apply custom
URL reqriting rules by adding a rewrite_url method to
JsonHttpApiFunction. API users may then overload this method with a
custom implementation as needed.
Related: SYS#7918
Change-Id: Id2713a867079cc140517fe312189e5e2162608a5
---
M pySim/esim/http_json_api.py
1 file changed, 33 insertions(+), 5 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/pySim/esim/http_json_api.py b/pySim/esim/http_json_api.py
index cd95e0d..0220d25 100644
--- a/pySim/esim/http_json_api.py
+++ b/pySim/esim/http_json_api.py
@@ -19,7 +19,7 @@
import requests
import logging
import json
-from typing import Optional
+from typing import Optional, Tuple
import base64
from twisted.web.server import Request
@@ -180,7 +180,7 @@
# receives from the a requesting client. The same applies vice versa to class variables that have an "output_"
# prefix.
- # path of the API function (e.g. '/gsma/rsp2/es2plus/confirmOrder')
+ # path of the API function (e.g. '/gsma/rsp2/es2plus/confirmOrder', see also method rewrite_url).
path = None
# dictionary of input parameters. key is parameter name, value is ApiParam class
@@ -336,6 +336,22 @@
output[p] = p_class.decode(v)
return output
+ def rewrite_url(self, data: dict, url: str) -> Tuple[dict, str]:
+ """
+ Rewrite a static URL using information passed in the data dict. This method may be overloaded by a derived
+ class to allow fully dynamic URLs. The input parameters required for the URL rewriting may be passed using
+ data parameter. In case those parameters are additional parameters that are not intended to be passed to
+ the encode_client method later, they must be removed explcitly.
+
+ Args:
+ data: (see JsonHttpApiClient and JsonHttpApiServer)
+ url: statically generated URL string (see comment in JsonHttpApiClient)
+ """
+
+ # This implementation is a placeholder in which we do not perform any URL rewriting. We just pass through data
+ # and url unmodified.
+ return data, url
+
class JsonHttpApiClient():
def __init__(self, api_func: JsonHttpApiFunction, url_prefix: str, func_req_id: Optional[str],
session: requests.Session):
@@ -352,8 +368,16 @@
self.session = session
def call(self, data: dict, func_call_id: Optional[str] = None, timeout=10) -> Optional[dict]:
- """Make an API call to the HTTP API endpoint represented by this object. Input data is passed in `data` as
- json-serializable dict. Output data is returned as json-deserialized dict."""
+ """
+ Make an API call to the HTTP API endpoint represented by this object. Input data is passed in `data` as
+ json-serializable fields. `data` may also contain additional parameters required for URL rewriting (see
+ rewrite_url in class JsonHttpApiFunction). Output data is returned as json-deserialized dict.
+
+ Args:
+ data: Input data required to perform the request.
+ func_call_id: Function Call Identifier, if present a header field is generated automatically.
+ timeout: Maximum amount of time to wait for the request to complete.
+ """
# In case a function caller ID is supplied, use it together with the stored function requestor ID to generate
# and prepend the header field according to SGP.22, section 6.5.1.1 and 6.5.1.3. (the presence of the header
@@ -362,6 +386,11 @@
data = {'header' : {'functionRequesterIdentifier': self.func_req_id,
'functionCallIdentifier': func_call_id}} | data
+ # The URL used for the HTTP request (see below) normally consists of the initially given url_prefix
+ # concatenated with the path defined by the JsonHttpApiFunction definition. This static URL path may be
+ # rewritten by rewrite_url method defined in the JsonHttpApiFunction.
+ data, url = self.api_func.rewrite_url(data, self.url_prefix + self.api_func.path)
+
# Encode the message (the presence of mandatory fields is checked during encoding)
encoded = json.dumps(self.api_func.encode_client(data))
@@ -373,7 +402,6 @@
req_headers.update(self.api_func.extra_http_req_headers)
# Perform HTTP request
- url = self.url_prefix + self.api_func.path
logger.debug("HTTP REQ %s - hdr: %s '%s'" % (url, req_headers, encoded))
response = self.session.request(self.api_func.http_method, url, data=encoded, headers=req_headers, timeout=timeout)
logger.debug("HTTP RSP-STS: [%u] hdr: %s" % (response.status_code, response.headers))
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/42274?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Id2713a867079cc140517fe312189e5e2162608a5
Gerrit-Change-Number: 42274
Gerrit-PatchSet: 4
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>