osmo-msc/openbsc/src/osmo-bsc_nat
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
..
Makefile.am mgcp: add voice muxer support 2014-05-22 14:39:16 +02:00
bsc_filter.c nat: Remember the original dest local reference in the parsed struct 2013-09-03 15:04:43 +02:00
bsc_mgcp_utils.c mgcp: add voice muxer support 2014-05-22 14:39:16 +02:00
bsc_nat.c nat/bsc: Check proto before calling ipaccess_rcvmsg_base 2014-05-06 06:50:39 +02:00
bsc_nat_ctrl.c ctrl: Move the lookup into a separate file in preparation for GPRS 2014-03-23 16:25:16 +01:00
bsc_nat_filter.c nat: Introduce reject cause to bsc_nat_acc_lst_entry 2014-01-20 10:13:36 +01:00
bsc_nat_rewrite.c nat: Use the DCC region for number rewriting and increase debug output 2013-07-31 16:36:40 +02:00
bsc_nat_rewrite_trie.c nat: Allow to use the prefix lookup to rewrite numbers 2013-07-31 16:36:40 +02:00
bsc_nat_utils.c nat: Introduce reject cause to bsc_nat_acc_lst_entry 2014-01-20 10:13:36 +01:00
bsc_nat_vty.c mgcp: add voice muxer support 2014-05-22 14:39:16 +02:00
bsc_sccp.c nat: Rename "struct sccp_connections" to "struct nat_sccp_connection" 2013-04-16 09:53:13 +02:00
bsc_ussd.c ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messages 2014-04-01 13:40:59 +02:00