Attention is currently required from: dexter, laforge.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/38118?usp=email
to look at the new patch set (#6).
The following approvals got outdated and were removed:
Code-Review+1 by laforge, Verified-1 by Jenkins Builder
Change subject: utils: support alpha identifier in enc/dec_msisdn
......................................................................
utils: support alpha identifier in enc/dec_msisdn
The functions enc_msisdn and dec_msisdn do not support encoding
and decoding of the alpha identifier. Let's extend the functions
accordingly.
Related: OS#5714
Change-Id: I19ec8ba14551ec282fc0cc12ae2f6d528bdfc527
---
M pySim-read.py
M pySim/utils.py
M tests/unittests/test_utils.py
3 files changed, 41 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/18/38118/6
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38118?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I19ec8ba14551ec282fc0cc12ae2f6d528bdfc527
Gerrit-Change-Number: 38118
Gerrit-PatchSet: 6
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Attention is currently required from: laforge.
dexter has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/38117?usp=email )
Change subject: ts_51_011: replace encoding of EF.MSISDN with construct model
......................................................................
Patch Set 5:
(1 comment)
Patchset:
PS5:
Interesting: The construct version on the tester was 2.10.68, on my workstation where the pySim-trace test is passing it was 2.10.70. Presumably this older version has problems to evaluate the COptional correctly and was letting 0xFF bytes into the GSM0338 decoder.
Also the file contents in the trace look wild:
ff0791942143658709ffffffffffffffffffffffffffffffffffffffffffffffffff
In any case, the decoding works now!
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38117?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: I647f5c63f7f87902a86c0c5d8e92fdc7f4350a5a
Gerrit-Change-Number: 38117
Gerrit-PatchSet: 5
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 18 Sep 2024 12:52:14 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/38197?usp=email )
Change subject: Remove speech codec list from bearer_cap for phase 1 mobile station
......................................................................
Remove speech codec list from bearer_cap for phase 1 mobile station
According to TS 04.08 Clause 10.5.4.5.1, the octet 3a ect. shall not be
included, if only GSM full/half rate speech version 1 is supported.
As phase 1 mobile stations only support FR and HR speech, the speech
list in the bearer capability must be reduced to the codecs listed
above.
The octet 3a ect. must be omitted when encoding bearer capability for
phase 1 mobile stations. This is done by removing the speech list.
I do not use a "codec filter", because it is not required. The phase 1
mobile station can only respond with codecs it supports, so no filtering
is required.
Related: OS#6461
Change-Id: Idd267dad0ade18cee7d5be813a57e1ee3168e2db
---
M src/libmsc/gsm_04_08_cc.c
1 file changed, 38 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/97/38197/1
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index fc4f730..bd07b34 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -926,6 +926,21 @@
.speech_ver = { -1 },
};
sdp_audio_codecs_to_bearer_cap(&bearer_cap, &trans->cc.local.audio_codecs);
+ /* Remove codecs in bearer_cap that are unsupported by phase 1 mobile stations.
+ * This is required, because phase 1 mobile stations do not support octets 3a ect. */
+ if (trans->vsub->classmark.classmark1.rev_lev == 0) {
+ int i, j;
+
+ for (i = 0, j = 0; bearer_cap.speech_ver[i] >= 0; i++) {
+ if (bearer_cap.speech_ver[i] == GSM48_BCAP_SV_FR ||
+ bearer_cap.speech_ver[i] == GSM48_BCAP_SV_HR)
+ bearer_cap.speech_ver[j++] = bearer_cap.speech_ver[i];
+ LOG_TRANS(trans, LOGL_DEBUG, "Removing speech version %d for phase 1 MS.\n",
+ bearer_cap.speech_ver[i]);
+ }
+ bearer_cap.speech_ver[j] = -1;
+ }
+ /* Set radio channel requirements accroding to available speech codecs. */
rc = bearer_cap_set_radio(&bearer_cap);
if (rc) {
LOG_TRANS(trans, LOGL_ERROR, "Error composing Bearer Capability for CC Setup\n");
@@ -972,6 +987,10 @@
/* Create a copy of the bearer capability in the transaction struct, so we can use this information later */
trans->bearer_cap = bearer_cap;
+ /* Speech codec list (oictets 3a ect.) must not be sent to phase 1 mobile stations.
+ * These mobile stations may reject the call, if present. */
+ if (trans->vsub->classmark.classmark1.rev_lev == 0)
+ bearer_cap.speech_ver[0] = -1;
gsm48_encode_bearer_cap(msg, 0, &bearer_cap);
/* facility */
@@ -1136,6 +1155,10 @@
trans->bearer_cap.transfer);
return -EINVAL;
}
+ /* Speech codec list (oictets 3a ect.) must not be sent to phase 1 mobile stations.
+ * These mobile stations may reject the call, if present. */
+ if (trans->vsub->classmark.classmark1.rev_lev == 0)
+ proceeding->bearer_cap.speech_ver[0] = -1;
gsm48_encode_bearer_cap(msg, 0, &proceeding->bearer_cap);
memcpy(&trans->bearer_cap, &proceeding->bearer_cap, sizeof(trans->bearer_cap));
}
@@ -1851,6 +1874,11 @@
gsm48_start_cc_timer(trans, 0x323, GSM48_T323);
/* bearer capability */
+
+ /* Speech codec list (oictets 3a ect.) must not be sent to phase 1 mobile stations.
+ * These mobile stations may reject the call, if present. */
+ if (trans->vsub->classmark.classmark1.rev_lev == 0)
+ modify->bearer_cap.speech_ver[0] = -1;
gsm48_encode_bearer_cap(msg, 1, &modify->bearer_cap);
memcpy(&trans->bearer_cap, &modify->bearer_cap, sizeof(trans->bearer_cap));
@@ -1898,6 +1926,11 @@
gh->msg_type = GSM48_MT_CC_MODIFY_COMPL;
/* bearer capability */
+
+ /* Speech codec list (oictets 3a ect.) must not be sent to phase 1 mobile stations.
+ * These mobile stations may reject the call, if present. */
+ if (trans->vsub->classmark.classmark1.rev_lev == 0)
+ modify->bearer_cap.speech_ver[0] = -1;
gsm48_encode_bearer_cap(msg, 1, &modify->bearer_cap);
memcpy(&trans->bearer_cap, &modify->bearer_cap, sizeof(trans->bearer_cap));
@@ -1951,6 +1984,11 @@
gh->msg_type = GSM48_MT_CC_MODIFY_REJECT;
/* bearer capability */
+
+ /* Speech codec list (oictets 3a ect.) must not be sent to phase 1 mobile stations.
+ * These mobile stations may reject the call, if present. */
+ if (trans->vsub->classmark.classmark1.rev_lev == 0)
+ modify->bearer_cap.speech_ver[0] = -1;
gsm48_encode_bearer_cap(msg, 1, &modify->bearer_cap);
memcpy(&trans->bearer_cap, &modify->bearer_cap, sizeof(trans->bearer_cap));
/* cause */
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/38197?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Idd267dad0ade18cee7d5be813a57e1ee3168e2db
Gerrit-Change-Number: 38197
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Attention is currently required from: laforge.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/38194?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by laforge, Verified+1 by Jenkins Builder
Change subject: pySim-shell: improve command "desc"
......................................................................
pySim-shell: improve command "desc"
The "desc" command displays a string with a file description, let's also
display some size information as part of the description as well.
Related: OS#5714
Change-Id: I98e139ba2bf35df5524245cdd96f5c52cf09b986
---
M pySim-shell.py
M pySim/runtime.py
2 files changed, 28 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/94/38194/2
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38194?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I98e139ba2bf35df5524245cdd96f5c52cf09b986
Gerrit-Change-Number: 38194
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Attention is currently required from: laforge.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/38195?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review-1 by laforge, Verified+1 by Jenkins Builder
Change subject: filesystem: pass total_len to construct of when encoding file contents
......................................................................
filesystem: pass total_len to construct of when encoding file contents
In our construct models we frequently use a context parameter "total_len",
we also pass this parameter to construct when we decode files, but we
do not pass it when we generate files. This is a problem, because when
total_len is used in the construct model, this parameter must be known
also when decoding the file.
Let's make sure that the total_len is properly determined and and passed
to construct (via pyosmocom)
Related: OS#5714
Change-Id: I1b7a51594fbc5d9fe01132c39354a2fa88d53f9b
---
M pySim/filesystem.py
M pySim/runtime.py
2 files changed, 71 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/95/38195/2
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38195?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I1b7a51594fbc5d9fe01132c39354a2fa88d53f9b
Gerrit-Change-Number: 38195
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Attention is currently required from: laforge.
dexter has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/38195?usp=email )
Change subject: filesystem: pass total_len to construct of when encoding file contents
......................................................................
Patch Set 2:
(4 comments)
File pySim/filesystem.py:
https://gerrit.osmocom.org/c/pysim/+/38195/comment/590b1234_be0b47ef?usp=em… :
PS1, Line 182: '
> unrelated cosmetic change. […]
Done
https://gerrit.osmocom.org/c/pysim/+/38195/comment/b190bb7d_3d5269df?usp=em… :
PS1, Line 747: if total_len is not None:
> this could deserve some documentation (doc-string or comment). […]
In case the size is not specified, the default value of the parameter in the constructor should ensure size is present. Unless the constructor is called explicitly with size = None, there should be no problem. In any case, lets put a check to be 100% sure.
https://gerrit.osmocom.org/c/pysim/+/38195/comment/dc4c591c_8901a3cc?usp=em… :
PS1, Line 1043: __get_rec_len
> why do we have double-underscores here but single-underscore for _get_size() above? Also: please ad […]
I thought I could re-use _get_size() in TransRecEf, that is why _get_size only has one underscore.
https://gerrit.osmocom.org/c/pysim/+/38195/comment/e04af2b8_86fc99d6?usp=em… :
PS1, Line 1266: return b2h(filter_dict(build_construct(self._construct, abstract_data, self._get_size(total_len))))
> Did you test that? I think a _get_rec_len() would actually be required here. […]
I see, we can not use _get_size here. As far as I understand now I would have to use the rec_len as an alternative value.
I wonder how to test this. As it seems TransRecEF registers the command set from TransparentEF, so I only get the normal update_binary commands.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38195?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: I1b7a51594fbc5d9fe01132c39354a2fa88d53f9b
Gerrit-Change-Number: 38195
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 18 Sep 2024 10:12:35 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
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/+/38117?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: ts_51_011: replace encoding of EF.MSISDN with construct model
......................................................................
ts_51_011: replace encoding of EF.MSISDN with construct model
The encoding of EF.MSISDN is currently done with enc_msisdn and
dec_msisdn from utils.py. Let's replace this with a construct
based model, similar to the one we already use with EF.ADN
Related: OS#5714
Change-Id: I647f5c63f7f87902a86c0c5d8e92fdc7f4350a5a
---
M pySim/ts_51_011.py
M tests/pySim-trace_test/pySim-trace_test_gsmtap.pcapng.ok
2 files changed, 20 insertions(+), 15 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/17/38117/5
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38117?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I647f5c63f7f87902a86c0c5d8e92fdc7f4350a5a
Gerrit-Change-Number: 38117
Gerrit-PatchSet: 5
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Attention is currently required from: laforge.
dexter has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/38117?usp=email )
Change subject: ts_51_011: replace encoding of EF.MSISDN with construct model
......................................................................
Patch Set 5:
(1 comment)
Patchset:
PS1:
> We can try that, but before we must resolve some issues with construct. […]
I wonder how the compatibility layer should be implemented. What I could think of is a function that we define a method inside the file object definition (similar to the _encode_record_hex() function). This method would recognize if there is an old format pass and transform it.
The encode_record_hex in filesystem.py would then check if the method exists and call it to transform the abstract_data to the recent format. Then things would continue normally.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38117?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: I647f5c63f7f87902a86c0c5d8e92fdc7f4350a5a
Gerrit-Change-Number: 38117
Gerrit-PatchSet: 5
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 18 Sep 2024 10:12:35 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de>