aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2023-11-21pcu_l1_if: signal BTS model via PCUIFPhilipp Maier1-1/+13
At the moment the PCU has no way of knowing with which BTS model it is used with. However, some BTS models may require slightly different behaviour by the PCU, depending on which BTS model is used. So, lets add an additional bts_model field to struct gsm_pcu_if_info_ind in order to convey the exact BTS model to the PCU and store this information in struct gprs_rlcmac_bts Related: OS#6191 Change-Id: I48eb75f65ab54fdec41ef913e24c1f18cd4a4047
2023-10-23pcuif_proto: drop support for PCUIF v10Philipp Maier1-4/+0
We now use PCUIF v11 in the TTCN3 tests exclusively and also osmo-bts and osmo-bsc only support PCUIF v11. There is no longer a need to maintain a backward compatibility to PCUIF v10 in osmo-pcu. Related: OS#5927 Change-Id: I68a3f59d5c960ae3a4fbd74f9d4a894295cb9ed8
2023-09-29pcuif_proto: rename PCU_IF_FLAG_SYSMO to PCU_IF_FLAG_DIRECT_PHYPhilipp Maier1-1/+1
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 Change-Id: I29b7b78a3a91d062b9ea3cd72623d30618cd3f0b
2023-08-31pcu_l1_if: add support for PCU_IF_SAPI_AGCH_2 for PCUIF v.11Philipp Maier1-0/+13
When a downlink IMMEDIATE ASSIGNMENT message is sent through the PCH, an IMSI is always required in order to be able to calculate the paging group. However, when the downlink IMMEDIATE ASSIGNMENT has to be sent before the MS has completed the GMM ATTACH REQUEST, the IMSI is still unknown. In this case we may assume that the MS is still in non-DRX mode, which means it listens on all CCCH blocks (PCH and AGCH). This means we may send the IMMEDIATE ASSIGNMENT through the AGCH in this situation. This will also have the advantage that the scheduling through the AGCH will have less latency than the paging queue. Unfortunately the SAPI PCU_IF_SAPI_AGCH only supports sending whole MAC blocks, so it won't be possible to attach a TLLI that can be used for confirmation. To fix this, let's add a new SAPI_PCUI_IF_AGCH_2, that works similar as SAPI PCU_IF_SAPI_PCH_2 and use it to send the IMMEDIATE ASSIGNMENT through the AGCH. CAUTION: This patch breaks compatibility with current master osmo-bts and osmo-bsc (see "Depends") Related: OS#5927 Depends: osmo-bts.git I29858fa20ad8bd0aefe81a5c40ad77a2559a8c10 Change-Id: I9effdcec1da91a6e2e7a7c41f95d3300ad1bb292
2023-08-25pcuif_proto: add confirm flag to struct gsm_pcu_if_pchPhilipp Maier1-0/+3
At the moment we let OsmoBTS (or OsmoBSC) look into the MAC block we send and in case it is an IMMEDIATE ASSIGNMENT message, a confirmation would be sent back. Unfortunately, this method is not very practical, lets add a flag to struct gsm_pcu_if_pch to tell the receiving end that the MAC block (data) needs to be confirmed when it is sent. Related: OS#5927 Change-Id: Ia202862aafc1f0cb6601574ef61eb9155de11f04
2023-08-10pcuif_proto: get rid of _DT, _dt (Direct TLLI)Philipp Maier1-6/+6
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. Change-Id: If641b507dcb6b176109c99dce7cff2a7561364b0 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: Id6109264e4144c2ab7b8410d4087705d857cd4c9 Related: OS#5927
2023-08-10pcuif_proto: rename tlli to msg_idPhilipp Maier1-6/+6
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 Change-Id: I4a25039dfe329e68879bc68936e49c4b190625e6
2023-03-06bts: add IMMEDIATE ASSIGNMENT via PCH transmissionPhilipp Maier1-1/+14
In situations where the PCU is co-located to the BSC, the IMMEDIATE ASSIGNMENT for downlink TBFs must be sent via RSL and the BSC also must instruct the BTS to transmit the IMMEDIATE ASSIGNMENT via PCH instead of AGCH. Eventually the BSC must sent a confirmation message (follow-up patch) where the TLLI is used as an identifer. This new method will eventually replace the previous method that uses the MAC block as an identifier. To remain compatible with older versions of osmo-bsc, we will keep the old method until osmo-bts is migrated as well. This patch also requires new features to be added to the PCU socket interface the version number of the protocol is incremented from 0x0a to 0x0b. Version 0x0a will remain compatible and use the old method, while version 0x0b will use the new method introduced with this patch. Change-Id: I2a78651593323e8b9627c39918d949a33497b70f Related: OS#5198
2023-02-07pcuif_proto: move gsm_pcu_if_e1_ccu_ind into right placePhilipp Maier1-11/+11
The struct gsm_pcu_if_e1_ccu_ind is a bit misplaced. Lets move it next to the info indication strucht, to have it in the same order is it used in gsm_pcu_if Change-Id: I4afafd8e94dc0083974ff2f5b6d6be0f5574d0bf Related: OS#5198
2023-02-06pcuif_proto: rename PCU_IF_SAPI_AGCH_DT to PCU_IF_SAPI_PCH_DTPhilipp Maier1-1/+1
The current name of PCU_IF_SAPI_AGCH_DT is a bit misleading as it describes a method to send immediate assignment messages (normally AGCH) via the PCH. The name in the constant should reflect that correctly Change-Id: I6dfb8035134bc85a025415bd6c2f9c01987d9268 Related: OS#5198
2023-01-31pcuif_proto: add indication to communicate E1 parametersPhilipp Maier1-0/+13
osmo-pcu will also support GPRS via E1 timeslots in a BSC co-located setup. To avoid duplicate configuration the BSC has to communicate the E1 parameters (which TS, SS etc.) to the PCU. Lets add a new primitive to do that. Change-Id: Ia7928489130c1205b06bb9b10de0fb1461843301 Related: OS#5198
2022-12-14pcuif_proto: use define constant to specify nax number of trxPhilipp Maier1-1/+2
The array of trx in gsm_pcu_if_info_ind can hold trx 8 items. Lets use a define constant to specify the size of that array. Change-Id: I2b12fd562ff867188a37e701bba1ad5de904f9bd
2022-10-27pcuif_proto: cosmetic: rename gsm_pcu_if_info_ts to gsm_pcu_if_info_trx_tsPhilipp Maier1-2/+2
The struct gsm_pcu_if_info_ts is named "gsm_pcu_if_info_trx_ts" in osmo-bts. Lets rename it since the definition in osmo-bts is newer. Change-Id: If8b50181d3b609612aa8433b635052aadddd3484
2022-10-27pcuif_proto: cosmetic: rename struct member "h" to "hopping"Philipp Maier1-1/+1
struct gsm_pcu_if_info_ts has a struct member "h", which controls frequency hopping. This struct member is named "hopping" in osmo-bts, so lets rename it here as well to be consistent. Change-Id: I3156b39cc91da07ee3f97e8c8be60fc989cf112b
2021-09-13Support Neighbor Address Resolution over PCUIF IPA multiplexPau Espin Pedrol1-0/+28
While NACC was initially developed, it became clear there was need for a way to interact PCU<->BSC in order resolve ARFCN+BSIC into CGI-PS for later RIM usage. Hence, this resolution was first (until today) implemented using an out of bands RPC system using the CTRL interface, which required specific config to be written and matches in osmo-pcu and osmo-bsc VTY (ip+port of the CTRL interface to use). However, this has several shortcomings: * As explained above, specific configuration is required * Since recently, we do support BSC redundancy in osmo-bts. Hence the BTS may switch to a BSC other than first one. If that happened, that'd mean the CTRL interface would still point to the initially configured one, which may not be the same currently serving the PCU. During recent development of ANR related features, a similar need for PCU<->BSC was required, but this time it was decided to extend the IPA multiplex of the Abis OML connection to pass PCUIF messages, transparently forwarded to each side by the BTS. This has the advantage that connection PCU<->BTS is handled by BTS and both sides send messages transparently. Let's switch by default to using this new interface, while still maintaing the old way for a while (announcing them as deprecated) to avoid breaking existing deployments until they are upgraded to new versions of osmo-pcu and osmo-bsc. Related: SYS#4971 Change-Id: I6ad33c7ab10202840cf804dea9ba595978d0e920
2021-06-25pcuif_proto.h: Add new container messagePau Espin Pedrol1-0/+10
Related: SYS#5303 Change-Id: Ib6c7bf5ca5a06186a71ec50cfc1a91a5c9b01d9c
2021-06-22PCUIF protocol: add message definition for interference reportVadim Yanitskiy1-0/+10
Change-Id: I4b5a4c25e984f9262f0afd30f9671f150edee20f Related: SYS#5313, OS#1569
2020-10-13Rework NS configuration over the info indicationAlexander Couzens1-5/+7
Add support of the second NSVC in the info indication. Add support to update a previous NS configuration. Allow to update of a NS-VC while the NSE is still available over the second. Depends-on: I917f25ebd1239eae5855d973ced15b93731e33a0 (libosmocore) Depends-on: I3a0cd305fd73b3cb9ec70246ec15ac70b83e57f2 (libosmocore) Depends-on: I5a2bb95d05d06d909347e2fb084a446ead888cb3 (libosmocore) Depends-on: I54f110acc3acccb362f6e554324d08cc42b7c328 (libosmocore) Depends-on: Ia00753a64b7622a0864341f51ea49b6963543755 (libosmocore) Depends-on: Ic8f6f8aca10da23a18fab8870be7806065a34b47 (libosmocore) Depends-on: I5f67e6a9bf4cb322bd169061fee0a528012ed54d (libosmocore) Change-Id: I589ebaa2a2b7de55b7e4e975d8fd6412dd5f214b
2020-09-22pcuif_proto: version 10: add support for IPv6 NSVCsAlexander Couzens1-1/+11
Introduce a address_type in the NSVC configuration pass the given protocol. The remote_ip is network byte order, the default encoding for in_addr and in6_addr. Change-Id: Ia0852f9f4395f1248b39363ef90f6f5673b24e2f Related: SYS#4915
2020-09-22pcuif_proto: version 10: add frequency hopping parametersVadim Yanitskiy1-3/+12
Change-Id: I6863830883d90954006a7126c22d348aa2a83271 Related: SYS#4868, OS#4547
2020-09-16Revert "pcuif_proto: version 0xa: add support for IPv6 NSVCs"Alexander Couzens1-12/+2
This reverts commit 38aaa10ed494f788be79aa70a4892f22cd8e4bfa. It was to early because the frequency hopping wasn't ready to be merged. Change-Id: Ibf055d5adfd9bffaaf51cb8468c79be597467e0f
2020-09-15pcuif_proto: version 0xa: add support for IPv6 NSVCsAlexander Couzens1-2/+12
Introduce a address_type in the NSVC configuration pass the given protocol. The remote_ip is network byte order, the default encoding for in_addr and in6_addr. Change-Id: If26958d5b584973dca79159cf9e7f3f266519ce9
2019-11-17pcuif_proto.h: extend RACH.ind with TRX / TS numbersVadim Yanitskiy1-0/+2
Since there can be multiple PDCH channels configured on different timeslots, different TRXes, and BTSes, the PTCCH/U handling code in OsmoPCU needs to know the exact origin of a given RACH.ind. Otherwise, it is not known which subscriber originated a given PTCCH/U indication, and hence it is impossible to send PTCCH/D Timing Advance notification properly. Fortunately, we can extend the RACH.ind message without even bumping the protocol version, because every single PDU has a fixed size defined by the largest message - INFO.ind. In case if the actual message payload is smaller, the rest is filled with a constant padding byte (0x00). Older versions of OsmoPCU will consider the new fields as padding, while the messages from older OsmoBTS versions will always have both fields set to 0x00. Since C0/TS0 cannot be configured to PDCH, this can be easily detected on the other end. Change-Id: If209001885ffb14b64a8e808df3700d85a4b2ef9 Related: OS#1545
2019-09-14Forward ETWS Primary Notification to MSOliver Smith1-0/+9
Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36
2019-03-27Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGPHarald Welte1-0/+9
As specified in 3GPP TS 03.60 Section 16.2.1 and 44.018 Section 3.4.15, a Class B MS is sending a "RR GPRS SUSPEND REQ" via a DCCH to the BTS if it wants to suspend GPRS services. As of Change-Id I3c1af662c8f0d3d22da200638480f6ef05c3ed1f, OsmoBTS forwards this via the PCU socket, so we need to pick it up and send it via BSSGP to the SGSN. Change-Id: I7b4beb413a6f974373a404b5a11c44d86ba695d3 Closes: OS#2249
2019-02-14Don't install pcuif_proto.h headerMax1-1/+1
Both OsmoBTS and OsmoBSC use their own copies of this header nowadays so we can simplify our installation slightly by making it local only. Change-Id: I4a87395d4ab7212fe2fc055dae0a737e10d20c69
2018-03-11implement support for 3-digit MNC with leading zerosNeels Hofmeyr1-2/+4
Receive the mnc_3_digits flag from the PCU interface. Bump the PCU interface to 9. This is one part of the three identical pcuif_proto.h patches: - I49cd762c3c9d7ee6a82451bdf3ffa2a060767947 (osmo-bts) - I787fed84a7b613158a5618dd5cffafe4e4927234 (osmo-pcu) - I78f30aef7aa224b2e9db54c3a844d8f520b3aee0 (osmo-bsc) Add 3-digit flags and use the new RAI and LAI API from libosmocore throughout the code base to be able to handle an MNC < 100 that has three digits (leading zeros). Depends: Id2240f7f518494c9df6c8bda52c0d5092f90f221 (libosmocore), Ib7176b1d65a03b76f41f94bc9d3293a8a07d24c6 (libosmocore) Change-Id: I787fed84a7b613158a5618dd5cffafe4e4927234
2018-02-28pcuif_proto: add version 8 featuresAlexander Couzens1-1/+19
Add PCU_IF_MSG_DATA_CNF_DT and PCU_IF_SAPI_AGCH_DT to bring the pccif_proto into sync. Both commands are required to support the rb11 with an osmo-bsc co-located pcu. Change-Id: Ieaf151447e5556b911be7e2483b7c154fc5ec42e
2018-02-28pcuif_proto.h: fix whitespaces and indentionAlexander Couzens1-5/+5
Change-Id: I290967346af4e2707cfdfb62dccaccd43d195443
2017-08-09Add pcu-socket vty configPau Espin Pedrol1-0/+2
osmo-bts already supports configuring a different path for the bts<->pcu socket by using the 'pcu-socket' config field. Change-Id: I9b3e1171da467519750b201849ec892a1e318129
2017-03-17Support sending OML Alerts via BTSMax1-0/+13
* extend BTS <-> PCU protocol with TXT messages * use it to implement OML alerts support * use it to implement version message * add function to transmit both of them them * send alerts for internal encoding problems as an example * send version when BTS socket is connected Note: requires corresponding change If57459c0610f2c7b36d599b13087c8deef8bdd9e in libosmocore. Related: OS#1614, 1615 Change-Id: If4ea5b3f7409df2fb030681ad468df6b711790a7
2016-11-17Install the pcuif_proto.h header fileHarald Welte2-0/+162
So far, we used to keep a copy of the header file around in both osmo-pcu and osmo-bts projects. Before we start introducing a third copy in openbsc, let's have the osmo-pcu install the header file and make the other programs use that. Change-Id: I60976c9be5488256d1ff55fdc5aa548e3705400d