osmo-msc/openbsc
Pablo Neira Ayuso cab6e7528c mgcp: add voice muxer support
This patch adds the voice muxer. You can use this to batch RTP
traffic to reduce bandwidth comsuption. Basically, osmux transforms
RTP flows to a compact batch format, that is later on decompacted
to its original form. Port UDP/1984 is used for the muxer traffic
between osmo-bsc_nat and osmo-bsc_mgcp (in the BSC side). This
feature depends on libosmo-netif, which contains the osmux core
support.

Osmux is requested on-demand via the MGCP CRCX/MDCX messages (using
the vendor-specific extension X-Osmux: on) coming from the BSC-NAT,
so you can selectively enable osmux per BSC from one the bsc-nat.cfg
file, so we have a centralized point to enable/disable osmux.

First thing you need to do is to accept requests to use Osmux,
this can be done from VTY interface of osmo-bsc_nat and
osmo-bsc_mgcp by adding the following line:

mgcp
  ...
  osmux on
  osmux batch-factor 4

This just initializes the osmux engine. You still have to specify
what BSC uses osmux from osmo-bsc_nat configuration file:

...
 bsc 1
  osmux on
 bsc 2
  ...
 bsc 3
  osmux on

In this case, bsc 1 and 3 should use osmux if possible, bsc 2 does
not have osmux enabled.

Thus, you can selectively enable osmux depending on the BSC, and
we have a centralized point for configuration from the bsc-nat to
enable osmux on demand, as suggested by Holger.

At this moment, this patch contains heavy debug logging for each
RTP packet that can be removed later to save cycles.

The RTP ssrc/seqnum/timestamp is randomly allocated for each MDCX that
is received to configure an endpoint.
2014-05-22 14:39:16 +02:00
..
contrib contrib/rtp: Use payload data files directly by gen_rtp_header 2014-05-09 16:38:28 +02:00
doc nat: Add CTRL command test case for the new control commands 2014-03-06 11:04:56 +01:00
include mgcp: add voice muxer support 2014-05-22 14:39:16 +02:00
src mgcp: add voice muxer support 2014-05-22 14:39:16 +02:00
tests mgcp: add voice muxer support 2014-05-22 14:39:16 +02:00
tools hlrstat: Print numeric MCC/MNC in case no name is available 2010-01-01 15:08:38 +01:00
.gitignore Add EFR support to TRAU muxer + test case 2013-12-19 10:12:28 +01:00
AUTHORS add sylvain and andreas as authors 2010-01-10 18:21:33 +01:00
COPYING License change: We are now AGPLv3+ instead of GPLv2+ 2011-01-01 15:39:34 +01:00
Makefile.am Introduced support for external python tests 2013-06-24 13:22:34 +02:00
README update README with URL of the homepage 2010-05-04 08:10:18 +02:00
configure.ac mgcp: add voice muxer support 2014-05-22 14:39:16 +02:00
git-version-gen automatically include program version and print it from vty and --version 2010-03-23 00:09:32 +08:00
openbsc.pc.in Install gsm_04_08.h and required headers into a openbsc/ 2010-02-16 17:51:42 +01:00
osmoappdesc.py hsl: Remove the support for the HSL bts from OpenBSC 2013-07-03 16:19:41 +02:00

README

About OpenBSC
=============

OpenBSC is a minimalistic implementation of the GSM Network, with
particular emphasis on the functionality typically provided by the BSC,
MSC, HLR, VLR and SMSC.

Its currently supported interfaces towards the BTS are:

 * Classic A-bis over E1 using a mISDN based E1 interface. In other
   words, you can connect existing GSM Base Transceiver Station (BTS)
   through E1 to OpenBSC.  So far, we have only tested the Siemens BS-11
   Test reports with other BTS are much appreciated!

 * A-bis over IP as used by the ip.access nanoBTS product family

You can find the project documentation at http://openbsc.gnumonks.org/

This project is still in its early days, and there are lots of areas where it
doesn't behave as per GSM spec.

	Harald Welte <laforge@gnumonks.org>


libosmocore
===========

Please note that as of March 2010, OpenBSC has a dependency to a library
called "libosmocore".  You can obtain that library from

	git://git.osmocom.org/libosmocore.git