csd_bs_list_to_bearer_cap(): properly initialize bcap fields

Currently this function fails to initialize all bcap fields properly,
so the resulting CC Setup message generated by osmo-msc has some
fields set to reserved/invalid values.

With these changes I am able to establish a data call on TCH/F9.6:

* cap->{mode,coding}: assign default values explicitly;
* cap->radio: value 0 is reserved, set GSM48_BCAP_RRQ_FR_ONLY;
* cap->data.sig_access: value 0 is reserved, set GSM48_BCAP_SA_I440_I450;
* cap->data.transp: this is not a bool, set GSM48_BCAP_TR_{TRANSP,RLP};
* cap->data.{nr_{data,stop}_bits,parity}: set 8N1 by default;
* cap->data.modem_type: explicitly assign default value;
* cap->data.interm_rate: value 0 is reserved, set GSM48_BCAP_IR_{8k,16k}.

The related libosmocore.git patch additionally fixes encoding of the
"Connection element (octet 6c)", so that bcap->data.transp is used.

Change-Id: If49c89e4f867bac92ad062c062b9f36bab2b4531
Related: libosmocore.git I7339908864e8a2aef6f2b48a108650167e413c7f
Related: OS#6110, OS#4394
1 file changed
tree: 6b0966034caedf1830f05007e69deabf2de108a6
  1. contrib/
  2. debian/
  3. doc/
  4. include/
  5. m4/
  6. src/
  7. tests/
  8. .gitignore
  9. .gitreview
  10. .mailmap
  11. AUTHORS
  12. configure.ac
  13. COPYING
  14. git-version-gen
  15. Makefile.am
  16. osmoappdesc.py
  17. README.md
  18. README.vty-tests
  19. TODO-RELEASE
README.md

osmo-msc - Osmocom MSC Implementation

This repository contains a C-language implementation of a GSM Mobile Switching Centre (MSC) for 2G (GSM) and 3G (UMTS). It is part of the Osmocom Open Source Mobile Communications project.

OsmoMSC exposes

  • A over IP towards BSCs (e.g. OsmoBSC): 3GPP AoIP or SCCPlite
  • IuCS over IP towards RNCs / HNBGW (e.g. osmo-hnbgw)
  • The Osmocom typical telnet VTY and CTRL interfaces.
  • The Osmocom typical statsd exporter.

OsmoMSC implements

  • 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)

Homepage

You can find the OsmoMSC issue tracker and wiki online at https://osmocom.org/projects/osmomsc and https://osmocom.org/projects/osmomsc/wiki.

GIT Repository

You can clone from the official osmo-msc.git repository using

    git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-msc

There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-msc

Documentation

User Manuals and VTY reference manuals are [optionally] built in PDF form as part of the build process.

Pre-rendered PDF version of the current "master" can be found at User Manual as well as the VTY Reference Manual

Mailing List

Discussions related to osmo-msc are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-msc can be seen at https://gerrit.osmocom.org/#/q/project:osmo-msc+status:open

History

OsmoMSC originated from the OsmoNITB project, which started as a minimalistic all-in-one implementation of the GSM Network. In 2017, OsmoNITB 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.