Projects
osmocom:nightly
osmo-bsc
Log In
Username
Password
Error getting diff: tar:
×
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 254
View file
osmo-bsc.spec
Changed
@@ -17,14 +17,14 @@ %define _lto_cflags %{nil} Name: osmo-bsc -Requires: osmocom-nightly = 202303010005 -Version: 1.10.0.20.fbead.202303010005 +Requires: osmocom-nightly = 202303020008 +Version: 1.10.0.27.7747f.202303020008 Release: 0 Summary: OsmoBSC: Osmocom's Base Station Controller for 2G CS mobile networks License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Hardware/Mobile URL: https://osmocom.org/projects/osmobsc -Source: osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz +Source: osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz Source1: rpmlintrc BuildRequires: automake >= 1.9 BuildRequires: libtool >= 2 @@ -49,7 +49,7 @@ OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks. %package abisip-find -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: CLI utility to find ip.access compatible BTS License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities @@ -58,7 +58,7 @@ Command line utility to find ip.access compatible BTS. %package ipaccess-utils -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: Command line utilities for ip.access nanoBTS License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities @@ -69,7 +69,7 @@ and ipaccess-proxy. %package bs11-utils -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: Command line utilities for Siemens BS-11 BTS License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities @@ -80,7 +80,7 @@ public telephone network as frequency standard for the E1 line. %package meas-utils -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: Command line utilities for OsmoBSC's measurement reports License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities
View file
osmo-bsc_1.10.0.20.fbead.202303010005.dsc -> osmo-bsc_1.10.0.27.7747f.202303020008.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmo-bsc Binary: osmo-bsc, osmo-bsc-dbg, abisip-find, osmo-bsc-ipaccess-utils, osmo-bsc-bs11-utils, osmo-bsc-meas-utils, osmo-bsc-doc Architecture: any all -Version: 1.10.0.20.fbead.202303010005 +Version: 1.10.0.27.7747f.202303020008 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/osmo-bsc Standards-Version: 3.9.8 @@ -18,8 +18,8 @@ osmo-bsc-ipaccess-utils deb net extra arch=any osmo-bsc-meas-utils deb net extra arch=any Checksums-Sha1: - 590c677d9b032df105da9b46cf84ecb1483aa5e7 589900 osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz + 2f94d3ab2ebe89e31886c56a16551bd449f1d916 590048 osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz Checksums-Sha256: - ddecee7bdaa0912d7083869099113044809672073c4e0d2a9356db9a5d668bce 589900 osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz + 9e57eddd18f6cd1a3f5b21d819c388c29a9e556fe1002c8dc049d422505b4e69 590048 osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz Files: - bdcbf83d41565256867447e19661b532 589900 osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz + 38d64e326bd7803b8937a35d5b625b2e 590048 osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/.tarball-version -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.10.0.20-fbead.202303010005 +1.10.0.27-7747f.202303020008
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/contrib/osmo-bsc.spec.in -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/contrib/osmo-bsc.spec.in
Changed
@@ -17,7 +17,7 @@ %define _lto_cflags %{nil} Name: osmo-bsc -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Version: @VERSION@ Release: 0 Summary: OsmoBSC: Osmocom's Base Station Controller for 2G CS mobile networks @@ -48,7 +48,7 @@ OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks. %package abisip-find -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: CLI utility to find ip.access compatible BTS License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities @@ -57,7 +57,7 @@ Command line utility to find ip.access compatible BTS. %package ipaccess-utils -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: Command line utilities for ip.access nanoBTS License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities @@ -68,7 +68,7 @@ and ipaccess-proxy. %package bs11-utils -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: Command line utilities for Siemens BS-11 BTS License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities @@ -79,7 +79,7 @@ public telephone network as frequency standard for the E1 line. %package meas-utils -Requires: osmocom-nightly = 202303010005 +Requires: osmocom-nightly = 202303020008 Summary: Command line utilities for OsmoBSC's measurement reports License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/debian/changelog -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-bsc (1.10.0.20.fbead.202303010005) unstable; urgency=medium +osmo-bsc (1.10.0.27.7747f.202303020008) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom nightly feed - -- Osmocom OBS scripts <info@osmocom.org> Wed, 01 Mar 2023 00:06:37 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Thu, 02 Mar 2023 00:09:34 +0000 osmo-bsc (1.10.0) unstable; urgency=medium
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/debian/control -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/debian/control
Changed
@@ -26,7 +26,7 @@ Package: osmo-bsc Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202303010005), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202303020008), ${misc:Depends}, ${shlibs:Depends} Recommends: osmo-mgw Description: OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks @@ -34,19 +34,19 @@ Section: debug Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 202303010005), osmo-bsc (= ${binary:Version}), ${misc:Depends} +Depends: osmocom-nightly (= 202303020008), osmo-bsc (= ${binary:Version}), ${misc:Depends} Description: OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks Package: abisip-find Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202303010005), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202303020008), ${misc:Depends}, ${shlibs:Depends} Description: Command line utility to find ip.access compatible BTS Package: osmo-bsc-ipaccess-utils Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202303010005), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202303020008), ${misc:Depends}, ${shlibs:Depends} Description: Command line utilities for ip.access nanoBTS This package contains utilities that are specific for nanoBTS when being used together with OpenBSC. It contains mainly two tools: ipaccess-config and ipaccess-proxy. @@ -54,7 +54,7 @@ Package: osmo-bsc-bs11-utils Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202303010005), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202303020008), ${misc:Depends}, ${shlibs:Depends} Description: Command line utilities for Siemens BS-11 BTS There is a tool in this package for configuring the Siemens BS-11 BTS. Additionally, it contains one tool for making use of an ISDN-card and the @@ -63,14 +63,14 @@ Package: osmo-bsc-meas-utils Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202303010005), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202303020008), ${misc:Depends}, ${shlibs:Depends} Description: Command line utilities to manage measurement reports. Package: osmo-bsc-doc Architecture: all Section: doc Priority: optional -Depends: osmocom-nightly (= 202303010005), ${misc:Depends} +Depends: osmocom-nightly (= 202303020008), ${misc:Depends} Description: ${misc:Package} PDF documentation Various manuals: user manual, VTY reference manual and/or protocol/interface manuals.
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg
Changed
@@ -30,4 +30,3 @@ e1_line 0 driver ipa msc 0 allow-emergency deny - codec-list fr1
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/src/osmo-bsc/codec_pref.c -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/src/osmo-bsc/codec_pref.c
Changed
@@ -174,37 +174,43 @@ return false; } -/* Check if the given permitted speech value is supported by the BTS - * (vty option bts->codec-support). */ -static bool test_codec_support_bts(const struct gsm_bts *bts, uint8_t perm_spch) +static bool test_codec_support_bts_rate(const struct gsm_bts *bts, const bool full_rate) { - struct gsm_bts_trx *trx; - const struct bts_codec_conf *bts_codec = &bts->codec; unsigned int i; - bool full_rate; - int rc; + struct gsm_bts_trx *trx; enum gsm_phys_chan_config pchan; - bool rate_match = false; - /* Check if the BTS provides a physical channel that matches the - * bandwidth of the desired codec. */ - rc = full_rate_from_perm_spch(&full_rate, perm_spch); - if (rc < 0) - return false; llist_for_each_entry(trx, &bts->trx_list, list) { for (i = 0; i < TRX_NR_TS; i++) { pchan = trx->tsi.pchan_from_config; if (pchan == GSM_PCHAN_OSMO_DYN) - rate_match = true; + return true; else if (full_rate && pchan == GSM_PCHAN_TCH_F) - rate_match = true; + return true; else if (full_rate && pchan == GSM_PCHAN_TCH_F_PDCH) - rate_match = true; + return true; else if (!full_rate && pchan == GSM_PCHAN_TCH_H) - rate_match = true; + return true; } } - if (!rate_match) + + return false; +} + +/* Check if the given permitted speech value is supported by the BTS + * (vty option bts->codec-support). */ +static bool test_codec_support_bts(const struct gsm_bts *bts, uint8_t perm_spch) +{ + const struct bts_codec_conf *bts_codec = &bts->codec; + bool full_rate; + int rc; + + /* Check if the BTS provides a physical channel that matches the + * bandwidth of the desired codec. */ + rc = full_rate_from_perm_spch(&full_rate, perm_spch); + if (rc < 0) + return false; + if (!test_codec_support_bts_rate(bts, full_rate)) return false; /* Check codec support */
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/src/osmo-bsc/osmo_bsc_bssap.c -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/src/osmo-bsc/osmo_bsc_bssap.c
Changed
@@ -796,6 +796,188 @@ return nc > 0 ? 0 : -EINVAL; } +static int bssmap_handle_ass_req_tp_cic(struct tlv_parsed *tp, bool aoip, uint16_t *cic, uint8_t *cause) +{ + if (TLVP_PRESENT(tp, GSM0808_IE_CIRCUIT_IDENTITY_CODE)) { + /* CIC is permitted in both AoIP and SCCPlite */ + *cic = osmo_load16be(TLVP_VAL(tp, GSM0808_IE_CIRCUIT_IDENTITY_CODE)); + return 0; + } + + if (!aoip) { + /* no CIC but SCCPlite: illegal */ + LOGP(DMSC, LOGL_ERROR, "SCCPlite MSC, but no CIC in ASSIGN REQ?\n"); + *cause = GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING; + return -1; + } + + return 0; +} + +static int bssmap_handle_ass_req_tp_rtp_addr(struct tlv_parsed *tp, bool aoip, char *msc_rtp_addr, + size_t msc_rtp_addr_len, uint16_t *msc_rtp_port, uint8_t *cause) +{ + struct sockaddr_storage rtp_addr; + int rc; + unsigned int rc2; + + if (TLVP_PRESENT(tp, GSM0808_IE_AOIP_TRASP_ADDR)) { + if (!aoip) { + /* SCCPlite and AoIP transport address: illegal */ + LOGP(DMSC, LOGL_ERROR, "AoIP Transport address over IPA ?!?\n"); + *cause = GSM0808_CAUSE_INCORRECT_VALUE; + return -1; + } + /* Decode AoIP transport address element */ + rc = gsm0808_dec_aoip_trasp_addr(&rtp_addr, + TLVP_VAL(tp, GSM0808_IE_AOIP_TRASP_ADDR), + TLVP_LEN(tp, GSM0808_IE_AOIP_TRASP_ADDR)); + if (rc < 0) { + LOGP(DMSC, LOGL_ERROR, "Unable to decode AoIP transport address.\n"); + *cause = GSM0808_CAUSE_INCORRECT_VALUE; + return -1; + } + + rc2 = osmo_sockaddr_to_str_and_uint(msc_rtp_addr, msc_rtp_addr_len, msc_rtp_port, + (const struct sockaddr *)&rtp_addr); + if (!rc2 || rc >= msc_rtp_addr_len) { + LOGP(DMSC, LOGL_ERROR, "Assignment request: RTP address is too long\n"); + *cause = GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL; + return -1; + } + return 0; + } + + if (aoip) { + /* no AoIP transport level address but AoIP transport: illegal */ + LOGP(DMSC, LOGL_ERROR, "AoIP transport address missing in ASSIGN REQ, " + "audio would not work; rejecting\n"); + *cause = GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING; + return -1; + } + + return 0; +} + +static int bssmap_handle_ass_req_tp_osmux(struct gsm_subscriber_connection *conn, struct tlv_parsed *tp, + bool *use_osmux, uint8_t *osmux_cid, uint8_t *cause) +{ + int rc; + + if (TLVP_PRESENT(tp, GSM0808_IE_OSMO_OSMUX_CID)) { + if (conn->sccp.msc->use_osmux == OSMUX_USAGE_OFF) { + LOGP(DMSC, LOGL_ERROR, "MSC using Osmux but we have it disabled.\n"); + *cause = GSM0808_CAUSE_INCORRECT_VALUE; + return -1; + } + *use_osmux = true; + rc = gsm0808_dec_osmux_cid(osmux_cid, + TLVP_VAL(tp, GSM0808_IE_OSMO_OSMUX_CID), + TLVP_LEN(tp, GSM0808_IE_OSMO_OSMUX_CID)); + if (rc < 0) { + LOGP(DMSC, LOGL_ERROR, "Unable to decode Osmux CID.\n"); + *cause = GSM0808_CAUSE_INCORRECT_VALUE; + return -1; + } + return 0; + } + + if (conn->sccp.msc->use_osmux == OSMUX_USAGE_ONLY) { + LOGP(DMSC, LOGL_ERROR, "MSC not using Osmux but we are forced to use it.\n"); + *cause = GSM0808_CAUSE_INCORRECT_VALUE; + return -1; + } + + if (conn->sccp.msc->use_osmux == OSMUX_USAGE_ON) + LOGP(DMSC, LOGL_NOTICE, "MSC not using Osmux but we have Osmux enabled.\n"); + + return 0; +} + +static int bssmap_handle_ass_req_tp_codec_list(struct gsm_subscriber_connection *conn, struct tlv_parsed *tp, bool aoip, + uint8_t *cause) +{ + int rc; + + /* Decode speech codec list. First set len = 0. */ + conn->codec_list = (struct gsm0808_speech_codec_list){}; + /* Check for speech codec list element */ + if (TLVP_PRESENT(tp, GSM0808_IE_SPEECH_CODEC_LIST)) { + /* Decode Speech Codec list */ + rc = gsm0808_dec_speech_codec_list(&conn->codec_list, + TLVP_VAL(tp, GSM0808_IE_SPEECH_CODEC_LIST), + TLVP_LEN(tp, GSM0808_IE_SPEECH_CODEC_LIST)); + if (rc < 0) { + LOGP(DMSC, LOGL_ERROR, "Unable to decode speech codec list\n"); + *cause = GSM0808_CAUSE_INCORRECT_VALUE; + return -1; + } + } + + if (aoip && !conn->codec_list.len) { + LOGP(DMSC, LOGL_ERROR, "%s: AoIP speech mode Assignment Request:" + " Missing or empty Speech Codec List IE\n", bsc_subscr_name(conn->bsub)); + *cause = GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING; + return -1; + } + + return 0; +} + +static int bssmap_handle_ass_req_ct_speech(struct gsm_subscriber_connection *conn, struct tlv_parsed *tp, + struct gsm0808_channel_type *ct, struct assignment_request *req, + uint8_t *cause) +{ + bool aoip = gscon_is_aoip(conn); + int rc; + + *req = (struct assignment_request){ + .assign_for = ASSIGN_FOR_BSSMAP_REQ, + .aoip = aoip, + }; + + if (bssmap_handle_ass_req_tp_cic(tp, aoip, &req->msc_assigned_cic, cause) < 0) + return -1; + + if (bssmap_handle_ass_req_tp_rtp_addr(tp, aoip, req->msc_rtp_addr, sizeof(req->msc_rtp_addr), &req->msc_rtp_port, cause) < 0) + return -1; + + if (bssmap_handle_ass_req_tp_osmux(conn, tp, &req->use_osmux, &req->osmux_cid, cause) < 0) + return -1; + + if (bssmap_handle_ass_req_tp_codec_list(conn, tp, aoip, cause) < 0) + return -1; + + /* Match codec information from the assignment command against the + * local preferences of the BSC and BTS */ + rc = select_codecs(req, ct, conn); + if (rc < 0) { + *cause = GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL; + return -1; + } + + return 0; +} + +static int bssmap_handle_ass_req_ct_sign(struct gsm_subscriber_connection *conn, struct gsm0808_channel_type *ct, + struct assignment_request *req, uint8_t *cause) +{ + int rc; + + *req = (struct assignment_request){ + .assign_for = ASSIGN_FOR_BSSMAP_REQ, + .aoip = gscon_is_aoip(conn), + }; + + rc = select_sign_chan(req, ct); + if (rc < 0) { + *cause = GSM0808_CAUSE_INCORRECT_VALUE; + return rc; + } + + return 0; +} + /* * Handle the assignment request message. * @@ -806,11 +988,6 @@ { struct msgb *resp; struct tlv_parsed tp; - uint16_t cic = 0; - bool aoip = false; - bool use_osmux = false; - uint8_t osmux_cid = 0; - struct sockaddr_storage rtp_addr; struct gsm0808_channel_type ct; uint8_t cause;
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/src/osmo-bsc/pcu_sock.c -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/src/osmo-bsc/pcu_sock.c
Changed
@@ -686,6 +686,9 @@ if (rc < 0) return -EINVAL; break; + case PCU_OML_ALERT: + LOG_BTS(bts, DPCU, LOGL_ERROR, "PCU external alarm: %s\n", txt->text); + break; default: LOGP(DPCU, LOGL_ERROR, "Unknown TXT_IND type %u received\n", txt->type);
View file
osmo-bsc_1.10.0.20.fbead.202303010005.tar.xz/src/utils/meas_db.c -> osmo-bsc_1.10.0.27.7747f.202303020008.tar.xz/src/utils/meas_db.c
Changed
@@ -94,19 +94,19 @@ SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 6, mfm->lchan_type)); SCK_OK(st->db, sqlite3_bind_int(st->stmt_ins_mr, 7, mfm->pchan_type)); - if (mfm->imsi) + if (mfm->imsi0 != '\0') SCK_OK(st->db, sqlite3_bind_text(st->stmt_ins_mr, 8, mfm->imsi, -1, SQLITE_STATIC)); else SCK_OK(st->db, sqlite3_bind_null(st->stmt_ins_mr, 8)); - if (mfm->name) + if (mfm->name0 != '\0') SCK_OK(st->db, sqlite3_bind_text(st->stmt_ins_mr, 9, mfm->name, -1, SQLITE_STATIC)); else SCK_OK(st->db, sqlite3_bind_null(st->stmt_ins_mr, 9)); - if (mfm->scenario) + if (mfm->scenario0 != '\0') SCK_OK(st->db, sqlite3_bind_text(st->stmt_ins_mr, 10, mfm->scenario, -1, SQLITE_STATIC)); else
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.