Attention is currently required from: daniel, fixeria, laforge, pespin.
osmith has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/39690?usp=email )
Change subject: sccp: Allow marking UNIT-DATA.req Sequence Control param non-presence, set SLS
......................................................................
Patch Set 3:
(2 comments)
File src/sccp_sclc.c:
https://gerrit.osmocom.org/c/libosmo-sigtran/+/39690/comment/f29df5e2_38a19… :
PS2, Line 38: *
> @laforge@gnumonks.org I removed those from here because theycare not really related to this file. […]
Done
File src/sccp_sclc.c:
https://gerrit.osmocom.org/c/libosmo-sigtran/+/39690/comment/793433fa_423c7… :
PS3, Line 84: xua->mtp.sls = rand() & 0xf;
this looks like it could by chance become the same sls as in the seq_ctrl present case below. Is this desired? Maybe the intention was to do `& 0xf0`?
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/39690?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I834e91c1ec337713b0e684cf4fd7de854150bef6
Gerrit-Change-Number: 39690
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 07 Mar 2025 09:12:02 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39732?usp=email )
Change subject: testenv/README: fix markdown syntax
......................................................................
testenv/README: fix markdown syntax
Put the two wget lines into a code block, otherwise the line break is
omitted and it looks weird.
Change-Id: Ia61d56cdf4822595e2a05b320e387a079bdbfeb2
---
M _testenv/README.md
1 file changed, 2 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/39732/1
diff --git a/_testenv/README.md b/_testenv/README.md
index 2a08e7d..11cd8bd 100644
--- a/_testenv/README.md
+++ b/_testenv/README.md
@@ -32,8 +32,10 @@
When using `-C`, testenv uses a `.linux` file in the `osmo-ttcn3-hacks` dir as
kernel. You can download a pre-built kernel from jenkins:
+```
$ wget -O .linux "https://jenkins.osmocom.org/jenkins/job/build-kernel-torvalds/lastSuccessfu…"
$ wget -O .linux "https://jenkins.osmocom.org/jenkins/job/build-kernel-net-next/lastSuccessfu…"
+```
Or build your own kernel, see:
https://gitea.osmocom.org/osmocom/osmo-ci/src/branch/master/scripts/kernel
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39732?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ia61d56cdf4822595e2a05b320e387a079bdbfeb2
Gerrit-Change-Number: 39732
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/39731?usp=email )
Change subject: trau: new function osmo_trau2rtp_ufe()
......................................................................
trau: new function osmo_trau2rtp_ufe()
TRAU frame formats for newer codecs (HR, EFR, AMR) include a UFE
(uplink frame error) indicator bit in the DL direction. TRAUs are
expected to set this bit to active error state (0 for HR/EFR/AMR or
1 for D144 E-TRAU) if frame synchronization is lost in the UL
direction, or if received TRAU-UL frames have bad CRC or invalid
control bits - errors that indicate corruption on terrestrial
circuits or faults in the CCU, rather than radio Rx errors.
In Osmocom implementation, TRAU frame CRC and control bit patterns
are checked during conversion to RTP, as part of the work done by
osmo_trau2rtp() - but there is no separate return indication from
that function that distinguishes these errors from ordinary BFIs
due to radio errors or FACCH stealing etc. Solution: add a new
API function that indicates UFE conditions separately.
Related: OS#6614
Change-Id: I7a90eca296b17b1211e5c2125fb1496cd362e1c9
---
M include/osmocom/trau/trau_rtp.h
M src/trau/trau_rtp_conv.c
2 files changed, 80 insertions(+), 32 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/31/39731/1
diff --git a/include/osmocom/trau/trau_rtp.h b/include/osmocom/trau/trau_rtp.h
index 3631b83..cb6d8e2 100644
--- a/include/osmocom/trau/trau_rtp.h
+++ b/include/osmocom/trau/trau_rtp.h
@@ -32,5 +32,8 @@
int osmo_trau2rtp(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf,
struct osmo_trau2rtp_state *st);
+int osmo_trau2rtp_ufe(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf,
+ struct osmo_trau2rtp_state *st, bool *ufe);
+
int osmo_rtp2trau(struct osmo_trau_frame *tf, const uint8_t *rtp, size_t rtp_len,
struct osmo_trau2rtp_state *st);
diff --git a/src/trau/trau_rtp_conv.c b/src/trau/trau_rtp_conv.c
index 8307112..3b52ad9 100644
--- a/src/trau/trau_rtp_conv.c
+++ b/src/trau/trau_rtp_conv.c
@@ -246,7 +246,8 @@
* \param[in] out_len length of out buffer in bytes
* \param[in] tf input TRAU frame in decoded form
* \returns number of bytes generated in 'out'; negative on error. */
-static int trau2rtp_hr16(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf, bool emit_twts002)
+static int trau2rtp_hr16(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf,
+ bool emit_twts002, bool *ufe)
{
enum osmo_gsm631_sid_class sidc;
int rc;
@@ -274,7 +275,7 @@
* BFI or invalid SID packets. */
if (!emit_twts002 &&
(tf->c_bits[11] || sidc == OSMO_GSM631_SID_CLASS_INVALID))
- goto bad_frame;
+ return 0;
/* BFI turns valid SID into invalid */
if (tf->c_bits[11] && sidc == OSMO_GSM631_SID_CLASS_VALID)
@@ -306,6 +307,8 @@
return GSM_HR_BYTES_RTP_RFC5993;
bad_frame:
+ if (ufe)
+ *ufe = true;
if (emit_twts002) {
out[0] = FT_NO_DATA << 4;
twts002_hr16_set_extra_flags(out, tf);
@@ -343,7 +346,8 @@
* \param[in] emit_twts002 self-explanatory
* \returns number of bytes generated in 'out'; negative on error. */
static int trau2rtp_hr8(uint8_t *out, size_t out_len,
- const struct osmo_trau_frame *tf, bool emit_twts002)
+ const struct osmo_trau_frame *tf, bool emit_twts002,
+ bool *ufe)
{
unsigned xc1_4;
@@ -409,6 +413,8 @@
default:
bad_frame:
/* received garbage, emit BFI with no data */
+ if (ufe)
+ *ufe = true;
if (emit_twts002) {
out[0] = FT_NO_DATA << 4;
twts002_hr8_set_extra_flags(out, tf);
@@ -455,7 +461,8 @@
* \param[in] out_len length of out buffer in bytes
* \param[in] fr input TRAU frame in decoded form
* \returns number of bytes generated in 'out'; negative on error. */
-static int trau2rtp_efr(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf, bool emit_twts001)
+static int trau2rtp_efr(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf,
+ bool emit_twts001, bool *ufe)
{
size_t req_out_len = emit_twts001 ? GSM_EFR_BYTES+1 : GSM_EFR_BYTES;
int i, j, rc;
@@ -482,6 +489,33 @@
*twts001_hdr |= 0x01;
}
+ /* verify CRC before proceeding with conversion to RTP */
+ efr_parity_bits_1(check_bits, tf->d_bits);
+ rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 26,
+ tf->d_bits + 39);
+ if (rc)
+ goto bad_frame;
+ efr_parity_bits_2(check_bits, tf->d_bits);
+ rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12,
+ tf->d_bits + 95);
+ if (rc)
+ goto bad_frame;
+ efr_parity_bits_3(check_bits, tf->d_bits);
+ rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8,
+ tf->d_bits + 148);
+ if (rc)
+ goto bad_frame;
+ efr_parity_bits_4(check_bits, tf->d_bits);
+ rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12,
+ tf->d_bits + 204);
+ if (rc)
+ goto bad_frame;
+ efr_parity_bits_5(check_bits, tf->d_bits);
+ rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8,
+ tf->d_bits + 257);
+ if (rc)
+ goto bad_frame;
+
if (tf->c_bits[11] && !emit_twts001) /* BFI without TW-TS-001 */
return 0;
@@ -490,39 +524,14 @@
/* reassemble d-bits */
for (i = 1, j = 4; i < 39; i++, j++)
out[j/8] |= (tf->d_bits[i] << (7-(j%8)));
- efr_parity_bits_1(check_bits, tf->d_bits);
- rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 26,
- tf->d_bits + 39);
- if (rc)
- goto bad_frame;
for (i = 42, j = 42; i < 95; i++, j++)
out[j/8] |= (tf->d_bits[i] << (7-(j%8)));
- efr_parity_bits_2(check_bits, tf->d_bits);
- rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12,
- tf->d_bits + 95);
- if (rc)
- goto bad_frame;
for (i = 98, j = 95; i < 148; i++, j++)
out[j/8] |= (tf->d_bits[i] << (7-(j%8)));
- efr_parity_bits_3(check_bits, tf->d_bits);
- rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8,
- tf->d_bits + 148);
- if (rc)
- goto bad_frame;
for (i = 151, j = 145; i < 204; i++, j++)
out[j/8] |= (tf->d_bits[i] << (7-(j%8)));
- efr_parity_bits_4(check_bits, tf->d_bits);
- rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12,
- tf->d_bits + 204);
- if (rc)
- goto bad_frame;
for (i = 207, j = 198; i < 257; i++, j++)
out[j/8] |= (tf->d_bits[i] << (7-(j%8)));
- efr_parity_bits_5(check_bits, tf->d_bits);
- rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8,
- tf->d_bits + 257);
- if (rc)
- goto bad_frame;
/*
* Many BTS models will emit the previous content of their internal
@@ -557,6 +566,8 @@
return req_out_len;
bad_frame:
+ if (ufe)
+ *ufe = true;
if (emit_twts001) {
*twts001_hdr |= 0x06; /* BFI and No_Data flags */
return 1;
@@ -1656,13 +1667,47 @@
int osmo_trau2rtp(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf,
struct osmo_trau2rtp_state *st)
{
+ return osmo_trau2rtp_ufe(out, out_len, tf, st, NULL);
+}
+
+/*! convert received TRAU-UL frame to RTP payload, while also flagging
+ * Uplink Frame Errors.
+ * \param[out] out Buffer for the output RTP payload
+ * \param[in] out_len Size of buffer pointed to by \ref out
+ * \param[in] tf Osmo-decoded TRAU frame
+ * \param[in] st State/config structure
+ * \param[out] ufe Must be initialized to false by the user, set to true
+ * by the function if an Uplink Frame Error is detected
+ * \returns length of converted RTP payload if successful; negative on error
+ *
+ * This function is just like plain osmo_trau2rtp(), but it also returns a
+ * secondary output: is the decoded TRAU-UL frame in error in terms of CRC
+ * or invalid control bits? This UFE flag is intended for use by software
+ * implementations of standard TRAU functionality, where a TRAU is expected
+ * to indicate UFE in its DL output if the UL input is corrupted in a way
+ * that is independent of radio Rx errors.
+ *
+ * Caveats:
+ *
+ * - *ufe is only set to true by this function, and is not written to at all
+ * if there is no error - thus the caller must initialize its bool variable
+ * to false before calling this API.
+ *
+ * - UFE checks exist only for HRv1 and EFR speech frames; for all other frame
+ * types, this function never writes to *ufe. (AMR is another frame type
+ * for which TRAU-UL decoding would include a UFE check, but we currently
+ * don't support AMR at all.)
+ */
+int osmo_trau2rtp_ufe(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf,
+ struct osmo_trau2rtp_state *st, bool *ufe)
+{
switch (tf->type) {
case OSMO_TRAU16_FT_FR:
return trau2rtp_fr(out, out_len, tf, check_twts001(st));
case OSMO_TRAU16_FT_EFR:
- return trau2rtp_efr(out, out_len, tf, check_twts001(st));
+ return trau2rtp_efr(out, out_len, tf, check_twts001(st), ufe);
case OSMO_TRAU16_FT_HR:
- return trau2rtp_hr16(out, out_len, tf, check_twts002(st));
+ return trau2rtp_hr16(out, out_len, tf, check_twts002(st), ufe);
case OSMO_TRAU16_FT_DATA:
return trau2rtp_data_fr(out, out_len, tf);
case OSMO_TRAU16_FT_DATA_HR:
@@ -1670,7 +1715,7 @@
case OSMO_TRAU16_FT_EDATA:
return trau2rtp_edata(out, out_len, tf);
case OSMO_TRAU8_SPEECH:
- return trau2rtp_hr8(out, out_len, tf, check_twts002(st));
+ return trau2rtp_hr8(out, out_len, tf, check_twts002(st), ufe);
case OSMO_TRAU8_DATA:
return trau2rtp_data_hr8(out, out_len, tf);
default:
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/39731?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I7a90eca296b17b1211e5c2125fb1496cd362e1c9
Gerrit-Change-Number: 39731
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/39729?usp=email )
Change subject: cosmetic: add copy of mgcp_common.h to .gitignore
......................................................................
cosmetic: add copy of mgcp_common.h to .gitignore
The build process copies include/osmocom/mgcp/mgcp_common.h to
include/osmocom/mgcp_client/mgcp_common.h; the former is a true
source while the latter is a build-generated file. The copied
file needs to be included in .gitignore, otherwise it adds
noise to git status output.
Change-Id: Icf0e3f724564d87eef9351b22de7a3d3aa7e4264
---
M .gitignore
1 file changed, 1 insertion(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/29/39729/1
diff --git a/.gitignore b/.gitignore
index a72cd36..3f1a890 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@
Makefile.in
bscconfig.h
bscconfig.h.in
+include/osmocom/mgcp_client/mgcp_common.h
src/osmo-mgw/osmo-mgw
*.*~
*.sw?
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39729?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: Icf0e3f724564d87eef9351b22de7a3d3aa7e4264
Gerrit-Change-Number: 39729
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/39730?usp=email )
Change subject: MGCP extension: add parameters for TW-TS-001 & TW-TS-002
......................................................................
MGCP extension: add parameters for TW-TS-001 & TW-TS-002
TW-TS-001 and TW-TS-002 are enhanced RTP transport formats for
GSM FR/HR/EFR codecs that restore the lost semantics of GSM 08.60
and 08.61 TRAU-UL frames.
TW-TS-003 BSSMAP extension provides a way for a core network to
ask the BSS to use these TRAU-like enhanced RTP formats instead of
those specified in 3GPP TS 48.103; OsmoBSC already supports this
mechanism when the BSS is comprised of IP-native OsmoBTS.
However, in order to achieve the same effect when using E1-based
legacy BTS hardware, the task of generating TW-TS-001/002 RTP
packets for UL and accepting them for DL moves from OsmoBTS to
the E1-Abis-interfacing MGW. osmo_trau2rtp() is already capable
of generating these extended RTP formats on request, but until now
there was no mechanism to signal from OsmoBSC to its associated
E1 Abis MGW whether and when these extensions should be used.
Considering that MGCP as it is used in Osmocom is essentially a
private interface between OsmoBSC or OsmoMSC masters and OsmoMGW
slaves, while the externally defined and generally interoperable
interface is 3GPP TS 48.008, possibly extended with TW-TS-003,
the sensible solution is to make a private extension to the way
FR, EFR and HR codecs are described in SDP in the context of
Osmocom-MGCP.
The SDP extension birthed in the present patch consists of an fmtp
parameter for GSM, GSM-EFR and GSM-HR-08 codecs that is structured
just like the already implemented octet-align parameter for AMR.
TW-TS-001 for FR and EFR shall be described as follows:
m=audio 1234 RTP/AVP 3 110
a=rtpmap:3 GSM/8000/1
a=fmtp:3 tw-ts-001=1
a=rtpmap:110 GSM-EFR/8000/1
a=fmtp:110 tw-ts-001=1
TW-TS-002 for HR codec shall be described as follows:
m=audio 1234 RTP/AVP 111
a=rtpmap:111 GSM-HR-08/8000/1
a=fmtp:111 tw-ts-002=1
The present patch adds the new parameters to struct mgcp_codec_param
in mgcp_common.h and equips libosmo-mgcp-client with the ability to
emit these parameters upon request - but no MGW-side implementation
yet. On the MGW side, this MGCP extension will be implemented at first
in tw-e1abis-mgw, an experimental alternative to OsmoMGW that is
strictly limited to the role of E1-Abis-interfacing MGW working with
OsmoBSC, while implementation in mainline OsmoMGW remains an open
question, to be addressed later based on the outcome of tw-e1abis-mgw
experiments.
Related: OS#6614
Change-Id: I0d58e6d84418f50670c8ab7cf8490af3bc2f5c26
---
M include/osmocom/mgcp/mgcp_common.h
M src/libosmo-mgcp-client/mgcp_client.c
2 files changed, 29 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/30/39730/1
diff --git a/include/osmocom/mgcp/mgcp_common.h b/include/osmocom/mgcp/mgcp_common.h
index 05ae95f..14b226f 100644
--- a/include/osmocom/mgcp/mgcp_common.h
+++ b/include/osmocom/mgcp/mgcp_common.h
@@ -63,6 +63,10 @@
struct mgcp_codec_param {
bool amr_octet_aligned_present;
bool amr_octet_aligned;
+ bool fr_efr_twts001_present;
+ bool fr_efr_twts001;
+ bool hr_twts002_present;
+ bool hr_twts002;
};
/* Ensure that the msg->l2h is NUL terminated. */
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index ab8ba9f..889782b 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -1426,15 +1426,32 @@
/* Add optional codec parameters (fmtp) */
if (mgcp_msg->param_present) {
for (i = 0; i < mgcp_msg->ptmap_len; i++) {
- /* The following is only applicable for AMR */
- if (mgcp_msg->ptmap[i].codec != CODEC_AMR_8000_1
- && mgcp_msg->ptmap[i].codec != CODEC_AMRWB_16000_1)
- continue;
pt = mgcp_msg->ptmap[i].pt;
- if (mgcp_msg->param.amr_octet_aligned_present && mgcp_msg->param.amr_octet_aligned)
- MSGB_PRINTF_OR_RET("a=fmtp:%u octet-align=1\r\n", pt);
- else if (mgcp_msg->param.amr_octet_aligned_present && !mgcp_msg->param.amr_octet_aligned)
- MSGB_PRINTF_OR_RET("a=fmtp:%u octet-align=0\r\n", pt);
+ switch (mgcp_msg->ptmap[i].codec) {
+ case CODEC_AMR_8000_1:
+ case CODEC_AMRWB_16000_1:
+ if (!mgcp_msg->param.amr_octet_aligned_present)
+ break;
+ MSGB_PRINTF_OR_RET("a=fmtp:%u octet-align=%d\r\n",
+ pt, (int) mgcp_msg->param.amr_octet_aligned);
+ break;
+ case CODEC_GSM_8000_1:
+ case CODEC_GSMEFR_8000_1:
+ if (!mgcp_msg->param.fr_efr_twts001_present)
+ break;
+ MSGB_PRINTF_OR_RET("a=fmtp:%u tw-ts-001=%d\r\n",
+ pt, (int) mgcp_msg->param.fr_efr_twts001);
+ break;
+ case CODEC_GSMHR_8000_1:
+ if (!mgcp_msg->param.hr_twts002_present)
+ break;
+ MSGB_PRINTF_OR_RET("a=fmtp:%u tw-ts-002=%d\r\n",
+ pt, (int) mgcp_msg->param.hr_twts002);
+ break;
+ default:
+ /* no parameters for the remaining codecs */
+ break;
+ }
}
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/39730?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: I0d58e6d84418f50670c8ab7cf8490af3bc2f5c26
Gerrit-Change-Number: 39730
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/39725?usp=email )
Change subject: osmo-smdpp.py: enable --host and --port cmdline args (and document)
......................................................................
osmo-smdpp.py: enable --host and --port cmdline args (and document)
Change-Id: Ic98dac1e1e713d74c3f8052c5bbeb44445aa8ab4
---
M docs/osmo-smdpp.rst
M osmo-smdpp.py
2 files changed, 15 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/39725/1
diff --git a/docs/osmo-smdpp.rst b/docs/osmo-smdpp.rst
index ab7cc82..0eab290 100644
--- a/docs/osmo-smdpp.rst
+++ b/docs/osmo-smdpp.rst
@@ -92,10 +92,20 @@
commandline options
~~~~~~~~~~~~~~~~~~~
-osmo-smdpp currently doesn't have any configuration file or command line options. You just run it,
-and it will bind its plain-HTTP ES9+ interface to local TCP port 8000.
+Typically, you just run it without any arguments, and it will bind its plain-HTTP ES9+ interface to
+`localhost` TCP port 8000.
+osmo-smdpp currently doesn't have any configuration file.
+There are command line options for binding:
+
+Bind the HTTP ES9+ to a port other than 8000::
+
+ ./osmo-smdpp.py -p 8001
+
+Bind the HTTP ES9+ to a different local interface::
+
+ ./osmo-smdpp.py -H 127.0.0.1
DNS setup for your LPA
~~~~~~~~~~~~~~~~~~~~~~
diff --git a/osmo-smdpp.py b/osmo-smdpp.py
index 351787e..9328b99 100755
--- a/osmo-smdpp.py
+++ b/osmo-smdpp.py
@@ -581,15 +581,15 @@
def main(argv):
parser = argparse.ArgumentParser()
- #parser.add_argument("-H", "--host", help="Host/IP to bind HTTP to", default="localhost")
- #parser.add_argument("-p", "--port", help="TCP port to bind HTTP to", default=8000)
+ parser.add_argument("-H", "--host", help="Host/IP to bind HTTP to", default="localhost")
+ parser.add_argument("-p", "--port", help="TCP port to bind HTTP to", default=8000)
#parser.add_argument("-v", "--verbose", help="increase output verbosity", action='count', default=0)
args = parser.parse_args()
hs = SmDppHttpServer(HOSTNAME, os.path.join(DATA_DIR, 'certs', 'CertificateIssuer'), use_brainpool=False)
#hs.app.run(endpoint_description="ssl:port=8000:dhParameters=dh_param_2048.pem")
- hs.app.run("localhost", 8000)
+ hs.app.run(args.host, args.port)
if __name__ == "__main__":
main(sys.argv)
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39725?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ic98dac1e1e713d74c3f8052c5bbeb44445aa8ab4
Gerrit-Change-Number: 39725
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/39726?usp=email )
Change subject: add PEM cert as used in docs/osmo-smdpp.rst
......................................................................
add PEM cert as used in docs/osmo-smdpp.rst
Add PEM version of smdpp-data/certs/DPtls/CERT_S_SM_DP_TLS_NIST.der
A CERT_S_SM_DP_TLS_NIST.pem file is referenced in docs/osmo-smdpp.rst --
nginx apparently cannot use DER certs, so it is convenient for beginners
if the example from the docs just works without having to know that:
The added file was produced using
openssl x509 -inform DER -in CERT_S_SM_DP_TLS_NIST.der -outform PEM -out CERT_S_SM_DP_TLS_NIST.pem
Change-Id: I41ba6ebacb71df0eb8a248c0c3c9ccd709718d74
---
A smdpp-data/certs/DPtls/CERT_S_SM_DP_TLS_NIST.pem
1 file changed, 16 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/26/39726/1
diff --git a/smdpp-data/certs/DPtls/CERT_S_SM_DP_TLS_NIST.pem b/smdpp-data/certs/DPtls/CERT_S_SM_DP_TLS_NIST.pem
new file mode 100644
index 0000000..d5de198
--- /dev/null
+++ b/smdpp-data/certs/DPtls/CERT_S_SM_DP_TLS_NIST.pem
@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICgzCCAiigAwIBAgIBCTAKBggqhkjOPQQDAjBEMRAwDgYDVQQDDAdUZXN0IENJ
+MREwDwYDVQQLDAhURVNUQ0VSVDEQMA4GA1UECgwHUlNQVEVTVDELMAkGA1UEBhMC
+SVQwHhcNMjMwNjA5MTkwNDQyWhcNMjQwNzExMTkwNDQyWjAzMQ0wCwYDVQQKDARB
+Q01FMSIwIAYDVQQDDBl0ZXN0c21kcHBsdXMxLmV4YW1wbGUuY29tMFkwEwYHKoZI
+zj0CAQYIKoZIzj0DAQcDQgAEKCQwdc6O/R+uZ2g5QH2ybkzLQ3CUYhybOWEz8bJL
+tQG4/k6yTT4NOS8lP28blGJws8opLjTbb3qHs6X2rJRfCKOCARowggEWMA4GA1Ud
+DwEB/wQEAwIHgDAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwFAYD
+VR0gBA0wCzAJBgdngRIBAgEDMB0GA1UdDgQWBBQn/vHyKRh+x4Pt9uApZKRRjVfU
+qTAfBgNVHSMEGDAWgBT1QXK9+YqV1ly+uIo4ocEdgAqFwzApBgNVHREEIjAgghl0
+ZXN0c21kcHBsdXMxLmV4YW1wbGUuY29tiAOINwowYQYDVR0fBFowWDAqoCigJoYk
+aHR0cDovL2NpLnRlc3QuZXhhbXBsZS5jb20vQ1JMLUEuY3JsMCqgKKAmhiRodHRw
+Oi8vY2kudGVzdC5leGFtcGxlLmNvbS9DUkwtQi5jcmwwCgYIKoZIzj0EAwIDSQAw
+RgIhAMYj2oCxhmErKTLwD3NNMlmSKgPIEShxMyXyciG3eB4WAiEAraCppAmhuDnb
+Mu3/1kzH5LCzAQ+HEWWeLwXvQ3BLtgI=
+-----END CERTIFICATE-----
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39726?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I41ba6ebacb71df0eb8a248c0c3c9ccd709718d74
Gerrit-Change-Number: 39726
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/39724?usp=email )
Change subject: docs/osmo-smdpp.rst: fix typo apostrophe
......................................................................
docs/osmo-smdpp.rst: fix typo apostrophe
Change-Id: I32b18a61301fc2784675fa8acbeadb996ebcd821
---
M docs/osmo-smdpp.rst
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/24/39724/1
diff --git a/docs/osmo-smdpp.rst b/docs/osmo-smdpp.rst
index 329b3d7..ab7cc82 100644
--- a/docs/osmo-smdpp.rst
+++ b/docs/osmo-smdpp.rst
@@ -82,7 +82,7 @@
supplementary files
~~~~~~~~~~~~~~~~~~~
-The `smdpp-data/certs`` directory contains the DPtls, DPauth and DPpb as well as CI certificates
+The `smdpp-data/certs` directory contains the DPtls, DPauth and DPpb as well as CI certificates
used; they are copied from GSMA SGP.26 v2. You can of course replace them with custom certificates
if you're operating eSIM with a *private root CA*.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39724?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I32b18a61301fc2784675fa8acbeadb996ebcd821
Gerrit-Change-Number: 39724
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>