Commit Graph

33 Commits

Author SHA1 Message Date
Harald Welte 072ec6f133 Merge branch '1.0.0' into master
We tagged 1.0.0 off a non-master version in the commit history in order
to keep the new TRAU frame handling out of the 1.0.0 release, but to
have all of the other fixes in a tagged release.  This merge brings
master in sync with those changes.

Change-Id: If8fc996f385f4127204ad773b991c49d853dfc5b
2020-08-13 12:14:36 +02:00
Harald Welte 2a8a34cd01 Bump version: 0.8.0.59-1f92-dirty → 1.0.0
Change-Id: Iffbb96739f53c7e005f440bc1615f158f7c661eb
2020-08-13 12:09:39 +02:00
Harald Welte dbb429cfd3 Add missing build dependency to libosmocodec-dev
Since I0190872dd282bcfe0f97bb4f8ab8d09023f9f06b we are using a header
file provided by libosmocodec, which means we need to add it to our
dependencies (and include path).  Linking against the library is
not required, as we don't use any symbols at this point.

Change-Id: Ie4524165d8873f6c801e07d9f03c94f43c66110d
2020-08-04 09:51:37 +02:00
Harald Welte cd90ed2dd5 TRAU frame RTP conversion
This adds code that converts codec frames between (decoded) TRAU format
and RTP payload format.  The FR + EFR functions have been lifted from
OsmoNITB and exended slightly.

The HR functions have been written from scratch. There is also
incomplete code for AMR that needs to be completed + tested.

Change-Id: I7f6993cce2b95318203043e2e14952e581941b79
2020-08-03 02:57:42 +02:00
Harald Welte 78861c0aef Add new TRAU frame sync code
This code is able to detect and sync against a variety of TRAU
frame sync patterns.  Focus is so far on those patterns present on
16k sub-slots, but 8k sub-slots are expected to be supported soon,
too.

A new codebase for this is required as the old OsmoNITB code had
conflated a 16k sub-slot multiplexer with TRAU frame synchronization,
so there was no way to separate those two parts and hence no way to
support 8k sub-slots.

Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea
2020-08-03 02:29:21 +02:00
Harald Welte 254b924536 trau_frame: New API
The old TRAU frame code in src/trau_frame.c (which is for some strange
reason part of libosmo-abis, and not libosmo-trau!) was introduced more
than a decade ago for the needs of bs11_abis AKA OpenBSC aka OsmoNITB.

It is too constrained to implement TRAU frame parsing in a generic way,
including:
* no way to add support for 8k sub-slots
* no way to handle CRC bits or UFI (i.e. no AMR)
* no real API design, it was just ripped out from OsmoNITB and moved into
  a library (even the wrong one)

For those reasons, let's introduce a new API for TRAU frame
encoding/decoding - one that supports all the relevant use cases.

Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c
2020-08-03 02:29:21 +02:00
Sylvain Munaut b559a53263 e1d: Initial osmo-e1d support
osmo-e1d is part of the Osmocom 'software defined E1 interface,
which consists of a USB device for the actual E1 hardware interfacing,
and a daemon (osmo-e1d) implementing a libusb-based driver.

This commit adds initial support for talking to osmo-e1d using
the related libosmoe1d library.  You need to use '--enable-e1d'
at configure time to enable it.

Change-Id: Ia0431c124e3b5b4108aee7b109d8c4bb0d8b45d4
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2020-01-12 14:22:18 +01:00
Pau Espin c313d44272 Bump version: 0.7.0.8-4c2c-dirty → 0.8.0
Change-Id: If7099f91a3610d61d16e769406ac27f54e7363f3
2020-01-02 20:53:32 +01:00
Harald Welte d4be696bbc Enable DAHDI support by default; require --disable-dahdi otherwise
libosmo-abis was built with DAHDI support, if the related header files
were present at built time, and without if not.  This kind of automagic
enabling/disabling of features is wrong.  Let's require DAHDI support by
default, and force the user to take a conscious decision by using an
explicit --disable-dahdi if he doesn't want it.

At the same time, update debian/control to list dahdi-source as build
dependency.

Change-Id: Id9f7f063e7ca9e3ab4aa96fc93f243caf50fb66a
Closes: OS#4248
2019-12-01 20:03:39 +00:00
Harald Welte 30249a15d5 Bump version: 0.6.0.13-b4a7 → 0.7.0
Change-Id: Ia5ecb2f69ce5436cae8d7a2d300e446ff24e84bc
2019-07-21 21:32:08 +02:00
Harald Welte 3d60dbd021 Add IPA keep-alive FSM implementation
The IPA keep-alive FSM code takes care of periodically transmitting
and IPA CCM PING and expecting an IPA CCM PONG in return.

Change-Id: I2763da49a74de85046ac07d53592c89973314ca6
2019-03-19 17:19:02 +01:00
Harald Welte 176a1fbab6 Bump version: 0.5.1.20-de57 → 0.6.0
Change-Id: I417065deb06ac7e8b3b8468b88cc803a41098c2d
2019-01-20 09:10:13 +00:00
Pau Espin 026ff4574d Bump version: 0.5.0.10-a210-dirty → 0.5.1
Change-Id: I9a606d5d3f9ce6baf99e69d60529332a460a9504
2018-07-27 18:15:19 +02:00
Pau Espin 7b89f12e66 Bump version: 0.4.0.21-60fd-dirty → 0.5.0
libosmotrau library version in debian package was wrong, fix it while
releasing.

Change-Id: I399618c7353a4150e3d571758b522dd2e9d9724f
2018-05-03 16:12:04 +02:00
Max 7f17b8c45d Bump version: 0.3.2 → 0.4.0
Change-Id: Ibefe53a7f5b06fb8a9294574af41dacac68bdbe9
2017-08-25 16:12:37 +02:00
Alexander Couzens beb10ef02a add basic unixsocket support
Allow to connect to a unix socket for communicating with LAPD.

Change-Id: Ia5723b09a5c68a0505829dc732def981e60a907a
2017-03-08 10:14:05 +00:00
Holger Hans Peter Freyther 3cef39b03c debian: Bump so version to link against new libosmovty2
Debian doesn't have reverse dependencies so we need to bump the
SO version to have libosmoabis and libosmotrau link against our
new version.
2015-11-03 09:42:24 +01:00
Holger Hans Peter Freyther b6d2834eef Prepare a new release of libosmo-abis 2014-09-08 07:57:09 +02:00
Holger Hans Peter Freyther ecd0a36ce8 release: Prepare the 0.2.0 release of libosmo-abis 2014-03-31 15:49:13 +02:00
Holger Hans Peter Freyther ba9aa8941b Prepare the v0.1.6 release of libosmo-abis 2014-01-20 10:22:45 +01:00
Holger Hans Peter Freyther 9d4fe51424 hsl: Remove the input handling for the HSL BTS
I have removed HSL support from OpenBSC, the E1/Abis code is now
unused and can be removed.

Fixes: Coverity CID 1040693
2013-07-04 19:50:09 +02:00
Alexander Huemer 3eed8a115a Makefile.am: Use AM_CPPFLAGS
Since automake 1.13 INCLUDES is depricates and causes a warning
2013-06-12 07:51:41 +02:00
Pablo Neira Ayuso 953060001d input: add generic PCAP interface for LAPD
This patch allows you to create PCAP traces between the BSC and BTS including
the LAPD frames. Useful for debugging communication issues.

So far, it was only possible to create layer 3 traces containing
OML/RSL. LAPD traces can be also interesting to debug communication
issues between the BSC and the BTS.

To enable PCAP of LAPD, you only have to invoke:

li->pcap_fd = osmo_pcap_lapd_open("/tmp/file.pcap", 0600);

By default, li->pcap_fd is set to -1 which means disabled.

openBSC needs a patch to replace all usage of e1_set_pcap_fd by
osmo_pcap_lapd_open.
2012-08-30 21:50:31 +02:00
Diego Elio Pettenò 56855350e9 build: build libosmotrau.la in the src directory.
This spares us another recursion, and allows a much higher
parallelisation, since trau is only one source unit and one standalone
library.

Incidentally, also make sure that the version specification for
libosmoabis is applied.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-07-01 07:40:36 +02:00
Diego Elio Pettenò 05819cebc4 build: avoid using a convenience library for the input subdirectory.
automake is well capable of building sources present in sub-directory
without requiring a recursion, so there is no reason to use a
non-installed library just for the extra files.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-07-01 07:40:36 +02:00
Diego Elio Pettenò 62f0e0612a build: use LT_INIT([pic-only]) instead of forcing -fPIC in AM_CFLAGS.
Also contextually remove the AC_PROG_LIBTOOL call (which is an
obsolete name for what is now LT_INIT).

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-07-01 07:40:35 +02:00
Harald Welte 43f4e08841 depend on new libosmocore 0.3.10 (lapd) and increment LIBVERSION 2011-10-10 08:49:01 +02:00
Harald Welte 41d0d84fd6 add 'libosmotrau' for TRAU/RTP related code
This new library is intended to include everything related to
interfacing actual voice channels either via E1 or via RTP.

The first module in the library is osmo_rtp, based on the ortp library.
2011-09-03 15:33:24 +02:00
Pablo Neira Ayuso 262aee80ac src: add e1_input_vty.c to libosmo-abis
This file provides the VTY interface for E1 lines, I have moved
it to libosmo-abis since it belongs here.
2011-07-05 19:17:08 +02:00
Pablo Neira Ayuso 130c4fbe2e ipa-proxy: add A-bis over IP generic proxy commands for VTY
This patch adds VTY commands to route IPA flows. The following
example allows to add a new route:

$ tests/./ipa_proxy_test &
<0000> ipa_proxy_test.c:74 entering main loop
$ telnet localhost 4260
ipa-proxy-test> enable
ipa-proxy-test# ipa instance input-oml bind 127.0.0.1 tcp port 8888
ipa-proxy-test# ipa instance output-oml connect 127.0.0.1 tcp port 3002
ipa-proxy-test# ipa route instance input-oml streamid 0xfe instance output-oml streamid 0xfe
ipa-proxy-test# ipa instance input-rsl bind 127.0.0.1 tcp port 8889
ipa-proxy-test# ipa instance output-rsl connect 127.0.0.1 tcp port 3003
ipa-proxy-test# ipa route instance input-rsl streamid 0xfe instance output-rsl streamid 0xfe

I'm using this to initially test this code [*].

[*] note that this requires a minor hackish patch for the
src/input/ipaccess.c driver which changes the default OML and RSL
ports to listen in 8888 and 8889 instead of the default ports,
thus, I can initially test everything from the localhost.
2011-06-23 22:15:45 +02:00
Pablo Neira Ayuso 54b4979de6 src: add libosmo_abis_init(void *ctx) to set the talloc context
This function is called during initialization, so we can set what's
the talloc context for the application and the library.
2011-06-07 12:36:42 +02:00
Pablo Neira Ayuso f67471fb7f src: use new socket API in libosmocore
get rid of internal copy of openbsc/libcommon/socket.c, we now
use the new socket API available in libosmocore.
2011-06-07 11:25:49 +02:00
Pablo Neira Ayuso 0ba77d53a9 initial commit of libosmo-abis
still many things to get fixed
2011-06-05 18:32:44 +02:00