OsmoBSC » History » Revision 19
Revision 18 (laforge, 05/11/2018 11:59 AM) → Revision 19/28 (laforge, 09/03/2019 08:47 PM)
{{>toc}}
h1. OsmoBSC
[[OsmoBSC:]] is an implementation of a GSM BSC (Base Station Controller), i.e. it offers
* an A-bis interface towards the BTSs
* an A-over-IP (AoIP) interface towards an MSC (e.g. [[OsmoMSC:]]).
* an Media Gateway Control Protocol (MGCP) interface towards a MGW (e.g. [[OsmoMGW:]] for handling the RTP user plane (voice call codec frames)
h2. History / Naming / SCCPlite
Until 2017, we used to have an @osmo-bsc@ part of the old @openbsc.git@ repository which implemented a smaller sub-set of the BSC functionality with an [[cellular-infrastructure:SCCPLite]] based A interface. This legacy program is now called @osmo-bsc-sccplite@ and continues to be available for legacy users. However, it is not actively developed anymore. SCCPlite protocol support has been re-introduced in the new @osmo-bsc@ from @osmo-bsc.git@. Users should not use the obsolete and unmaintained @osmo-bsc-sccplite@ anymore.
h2. OsmoBSC in the Osmocom architecture
h3. Signaling Plane only
{{graphviz_link()
digraph G {
rankdir = LR;
subgraph cluster_RAN {
OsmoBTS;
OsmoBTS1 [label="OsmoBTS"];
OsmoBTS2 [label="OsmoBTS"];
OsmoBSC [color=red];
label = "RAN";
}
subgraph cluster_CN {
OsmoMSC [label="MSC\ne.g. OsmoMSC"];
Core [label="Other CN Elements"];
label = "CN";
}
OsmoBTS -> OsmoBSC [label="Abis/IP"];
OsmoBTS1 -> OsmoBSC [label="Abis/IP"];
OsmoBTS2 -> OsmoBSC [label="Abis/IP"];
OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"];
OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"];
}
}
}}
h3. Signaling + User (Media) Plane
{{graphviz_link()
digraph G {
rankdir = LR;
subgraph cluster_RAN {
OsmoBTS;
OsmoBTS1 [label="OsmoBTS"];
OsmoBTS2 [label="OsmoBTS"];
OsmoBSC [color=red];
OsmoMGW [label="OsmoMGW\n(for BSC)"];
OsmoBTS -> OsmoBSC [label="Abis/IP"];
OsmoBTS1 -> OsmoBSC [label="Abis/IP"];
OsmoBTS2 -> OsmoBSC [label="Abis/IP"];
OsmoBSC -> OsmoMGW [label="MGCP"];
{ rank = same; OsmoBSC; OsmoMGW }
OsmoBTS -> OsmoMGW [label="RTP"];
OsmoBTS1 -> OsmoMGW [label="RTP"];
OsmoBTS2 -> OsmoMGW [label="RTP"];
label = "RAN";
}
subgraph cluster_CN {
OsmoMGW1 [label="OsmoMGW\n(for MSC)"];
OsmoMSC [label="MSC\ne.g. OsmoMSC"];
Core [label="Other CN Elements"];
OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"];
OsmoMSC -> OsmoMGW1 [label="MGCP"];
{ rank = same; OsmoMSC; OsmoMGW1 }
OsmoMGW -> OsmoMGW1 [label="RTP"];
OsmoMGW1 -> Core [label="RTP"];
label = "CN";
}
OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"];
}
}}
h2. BTS Support
OsmoBSC supports currently all BTSs running the [[OsmoBTS:]] software (such as sysmoBTS), as well as ip.access nanoBTS devices. Other Abis/IP devices may be supported.
Support for legacy E1/T1 TDM based BTSs (like those supported by [[OsmoNITB:]] is on the roadmap.
{{graphviz_link()
graph G {
MSC [label="MSC\n(e.g. OsmoMSC)"];
STP [label="STP\n(e.g. OsmoSTP)"];
nanoBTS [label="ip.access\nnanoBTS", shape=box];
OsmoBTS;
sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box];
LC15 [label="Nuran\nLitecell 1.5", shape=box];
OCT [label="Octasic\nOCTBTS", shape=box];
TRX [label="OsmoTRX"];
OtherSDR [label="Other SDR HW", shape=box, style=dashed];
OtherPHY [label="Other GSM PHY", shape=box, style=dashed];
UmTRX [label="Fairwaves\nUmTRX", shape=box];
USRP [label="Ettus USRP\nFamily", shape=box];
MSC -- STP [label="A/IP"];
STP -- BSC [label="A/IP"];
BSC -- nanoBTS [label="Abis/IP"];
BSC -- OsmoBTS [label="Abis/IP"];
BSC -- BS11 [label="Siemens\nAbis/E1"];
BSC -- RBS2K [label="Ericsson\nAbis/E1"];
BSC -- Nokia [label="Nokia\nAbis/E1"];
subgraph cluster_2 {
BSC [label="BSC\n(OsmoBSC, 3rd party)" color=red];
color=white
}
subgraph cluster_0 {
BS11 [label="Siemens BS-11", shape=box];
SIU [label="Ericsson SIU"];
RBS2K [label="Ericsson RBS 2000\n(many models)", shape=box];
Nokia [label="Nokia InSite, MetroSite", shape=box];
BSC -- L2TPD [label="Unix Socket"];
L2TPD -- SIU [label="Ericsson\nL2TP/IP"];
SIU -- RBS2K [label="Ericsson\nAbis/E1"];
{ rank=same; BS11 RBS2K Nokia }
label = "Classic E1/T1";
}
subgraph cluster_1 {
OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"];
OsmoBTS -- LC15 [label="osmo-bts-lc15"];
OsmoBTS -- OCT [label="osmo-bts-octphy"];
OsmoBTS -- TRX [label="osmo-bts-trx"];
OsmoBTS -- OtherPHY [style=dashed];
TRX -- USRP;
TRX -- UmTRX;
TRX -- OtherSDR [style=dashed];
{ rank=same; nanoBTS sysmoBTS LC15 OCT UmTRX }
label = "IP/Ethernet based";
}
}
}}
{{include(cellular-infrastructure:MacroBinaryPackages)}}
h2. User Manuals
* osmo-bsc User Manual: http://ftp.osmocom.org/docs/latest/osmobsc-usermanual.pdf
* osmo-bsc VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf
h2. Source code
The source code is available from @git.osmocom.org@ (module @osmo-bsc@).
Public read-only access is available via
<pre>
git clone git://git.osmocom.org/osmo-bsc.git
</pre>
You can browse it via cgit: https://git.osmocom.org/osmo-bsc
Contributions are welcome via [[Cellular-Infrastructure:Gerrit]].
h2. Test Suite
We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
* source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/bsc
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/
h2. Contact / Getting Help
Contact us via the openbsc@ mailing list, see [[Cellular-Infrastructure:Mailing Lists]].
You can file issues (bugs / feature requests) using the redmine project you're currently viewing.
h2. Authors / Credit
The old OsmoBSC-SCCPlite was created by Holger Freyther based on the earler OpenBSC/OsmoNITB code by Dieter Spaar, Harald Welte, Holger Freyther and contributors.
3GPP AoIP support was developed by sysmocom. Today, OsmoBSC is maintained by Harald Welte and his team at sysmocom.