= OsmoBSC A / SCCPlite / 3GPP AoIP Options == Introduction This document serves as a paper to illustrate the different configurations of OsmoBSC in terms of integration with BTSs and MSCs. The document was created ahead of the 2017 development cycle which included the _death of the NITB_, i.e. the move away from OsmoNITB to having OsmoBSC in all configurations, whether with a proprietary/external MSC or with OsmoMSC. Particular attention is spent on the user plane, including aspects such as * user plane transport address handling * use of MGCP (Media Gateway Control Protocol) * the (required) evolution of `osmo-bsc_mgcp` * not loosing classic TDM (E1/T1) BTS support when moving from OsmoNITB to split OsmoBSC + OsmoMSC setup == Overview === Classic GSM RAN with E1 based Abis and E1 A This is how GSM was originally specified when it was introduced: E1/T1 circuits on all interfaces, no IP anywhere. This configuration was actually never supported by OpenBSC, as E1 support was always only on the Abis side (OpenBSC, OsmoNITB and today OsmoBSC). We never supported A interface over E1. It could be done if there was a need. [mscgen] ---- include::{srcdir}/mgw/classic-bsc.msc[] ---- === OsmoBSC 2010-2017: IPA-style A over SCCPlite This configuration was introduced as early as 2010 in OpenBSC. It allowed the use of IP based BTSs (ip.access nanoBTS as well as all the OsmoBTS supported BTS models) in combination with third-party MSCs implementing a pre-standard, proprietary way of transporting the A interface over IP at a time where the 3GPP specifications only allowed classic TDM transport. [mscgen] ---- include::{srcdir}/mgw/osmo-bsc-old-sccplite.msc[] ---- === OsmoBSC 2017+: 3GPP AoIP + Abis/IP Release 7 of 3GPP included an official specification on how an interoperable A-over-IP (AoIP) interface shall look like. As more modern MSCs at operators tend to favor implementing 3GPP AoIP rather than the proprietary SCCPlite based A interface, it became necessary for OsmoBSC to support this. At the same time, for compatibility reasons, the classic SCCPlite support is kept in OsmoBSC as a configuration option. [mscgen] ---- include::{srcdir}/mgw/osmo-bsc-new-mgw.msc[] ---- === OsmoBSC 2020+: 3GPP AoIP + Abis/E1 Since OsmoNITB was deprecated in 2017, and OsmoBSC only supported Abis/IP, we temporarily lost the ability to use classic E1 based BTSs. In 2020, we re-introduced and re-tested the support of Abis/E1. Fro the control plane of Abis (RSL, OML) the E1 support via libosmo-abis never really ceased to exist. But for the user plane, E1 support had to be introduced to osmo-mgw, and osmo-bsc needed to be taught how to configure E1 endpoints at the MGW. The related call flow for such setups looks like this: [mscgen] ---- include::{srcdir}/mgw/osmo-bsc-new-mgw-e1.msc[] ----