Dear Osmocom community,
I have been working on GAPK (GSM Audio Packet Knife) for some
time, and now I would like to share some achievements.
Previously GAPK was represented as a single binary that
could be called with some command line arguments in order
to perform required operations. This is only handy for
humans, but not for other programs, which may also need
to perform some format / codec conversations or audio
capture / playback.
One of such programs is the mobile from OsmocomBB project.
Currently, when you're making a voice call, both audio
capture and playback are only possible on the L1 side,
i.e. on a Calypso based phone. Of course, the audio stream
can be redirected via MNCC socket, but this is not what
a regular OsmocomBB user would like to do. Moreover, there
is a lack of AMR codec support.
Also, there is another GNURadio based project named GR-GSM.
In short, this is a set of blocks for GSM signal reception,
demodulation and further processing. At the moment, one has
TCH Full Rate decoding capabilities only. Audio playback is
not supported yet.
Having these projects in my mind, I have got an idea of
creating a shared library from the GAPK source code. And,
a few days ago I was managed to get the audio playback
working in OsmocomBB. I hope, this library will be also
usable for other projects.
Brief list of changes were made:
- Composed a shared library named libosmogapk
- All exposed symbols have got an 'osmo_gapk' prefix
- Added a pkg-config manifest and a symbol export map
- Integrated the Osmocom logging framework
- Benchmarking is now disabled by default
- Processing queue now based on the linuxlist
- Fixed program exit due to ALSA buffer underrun
- Fixed ALSA audio playback from file
- Old gapk application was renamed to 'osmo-gapk'
and linked against the library
- Adjusted verbosity level (normal / debug)
- Fixed I/O combinations (ALSA, RTP, file...) check
All changes could be found at the fixeria/lib branch of GAPK.
I hope to see them merged, and open for discussions ;)
With best regards,
Vadim Yanitskiy.
Hi,
> <000b> trx_if.c:409 transceiver (phy0.0) rejected TRX command
> with response: 'RSP SETTSC -1'
>
> What is the problem and how can fix it?
The OsmocomBB transceiver is a legacy transceiver, so please add
the following line to your 'osmo-bts.cfg':
osmotrx legacy-setbsic
And please let me know about the results, I'll correct the wiki.
With best regards,
Vadim Yanitskiy.
Dear all,
starting from today, we're packaging LimeSuite and (as needed) other
dependencies required for using osmo-trx/osmo-bts-trx with LimeSDR in
the network:osmocom:nightly and network:osmocom:latest feeds.
The package versions are fixed and are not tracking "master" of e.g.
limesuite. Only the Osmocom packages are tracking master.
Due to the unfortunate fact that the first LimeSuite with osmo-trx
support (17.09.0) requiring a cmake later than what Debian 8 ships,
LimeSDR support is not working with all of the Distributions/Versions
that the rest of the Osmocom stack supports.
It appears that LimeSuite also has some build issues on ARM
architectures, about which I've submitted an upstream bug report at
https://github.com/myriadrf/LimeSuite/issues/151
But at least for x86_64 and i586 architecture, LimeSDR should be
supported by the Osmocom package feeds , on Debian 9.0, Ubuntu 16.04,
16.10, 17.04 and 17.10.
We will shortly use those packages as part of our osmo-gsm-tester setup
at the sysmocom lab, at which point they should receive extensive
testing.
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)
Hi all,
I've mentioned this many months before, but Ericsson has now (well, a
month ago) finally made a public announcement about the public release
of their SS7/SIGTRAN core protocols in TTCN-3. You can read more about
it at https://www.eclipse.org/forums/index.php/t/1089686/ - where they
actually even refer to us as being the trigger to release them.
There are still many tests to write beyond those currently existing.
Most recently I wrote a set of MGCP tests for our new osmo-mgw, which
Philipp is now using to iron out some kinks in the codebase.
The past week I've been working on simulating the minimal subset of N
numbers of BSCs and N numbers of MSCs from a single test suite in order
to test osmo-bsc_nat, and specifically the "IMSI-based routing to
different MSCs" feature that Daniel has been working on. It's still
work in progress, but definitely the by far most complex TTCN-3 project
that I've written so far.
After completing that, I would like to spend some more time on OsmoBTS
and OsmoBSC related tests. The difficulty here is that the more we get
to the RAN / air interface, the less existing prtoocols / codecs exist,
so e.g. A-bis RSL would first have to be implemented. The good part is
that it's actually super easy using the expressive syntax of the TITAN
"raw" codec. Basically you define the structure of the data in files
like http://git.osmocom.org/osmo-ttcn3-hacks/tree/library/GSM_RR_Types.ttcn
and you don't have to write a single line for encoding/parsing :)
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)
2017년 11월 23일 목요일 오후 10시 34분 47초 CET에 Harald Welte 님이 쓴 글:
> On Thu, Nov 23, 2017 at 09:47:25PM +0100, Martin Heusse wrote:
> > Harald, Shinjo,
> > please find below is a tiny patch to add
> > #define GSMTAP_TYPE_LTE_NAS 0x12
> > to packet-gsmtap.h
> > and the corresponding code that uses it.
>
> great, feel free to push this to the wireshark gerrit.
>
> I've made a corresponding change in libosmocore, see
> https://gerrit.osmocom.org/5018
>
Forwarding the discussion at Wireshark gerrit at https://code.wireshark.org/
review/#/c/24554/4:
Devices dumping NAS messages can give both encrypted and plain messages. At
least for Qualcomm LTE basebands it is true. Therefore using sub_type for
differentiating encrypted and plain NAS messages were discussed there. This
will likely introduce another modifications to gsmtap.h, and therefore want to
discuss more about this topic also here.
Shinjo
--
Shinjo Park <pshinjo(a)sec.t-labs.tu-berlin.de>
Security in Telecommunications <sec.t-labs.tu-berlin.de>
TU Berlin / Telekom Innovation Laboratories
Ernst-Reuter-Platz 7, Sekr TEL 17 / D - 10587 Berlin, Germany
Phone: +49 30 8353 58272
Hello,
I heard that it's possible to connect to a femtocell without knowing Ki and Opc... of the sim-card like the conferences of Nico Golde and Ranvinshar on the poisoning the femtocell.My question is , is it possible to make the same with the osmo-iuh on the future !?
Chears,
Hi Jolly,
my current task is to implement load based handover between BTS, and in old
tradition of adopting your code to implement dynamic timeslots on
osmo-{bts,bsc}, I am now looking at the openbsc.git jolly/new_handover branch.
I notice that, on that branch, there are improvements on the "old" handover,
followed by a new elaborate handover_2 algorithm, which looks very sane at
first sight, paired with an elaborate test suite.
So my question is whether handover_2.c has some obvious shortcomings or open
issues that need to be resolved before I can consider merging that to OsmoBSC's
master branch.
Should we still keep the "old" handover decision code around as well for
particular reasons, or would it make sense to adopt handover_2.c by default?
Is one better than the other in particular situations?
And ... do you remember any high level conclusions from when you implemented
the branch, things I should be aware of when testing and adopting the code? Did
it work out as expected? How well tested is it?
Thanks!
~N
Looking at https://osmocom.org/projects/cellular-infrastructure/wiki/Point_Codes
OsmoMSC currently uses 0.23.1 for A-and-Iu,
and 0.23.2 for Iu only if Iu is on a different cs7 instance than A (i.e.
practically never).
Either way that doesn't really make sense to me. If OsmoMSC is connecting to
the same STP for A and Iu, it is sufficient to have one point-code for the two
SSNs for A (BSSAP) and Iu (RANAP) and hence use one cs7 instance for both.
If it is connecting to two different STPs, the point codes do not collide
anyway, and it makes no sense to use a different one for Iu. It only confuses
the defaults, e.g. the wiki page was wrong until I fixed it just now.
I would rather have just 0.23.1 for the MSC for all SSNs.
See ss7_setup() in msc_main.c.
Agreed?
~N
Hello!
I got this problem:
*root@pc:~/osmocom# osmo-bts-trx -c ~/.osmocom/osmo-bts.cfg((*)) | / \
OsmoBTS<0017> control_if.c:828 CTRL at 127.0.0.1 4238<0010>
telnet_interface.c:104 telnet at 127.0.0.1 4241<0012> input/ipaccess.c:886
enabling ipaccess BTS mode, OML connecting to 127.0.0.1:3002
<http://127.0.0.1:3002><000b> trx_if.c:595 Open transceiver for
phy0.0<0012> input/ipa.c:129 connection done.<0012> input/ipaccess.c:707
received ID get<0001> oml.c:229 O&M Get Attributes [0], Manufacturer
Dependent State is unsupported by TRX.<0001> oml.c:680 Ignoring T200[0]
(150 ms) as sent by BSC due to suspected LAPDm bug!<0001> oml.c:680
Ignoring T200[1] (180 ms) as sent by BSC due to suspected LAPDm bug!<0001>
oml.c:680 Ignoring T200[2] (180 ms) as sent by BSC due to suspected LAPDm
bug!<0001> oml.c:680 Ignoring T200[3] (1680 ms) as sent by BSC due to
suspected LAPDm bug!<0001> oml.c:680 Ignoring T200[4] (520 ms) as sent by
BSC due to suspected LAPDm bug!<0001> oml.c:680 Ignoring T200[5] (165 ms)
as sent by BSC due to suspected LAPDm bug!<0001> oml.c:680 Ignoring T200[6]
(1680 ms) as sent by BSC due to suspected LAPDm bug!<0001> oml.c:1049 ADM
state already was Unlocked<0012> input/ipa.c:129 connection done.<0012>
input/ipaccess.c:707 received ID get*
*<000b> trx_if.c:409 transceiver (phy0.0) rejected TRX command with
response: 'RSP SETTSC -1'*
*<0001> bts.c:210 Shutting down BTS 0, Reason TRX-CTRL-MSG: CRITICAL*
*<0007> l1sap.c:462 Invalid condition detected: Frame difference is
2452951-0 > 1!*
*Shutdown timer expired*
What is the problem and how can fix it?
I used 1 phone and cfg files (from this tutorial
https://osmocom.org/projects/baseband/wiki/CalypsoBTS):
- OsmoNITB: 'doc/examples/osmo-nitb/sysmobts/openbsc.cfg'
- OsmoBTS: 'doc/examples/trx/osmo-bts.cfg'
thanks!
Hi list,
While I was experimenting with osmo-qcdiag and other LTE stuff, I want to add
NAS/EPS as a new payload type for gsmtap.h.
Unlike GSM and UMTS, LTE introduced separate layer for encryption of NAS and
RRC. As a result, while NAS messages are piggybacked to LTE RRC, but after NAS
security had been activated only encrypted NAS messages are available at RRC
layer. This is reflected into the baseband diagnostics of various makers:
Qualcomm provides separate diagnostic item for LTE NAS (both encrypted and
plain) and RRC. Separate payload type for LTE RRC and LTE NAS will solve this
issue. I can submit a patch if this looks positive.
Also, I have a question regarding ARFCN field. Currently (in version 2) ARFCN
is a 16-bit integer, with 2-bit of flags (PCS band, uplink) therefore making
14-bits available for raw value. This causes some problem in LTE:
1) EARFCNs for uplink are starting from 18000, which is larger than 2^14
2) There are EARFCNs even larger than 2^16 (Bands 65+, LTE-U frequencies)
3) No separate indicator for ARFCNs used by UMTS/LTE-TDD network
Also in UMTS, there are overlapping UARFCNs between bands, which necessitates
a separate field for band indicator. Changes regarding these will break the
GSMTAP header structure, therefore I want to discuss about how these could be
addressed.
Best Regards,
Shinjo
--
Shinjo Park <pshinjo(a)sec.t-labs.tu-berlin.de>
Security in Telecommunications <sec.t-labs.tu-berlin.de>
TU Berlin / Telekom Innovation Laboratories
Ernst-Reuter-Platz 7, Sekr TEL 17 / D - 10587 Berlin, Germany
Phone: +49 30 8353 58272