commit | 5800f3add5d158be31017233ba286f3ca148f743 | [log] [tgz] |
---|---|---|
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | Wed Jun 28 19:07:49 2023 +0700 |
committer | fixeria <vyanitskiy@sysmocom.de> | Fri Jul 21 12:49:20 2023 +0000 |
tree | 395f7e8d01011c5c4384b852a7da067c1e9b824b | |
parent | f8b73f06827b00cc9b49a0edc5e550e22ffce474 [diff] |
USSD: fix handling of ussd-DataCodingScheme != 0x0f The usual Data Coding Scheme value in the mobile-originated USSD request (processUnstructuredSS-Request) is 0x0f, which means: 0000 .... = Coding Group: Coding Group 0 (Language using the GSM 7 bit default alphabet) .... 1111 = Language: unspecified However some modems are known to use a different default value, if not specified explicitly (AT+CUSD has optional DCS parameter): 0000 .... = Coding Group: Coding Group 0 (Language using the GSM 7 bit default alphabet) .... 0000 = Language: German (0) In function rx_proc_ss_req(), we should not be using req.ussd_text, because this field has been deprecated and may contain unexpected data. For example, in the abovementioned case it would contain the 7 bit encoded ussd-String 'aa510c061b01'O and osmo-hlr would indeed fail to find a matching route for a non-ASCII string. Instead of relaying on gsm0480_parse_facility_ie(), let's check the Data Coding Scheme value and decode the request string ourselves. Expect the Coding Group 0, but be more tolerant to the indicated language: print a warning and treat it as '1111'B (unspecified). Change-Id: Ib7bac660b1a7942adcfbe7b14f162c95061a25db Related: OS#6075
This repository contains a C-language implementation of a GSM Home Location Register (HLR). It is part of the Osmocom Open Source Mobile Communications project.
Warning: While the HLR logical functionality is implemented, OsmoHLR does not use the ETSI/3GPP TCAP/MAP protocol stack. Instead, a much simpler custom protocol (GSUP) is used. This means, OsmoHLR is of no use outside the context of an Osmocom core network. You can use it with OsmoMSC, OsmoSGSN etc. - but not with third party components.
The official homepage of the project is https://osmocom.org/projects/osmo-hlr/wiki
You can clone from the official osmo-hlr.git repository using
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-hlr
There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-hlr
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 manuals
Discussions related to osmo-hlr 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.
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-hlr can be seen at https://gerrit.osmocom.org/#/q/project:osmo-hlr+status:open