Osmocom Mobile Switching Centre
Go to file
Harald Welte 022193da73 smpp: Fix use-after-free bug when ESME disconnects but has write pending
When the SMPP code free's an ESME it also free's the related write_queue
and the osmo_fd contained therein.  So if this happens while we are
in esme_link_read_cb(), we must return -EBADF to make
osmo_wqueue_bfd_cb() of libosmocore avoid further accessing related
memory.

Change-Id: I441d3b05c2f2556c530783a7f66c73adf6d845a1
Closes: OS#5565
2022-05-16 17:33:42 +02:00
contrib switch sqlite3 to single-threaded mode 2022-05-15 13:04:56 +02:00
debian switch sqlite3 to single-threaded mode 2022-05-15 13:04:56 +02:00
doc Do not mention deprecated -l / --database options 2021-11-12 20:28:08 +03:00
include vlr: Add rate counters and stat items 2022-05-15 16:23:02 +02:00
m4 Drop unneeded ax_check_compile_flag.m4 2022-01-11 18:11:41 +01:00
src smpp: Fix use-after-free bug when ESME disconnects but has write pending 2022-05-16 17:33:42 +02:00
tests switch sqlite3 to single-threaded mode 2022-05-15 13:04:56 +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 sqlite3 to single-threaded mode 2022-05-15 13:04:56 +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