Hi osmo_sock experts,
I'm currently looking at making the osmo-hnbgw interface addresses
configurable, an I came across a detail. This is not really pressing, but while
I'm at it I might as well cover all of the addresses.
So far I see in osmo-iuh's hnbgw.c the local address osmo-hnbgw uses to accept
Iuh connections from a 3G cell, and the remote addresses of IuCS and IuPS, each
passed to osmo_sock_init():
3G cell -------> 1.2.3.4
OSMO-HNBGW
IuPS-local? -------> 10.9.8.7 OSMO-SGSN
So we tell one socket to listen on local 1.2.3.4 for Iuh.
We tell another to send IuPS to 10.9.8.7.
But how would I tell the IuPS to use a given local interface 1.2.3.5 to contact
the SGSN's address? Would I bind() to a given local IP address and connect() to
the remote one? I must admit that the details are not 100% clear to me. AFAIK
it can be important to set a local IP address and port to send from. So if
there's something I don't understand yet I would appreciate a hint.
Anyway, in osmo_sock_init, I see:
if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) ==
(OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) {
fprintf(stderr, "invalid: both bind and connect flags set:"
" %s:%u\n", host, port);
return -EINVAL;
}
Should we have another osmo_sock_init that can set up a socket like this code I
found somewhere at sysmocom to define both ends of a connection?
fd = socket(AF_INET, SOCK_DGRAM, 0);
if (fd < 0) {
printf("socket() failed: %s\n", strerror(errno));
return -1;
}
memset(&bindaddr, 0, sizeof(bindaddr));
bindaddr.sin_family = AF_INET;
bindaddr.sin_port = htons(lport);
rc = inet_pton(AF_INET, baddr, &(bindaddr.sin_addr));
if (rc != 1) {
printf("inet_pton() failed with %i: %s\n", rc, strerror(errno));
return -1;
}
rc = bind(fd, (struct sockaddr *)&bindaddr, sizeof(bindaddr));
if (rc < 0) {
printf("bind() failed: %s\n", strerror(errno));
return -1;
}
memset(&destaddr, 0, sizeof(destaddr));
destaddr.sin_family = AF_INET;
destaddr.sin_port = htons(dport);
rc = inet_pton(AF_INET, dest, &(destaddr.sin_addr));
if (rc != 1) {
printf("inet_pton() failed with %i: %s\n", rc, strerror(errno));
return -1;
}
rc = connect(fd, (const struct sockaddr *)&destaddr, sizeof(destaddr));
if (rc < 0) {
printf("connect() failed: %s\n", strerror(errno));
return -1;
}
rc = send(fd, buf, len, 0);
if (rc != len) {
printf("send() failed\n");
return -1;
}
Thanks,
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
The following git repositories have now moved to gerrit, please submit
future patches for these at gerrit.osmocom.org, no longer via mailing
lists:
osmo-gsm-manuals
asn1c
libasn1c
osmo-trx
openpcd
osmo-sim-auth
libtelnet
mncc-python
osmocom-lcs
Thanks,
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Hi Max,
> Unfortunately I could not find any tests for the code in
> question so the only way to test it is by:
I uploaded tests recently. You can find them here:
https://gerrit.osmocom.org/#/c/933/4/tests/coding/coding_test.c
> I think the puncturing code should be part of the library (otherwise
> every user will have to reimplement the same thing again and again).
I am agree with you. We recently discussed this question with Tom Tsou.
He said, that there was some performance related reasons to perform
puncturing inside both gsm0503_pdtch_encode() / gsm0503_pdtch_decode().
With best regards,
Vadim Yanitskiy.
Hi all,
opinions please: I would move patch submission for the following osmocom
repositories to gerrit:
osmo-gsm-manuals
asn1c
libasn1c
osmo-python-tests
osmo-trx (TT already agreed)
Let me know if any other come to mind. Possibly *all* projects seen at
git.osmocom.org?
Thanks,
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Hi!
I've asked about it before but this seems to have been lost in
communication.
The question is basically how to enable multi-TRX support for
osmo-bts-trx using phy/instance infrastructure similar to other bts?
What I've tried so far is documented in
http://projects.osmocom.org/issues/1648 but it did not result in working
setup yet.
In short, I'd like to configure OpenBSC with 1 BTS with 2 TRX, each with
its own arfcn and set of channels. I'm running "osmo-bts-trx -t 2" and
correspondingly "osmo-trx -c 2" on usrp b210. Any ideas on what's
missing to make this actually work are greatly appreciated.
--
Max Suraev <msuraev(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte
---
src/host/layer23/src/mobile/vty_interface.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c
index 9a86880..f4d7df1 100644
--- a/src/host/layer23/src/mobile/vty_interface.c
+++ b/src/host/layer23/src/mobile/vty_interface.c
@@ -528,7 +528,7 @@ static int _sim_test_cmd(struct vty *vty, int argc, const char *argv[],
DEFUN(sim_test, sim_test_cmd,
"sim testcard MS_NAME [MCC] [MNC] [LAC] [TMSI]",
- "SIM actions\nAttach bulit in test SIM\nName of MS (see \"show ms\")\n"
+ "SIM actions\nAttach built-in test SIM\nName of MS (see \"show ms\")\n"
"Optionally set mobile Country Code of RPLMN\n"
"Optionally set mobile Network Code of RPLMN\n"
"Optionally set location area code of RPLMN\n"
@@ -539,7 +539,7 @@ DEFUN(sim_test, sim_test_cmd,
DEFUN(sim_test_att, sim_test_att_cmd,
"sim testcard MS_NAME MCC MNC LAC TMSI attached",
- "SIM actions\nAttach bulit in test SIM\nName of MS (see \"show ms\")\n"
+ "SIM actions\nAttach built-in test SIM\nName of MS (see \"show ms\")\n"
"Set mobile Country Code of RPLMN\nSet mobile Network Code of RPLMN\n"
"Set location area code\nSet current assigned TMSI\n"
"Indicate to MM that card is already attached")
@@ -1758,7 +1758,7 @@ DEFUN(cfg_ms_sap, cfg_ms_sap_cmd, "sap-socket PATH",
DEFUN(cfg_ms_sim, cfg_ms_sim_cmd, "sim (none|reader|test|sap)",
"Set SIM card to attach when powering on\nAttach no SIM\n"
- "Attach SIM from reader\nAttach bulit in test SIM\n"
+ "Attach SIM from reader\nAttach built-in test SIM\n"
"Attach SIM over SAP interface")
{
struct osmocom_ms *ms = vty->index;
--
2.6.6
---
OsmoNITB/chapters/smpp.adoc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OsmoNITB/chapters/smpp.adoc b/OsmoNITB/chapters/smpp.adoc
index 2557580..91f8c07 100644
--- a/OsmoNITB/chapters/smpp.adoc
+++ b/OsmoNITB/chapters/smpp.adoc
@@ -44,7 +44,7 @@ SMPP (`no smpp-first`).
=== ESME configuration
-nder the `smpp` vty node, you can add any number of `esme` nodes, one
+Under the `smpp` vty node, you can add any number of `esme` nodes, one
for each ESME that you wish to configure.
Use the `esme NAME` command (where NAME corresponds to the system-id of
--
2.7.4
In below patch (already merged) there's apparently only a LOGP tweak.
Looks like something is missing there and Harald didn't spot it?
It can't possibly fix OS#1803, can it?
~Neels
On Wed, Oct 12, 2016 at 09:26:01AM +0000, Harald Welte wrote:
> Harald Welte has submitted this change and it was merged.
>
> Change subject: Resync RTP session in case of timestamp jump
> ......................................................................
>
>
> Resync RTP session in case of timestamp jump
>
> This will prevent the timestamp jump to occur between each call for DTX
> if something goes wrong. It's handy as oRTP does not manage well
> timestamp jump if it is not resynced.
>
> Fixes: OS#1803
> Change-Id: Iae5da832218dbd1ede7a9451102074f2a5eb66df
> ---
> M src/trau/osmo_ortp.c
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Approvals:
> Harald Welte: Looks good to me, approved
> Jenkins Builder: Verified
>
>
>
> diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c
> index 6ce70d2..e3c6234 100644
> --- a/src/trau/osmo_ortp.c
> +++ b/src/trau/osmo_ortp.c
> @@ -139,7 +139,8 @@
> uint32_t ts = rtp_session_get_current_recv_ts(rs);
>
> LOGP(DLMIB, LOGL_NOTICE,
> - "osmo-ortp(%d): timestamp_jump, new TS %d\n", port, ts);
> + "osmo-ortp(%d): timestamp_jump, new TS %d, resyncing\n", port, ts);
> + rtp_session_resync(rs);
> }
>
>
>
> --
> To view, visit https://gerrit.osmocom.org/1028
> To unsubscribe, visit https://gerrit.osmocom.org/settings
>
> Gerrit-MessageType: merged
> Gerrit-Change-Id: Iae5da832218dbd1ede7a9451102074f2a5eb66df
> Gerrit-PatchSet: 4
> Gerrit-Project: libosmo-abis
> Gerrit-Branch: master
> Gerrit-Owner: Max <msuraev(a)sysmocom.de>
> Gerrit-Reviewer: Harald Welte <laforge(a)gnumonks.org>
> Gerrit-Reviewer: Jenkins Builder
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Hi Max,
Thanks for your reply!
> I think extending utils/conv_gen.py is the way to go because it will
> allow us to have concise description of the convolutional codes in one
> place and as close to the description in standards as possible.
Ok, I will keep your opinion in my mind.
> Could you specify which files exactly are you referring to? Also you can
> use 'git blame' to clarify authorship.
No problem, they are:
- gsm0503_conv.c
- gsm0503_interleaving.c
- gsm0503_mapping.c
- gsm0503_parity.c
- gsm0503_tables.c
Almost all the gsm0503_*, excluding the 'gsm0503_coding.*'.
Thank you for this hint, this command is very usable! :)
> I don't think library functions should do any sort of logging by itself
> (unless it's a logging functions of course :)
> Instead they should return clearly distinguishable values and let caller
> do the logging as they see fit.
I am agree with you. It's time to use return codes.
Have a nice day!
With best regards,
Vadim Yanitskiy.