Osmocom Mobile Switching Centre
Go to file
Vadim Yanitskiy c44342b88c libmsc: fix memory leak (struct msgb) in msc_i_ran_enc()
Function msc_i_ran_enc() calls msc_role_ran_encode(), but unlike the
other callers of this function it does not free() the encoded message.

A simple solution would be to call msgb_free(), like it's done in
the other places.  But a more elegant solution is to modify function
msc_role_ran_encode(), so that it attaches the msgb to OTC_SELECT.
This way there is no need to call msgb_free() here and there.

This change fixes a memleak observed while running ttcn3-msc-test.

Change-Id: I741e082badc32ba9a97c1495c894e1d22e122e3a
Related: OS#5340
2021-12-07 18:43:00 +03:00
contrib Bump version: 1.7.0.43-aefbf-dirty → 1.8.0 2021-11-16 17:44:54 +01:00
debian Bump version: 1.7.0.43-aefbf-dirty → 1.8.0 2021-11-16 17:44:54 +01:00
doc Do not mention deprecated -l / --database options 2021-11-12 20:28:08 +03:00
include libvlr: vlr_set_ciph_mode(): avoid redundant check 2021-11-30 09:53:47 +00:00
m4 move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
src libmsc: fix memory leak (struct msgb) in msc_i_ran_enc() 2021-12-07 18:43:00 +03:00
tests libvlr: fix is_ciph_required(): always send SecModeCmd for UTRAN 2021-11-30 13:14:16 +00: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 Bump version: 1.7.0.43-aefbf-dirty → 1.8.0 2021-11-16 17:44:54 +01:00
configure.ac Bump version: 1.7.0.43-aefbf-dirty → 1.8.0 2021-11-16 17:44:54 +01: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