Dear Osmocom community,
your input is required in order to tune the re-launch of the OsmoDevCall
talk series. One of the complaints before the suspension in Summer this year
was that the "Friday night 8pm CEST" timeslot was not exactly ideal for several
people.
Finding a common denominator might be difficult, given that Osmocom is a dayjob
for some, a hobby for most, and we're of course not all in the same time zone
or even continent.
So let's try to run a couple of polls to figure out:
* What is the best day of the week for OsmoDevCall?
https://bitpoll.de/poll/CEQnaQKEvO/
* What is the best time of day for OsmoDevCall?
https://bitpoll.de/poll/59dgmzOocT/
* What is the best frequency of OsmoDevCall
https://bitpoll.de/poll/8jyuRJB6Hb/
The polls are open until October 21st, 2021. I would appreciate a high turn-out
so we have a good representation across our community to make an educated decision
about the schedule of futur events.
Can't wait to re-start OsmoDevCall!
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
We would like to ask how to use counters in Osmocom to compute KPI's such
as 1) CSSR (Call Setup Success Rate).
2) CDR (Call Drop Rate).
3) HSR (Handover Success Rate).
4) TCH (Traffic Channel) Congestion Rate
Please assist us how to get the counters in Osmocom if there are such
counters
Thanks and regards,
Neil John Reponcion
Systems Engineer
Entropy Solutions
Hello Osmocom CNI community,
I am writing my own software that talks MNCC to OsmoMSC instead of
using osmo-sip-connector, and I am seeing perplexing behaviour with
call waiting. Normally when I send an MT call toward GSM with
MNCC_SETUP_REQ, the response from OsmoMSC consists of
MNCC_CALL_CONF_IND (when the called phone confirms the call),
followed by MNCC_RTP_CREATE (when OsmoMSC assigns the call), and
finally followed by MNCC_ALERT_IND when the called phone starts
alerting. Likewise on MO calls I get an MNCC_RTP_CREATE message on
the MNCC interface when the call is assigned, typically in response to
MNCC_CALL_PROC_REQ.
But now consider a call waiting scenario: call 1 is already in progress
(fully connected, parties talking), and there is a second incoming
call. I send a new MNCC_SETUP_REQ to OpenMSC for call 2, with a new
callref, the phone receives it and starts making call-waiting beeps.
The response on the MNCC socket for call 2 is that I get
MNCC_CALL_CONF_IND followed by MNCC_ALERT_IND (and then MNCC_SETUP_CNF
if the target phone puts call 1 on hold and answers call 2) - but there
is no MNCC_RTP_CREATE!
I can see how MNCC_RTP_CREATE is sent by OsmoMSC when the call has been
assigned and there is a TCH cross-connected through OsmoMGW, and I can
see how the call assignment step will naturally be omitted in the call
waiting scenario when TCH is already there for call 1. But the call
gateway (be it osmo-sip-connector or an independent reimplementation)
feeding MT call 2 to MNCC has to have some way of obtaining RTP
connection information for this call without having to know how to
associate it with another previous call, and if it doesn't get
MNCC_RTP_CREATE, how would it get this vital info?
This is one of those "how does it work for everyone else?" moments -
while I am certainly unique in writing my own MNCC software instead of
running osmo-sip-connector, surely o-s-c also needs to receive
MNCC_RTP_CREATE with RTP info from OsmoMSC in order to successfully
connect call 2... And given that someone implemented call hold and
retrieve operations in o-s-c, I reason that someone must be using the
call waiting feature and it must be working for them - but how?
One thing which o-s-c does differently from my sw is that o-s-c sends
an empty MNCC_RTP_CREATE (the "command" version of this packet) to
OsmoMSC in response to MNCC_CALL_CONF_IND, which my sw doesn't do at
the moment. But I looked in the OsmoMSC code, and I don't see any
difference: the function that handles MNCC_RTP_CREATE command
(tch_rtp_create()) simply calls msc_a_try_call_assignment(trans), and
the exact same call is made in the gsm48_cc_rx_call_conf() function
that sends MNCC_CALL_CONF_IND. So I don't see any code path that can
result in call 2 receiving MNCC_RTP_CREATE from OsmoMSC in the call
waiting scenario when TCH is already there from call 1.
So, how does the call waiting feature work for others in the community,
and what am I missing? I am running the tagged release from 2021-11.
M~
Hi all,
We're trying to setup osmo-gsm-tester on bare metal and are currently experiencing issues with the Jenkins job 'osmo-gsm-tester-runner'. All of our test machines are running Ubuntu Server 20.04 and have been setup following the latest available manual from https://downloads.osmocom.org/docs/latest/osmo-gsm-tester-manual.pdf.
We've trying to use the '4g_srsLTE' example from https://github.com/osmocom/osmo-gsm-tester/tree/master/doc/examples/4g_srsL… but when trying to run the 'ping' test the following error is returned in the Jenkins console output:
" 14:07:52.867022 run mk-remote-dir(pid=2480): ERR: Terminated: ERROR {rc=1} [trial-21↪4g:srsenb-rftype@soapy↪ping.py:9↪ping.py↪srsepc_10.100.100.113↪host-jenkins@10.100.100.113↪mk-remote-dir(pid=2480)]
14:07:53.015620 run mk-remote-dir(pid=2480): stdout:
| (launched: 2022-09-23_14:07:51.598612)
| mkdir: cannot create directory ‘/osmo-gsm-tester-srsepc’: Permission denied "
It appears that osmo-gsm-tester is trying to create the directory 'osmo-gsm-tester-srsepc' under root, which is not permitted as the Jenkins user the script runs has does not have permissions. Additionally, it looks like this path is hard-coded in the Python module https://github.com/osmocom/osmo-gsm-tester/blob/master/src/osmo_gsm_tester/… and also the same applies for srsENB https://github.com/osmocom/osmo-gsm-tester/blob/master/src/osmo_gsm_tester/…
Is this the intended behaviour? Or have we missed out steps during our bare-metal setup process? I've double-checked that the main unit can SSH into the slave unit without a password so that's not the issue causing "permission denied".
Best regards,
Callum.
Hi all,
We're trying to setup osmo-gsm-tester on bare metal and are currently experiencing issues with the Jenkins job 'osmo-gsm-tester-runner'. All of our test machines are running Ubuntu Server 20.04 and have been setup following the latest available manual from https://downloads.osmocom.org/docs/latest/osmo-gsm-tester-manual.pdf.
We've trying to use the '4g_srsLTE' example from https://github.com/osmocom/osmo-gsm-tester/tree/master/doc/examples/4g_srsL… but when trying to run the 'ping' test the following error is returned in the Jenkins console output:
" 14:07:52.867022 run mk-remote-dir(pid=2480): ERR: Terminated: ERROR {rc=1} [trial-21↪4g:srsenb-rftype@soapy↪ping.py:9↪ping.py↪srsepc_10.100.100.113↪host-jenkins@10.100.100.113↪mk-remote-dir(pid=2480)]
14:07:53.015620 run mk-remote-dir(pid=2480): stdout:
| (launched: 2022-09-23_14:07:51.598612)
| mkdir: cannot create directory ‘/osmo-gsm-tester-srsepc’: Permission denied "
It appears that osmo-gsm-tester is trying to create the directory 'osmo-gsm-tester-srsepc' under root, which is not permitted as the Jenkins user the script runs has does not have permissions. Additionally, it looks like this path is hard-coded in the Python module https://github.com/osmocom/osmo-gsm-tester/blob/master/src/osmo_gsm_tester/… and also the same applies for srsENB https://github.com/osmocom/osmo-gsm-tester/blob/master/src/osmo_gsm_tester/…
Is this the intended behaviour? Or have we missed out steps during our bare-metal setup process? I've double-checked that the main unit can SSH into the slave unit without a password so that's not the issue causing "permission denied".
Best regards,
Callum.
Hi all,
We're trying to setup osmo-gsm-tester on bare metal and are currently experiencing issues with the Jenkins job 'osmo-gsm-tester-runner'. All of our test machines are running Ubuntu Server 20.04 and have been setup following the latest available manual from https://downloads.osmocom.org/docs/latest/osmo-gsm-tester-manual.pdf.
We've trying to use the '4g_srsLTE' example from https://github.com/osmocom/osmo-gsm-tester/tree/master/doc/examples/4g_srsL… but when trying to run the 'ping' test the following error is returned in the Jenkins console output:
" 14:07:52.867022 run mk-remote-dir(pid=2480): ERR: Terminated: ERROR {rc=1} [trial-21↪4g:srsenb-rftype@soapy↪ping.py:9↪ping.py↪srsepc_10.100.100.113↪host-jenkins@10.100.100.113↪mk-remote-dir(pid=2480)]
14:07:53.015620 run mk-remote-dir(pid=2480): stdout:
| (launched: 2022-09-23_14:07:51.598612)
| mkdir: cannot create directory ‘/osmo-gsm-tester-srsepc’: Permission denied "
It appears that osmo-gsm-tester is trying to create the directory 'osmo-gsm-tester-srsepc' under root, which is not permitted as the Jenkins user the script runs has does not have permissions. Additionally, it looks like this path is hard-coded in the Python module https://github.com/osmocom/osmo-gsm-tester/blob/master/src/osmo_gsm_tester/… and also the same applies for srsENB https://github.com/osmocom/osmo-gsm-tester/blob/master/src/osmo_gsm_tester/…
Is this the intended behaviour? Or have we missed out steps during our bare-metal setup process? I've double-checked that the main unit can SSH into the slave unit without a password so that's not the issue causing "permission denied".
Best regards,
Callum.
hi there,
i ran into an error with ./transceiver in osmocom-bb
if i write
osmocom/osmocom-bb/src/host/layer23/src/transceiver # sudo ./transceiver
-a 47 -2 -r 99
the cli returns with
47
41
1
Aborted
what am i doing wrong? i hope you can help me out.
have a nice day
msfu
Dear Osmocom community,
during the past years, we've been applying for (and often receiving) grants
for the development of certain parts of the Osmocom project.
There are two organizations (NLnet foundation and the German prototype fund) where the
next call for proposals ends in 10 days from now.
So if any of you has some ideas about Osmocom related work that you would want
to see implemented and for which you can argue that it fits the scope of the
related funds, please feel free to bring them up here.
For NLnet, the scope should fit either
* https://nlnet.nl/entrust/
* https://nlnet.nl/useroperated/
For prototype fund, the scope should fit
https://prototypefund.de/jetzt-bewerben-fuer-runde-13/ - specifically I think
it is likely that we could fit a number of "our" topics in
https://prototypefund.de/softwareinfrastruktur/ which explicitly lists
implementation of communication protocols.
Given that I have plenty of experience with both funds, I'd be willing
to work on a concrete proposal and submit it before the deadline on Sept
30 / Oct 1.
In terms of "who would do the actual work": With NLnet projects we can
involve freelancers across Europe, with prototype fund probably only
in Germany. In the worst case, if you propose some idea but have no
time to work on such a project yourself, or you are not eligible due
to the restriction to EU/DE, sysmocom could carry out the
implementation.
Let me know if anyone of you has some ideas as to what kind of osmocom
related topics might be suitable candidates.
Thanks,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
RFC about mscgen
mscgen is our tool of choice to generate ladder diagrams from the "msc" text
input format. We use it in user manuals and on our redmine wiki, and there are
also various .msc files in doc/ subdirs, as assistance for development.
I've written a lot of ladder diagrams, for documentation as well as figuring
out how to implement things. I've developed a love/hate relationship, and
recently I found a bug in mscgen.
Things have come up that I'd like your opinion on:
* ladder_to_msc.py
Writing .msc files by hand quickly started to annoy me:
- Having to write '[label="..."]' all the time.
- Multiline labels (e.g. '(note)' block) require "foo\nbar\nbaz"
- input symbols for arrows are weird / non-intuitive
- cannot use 'msc' as entity, weirdly conflicts with the outer 'msc { ... }',
which is annoying for GSM diagrams featuring an MSC.
So quite some while ago I wrote a python script that reads my personal favorite
format in which i enjoy writing ladder diagrams, and outputs plain .msc file
format. I put it in libosmocore/contrib/ on a branch, have been using it ever
since, but i never submitted it for merging, because it seemed like a personal
preference thing, not worth complicating the doc tool chain for.
So far I was, if at all, committing only the resulting .msc to git. But that
creates a situation where only I have the *original* source in .ladder format,
so (hypothetically) collaborating on ladder diagrams becomes convoluted.
Here is an example of my favorite ".ladder" format:
------
{hscale=1}
upf = User Plane function
cpf = Control Plane function
upf <- cpf PFCP Association Setup Request
CP function Node Id, features
upf -> cpf PFCP Association Setup Response
UP function Node Id, features
upf <> cpf associated
upf () cpf start Heartbeat checking
...
------
The equivalent .msc produced by ladder_to_msc.py:
------
msc {
hscale="1";
upf[label="User Plane function"],cpf[label="Control Plane function"];
upf <= cpf [label="PFCP Association Setup Request\nCP function Node Id, features"];
upf => cpf [label="PFCP Association Setup Response\nUP function Node Id, features"];
upf abox cpf [label="associated"];
upf rbox cpf [label="start Heartbeat checking"];
...;
------
I'd like to hear some opinions, if you have any, on whether anyone else likes
my new ladder format, and how to deal with .ladder source files.
Would it make sense to merge ladder_to_msc.py to libosmocore, install it via
'make install', and add the original .ladder files as well as Makefile rules to
convert .ladder to .msc to .png where ever i wrote .ladder diagrams?
* mscgen bitrot is likely
Recently I've found a segfault in mscgen. I found a fix and tried to submit it.
That's when I discovered that:
- the original project on code.google.com is dead and gone
- the mail addresses of the original author result in bounces
- random people put mscgen's trunk on github, exported from google code, no
activity is apparent
I did reach the Debian maintainer of mscgen by mail. He doesn't have any way to
contact the original author, either. It seems there could be a patch in the
Debian package, at best.
I wonder if it would make sense to officially create an mscgen "fork" on
Osmocom, in an effort to save the tool from bitrot and extinction, and offer
our mscgen as the new upstream for debian's mscgen packaging.
I do have a number of things i'd like mscgen to be able to do, like left-adjust
text in "note" blocks or improve the resolution of produced PNG images;
I might also implement support for my .ladder format directly in mscgen.
I am vague on what my opinion is between the advantages and disadvantages, and
it's all only semi important. I just know that I always end up writing .ladder
instead of .msc, and that we will always need ladder diagrams.
Do you have any opinions on these things?
Thanks!
pointers:
ladder_to_msc.py: libosmocore branch neels/ladder
https://cgit.osmocom.org/libosmocore/commit/?h=neels/ladder&id=073ad74435ec…
My most recent ladder chart:
https://cgit.osmocom.org/osmo-bsc/commit/?h=neels/codec&id=01f370c1b365305f…
--
- 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