Osmocom Mobile Switching Centre
Go to file
Harald Welte d43c22ef65 switch from libdbi to lbsqlite3
The choice of libdbi was one of the biggest early mistakes in (back
then) OpenBSC development.  A database abstraction library that
prevents you from using proper prepared statements.  Let's finally
abandon it and use sqlite3 directly, just like we do in osmo-hlr.

I decided to remove the database migration code as it would be relatively
cumbersome to port all of it to direct sqlite3 with prepared statements,
and it is prone to introduction of all kinds of errors.  Since we don't
have a body of older database files and comprehensive migration tests,
it is safer to not offer migration code of uncertain quality.  The last
schema revision (5) was introduced 5 years ago in 2017 (osmo-msc
v1.1.0), so it is considered an exceptionally rare case.  People can
install osmo-msc 1.1.0 through 1.8.0 to upgrade to v5 before using
this new 'direct sqlite3' version of osmo-msc.

Change-Id: Ia334904289f92d014e7bd16b02b3b5817c12c790
Related: OS#5559, OS#5563, OS#5564
2022-05-17 14:04:44 +02:00
contrib switch from libdbi to lbsqlite3 2022-05-17 14:04:44 +02:00
debian switch from libdbi to lbsqlite3 2022-05-17 14:04:44 +02:00
doc Do not mention deprecated -l / --database options 2021-11-12 20:28:08 +03:00
include switch from libdbi to lbsqlite3 2022-05-17 14:04:44 +02:00
m4 Drop unneeded ax_check_compile_flag.m4 2022-01-11 18:11:41 +01:00
src switch from libdbi to lbsqlite3 2022-05-17 14:04:44 +02:00
tests switch from libdbi to lbsqlite3 2022-05-17 14:04:44 +02:00
.gitignore .gitignore: Ignore new autofoo tmp files 2021-02-04 12:51:41 +01:00
.gitreview update .gitreview to new repo url 2017-08-08 17:26:28 +02:00
.mailmap add .mailmap file for mapping git author name/mail in shortlog 2016-08-08 17:40:28 +00:00
AUTHORS move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
COPYING move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
Makefile.am manuals: generate vty reference xml at build time 2020-07-12 12:30:28 +00:00
README README update. Explain more what it is than just the history 2021-01-06 13:13:46 +01:00
README.vty-tests Remove obsolete ./configure option 2017-11-29 14:24:54 +00:00
TODO-RELEASE Announce IuFP audio codec for UTRAN conns in CRCX towards MGW 2022-01-05 13:58:15 +01:00
configure.ac switch from libdbi to lbsqlite3 2022-05-17 14:04:44 +02:00
git-version-gen git-version-gen: Don't check for .git directory 2018-07-24 18:05:46 +02:00
osmoappdesc.py osmoappdesc.py, tests: switch to python 3 2019-12-12 09:29:19 +00:00

README

About OsmoMSC
=============

OsmoMSC is an implementation of the 3GPP MSC (Mobile Switching Centre)
network element.  It implements the following core functionality within
the 2G (GSM) and 3G (UMTS) networks:

* mobility management
* call control (either via built-in MNCC handler or external osmo-sip-connector)
* USSD (exposed via GSUP)
* SMS (either via built-in SMSC or external via GSUP)

Historically, OsmoMSC originated from the OpenBSC project, which started
as a minimalistic all-in-one implementation of the GSM Network. In 2017,
OpenBSC had reached maturity and diversity (including M3UA SIGTRAN and
3G support in the form of IuCS and IuPS interfaces) that naturally lead
to a separation of the all-in-one approach to fully independent separate
programs as in typical GSM networks.

OsmoMSC was one of the parts split off from the old openbsc.git. Before,
it was the libmsc part of the old OsmoNITB. Since a true A interface and
IuCS for 3G support is available, OsmoMSC exists only as a separate
standalone entity.

OsmoMSC exposes
- GSUP towards OsmoHLR (or a MAP proxy);
- A over IP towards a BSC (e.g. OsmoBSC);
- IuCS towards an RNC or HNB-GW (e.g. OsmoHNBGW) for 3G voice;
- MNCC (Mobile Network Call Control derived from GSM TS 04.07);
- SMPP 3.4 (Short Message Peer-to-Peer);
- The Osmocom typical telnet VTY and CTRL interfaces.

Find OsmoMSC issue tracker and wiki online at
https://osmocom.org/projects/osmomsc
https://osmocom.org/projects/osmomsc/wiki