Projects
osmocom:master
osmo-bsc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 107
View file
osmo-bsc.spec
Changed
@@ -17,14 +17,14 @@ %define _lto_cflags %{nil} Name: osmo-bsc -Requires: osmocom-master = 1.10.0.95-cbf3e -Version: 1.10.0.95.cbf3e +Requires: osmocom-master +Version: 1.10.0.96.9f761 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.95.cbf3e.tar.xz +Source: osmo-bsc_1.10.0.96.9f761.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-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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-master = 1.10.0.95-cbf3e +Requires: osmocom-master Summary: Command line utilities for OsmoBSC's measurement reports License: GPL-2.0-or-later Group: Productivity/Telephony/Utilities
View file
commit_9f7611a32f558fe70f4aa30c222b865dadda36ad.txt
Added
View file
commit_cbf3e5d850ed2d921a2fbff839b5ee38cfe4ce48.txt
Deleted
View file
osmo-bsc_1.10.0.95.cbf3e.dsc -> osmo-bsc_1.10.0.96.9f761.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.95.cbf3e +Version: 1.10.0.96.9f761 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: - f481183bdfd3fcda7fb0f58ba2002a16481d41df 595668 osmo-bsc_1.10.0.95.cbf3e.tar.xz + 8103ccd225bd00005a5e8202a90e9a959ce76a9e 595700 osmo-bsc_1.10.0.96.9f761.tar.xz Checksums-Sha256: - 0a4bc104dfd8395550c37e0ac3181afca9a8baf6abc37d1998a049ab06200473 595668 osmo-bsc_1.10.0.95.cbf3e.tar.xz + f141dfe294e2d1710c42dcec2afb02b8bf62f3238d5d84f597ef0e4913ac060d 595700 osmo-bsc_1.10.0.96.9f761.tar.xz Files: - 6206b56299a3cc4041c898c001d610a4 595668 osmo-bsc_1.10.0.95.cbf3e.tar.xz + 268c712b6b78abf7f5a783c6b90d79c6 595700 osmo-bsc_1.10.0.96.9f761.tar.xz
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/.tarball-version -> osmo-bsc_1.10.0.96.9f761.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.10.0.95-cbf3e +1.10.0.96-9f761
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/contrib/osmo-bsc.spec.in -> osmo-bsc_1.10.0.96.9f761.tar.xz/contrib/osmo-bsc.spec.in
Changed
@@ -17,7 +17,7 @@ %define _lto_cflags %{nil} Name: osmo-bsc -Requires: osmocom-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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-master = 1.10.0.95-cbf3e +Requires: osmocom-master 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.95.cbf3e.tar.xz/debian/changelog -> osmo-bsc_1.10.0.96.9f761.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-bsc (1.10.0.95.cbf3e) unstable; urgency=medium +osmo-bsc (1.10.0.96.9f761) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Fri, 17 Mar 2023 09:59:46 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Fri, 17 Mar 2023 18:09:34 +0000 osmo-bsc (1.10.0) unstable; urgency=medium
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/debian/control -> osmo-bsc_1.10.0.96.9f761.tar.xz/debian/control
Changed
@@ -26,7 +26,7 @@ Package: osmo-bsc Architecture: any Multi-Arch: foreign -Depends: osmocom-master (= 1.10.0.95-cbf3e), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-master, ${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-master (= 1.10.0.95-cbf3e), osmo-bsc (= ${binary:Version}), ${misc:Depends} +Depends: osmocom-master, 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-master (= 1.10.0.95-cbf3e), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-master, ${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-master (= 1.10.0.95-cbf3e), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-master, ${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-master (= 1.10.0.95-cbf3e), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-master, ${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-master (= 1.10.0.95-cbf3e), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-master, ${misc:Depends}, ${shlibs:Depends} Description: Command line utilities to manage measurement reports. Package: osmo-bsc-doc Architecture: all Section: doc Priority: optional -Depends: osmocom-master (= 1.10.0.95-cbf3e), ${misc:Depends} +Depends: osmocom-master, ${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.95.cbf3e.tar.xz/include/osmocom/bsc/gsm_data.h -> osmo-bsc_1.10.0.96.9f761.tar.xz/include/osmocom/bsc/gsm_data.h
Changed
@@ -281,6 +281,21 @@ struct osmo_mgcpc_ep_ci *created_ci_for_msc; }; +struct gsm_subscriber_connection; + +struct bscp_sccp_conn_node { + /* entry in (struct bsc_sccp_inst)->connections */ + struct rb_node node; + /* Sigtran connection ID: + * if set: Range (0..SCCP_CONN_ID_MAX) (24 bit) + * if unset: SCCP_CONN_ID_UNSET (-1) if unset */ + uint32_t conn_id; + /* backpointer where this sccp conn belongs to: */ + struct gsm_subscriber_connection *gscon; +}; + +void bscp_sccp_conn_node_init(struct bscp_sccp_conn_node *sccp_conn, struct gsm_subscriber_connection *gscon); + /* active radio connection of a mobile subscriber */ struct gsm_subscriber_connection { /* global linked list of subscriber_connections */ @@ -332,15 +347,8 @@ struct { /* SCCP connection related */ struct bsc_msc_data *msc; - - /* entry in (struct bsc_sccp_inst)->connections */ - struct rb_node node; - - /* Sigtran connection ID: - * if set: Range (0..SCCP_CONN_ID_MAX) (24 bit) - * if unset: SCCP_CONN_ID_UNSET (-1) if unset */ - uint32_t conn_id; enum subscr_sccp_state state; + struct bscp_sccp_conn_node conn; } sccp; /* for audio handling */ @@ -389,11 +397,8 @@ /* Lb interface to the SMLC: BSSMAP-LE/SCCP connection associated with this subscriber */ struct { - /* Sigtran connection ID: - * if set: Range (0..SCCP_CONN_ID_MAX) (24 bit) - * if unset: SCCP_CONN_ID_UNSET (-1) if unset */ - uint32_t conn_id; enum subscr_sccp_state state; + struct bscp_sccp_conn_node conn; } lb; } lcs; @@ -885,8 +890,8 @@ struct bsc_sccp_inst *bsc_sccp_inst_alloc(void *ctx); uint32_t bsc_sccp_inst_next_conn_id(struct bsc_sccp_inst *bsc_sccp); -int bsc_sccp_inst_register_gscon(struct bsc_sccp_inst *bsc_sccp, struct gsm_subscriber_connection *conn); -void bsc_sccp_inst_unregister_gscon(struct bsc_sccp_inst *bsc_sccp, struct gsm_subscriber_connection *conn); +int bsc_sccp_inst_register_gscon(struct bsc_sccp_inst *bsc_sccp, struct bscp_sccp_conn_node *sccp_conn); +void bsc_sccp_inst_unregister_gscon(struct bsc_sccp_inst *bsc_sccp, struct bscp_sccp_conn_node *sccp_conn); struct gsm_subscriber_connection *bsc_sccp_inst_get_gscon_by_conn_id(const struct bsc_sccp_inst *bsc_sccp, uint32_t conn_id); struct gsm_network {
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/src/osmo-bsc/bsc_sccp.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/src/osmo-bsc/bsc_sccp.c
Changed
@@ -27,6 +27,12 @@ #include <osmocom/bsc/bsc_msc_data.h> #include <osmocom/bsc/lb.h> +void bscp_sccp_conn_node_init(struct bscp_sccp_conn_node *sccp_conn, struct gsm_subscriber_connection *gscon) +{ + sccp_conn->conn_id = SCCP_CONN_ID_UNSET; + sccp_conn->gscon = gscon; +} + struct bsc_sccp_inst *bsc_sccp_inst_alloc(void *ctx) { struct bsc_sccp_inst *bsc_sccp; @@ -38,23 +44,21 @@ return bsc_sccp; } -int bsc_sccp_inst_register_gscon(struct bsc_sccp_inst *bsc_sccp, struct gsm_subscriber_connection *conn) +int bsc_sccp_inst_register_gscon(struct bsc_sccp_inst *bsc_sccp, struct bscp_sccp_conn_node *sccp_conn) { struct rb_node **n = &(bsc_sccp->connections.rb_node); struct rb_node *parent = NULL; - uint32_t conn_id = conn->sccp.conn_id; + uint32_t conn_id = sccp_conn->conn_id; OSMO_ASSERT(conn_id != SCCP_CONN_ID_UNSET); while (*n) { - struct gsm_subscriber_connection *it; - - it = container_of(*n, struct gsm_subscriber_connection, sccp.node); + struct bscp_sccp_conn_node *it = container_of(*n, struct bscp_sccp_conn_node, node); parent = *n; - if (conn_id < it->sccp.conn_id) { + if (conn_id < it->conn_id) { n = &((*n)->rb_left); - } else if (conn_id > it->sccp.conn_id) { + } else if (conn_id > it->conn_id) { n = &((*n)->rb_right); } else { LOGP(DMSC, LOGL_ERROR, @@ -63,35 +67,34 @@ } } - rb_link_node(&conn->sccp.node, parent, n); - rb_insert_color(&conn->sccp.node, &bsc_sccp->connections); + rb_link_node(&sccp_conn->node, parent, n); + rb_insert_color(&sccp_conn->node, &bsc_sccp->connections); return 0; } -void bsc_sccp_inst_unregister_gscon(struct bsc_sccp_inst *bsc_sccp, struct gsm_subscriber_connection *conn) +void bsc_sccp_inst_unregister_gscon(struct bsc_sccp_inst *bsc_sccp, struct bscp_sccp_conn_node *sccp_conn) { - OSMO_ASSERT(conn->sccp.conn_id != SCCP_CONN_ID_UNSET); - rb_erase(&conn->sccp.node, &bsc_sccp->connections); + OSMO_ASSERT(sccp_conn->conn_id != SCCP_CONN_ID_UNSET); + rb_erase(&sccp_conn->node, &bsc_sccp->connections); } /* Helper function to Check if the given connection id is already assigned */ struct gsm_subscriber_connection *bsc_sccp_inst_get_gscon_by_conn_id(const struct bsc_sccp_inst *bsc_sccp, uint32_t conn_id) { const struct rb_node *node = bsc_sccp->connections.rb_node; - struct gsm_subscriber_connection *conn; OSMO_ASSERT(conn_id != SCCP_CONN_ID_UNSET); /* Range (0..SCCP_CONN_ID_MAX) expected, see bsc_sccp_inst_next_conn_id() */ OSMO_ASSERT(conn_id <= SCCP_CONN_ID_MAX); while (node) { - conn = container_of(node, struct gsm_subscriber_connection, sccp.node); - if (conn_id < conn->sccp.conn_id) + struct bscp_sccp_conn_node *sccp_conn = container_of(node, struct bscp_sccp_conn_node, node); + if (conn_id < sccp_conn->conn_id) node = node->rb_left; - else if (conn_id > conn->sccp.conn_id) + else if (conn_id > sccp_conn->conn_id) node = node->rb_right; else - return conn; + return sccp_conn->gscon; } return NULL;
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/src/osmo-bsc/bsc_subscr_conn_fsm.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/src/osmo-bsc/bsc_subscr_conn_fsm.c
Changed
@@ -769,7 +769,7 @@ mgw_info = (struct mgcp_conn_peer){ .port = port, - .call_id = conn->sccp.conn_id, + .call_id = conn->sccp.conn.conn_id, .ptime = 20, .x_osmo_osmux_use = conn->assignment.req.use_osmux, .x_osmo_osmux_cid = conn->assignment.req.osmux_cid, @@ -1108,13 +1108,13 @@ LOGPFSML(fi, LOGL_DEBUG, "Disconnecting SCCP\n"); struct bsc_msc_data *msc = conn->sccp.msc; /* FIXME: include a proper cause value / error message? */ - osmo_sccp_tx_disconn(msc->a.sccp_user, conn->sccp.conn_id, &msc->a.bsc_addr, 0); + osmo_sccp_tx_disconn(msc->a.sccp_user, conn->sccp.conn.conn_id, &msc->a.bsc_addr, 0); conn->sccp.state = SUBSCR_SCCP_ST_NONE; } - if (conn->sccp.conn_id != SCCP_CONN_ID_UNSET && conn->sccp.msc) { + if (conn->sccp.conn.conn_id != SCCP_CONN_ID_UNSET && conn->sccp.msc) { struct bsc_sccp_inst *bsc_sccp = osmo_sccp_get_priv(conn->sccp.msc->a.sccp); - bsc_sccp_inst_unregister_gscon(bsc_sccp, conn); - conn->sccp.conn_id = SCCP_CONN_ID_UNSET; + bsc_sccp_inst_unregister_gscon(bsc_sccp, &conn->sccp.conn); + conn->sccp.conn.conn_id = SCCP_CONN_ID_UNSET; } if (conn->bsub) { @@ -1231,7 +1231,8 @@ conn->network = net; INIT_LLIST_HEAD(&conn->dtap_queue); INIT_LLIST_HEAD(&conn->hodec2.penalty_timers); - conn->sccp.conn_id = SCCP_CONN_ID_UNSET; + bscp_sccp_conn_node_init(&conn->sccp.conn, conn); + bscp_sccp_conn_node_init(&conn->lcs.lb.conn, conn); /* Default clear cause (on RR translates to GSM48_RR_CAUSE_ABNORMAL_UNSPEC) */ conn->clear_cause = GSM0808_CAUSE_EQUIPMENT_FAILURE; @@ -1404,7 +1405,7 @@ { osmo_fsm_inst_update_id_f(conn->fi, "msc%u-conn%u%s%s", conn->sccp.msc ? conn->sccp.msc->nr : UINT_MAX, - conn->sccp.conn_id, + conn->sccp.conn.conn_id, conn->bsub? "_" : "", conn->bsub? bsc_subscr_id(conn->bsub) : ""); }
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/src/osmo-bsc/bsc_vty.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/src/osmo-bsc/bsc_vty.c
Changed
@@ -727,7 +727,7 @@ static void dump_one_subscr_conn(struct vty *vty, const struct gsm_subscriber_connection *conn) { vty_out(vty, "conn ID=%u, MSC=%u, hodec2_fail=%d, mgw_ep=%s%s", - conn->sccp.conn_id, conn->sccp.msc->nr, conn->hodec2.failures, + conn->sccp.conn.conn_id, conn->sccp.msc->nr, conn->hodec2.failures, osmo_mgcpc_ep_name(conn->user_plane.mgw_endpoint), VTY_NEWLINE); if (conn->lcls.global_call_ref_len) { vty_out(vty, " LCLS GCR: %s%s",
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/src/osmo-bsc/handover_fsm.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/src/osmo-bsc/handover_fsm.c
Changed
@@ -269,7 +269,7 @@ if (conn->fi->id) osmo_fsm_inst_update_id_f(fi, "%s_%s", label, conn->fi->id); else - osmo_fsm_inst_update_id_f(fi, "%s_conn%u", label, conn->sccp.conn_id); + osmo_fsm_inst_update_id_f(fi, "%s_conn%u", label, conn->sccp.conn.conn_id); } static void handover_reset(struct gsm_subscriber_connection *conn)
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/src/osmo-bsc/lb.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/src/osmo-bsc/lb.c
Changed
@@ -199,6 +199,8 @@ scu_prim->u.disconnect.conn_id); rc = -EINVAL; } else { + bsc_sccp_inst_unregister_gscon(bsc_sccp, &conn->lcs.lb.conn); + conn->lcs.lb.conn.conn_id = SCCP_CONN_ID_UNSET; conn->lcs.lb.state = SUBSCR_SCCP_ST_NONE; if (msgb_l2len(oph->msg) > 0) { rc = lcs_loc_req_rx_bssmap_le(conn, oph->msg); @@ -237,7 +239,11 @@ LOGPFSMSL(conn->fi, DLCS, LOGL_ERROR, "Unable to allocate SCCP Connection ID for BSSMAP-LE to SMLC\n"); return -ENOSPC; } - conn->lcs.lb.conn_id = conn_id; + conn->lcs.lb.conn.conn_id = conn_id; + if (bsc_sccp_inst_register_gscon(bsc_sccp, &conn->lcs.lb.conn) < 0) { + LOGP(DMSC, LOGL_ERROR, "Unable to register Lb SCCP connection (id=%u)\n", conn->lcs.lb.conn.conn_id); + return -1; + } ss7 = osmo_ss7_instance_find(bsc_gsmnet->smlc->cs7_instance); OSMO_ASSERT(ss7); LOGPFSMSL(conn->fi, DLCS, LOGL_INFO, "Opening new SCCP connection (id=%u) to SMLC: %s\n", conn_id, @@ -245,22 +251,35 @@ rc = osmo_sccp_tx_conn_req_msg(bsc_gsmnet->smlc->sccp_user, conn_id, &bsc_gsmnet->smlc->bsc_addr, &bsc_gsmnet->smlc->smlc_addr, msg); - if (rc >= 0) + if (rc >= 0) { rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); - else - rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); - if (rc >= 0) conn->lcs.lb.state = SUBSCR_SCCP_ST_WAIT_CONN_CONF; + } else { + rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_ERR_SEND)); + goto failed_unregister_conn_id; + } + + return rc; +failed_unregister_conn_id: + bsc_sccp_inst_unregister_gscon(bsc_sccp, &conn->lcs.lb.conn); + conn->lcs.lb.conn.conn_id = SCCP_CONN_ID_UNSET; return rc; } void lb_close_conn(struct gsm_subscriber_connection *conn) { + struct bsc_sccp_inst *bsc_sccp; if (conn->lcs.lb.state == SUBSCR_SCCP_ST_NONE) return; - osmo_sccp_tx_disconn(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn_id, &bsc_gsmnet->smlc->bsc_addr, 0); + OSMO_ASSERT(conn->lcs.lb.conn.conn_id != SCCP_CONN_ID_UNSET); + + osmo_sccp_tx_disconn(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn.conn_id, &bsc_gsmnet->smlc->bsc_addr, 0); + conn->lcs.lb.state = SUBSCR_SCCP_ST_NONE; + bsc_sccp = osmo_sccp_get_priv(bsc_gsmnet->smlc->sccp); + bsc_sccp_inst_unregister_gscon(bsc_sccp, &conn->lcs.lb.conn); + conn->lcs.lb.conn.conn_id = SCCP_CONN_ID_UNSET; } /* Send data to SMLC, take ownership of *msg */ @@ -293,7 +312,7 @@ } LOGPFSMSL(conn->fi, DLCS, LOGL_DEBUG, "Tx %s\n", osmo_bssap_le_pdu_to_str_c(OTC_SELECT, bssap_le)); - rc = osmo_sccp_tx_data_msg(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn_id, msg); + rc = osmo_sccp_tx_data_msg(bsc_gsmnet->smlc->sccp_user, conn->lcs.lb.conn.conn_id, msg); if (rc >= 0) rate_ctr_inc(rate_ctr_group_get_ctr(bsc_gsmnet->smlc->ctrs, SMLC_CTR_BSSMAP_LE_TX_SUCCESS)); else
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/src/osmo-bsc/lchan_rtp_fsm.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/src/osmo-bsc/lchan_rtp_fsm.c
Changed
@@ -169,7 +169,7 @@ .x_osmo_osmux_cid = -1, /* -1 is wildcard, .x_osmo_osmux_use set below */ }; if (lchan->conn) { - crcx_info.call_id = lchan->conn->sccp.conn_id; + crcx_info.call_id = lchan->conn->sccp.conn.conn_id; if (lchan->conn->sccp.msc) crcx_info.x_osmo_ign = lchan->conn->sccp.msc->x_osmo_ign; }
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/src/osmo-bsc/osmo_bsc_sigtran.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/src/osmo-bsc/osmo_bsc_sigtran.c
Changed
@@ -170,8 +170,8 @@ if (!conn) return -ENOMEM; conn->sccp.msc = msc; - conn->sccp.conn_id = scu_prim->u.connect.conn_id; - if (bsc_sccp_inst_register_gscon(bsc_sccp, conn) < 0) { + conn->sccp.conn.conn_id = scu_prim->u.connect.conn_id; + if (bsc_sccp_inst_register_gscon(bsc_sccp, &conn->sccp.conn) < 0) { LOGP(DMSC, LOGL_NOTICE, "(calling_addr=%s conn_id=%u) N-CONNECT.ind failed registering conn\n", osmo_sccp_addr_dump(&scu_prim->u.connect.calling_addr), scu_prim->u.connect.conn_id); osmo_fsm_inst_term(conn->fi, OSMO_FSM_TERM_REQUEST, NULL); @@ -308,7 +308,7 @@ OSMO_ASSERT(conn); OSMO_ASSERT(msg); OSMO_ASSERT(conn->sccp.msc); - OSMO_ASSERT(conn->sccp.conn_id == SCCP_CONN_ID_UNSET); + OSMO_ASSERT(conn->sccp.conn.conn_id == SCCP_CONN_ID_UNSET); msc = conn->sccp.msc; @@ -318,16 +318,16 @@ } bsc_sccp = osmo_sccp_get_priv(msc->a.sccp); - conn->sccp.conn_id = conn_id = bsc_sccp_inst_next_conn_id(bsc_sccp); - if (conn->sccp.conn_id == SCCP_CONN_ID_UNSET) { + conn->sccp.conn.conn_id = conn_id = bsc_sccp_inst_next_conn_id(bsc_sccp); + if (conn->sccp.conn.conn_id == SCCP_CONN_ID_UNSET) { LOGP(DMSC, LOGL_ERROR, "Unable to allocate SCCP Connection ID\n"); return -1; } - if (bsc_sccp_inst_register_gscon(bsc_sccp, conn) < 0) { - LOGP(DMSC, LOGL_ERROR, "Unable to register SCCP connection (id=%u)\n", conn->sccp.conn_id); + if (bsc_sccp_inst_register_gscon(bsc_sccp, &conn->sccp.conn) < 0) { + LOGP(DMSC, LOGL_ERROR, "Unable to register SCCP connection (id=%u)\n", conn->sccp.conn.conn_id); return -1; } - LOGP(DMSC, LOGL_DEBUG, "Allocated new connection id: %u\n", conn->sccp.conn_id); + LOGP(DMSC, LOGL_DEBUG, "Allocated new connection id: %u\n", conn->sccp.conn.conn_id); ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7); LOGP(DMSC, LOGL_INFO, "Opening new SCCP connection (id=%u) to MSC %d: %s\n", conn_id, @@ -390,7 +390,7 @@ return -EINVAL; } - conn_id = conn->sccp.conn_id; + conn_id = conn->sccp.conn.conn_id; ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7);
View file
osmo-bsc_1.10.0.95.cbf3e.tar.xz/tests/bsc/bsc_test.c -> osmo-bsc_1.10.0.96.9f761.tar.xz/tests/bsc/bsc_test.c
Changed
@@ -212,7 +212,7 @@ conn = bsc_subscr_con_allocate(net); conn->lchan = lchan; conn->assignment.new_lchan = lchan; - conn->sccp.conn_id = 123; + conn->sccp.conn.conn_id = 123; conn->bsub = bsc_subscr_find_or_create_by_tmsi(net->bsc_subscribers, 0x423, "test"); gscon_update_id(conn);
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
.