aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-11-06SI10: Fix uninitialized last_i indexAndreas Eversberg1-3/+2
Not only l_bts must be declared outside the for-loop, but also last_i. This is a fixup of I9dbbd066075f9ccb331616a2b59b46b1b44c8b4c. Related: CID#330311 Change-Id: Ia10c5e68cb2940d9360d78f606af25bb207ee55f
2023-11-01SI10: Fix uninitialized l_bts pointerAndreas Eversberg1-2/+3
l_bts must be declared outside the for-loop. If the loop is passed with n_bts set the first time, l_bts is set. If the loop is passed with n_bts set next time(s), l_bts is used to encode additional neighbor cell infos. Related: CID#330310 and CID#330311 Change-Id: I9dbbd066075f9ccb331616a2b59b46b1b44c8b4c
2023-10-24osmo-bsc: Have PCU socket connection use osmo_wqueuearehbein2-65/+40
Close PCU socket on write queue overflow. Related: OS#5774 Change-Id: Ifd9741045a87338e17eec3492590a5de9c308cb5
2023-10-24pcuif_proto: clean up last remains of old PCUIF v10Philipp Maier2-6/+0
There are still some remains that are related to the old PCUIF v10 protocol version. Let's clean those up. Related: OS#5927 Depends: osmo-pcu.git I68a3f59d5c960ae3a4fbd74f9d4a894295cb9ed8 Change-Id: Iebb3a634fee680bdc3636a61f3ccaa1e97e54a64
2023-10-23ASCI: Add System Information 10 supportAndreas Eversberg3-2/+312
For each BTS, an SI 10 is generated with the informations about all neighbor BTS that have the same group/broadcast call. The SI 10 will only define neighbor cells within the same BSC, because it does not know about neighbor cells within other BSCs. When multiple channels are used for a group/broadcast call, the SI 10 is generated after all channels have been activated. Subsequent channel activations result in an update of SI 10 on all channels. Change-Id: Icd3101e6dd935a57f003253aaef400c2cf95a0c3
2023-10-09ASCI: Make neigh_list_get_arfcn() available to other usersAndreas Eversberg2-9/+34
The error logging message within this function is moved to the user neigh_list_get_arfcn(). In case of an error, which results in measurement report with cell index that does not exist in the list of neigbor cells, the measurement report is truncated to 0 neighbor cell measurements. Change-Id: Ia8a1dca4837536129d17e7784b892bcb75b9ca4b
2023-10-09Select correct neighbor list for measurement report decodingAndreas Eversberg1-1/+8
System Information 2 (bis/ter) uses BA_IND of 0. This refers to "neigh_list". System information 5 (bis/ter) uses BA_IND of 1. This may refer to "neigh_list" or optionally "si5_neigh_list", depending on the VTY settings. If BA_IND of 1 is received in measurement report and if the optional "si5_neigh_list" is used, this list is chosen to decode the measurement report. Change-Id: Ie9123928fb3ae6f10921ecf01d1b50330661da38
2023-10-09Do not generate 'bit map 0' neighbor lists with R-GSM ARFCNAndreas Eversberg1-2/+2
Before this patch, neighbor cells with ARFCN 955 to 974 were ignored in the GSM 900 band. This resulted an empty 'bit map 0' list in SI2/SI5 messages. This patch includes R-GSM ARFCN in range 955 to 974. A different encoding is chosen, if neigboring cells fall within this range. Change-Id: I40d024290fa4be2ba8d3149ec841b182d0cc8c1f
2023-10-04pcuif_proto: rename PCU_IF_FLAG_SYSMO to PCU_IF_FLAG_DIRECT_PHYPhilipp Maier2-2/+2
The PCUIF flag PCU_IF_FLAG_SYSMO was originally used by osmo-bts-sysmo to signal to the PCU that the direct PHY access for the sysmo-bts DSP should be enabled. With time, support for other BTS models was added and the flag became a synonym for "direct PHY access", so it makes sense to rename it to "PCU_IF_FLAG_DIRECT_PHY" Related: OS#6191 Depends: osmo-pcu.git I29b7b78a3a91d062b9ea3cd72623d30618cd3f0b Change-Id: I23df067df99b76048667131905c4448d32d80640
2023-10-04meas_feed: Use osmo_io instead of write queuearehbein4-54/+44
Related: OS#6170 Change-Id: Ib0570a3242e2846062e24c93cbbbbd31137acdee
2023-10-03Drop unused local varPau Espin Pedrol1-2/+0
Change-Id: I6da89b8861c0bd17fc011b55d5f4979ad6787f80
2023-09-28vty: make NCC Permitted (SI2) configurableOliver Smith2-0/+108
Related: SYS#6579 Change-Id: I71bb855c35378f8f0598bc11a42bd274b7232a5e
2023-09-27sccplite: Support multiple MGW in MGW poolPau Espin Pedrol3-18/+119
Before this patch, the MGW was selected at startup, and the MGCP data was always forwarded to that same MGW. If several MGW were configured in the MGW pool, then osmo-bsc would select any of those from the pool, and start configured the BTS-side connection on an endpoint in that MGW. However, when the MSC submitted the MGCP encapsulated in IPA to the BSC, the BSC would always forward the MGCP message to that same MGW selected at startup. As a result, multiple MGWs configured with osmo-bsc using SCCPlite was broken. This commit fixes support for multiple MGWs by looking up the already selected MGW (to setup the BTS-side conn on the endpoint), based on the CIC (MGCP Endpoint) which was provided by the MSC upon AssignReq. Related: OS#6189 Depends: libosmocore.git Change-Id Iee361d740845257fa62c9093e30e8079fa933827 Depends: osmo-mgw.git Change-Id I18d7bdf650c0ec87ae16ed4944aed9f495400137 Change-Id: Ia106a21b7692eb5b2ac3b5ac2b358bedbc3b9da6
2023-09-24si2quater: Invalidate thresh_lo, prio and qrxlm when neededMatan Perelman4-9/+26
Change-Id: I5910ce8db2d085295b327b12096ba129369eb532
2023-09-23abis_nm: send Get Attributes to GPRS Cell MO(s)Vadim Yanitskiy1-0/+31
Change-Id: Ib6d87da49217f1c8d76445ce623a511a07daedbf Related: OS#4505
2023-09-23abis_nm: send Get Attributes to Rado Carrier MO(s)Vadim Yanitskiy1-0/+31
Change-Id: If7b75689c12a253377f2747babd4d7ebd1db5f87 Related: OS#4505
2023-09-23oml: ipacc: fix sending hard-coded GPRS Cell attributesVadim Yanitskiy3-26/+30
Change-Id: I7d90ca3d6a660af8e953e890c7919194f5d297d2 Related: OS#4505
2023-09-23oml: ipacc: send GPRS Cell attributes based on IPA Object VersionVadim Yanitskiy3-29/+61
Change-Id: Ie0fb3eaf76e1f70e5a19bb088e1674b7e553d32a Related: OS#4505
2023-09-23oml: ipacc: print all supported versions of MOsHarald Welte1-3/+10
The first byte is the default version, the other bytes describe the optional other versions supported by the MO. Print them all. Change-Id: I01da4883cf59101ddaef575979519ac48fcf54b0
2023-09-23abis_nm: delay configure_loop() until NM_MT_SW_ACTIVATED_REPVadim Yanitskiy9-1/+94
Even though the Abis/OML message flow looks the way it should look on the wire, it does not actually reflect the sequence/flow of events and actions in the NM FSMs. For example (extracted from a PCAP): GPRS Cell(00,00,ff) State Changed Event Report GPRS Cell(00,00,ff) Software Activate Request GPRS Cell(00,00,ff) Software Activate Request ACK GPRS Cell(00,00,ff) Activate Software GPRS Cell(00,00,ff) Activate Software ACK [a] GPRS Cell(00,00,ff) State Changed Event Report [b] GPRS Cell(00,00,ff) Software Activated Report [c] GPRS Cell(00,00,ff) Get Attributes GPRS Cell(00,00,ff) Get Attributes Response [d] GPRS Cell(00,00,ff) IPA Set Attributes GPRS Cell(00,00,ff) IPA Set Attributes ACK GPRS Cell(00,00,ff) Change Administrative State GPRS Cell(00,00,ff) Change Administrative State ACK GPRS Cell(00,00,ff) State Changed Event Report GPRS Cell(00,00,ff) Opstart GPRS Cell(00,00,ff) Opstart ACK A follow-up patch [1] changes the logic generating message [d], so that the IPA Object Version of the GPRS Cell MO is taken into account when adding the attributes. The problem is that both messages [c] and [d] are generated and queued for transmission on the receipt of message [a], but *before* message [b] has been processed. So the IPA Object Version is not known and assumed to be 0 at that point in time. This patch delays configure_loop() until message [b] is received. So far only for nanoBTS and only for those MOs, for which Figure 2 in 3GPP TS 52.021 explicitly mentions that the SW downloading and activation procedures may be required, plus for the ip.access specific MOs which all seem to support the SW activation. osmo-bts does send SW Activated Report only for a subset of MOs, which does not include Baseband Transceiver, Radio Carrier, and Radio Channel. 3GPP TS 52.021 is not clear on whether this message shall be sent by all MOs either, so we consider it optional and delay configure_loop() only for nanoBTS. Change-Id: I3953a5e41eb27165f9ff203cac7447ee9d311abf Related: [1] Ie0fb3eaf76e1f70e5a19bb088e1674b7e553d32a
2023-09-21abis_nm: handle NM_EV_SW_ACT_REP in ST_OP_DISABLED_{DEPENDENCY,OFFLINE}Vadim Yanitskiy8-0/+58
3GPP TS 52.021 does not strictly mandate that the SW Activated Report can only be received in state DISABLED/OFFLINE. The only requirement is that the software load procedure (if needed) and activation is to be performed in this state. The successful outcome of software activation procedure is indicated by the BTS using the above-mentioned SW Activated Report message, which may be received in ST_OP_DISABLED_{DEPENDENCY,OFFLINE} too. The MO state changes are triggered by the State Changed Event Report messages, and happen asynchronously with the software activation. This patch fixes the following warnings seen with a nanoBTS: NM_BTS_OP(bts2){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_GPRS_NSE_OP(nse2){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_GPRS_CELL_OP(gprs-cell2){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_GPRS_NSVC_OP(nsvc0){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_GPRS_NSVC_OP(nsvc1){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_BB_TRANSC_OP(bts2-trx0){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts0){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts1){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts2){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts3){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts4){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts5){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts6){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_CHAN_OP(bts2-trx0-ts7){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted NM_RCARRIER_OP(bts2-trx0){DISABLED_OFFLINE}: Event SW_ACT_REP not permitted The following warning is still expected to show up though: NM_BTS_SM_OP(bts_sm){ENABLED}: Event SW_ACT_REP not permitted but is caused by a different problem, which is to be fixed later. Change-Id: I00a423adcde5c34977f4c4dad920874687fa493c
2023-09-19oml: ipacc: add missing is_ipa_abisip_bts() checksVadim Yanitskiy1-2/+24
These functions are called from a signal handler (SS_NM), and the signal itself is sent from the generic OML logic whenever the Software Activated Report is received from some BTS, which is not necessarily a nanoBTS or osmo-bts. It would be nice if we could check the BTS type once in the signal handler, but the signal data is not always the same and depends on the signal type, so unfortunately it's not possible. Change-Id: I088ff75f2048e54e4bfd926a79c1dcf27b4fb3a4
2023-09-16abis_nm: fix bts->nr vs bts->bts_nrVadim Yanitskiy1-2/+2
Using bts->nr on the wire is wrong because: * bts->nr is a BTS number in the BSC's config file, * bts->bts_nr is a BTS number within the SITE-MANAGER MO. The problem does not show up if there exists only one BTS node in osmo-bsc.cfg. Otherwise, the Software Load and BTS Restart procedures are broken for nanoBTS. Change-Id: I99d9c72752e55c4553e2e9c60df5caa8343b7be0
2023-09-15oml: ipacc: fix copy-pasted talloc chunk namesVadim Yanitskiy1-5/+10
Change-Id: Ib0858c0d84b9bd2d3a4d732cfedb045862d2efed Related: OS#4505
2023-09-15oml: ipacc: log supported features using LOGL_INFOVadim Yanitskiy1-1/+1
Change-Id: Ie0b05bc9e3739b5a38b32a676641e64f2cf698ac Related: OS#4505
2023-09-15oml: ipacc: parse Object Version from SW Activated ReportVadim Yanitskiy2-0/+21
Change-Id: I39105096a6b29bd7e4fb15287653074527c3e024 Related: OS#4505
2023-09-15bts_ipaccess_nanobts: clean up, use gsm_objclass2mo()Vadim Yanitskiy1-141/+28
Change-Id: Ic6c0dfe950459d07a8f506b5007a65fea1950c18
2023-09-14gsm_data: refactor/simplify and expose gsm_objclass2mo()Vadim Yanitskiy2-47/+20
Change-Id: Ic03fdfabf84a1b5cd8046101c1575296914c6332
2023-09-13abis_nm: get rid of MAX_BTS_ATTRVadim Yanitskiy4-7/+7
This is a partial revert of commit [1], which defined a limit on the number of attributes and SW Description IEs as a constant and added a spec. reference. The problem is that there is no such limit in the referenced 3GPP TS 52.021. The attributes and SW Description IEs are using TL16V encoding, so there can be as many as the Length part can represent. It's actually the limitation of our side, since we allocate a buffer of fixed size on the stack for parsing. * Remove the MAX_BTS_ATTR and confusing spec. reference. * For the SW Description IEs, define SW_DESCR_MAX locally. * For the attributes, define the buffer size in place. Change-Id: Idd8b971d32cf0f7a910a664d921e644b7c32d831 Related: [1] 1ebf23b7fe "Prepare for BTS attribute reporting via OML" Related: OS#4505
2023-09-13nm_{bb_transc,bts}_fsm: rework sending of Get AttributesVadim Yanitskiy2-12/+22
* Make it easier to append the attributes conditionally. * Remove irrelevant comments about the order of attributes. * Request NM_ATT_IPACC_SUPP_FEATURES from Abis/IP models only. Change-Id: Ice5bddd51481a3ef9fcffd77a4c292ea211bf179 Related: OS#4505
2023-09-13abis_nm: parse feature flags in NM_ATT_IPACC_SUPP_FEATURESVadim Yanitskiy3-1/+81
Since change [1], among with the other attributes we started requesting NM_ATT_IPACC_SUPP_FEATURES from the BTS. This patch adds the logic for parsing the response (so far only printing supported features). Change-Id: I64cffa0bdead3617cc169c83b0f6ddf74f0866a7 Related: [1] 43440e1fc5758c52e80a0d182afa7c9d16b21426 Depends: libosmocore.git Ia4208e10d61843dd6ae77398f6624c918dc81ea4 Related: OS#4505
2023-09-13abis_nm: separate parsing of osmo-bts features into a functionVadim Yanitskiy1-33/+48
This commit prepares for adding handling of additional attributes. The parse_attr_resp_info_attr() is already quite complex, so take a chance to simplify it a bit. Change-Id: Ia5919a8311cd6a7fc16d02d2196276881e96f4c5 Related: OS#4505
2023-09-13bts_siemens_bs11: remove ip.access nanoBTS specific codeVadim Yanitskiy1-59/+31
This code is unreachable, because this file is all about Siemens BS11. Take a chance to remove redundant BTS type check in nm_reconfig_bts(). Change-Id: I2db92fe448b1f4cd25c1e5c6e1bb9593795c9cb2 Related: OS#4505
2023-09-12struct gsm_bts_trx[_ts], gsm_abis_mo: drop unused nm_attrVadim Yanitskiy2-3/+0
Change-Id: I36c3aaefa0bd9ee946a53ed537cf5c3bd7e9761e
2023-09-12Bump version: 1.10.0.237-94878-dirty → 1.11.01.11.0Pau Espin Pedrol5-31/+288
Change-Id: I25bfb1ecb202dc43928ee92a303bc1c6159d1626
2023-09-01oml: ipacc: Use new packed struct abis_nm_ipacc_att_rlc_cfg from libosmcorePau Espin Pedrol1-19/+26
This way it becomes a lot clearer what kind of content is expected to be transmitted over the wire. It is expected that in the future the nowadays hardcoded values will be fed into struct abis_nm_ipacc_att_ns_cfg come from osmo_tdef, etc. Change-Id: I4b4dfac9fd36378b20889fb90135be74f8968d5f Depends: libosmocore.git Change-Id I60e17dedd1fadce0f705616e3ed96cabb318bcec Related: OS#5335
2023-09-01oml: ipacc: Use new packed struct abis_nm_ipacc_att_ns_cfg from libosmcorePau Espin Pedrol1-5/+13
This way it becomes a lot clearer what kind of content is expected to be transmitted over the wire. It is expected that in the future the bts_sm->gprs.nse.timer will disappear and the values fed into struct abis_nm_ipacc_att_ns_cfg come from osmo_tdef, etc. Change-Id: I610ca34babc0b0ac9477622aa7b8360be8f3f59f Depends: libosmocore.git Change-Id Ie477b0e6d79e6d408e0004fd60307afc5feaa3b6 Related: OS#5335
2023-09-01oml: ipacc: Use new packed struct abis_nm_ipacc_att_bssgp_cfg from libosmcorePau Espin Pedrol1-3/+16
This way it becomes a lot clearer what kind of content is expected to be transmitted over the wire. It is expected that in the future the bts->gprs.cell.timer will disappear and the values fed into struct abis_nm_ipacc_att_bssgp_cfg come from osmo_tdef, etc. Depends: libosmocore.git Change-Id Ibfd759cb8a252f801bb3a758ea7960072c96f254 Related: OS#5335 Change-Id: Ie659879c548b29a08eeb8bf3fc023bf3d7d52aa1
2023-09-01oml: ipacc: Remove BSSGP value assignment being overwritten afterwardsPau Espin Pedrol2-15/+14
bts->gprs.cell.timer is initialized during BTS allocation from bts_cell_timer_default. Later on, during nanobts_gen_set_nse_attr(), the same default values are applied to an internal buffer and immedately later overwritten by the content of bts->gprs.cell.timer. Hence, drop the temporary assignment since it gets overwritten and is basically a NO-OP. This is only an intermediate one-step-at-a-time commit, since anyway that arrive has to be convertd to osmocom tdef, etc. Change-Id: I2a170093e62f726e594d3b9c456087f47d2b4198
2023-08-31pcu_sock: use PCU_IF_SAPI_AGCH_2 instead PCU_IF_SAPI_AGCHPhilipp Maier4-13/+41
In PCUIF v.11 we use PCU_IF_SAPI_AGCH_2 exclusively. We use this SAPI to transfer IMMEDIATE ASSIGNMENT messages for uplink and downlink. One new feature of PCU_IF_SAPI_AGCH_2 is that the PCU may ask to send a confirmation when the MAC block is sent. CAUTION: This patch breaks compatibility to current master osmo-pcu (See also "Depends") Related: OS#5927 Depends: osmo-pcu.git I9effdcec1da91a6e2e7a7c41f95d3300ad1bb292 Change-Id: I709c27adaf09a6766cfde4d76d878626d30ebb3c
2023-08-31pcuif_proto: check confirm flag in struct gsm_pcu_if_pchPhilipp Maier4-9/+20
Since osmo-bsc uses RSL (with a propritary Ericsson RBS specific extension) to send a confirmed IMMEDIATE ASSIGNMENT messages via PCH, we can not just forward the MAC blocks into the paging queue without determining whether the MAC block is a PAGING message or an IMMEDIATE ASSIGNMENT message. the reason for this is that RSL uses two different message types (IMMEDIATE ASSIGNMENT COMMAND and PAGING COMMAND) to process IMMEDIATE ASSIGNMENT and PAGING messages. This means we have to look into the MAC block to make sure whether the message is a PAGING message or an IMMEDIATE ASSIGNMENT message. We also need to make sure that the confirm flag is properly executed. In the case of the IMMEDIATE ASSIGNMENT this means we have to include (confirm=true) or not include (confirm=false) the RSL_IE_ERIC_MOBILE_ID into the IMMEDIATE ASSIGNMENT COMMAND message. In the case of PAGING we directly echo a confirmation after sending the PAGING COMMAND via RSL when a confirmation is requested. Related: OS#5927 Depends: osmo-pcu.git Ia202862aafc1f0cb6601574ef61eb9155de11f04 Change-Id: I3d2842626b7e8325860ea3160c7d900d39e953a0
2023-08-30meas_feed: Increase wqueue max_len to 100 and make it vty-configurablePau Espin Pedrol3-1/+33
The previous amount of 10 messages may be small if the BSC is processing lots of measurements from lots of BTS connected to it. Increase it to 100 by default, and allow changing the write_queue length through the VTY. Related: SYS#6550 Change-Id: Ib2e3591498c038b8e59f3ad447ac1f65928d6da8
2023-08-29meas_feed: Refactor fd/wqueue lifecyclePau Espin Pedrol1-31/+34
The previous checks had several rough edges which may end up in unexpected behaviors, specially with fd=0 vs fd=-1. The new code is much more robust. Change-Id: I96b0b5c4654970ba1c3e2aecfa896e310063ab6f
2023-08-29ASCI: Fix uninitialized values in vgcs_fsm.c, found by gcc 13.1.1.20230714Andreas Eversberg1-2/+4
Change-Id: Iee4cc0fbf03e7ca4b53424f7f52ed9d599f96e49
2023-08-10pcuif_proto: get rid of _DT, _dt (Direct TLLI)Philipp Maier2-25/+25
Since we now no longer refer to TLLI when we mean "message ID" (msg_id), we should also remove the "_DT" / "_dt" suffix from structs and define constants and replace it with "_2" if required. Depends: osmo-pcu.git If641b507dcb6b176109c99dce7cff2a7561364b0 Change-Id: I628aaf19999a0004d0760d25ecd323cdbc0076f5 Related: OS#5927
2023-08-10pcuif_proto: remove unnecessary members from gsm_pcu_if_data_cnf_dtPhilipp Maier1-9/+0
The struct gsm_pcu_if_data_cnf_dt was added when the first experiments mit Ericsson RBS base stations were made. It is essentially a copy of gsm_pcu_if_data, where the mamber "data" was replaced with a member "msg_id" (which was originally called "tlli"). Since we didn't know back then which parameters we would still need at some later point we kept all the other parameters. However, to this day we never used the parameters below fn. Even fn was only used for logging purposes, but is now also unused. Let's remove all those unused members. (Since all removed members are at the tail of the struct, compatibility with other programs that use the PCUIF should not break.) Change-Id: I37845408edd96017b50559964c82b2cdc5e143a7 Related: OS#5927
2023-08-08pcuif_proto: rename tlli to msg_idPhilipp Maier5-21/+18
To confirm downlink IMMEDIATE ASSIGNMENT messages, we use the TLLI as an identifier and the related struct member is also called "tlli". Unfortunately this is misleading since the message identifier does not necessarly have to be a TLLI. It is just an implementation detail that osmo-pcu uses the TLLI as a message identifier. To make that clear, lets rename the tlli member (and variable and parameter names where it is passed on) to "msg_id". (Since this change only renames variables and struct members it will not break compatibility with other programs that use the PCUIF) Related: OS#5927 Depends: osmo-pcu.git I4a25039dfe329e68879bc68936e49c4b190625e6 Change-Id: Ifb3f257099b52c50e525768484f9e93282089d0f
2023-07-26fix send_assignment_complete(): proper SCE encoding for CSDVadim Yanitskiy1-19/+38
As stated in 3GPP TS 48.008, section 3.2.2.103, coding of the Speech Codec Element for the CSData Codec Type differs from coding for the actual speech codecs like FR/HR/AMR/etc. However, osmo-bsc currently encodes the "Speech Codec (Choosen)" IE regardless of the channel mode, be it GSM0808_CHAN_SPEECH or GSM0808_CHAN_DATA. This causes failures at the establishment stage of modem-to-modem data calls. Change-Id: I8b94c0292964f6d5f5ffa98ad8da03728f8bf6a0 Related: OS#6110, OS#4393
2023-07-21Select channel type by enum instead of three booleanAndreas Eversberg7-35/+52
struct lchan_activate_info and struct lchan_modify_info use an enum to define, if the channel type is for a normal channel, a VAMOS channel or a VGCS/VBS channel. Change-Id: I21167eb4192c02cd7b5e1574cddb382a3feaebe0
2023-07-21ASCI: Add assignment to a VGCS/VBS channelAndreas Eversberg4-4/+51
The assignment is triggered by the MSC by sending an ASSIGNMENT REQUEST with a group call reference. The reference is used to find the VGCS/VBS channel that belogs to the referenced call. The existing VGCS/VBS channel is reactivated. This will put the channel into a state where the MS can establish the link on it, to complete the assignment. The old connection is released by the MSC and assignment completion is handled by the VGCS FSM. Change-Id: Idaa864cd5ce4df6c3193494ce12d91523c104d89 Related: OS#4852