Hello Osmocom community,
Over the past several months I developed my own RTP endpoint
implementation library (alternative to libortp), and I seek to get it
merged into libosmo-netif so it can be used by OsmoBTS as an option:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280https://gerrit.osmocom.org/c/libosmo-netif/+/39281https://gerrit.osmocom.org/c/libosmo-netif/+/39291
I am now working on documentation, which I need to finish before I can
lift these patches out of WIP in Gerrit. The last of the 3 WIP patches
linked above is the one adding an adoc manual, built with the same
tools as other Osmocom manuals, and I need some help with this one:
1) When I run './configure --enable-manuals' followed by 'make' on the
Debian machine which Vadim provided to me for Osmocom documentation
work, everything seems successful and I get a PDF rendering of my WIP
manual. However, as soon as I uploaded this patch to Gerrit, I see a
build failure in Jenkins. What am I doing wrong? I'm afraid that my
knowledge of Autotools is not good enough to figure this one out.
2) My progress in writing the actual manual has reached the point
where I need to insert some graphical diagrams showing the flow of RTP
packets and the latency and jitter they experience in transit. I am
thinking of one horizontal axis showing regularly spaced packets as
they are emitted by the source, then forward-and-down arrows showing
their transit with fixed or variable latency, then another horizontal
axis below showing the receiver's view of time, with marked arrival
times of packets (endpoints of latency arrows) and fixed-spacing times
when the GSM or TDM system polls the jitter buffer.
Question: what is the appropriate tool within the accepted Osmocom
adoc suite for drawing such diagrams? If I weren't trying to get my
RTP implementation accepted into Osmocom, I would have written this
manual in troff on my favorite 1980s UNIX system, using pic preprocessor
in the troff suite for graphical drawings like this one - but I reason
that I need to write my manual within Osmocom documentation framework
in order to maximize the chance of the associated code library being
accepted into libosmo-netif, with follow-on patches to osmo-bts to use
it optionally as an alternative to libortp.
3) When I do successful test builds on Vadim's Debian machine and get
a PDF rendering of my WIP manual, the cover page in the PDF features
both Sysmocom and Osmocom logos just like the mainstream Osmocom
manuals, with Sysmocom logo on top. While this arrangement is probably
appropriate for the existing manuals which were written predominantly
by members of Sysmocom crew, it seems quite wrong for an external
contributor's manual that does not contain a single sentence written
by Sysmocom. How do I tweak things to remove that Sysmocom logo from
the cover page, or even better, put San Diego 2G Association logo in
its place? My contributions to Osmocom are directly linked to my
efforts to build a new GSM network in San Diego, hence there is some
symmetry between Sysmocom and SD2G in terms of Osmocom FLOSS project
contributions, except for the rather big asymmetry in that SD2G is
strictly non-profit.
M~
Hi all,
Just wanted to share an issue and a quick workaround I found for it in case
anyone else has the same problem. I believe a cmd2 update is causing
pySim-shell to fail. After installing it on a fresh install of Ubuntu
Server 20.04 and getting the following error when I run "python3
pySim-shell -p0":
>Using PC/SC reader interface
>Autodetected card type: sysmoUSIM-SJS1
>AIDs on card:
> USIM: a0000000871002ffffffff8907090000
>Traceback (most recent call last):
> File "pySim-shell.py", line 512, in <module>
> app = PysimApp(card, rs, opts.script)
> File "pySim-shell.py", line 59, in __init__
> super().__init__(persistent_history_file='~/.pysim_shell_history',
allow_cli_args=False, use_ipython=True, auto_load_commands=False,
command_sets=basic_commands, >startup_script=script)
>TypeError: __init__() got an unexpected keyword argument 'use_ipython'
If you run into this you can fix it by uninstalling cmd2 and reinstalling
cmd2 with "pip3 install cmd2==1.5".
Best,
Bryan
> I don't understand. This callback will be called with data you need to
write
> to the network. In case of MTP Level3 you will need to wrap that around
the
> msgb you got.
I means: is the interaction with mtp3 layer implemented (is sending sccp
data by mtp3 implemented by the library?)?
Also, what about the reception of data from mtp3 layer. is that implemented
in the sccp lib.
I am asking these questions because I see the code of mtp3 in the lib but no
significant call is present in the sccp part of the lib.
Thank you for your help.
On Tue, Jun 28, 2016 at 10:05:28AM +0200, Harald Welte wrote:
> [translated from german]
> is it certain that we switch a channel to PDCH only when
> gprs mode != none?
A TS can be GSM_PCHAN_TCH_F_PDCH; those are the only ones for which we
send a PDCH ACT message.
We send a PDCH ACT message
- during init (CHANNEL OML's state changed to enabled -> send PDCH ACT),
- and upon channel release ack when pchan == GSM_PCHAN_TCH_F_PDCH.
So the question is, when we receive a channel release ack, could that be
the PDCH release and we switch PDCH right back on by accident? No, because
we only receive a chan rel ack when the *TCH/F* is being released.
That is because the PDCH release is initiated "internally" from the PDCH
DEACT, and thus this condition in common/rsl.c rsl_tx_rf_rel_ack() catches
on, which existed before dyn PDCH:
if (lchan->rel_act_kind != LCHAN_REL_ACT_RSL) {
LOGP(DRSL, LOGL_NOTICE, "%s not sending REL ACK\n",
gsm_lchan_name(lchan));
return 0;
}
In rsl_rx_rf_chan_rel() the rel_act_kind is set to LCHAN_REL_ACT_RSL, but
not in the rsl_rx_dyn_pdch().
This is analogous to the ip.access way -- the ip.access nanobts replies to
a PDCH DEACT with a PDCH DEACT ACK and doesn't send a separate channel
release ack.
Maybe we could set rel_act_kind to some new LCHAN_REL_ACT_IPAC_DYN_PDCH
for clarity? (But we shouldn't actually send a release ack, to stay
compatible.)
Even though it works as-is, we should indeed add another flag check:
- We do check the flags that no ACT/DEACT is already pending;
- And we do send a PDCH DEACT only if ts->flags & TS_F_PDCH_ACTIVE;
- But we would send a PDCH ACT despite ts->flags & TS_F_PDCH_ACTIVE.
This should never happen, but it would make sense to ensure that.
~Neels
Hi,
it came up again in gerrit again.
Currently the osmocom style states doxygen style comments should be done in the .c file.
Doxygen are those comments:
/*! a brief description of the function
* \param something Some description of the use
* \return 0 if ...
*/
Doxygen takes those comments and generates a html documentation of the code.
I would like to change it to have those in the headers files instead (when the function in included in a header file).
When using the doxygen comments only for doyxen, for sure, there isn't a difference between
having it in .c or in .h files.
But when using IDEs or language servers, they usually only parses headers files and
the .c files of the current active project (e.g. osmo-sgsn),
but not the .c files of other projects (libosmocore).
On the downside I only see the problem of increasing the size of header files, but I don't see
an issue in here.
Any thoughts?
Best,
lynxis
Hi,
I was going through the features of osmoepdg solution and thought to ask few questions regarding the implementations.
1. In most of deployment tunnel authentication is bypassed. So, even if UE send CERTREQ, it is getting ignored at ePDG. ePDG also doesn't send anything to UE.
Do you have any idea of how to implement that in strongswan or have you explored that earlier? I saw that in 3gpp 33.402 and RFC 5996, certificate things are optional.
However, I know that strongswan authentication is tightly coupled, so just trying understand if you have already bypass it by doing any changes in strongswan or atleast know how it should be done.
2. There are many error and status codes written in ePDG standard 24.302 clause 8. Have you mapped all EPC core error to corresponding IKEv2 error or status codes?
Thanks & Regards
Subhajit Chatterjee
New Delhi
Dear List,
With Domi we are working on some improvements on the Nokia Site E1
based BTS types, mainly focusing on the OML side.
Among many things (see the upcoming patches), one thing we would like
to add is to lock all TRX-es at BSC shutdown. The OML command
structures we already have, but when we added this part to the
shutdown_om() function we noticed that only the first TRX receives the
command, the rest does not. When we looked at the E1 capture even more
surprise: the capture file lacks the OML command of the first TRX
which we locked successfully (cross checked with BTS manager).
Enabling LAPD debug also indicates that there is no graceful shutdown
of the lapd links as well, which is my suspicion for the failing
locking of TRXes except of TRX1: the connection is just cut before the
last couple TRX lock commands can pass and we got just lucky with the
first one timing-wise.
I think Harald or Pau mentioned a new FSM which is likely not
implemented/backported for the Nokia BTS variant. The question is:
does the new FSM does a graceful shutdown or maybe handles it better
than the current code? I looked at the rbs2000 as an example also but
I don't see that the shutdown part is handled any different/ better.
At this point I have no idea if this is the expected behavior, a bug
or a missing feature? The fact we are missing an OML message in the
PCAP which clearly passed the E1 line kind of indicates a bug at least
there.
I am not sure but likely other BTS types might also benefit from a
graceful shutdown (eg. at least lock all TRXes). The Nokia variants
clearly do: without the TRXes locked, at the next BSC startup all the
unlocked TRXes inadvertently start random RSL bootstraps, even in the
middle of a site reset, filling the log with random errors.
Please let me know if there is any example code we should look at,
and/or what your opinion is about this subject in general.
Regards,
Csaba
Dear list,
FR calls between mobile phones are working fine, but when I change the
codec-list to
"codec-list fr2 fr1 fr3" or "codec-list fr3 fr1 fr2", I am getting a
Remote Transcoder Failure:
lchan(0-0-1-TCH_F-0)[0x630d01c78b80]{ESTABLISHED}: (type=TCH_F)
CONNECTION FAIL (cause=Remote Transcoder Failure [ 28 ])
In the BSC config:
codec-support fr efr amr
codec-list fr2 fr1 fr3
In the MSC config:
mncc-int
default-codec tch-f fr
default-codec tch-h hr
Both the phones and the BTS is FR/EFR/AMR capable.
I am fairly sure with Osmo-NITB at least EFR was working with these
phones and BTS some years ago.
If needed, I can provide a pcap.
If someone has an idea, please let me know.
Regards,
Csaba
As the owner of a manufacturing business, I’ve come to realize how crucial efficient logistics are. When I first started exporting products overseas, handling shipping on my own was a constant struggle. After partnering with a freight forwarding service https://www.cfipak.com/ , everything changed. They handle the complexities of shipping, customs, and delivery, allowing me to focus on production and growth. With their expertise, my shipments are now timely and cost-effective. If you're in manufacturing or any business with global reach, investing in a freight forwarding service will save you time and stress, helping your business thrive.
As the owner of a manufacturing business, I’ve come to realize how crucial efficient logistics are. When I first started exporting products overseas, handling shipping on my own was a constant struggle. After partnering with a <a href="https://www.cfipak.com/">freight forwarding service</a>, everything changed. They handle the complexities of shipping, customs, and delivery, allowing me to focus on production and growth. With their expertise, my shipments are now timely and cost-effective. If you're in manufacturing or any business with global reach, investing in a freight forwarding service will save you time and stress, helping your business thrive.