falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/39752?usp=email )
Change subject: E1 BTS: direct MGW to 8k subslots for TCH/H
......................................................................
E1 BTS: direct MGW to 8k subslots for TCH/H
If the design of an E1 BTS allocates a 16 kbit/s subslot on Abis
for each GSM timeslot, then if that GSM ts is configured to operate
as two TCH/H lchans instead of a single TCH/F lchan, that BTS has
to use the 8 kbit/s TRAU frame format of GSM 08.61 and not the
16 kbit/s format for each TCH/H lchan. Nokia E1 BTS and their
associated BSC and TCSM (TRAU) equipment are known to use this
arrangement; the present author does not know of any GSM BSS vendor
who used the 16 kbit/s format of GSM 08.61 - it might be a paper-only
spec.
Prior to the present change OsmoBSC always selected a 16k subslot
endpoint at the MGW, thus precluding possibility of working TCH/H
on otherwise supported E1 BTS. Change it to select 8k subslot
endpoints when operating on TCH/H lchans.
It may seem that this change breaks support for those E1 BTS that
do use 16 kbit/s TRAU frame format for TCH/H, whatever they may be -
but in reality, said support was already broken. Prior to the
present change OsmoBSC would smoosh both TCH/H lchans of a given
GSM ts onto the same MGW endpoint - which cannot work because they
are two different lchans carrying unrelated traffic.
Change-Id: If6141a55434ce08f8fdd1c69b6fc9a97d6c726a7
---
M src/osmo-bsc/bsc_subscr_conn_fsm.c
1 file changed, 8 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/39752/1
diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c
index f1f48bc..a2a1eb7 100644
--- a/src/osmo-bsc/bsc_subscr_conn_fsm.c
+++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c
@@ -746,15 +746,20 @@
/* use dynamic RTPBRIDGE endpoint allocation in MGW */
epname = mgcp_client_rtpbridge_wildcard(mgcp_client);
else {
- uint8_t i460_bit_offs;
+ uint8_t i460_bit_offs, i460_rate = 16;
if (for_lchan->ts->e1_link.e1_ts_ss == E1_SUBSLOT_FULL)
i460_bit_offs = 0;
else
i460_bit_offs = for_lchan->ts->e1_link.e1_ts_ss * 2;
+ if (for_lchan->type == GSM_LCHAN_TCH_H) {
+ i460_rate = 8;
+ i460_bit_offs += for_lchan->nr;
+ }
+
epname = mgcp_client_e1_epname(conn, mgcp_client, for_lchan->ts->e1_link.e1_nr,
- for_lchan->ts->e1_link.e1_ts, 16,
- i460_bit_offs);
+ for_lchan->ts->e1_link.e1_ts,
+ i460_rate, i460_bit_offs);
}
conn->user_plane.mgw_endpoint =
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/39752?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: If6141a55434ce08f8fdd1c69b6fc9a97d6c726a7
Gerrit-Change-Number: 39752
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
falconia has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/osmo-mgw/+/39751?usp=email )
Change subject: E1: implement dummy fill for HRv1 codec
......................................................................
Patch Set 5:
This change is ready for review.
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39751?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I188bc0a0468b19126281016f45e36f1de617e9ee
Gerrit-Change-Number: 39751
Gerrit-PatchSet: 5
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Sat, 08 Mar 2025 19:27:34 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
falconia has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/osmo-mgw/+/39750?usp=email )
Change subject: E1: change dummy fill frame generation method
......................................................................
Patch Set 4:
This change is ready for review.
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39750?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I123f77295c56d61ff9aac5f5d64b25eca01e0d63
Gerrit-Change-Number: 39750
Gerrit-PatchSet: 4
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Sat, 08 Mar 2025 19:26:46 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Attention is currently required from: neels.
fixeria has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/39742?usp=email )
Change subject: [2/7] personalization: refactor ConfigurableParameter, Iccid, Imsi
......................................................................
Patch Set 4:
(2 comments)
File pySim/esim/saip/personalization.py:
https://gerrit.osmocom.org/c/pysim/+/39742/comment/ccb75a2c_7aceb2db?usp=em… :
PS4, Line 40: This class is abstract, you will only use subclasses in practice.
This is exactly what `abc.ABC` is for. Not only it allows to declare methods as abstract, it also tells reader that the class is abstract.
https://gerrit.osmocom.org/c/pysim/+/39742/comment/019f762a_45736791?usp=em… :
PS4, Line 42: Subclasses have to implement the apply_val() classmethods
... and this would have been obvious if you just defined it as follows:
```
@classmethod
@abc.abstractmethod
def apply_val(...):
''' ... '''
```
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39742?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I6522be4c463e34897ca9bff2309b3706a88b3ce8
Gerrit-Change-Number: 39742
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 08 Mar 2025 10:38:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: neels.
fixeria has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/39741?usp=email )
Change subject: [1/7] personalization: refactor: drop ClassVarMeta use
......................................................................
Patch Set 4:
(2 comments)
File pySim/esim/saip/personalization.py:
https://gerrit.osmocom.org/c/pysim/+/39741/comment/89006f02_7a8d2745?usp=em… :
PS4, Line 61: @abc.abstractmethod
Why are you removing this? The COMMIT_MSG says you're dropping `ClassVarMeta`, but you're also removing abstract class/method qualifiers. This is still an abstract method, that must be implemented by derived classes, isn't it?
https://gerrit.osmocom.org/c/pysim/+/39741/comment/5485987c_5061b1ec?usp=em… :
PS4, Line 147: class SdKeyScp80_01(SdKey, kvn=0x01, key_type=0x88, permitted_len=[16,24,32]): # AES key type
IMO, the old approach is much more compact and thus more readable.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39741?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I60ea8fd11fb438ec90ddb08b17b658cbb789c051
Gerrit-Change-Number: 39741
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 08 Mar 2025 10:30:20 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: falconia.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/39750?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: E1: change dummy fill frame generation method
......................................................................
E1: change dummy fill frame generation method
In the absence of a proper TFO transform (TS 28.062 section
C3.2.1.1), OsmoMGW-E1 inserts constant fill frames when there is
no RTP input, or when RTP input fails conversion to TRAU-DL and
thus does not enqueue anything to the I.460 mux. (We accept
TW-TS-001 and TW-TS-002 from RTP side, but bad frames cannot be
converted to TRAU-DL without a TFO transform.)
Prior to the present change, this idle fill of the DL was done
using fully hard-coded frames, i.e., the operation of converting
the desired fill to TRAU-DL bit format was done once externally
and the raw bit frames were hard-coded. Change this approach:
use fill frames in RTP format provided by libosmocodec, and
execute osmo_rtp2trau() followed by osmo_trau_frame_encode() in
the fill frame output path just like we do for regular RTP to DL.
Depends: libosmocore.git I2c510ac62a0786c137115c45eee7a48b9736265f
Change-Id: I123f77295c56d61ff9aac5f5d64b25eca01e0d63
---
M TODO-RELEASE
M configure.ac
M src/libosmo-mgcp/Makefile.am
M src/libosmo-mgcp/mgcp_e1.c
M src/osmo-mgw/Makefile.am
M tests/mgcp/Makefile.am
6 files changed, 39 insertions(+), 157 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/50/39750/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39750?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I123f77295c56d61ff9aac5f5d64b25eca01e0d63
Gerrit-Change-Number: 39750
Gerrit-PatchSet: 3
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Attention is currently required from: falconia.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/39750?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: E1: change dummy fill frame generation method
......................................................................
E1: change dummy fill frame generation method
In the absence of a proper TFO transform (TS 28.062 section
C3.2.1.1), OsmoMGW-E1 inserts constant fill frames when there is
no RTP input, or when RTP input fails conversion to TRAU-DL and
thus does not enqueue anything to the I.460 mux. (We accept
TW-TS-001 and TW-TS-002 from RTP side, but bad frames cannot be
converted to TRAU-DL without a TFO transform.)
Prior to the present change, this idle fill of the DL was done
using fully hard-coded frames, i.e., the operation of converting
the desired fill to TRAU-DL bit format was done once externally
and the raw bit frames were hard-coded. Change this approach:
use fill frames in RTP format provided by libosmocodec, and
execute osmo_rtp2trau() followed by osmo_trau_frame_encode() in
the fill frame output path just like we do for regular RTP to DL.
Depends: libosmocore.git I2c510ac62a0786c137115c45eee7a48b9736265f
Change-Id: I123f77295c56d61ff9aac5f5d64b25eca01e0d63
---
M TODO-RELEASE
M configure.ac
M src/libosmo-mgcp/Makefile.am
M src/libosmo-mgcp/mgcp_e1.c
M src/osmo-mgw/Makefile.am
5 files changed, 38 insertions(+), 157 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/50/39750/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39750?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I123f77295c56d61ff9aac5f5d64b25eca01e0d63
Gerrit-Change-Number: 39750
Gerrit-PatchSet: 2
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/39751?usp=email )
Change subject: E1: implement dummy fill for HRv1 codec
......................................................................
E1: implement dummy fill for HRv1 codec
In the absence of a proper TFO transform (TS 28.062 section
C3.2.1.1), OsmoMGW-E1 inserts constant fill frames when there is
no RTP input, or when RTP input fails conversion to TRAU-DL and
thus does not enqueue anything to the I.460 mux.
This dummy fill was previously implemented for FR and EFR codecs,
but not for HRv1. Fix this omission.
With this change and with a fix to OsmoBSC to select 8k subslot
endpoints for TCH/H instead of 16k, OsmoMGW-E1 should support HR
codec to the same degree to which it supports FR and EFR: far from
perfect, but likely to be usable, especially if DTXu is disabled
and there is no TrFO interworking with a far end that does DTXu.
Change-Id: I188bc0a0468b19126281016f45e36f1de617e9ee
---
M src/libosmo-mgcp/mgcp_e1.c
1 file changed, 5 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/51/39751/1
diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c
index e3d72e0..e989ef6 100644
--- a/src/libosmo-mgcp/mgcp_e1.c
+++ b/src/libosmo-mgcp/mgcp_e1.c
@@ -82,6 +82,11 @@
dummy_fill_pl = osmo_gsm660_homing_frame;
dummy_fill_pl_len = GSM_EFR_BYTES;
break;
+ case OSMO_TRAU16_FT_HR:
+ case OSMO_TRAU8_SPEECH:
+ dummy_fill_pl = osmo_gsm620_silence_frame;
+ dummy_fill_pl_len = GSM_HR_BYTES;
+ break;
default:
LOGPENDP(endp, DE1, LOGL_ERROR, "E1-I.460-IDLE-TX: unsupported frame type\n");
goto skip;
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39751?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I188bc0a0468b19126281016f45e36f1de617e9ee
Gerrit-Change-Number: 39751
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>