aboutsummaryrefslogtreecommitdiffstats
path: root/src/gsm/rsl.c
AgeCommit message (Collapse)AuthorFilesLines
2023-08-23Revert "rsl: Introduce new osmocom extension IE RSL_IE_OSMO_ABS_FRAME_NUMBER"Pau Espin Pedrol1-1/+0
This reverts commit 54b1b3be37ae863ddbdd2b9408ebdd98ac8470d8. osmo-bts is forwarding the msgbs as they come from lapdm to the RSL on the wire, which means we end up sending the osmocom-specific IEs on the wire, something which was not envisioned when adding this IE. Change-Id: Id9029ef378970322063478e9ce888daf335d6103 Related: OS#6142
2023-08-23Revert "lapdm: Append RSL_IE_OSMO_ABS_FRAME_NUMBER to RSLms msgs towards ↵Pau Espin Pedrol1-27/+0
upper layers" This reverts commit d981794113efef3cc1195cde82043c5c66937b11. osmo-bts is forwarding the msgbs as they come from lapdm to the RSL on the wire, which means we end up sending the osmocom-specific IEs on the wire, something which was not envisioned when adding this IE. Change-Id: I0ab0d5b545b4862e72eb1842edd07ca2e4955311 Related: OS#6142
2023-08-21lapdm: Append RSL_IE_OSMO_ABS_FRAME_NUMBER to RSLms msgs towards upper layersPau Espin Pedrol1-0/+27
This makes it possible to track GSM time in the upper layers. The existing RSL_IE_FRAME_NUMBER and RSL_IE_STARTNG_TIME cannot be used there, since those are 16bit fields containing Relative FN values. The IE needs to be added before the L3_INFO one, because user code usually assumes the msgb->l3 pointing to L3_INFO value extends until the end of the message, using msgb3_len(msg). Regarding having an extra IE at the middle, it's not a big problem since the libosmocore version submitting this commit to the upper layers is the same which will also be parsing it through rsl_tlv_parse() later on by the app. Related: OS#3626 Change-Id: Id62c18f49f270449067b25b7104eb8b47f1955ec
2023-08-21rsl: Introduce new osmocom extension IE RSL_IE_OSMO_ABS_FRAME_NUMBERPau Espin Pedrol1-0/+1
This will be used in RSLms to provide Absolute Frame Number information of the primitive indications being sent to upper layers, so that it's possible to track GSM time in the upper layers. The existing RSL_IE_FRAME_NUMBER and RSL_IE_STARTNG_TIME cannot be used there, since those are 16bit fields containing Relative FN values. Related: OS#3626 Change-Id: Ia28caa24dd141b1162b6e11500d753353fe6500d
2023-08-09cosmetic: lapdm: Fix typo in commentPau Espin Pedrol1-1/+1
Change-Id: I5cf9aea6ba072bd1ccb3e894c0a311844bcad8df
2022-08-09gsm: rsl: Define new osmocom extension TLV IE to pass Osmux CIDPau Espin Pedrol1-0/+1
This is similar to what we already do between BSC<->MSC to pass Osmux CID (GSM0808_IE_OSMO_OSMUX_CID). We now want to support Osmux between BSC and Osmocom BTS, hence add an extension IE which will be used in ipaccess CRCX messages to tell the BTS to use Osmux. Change-Id: I580fe99c01bc0a844d877994ec6cd954310e265d
2022-04-05jenkins: Validate gsm 08.58 IEs are added to tlv_definition2022q1Pau Espin Pedrol1-0/+2
It was recently found that several IEs which were added in the header file were not actually added to the tlv_definition, and hence the tlv parser failed to decode them. Let's make sure we don't foget to add new IEs in the future. Related: SYS#5915 Change-Id: Id8a679ca43eb0fcc4882780e9a95ec21c7f51972
2022-04-05rsl: Fix tlv_parse of IPAC_DLCX_IND messagePau Espin Pedrol1-0/+1
The IE was missing in rsl_att_tlvdef. Related: SYS#5915 Change-Id: Ib637197ef3508ec94aec05d08d4e6aa15ddea055
2021-12-14treewide: remove FSF addressOliver Smith1-4/+0
Remove the paragraph about writing to the Free Software Foundation's mailing address. The FSF has changed addresses in the past, and may do so again. In 2021 this is not useful, let's rather have a bit less boilerplate at the start of source files. Change-Id: I5050285e75cf120407a1d883e99b3c4bcae8ffd7
2021-10-01fix rsl_chan_nr_str_{buf,c}(): enlarge the buffer sizeVadim Yanitskiy1-3/+3
20 bytes is not enough for some VAMOS specific channel number values, so the resulting string representation gets truncated by snprintf(): expected: "VAMOS TCH/H(0) on TS4\0" actual: "VAMOS TCH/H(0) on T\0" Let's enlarge the buffers to 32 bytes. Change-Id: I68d839f4ab742cf56de34e7e22572a1163aec2da
2021-09-03gsm_08_58.h: Extend IPA Power Control Params IEs to pass C/I paramsPau Espin Pedrol1-0/+4
This commit adds new Osmocom specific IEs required to pass C/I related Power Control Parameters osmo-bsc => osmo-bts to be used by the MS Power Control Loop being implemented. Related: SYS#4917 Change-Id: Iffef0611430ad6c90606149c398d80158633bbca
2021-08-31rsl: add new RSL IE to signal temporary overpowerPhilipp Maier1-0/+1
To transfer the temporary overpower value from the BSC to the BTS, a new RSL IE (RSL_IE_OSMO_TOP_ACCH_CAP) is added. Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Related: SYS#5319
2021-05-26gsm_08_58.h: add Osmocom specific Bm/Lm CBITs for VAMOSVadim Yanitskiy1-0/+9
Change-Id: If33c1695922d110c0d2c60d5c0136caf2587194e Related: SYS#4895, OS#4941, SYS#5315, OS#4940
2021-05-26rsl: make rsl_dec_chan_nr() more readable, use RSL_CHAN_NR_MASKVadim Yanitskiy1-31/+23
Change-Id: I1650e3b02e79461e42499268fa8ed30bff667489
2021-05-19add RSL_IE_OSMO_TRAINING_SEQUENCENeels Hofmeyr1-0/+1
This IE is explained in the Abis manual in osmo-bts commit Ie583bd5969fdb45f772af198033e58d7c4077306 http://git.osmocom.org/osmo-bts/commit/?id=823cd529649b667af20bfa4e383255a8ed5931f1 Change-Id: I573c26b1431ee789e42f6fa620947b003c384dc0
2020-11-09gsm_08_58: add proprietary IE to signal Repeated ACCH CapabilityPhilipp Maier1-0/+1
3GPP TS 24.008, section 10.5.1.7 specifies a Repeated ACCH Capability bit in the Classmark 3 IE. Unfortunately, there is no way specified how the Repeated ACCH feature should be controlled on RSL level. Since it is not unusual that BTS/BSC vendors occassionally add proprietary IEs to different RSL messages we may pick this as a solution as well and add a propritary RSL_IE_OSMO_REP_ACCH_CAP IE, so that we can enable repeated FACCH/SACCH on the BTS side when we send RSL CHAN ACT or RSL CHAN MODE MODIFY messages. Change-Id: I61ea6bf54ea90bd69b73ea0f0f3dc19a4214207b Related: OS#4796 SYS#5114
2020-10-17rsl: rsl_chan_nr_str_buf(): use ABIS_RSL_CHAN_NR_CBITS_* macrosVadim Yanitskiy1-10/+10
Change-Id: I3cd745e180787ea5c22f2a13441d599e0220d81f
2020-07-31gsm_08_58: add missing RSL error cause codesPhilipp Maier1-0/+3
The define constants for the cause codes "BTS not equipped", "remote transcoder failure" and "notification overflow" are missing. Lets add them including value strings. Change-Id: Ic3e936da00bd256bae03867887851f1a4e30e218
2019-09-05gsm_08_58: Add vendor-specific Message Type for ETWS Primary WarningHarald Welte1-0/+1
Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Related: OS#4046, OS#4047
2019-06-04make all library-internal static buffers thread-localHarald Welte1-1/+1
We have a number of library-internal static global buffers which are mainly used for various stringification functions. This worked as all of the related Osmocom programs were strictly single-threaded. Let's make those buffers at least thread-local. This way every thread gets their own set of buffers, and it's safe for multiple threads to execute the same functions once. They're of course still not re-entrant. If you need re-entrancy, you will need to use the _c() or _buf() suffix version of those functions and work with your own (stack or heap) buffers. Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07
2019-05-27rsl: Add osmocom-specific extensions to RSL channel numbers for CBCHHarald Welte1-0/+10
We don't really *need* it in libosmocore as such, but the lack of having all osmocom extensions listed here lead to using overlapping definitions: 0x18 was used for dynamic PDCH on the Abis side, but also for CBCH on the L1SAP side. Let's list them all here to increase visibility in case anyone wants to extend this further... Related: OS#4027 Change-Id: I93e557358cf1c1b622f77f906959df7ca6d5cb12
2019-04-10Add _c versions of functions that otherwise return static buffersHarald Welte1-0/+13
We have a habit of returning static buffers from some functions, particularly when generating some kind of string values. This is convenient in terms of memory management, but it comes at the expense of not being thread-safe, and not allowing for two calls of the related function within one printf() statement. Let's introduce _c suffix versions of those functions where the caller passes in a talloc context from which the output buffer shall be allocated. Change-Id: I8481c19b68ff67cfa22abb93c405ebcfcb0ab19b
2019-04-03Add _buf() functions to bypass static string buffersHarald Welte1-13/+27
We have a number of static buffers in use in libosmo*. This means the related functions are not usable in a thread-safe way. While we so far don't have many multi-threaded programs in the osmocom universe, the static buffers also prevent us from calling the same e.g. string-ify function twice within a single printf() call. Let's make sure there's an alternative function in all those cases, where the user can pass in a caller-allocated buffer + size, and make the 'classic' function with the static buffer a wrapper around that _buf() variant. Change-Id: Ibf85f79e93244f53b2684ff6f1095c5b41203e05
2019-02-18rsl: Support PDCH in rsl_chan_nr_strPau Espin Pedrol1-0/+2
During log review lack of support for PDCH was spotted: scheduler.c:593 Configuring multiframe with PDCH trx=0 ts=4 rsl.c:1159 (bts=0,trx=0,ts=4,ss=0): chan_nr=UNKNOWN on TS4 type=0x00 mode=SIGNALLING rsl.c:741 (bts=0,trx=0,ts=4,pchan=TCH/F_TCH/H_PDCH as PDCH) (ss=0) PDTCH Tx CHAN ACT ACK Wireshark shows: 1100 0... = C-bits: PDCH (24) .... .100 = Time slot number (TN): 4 Change-Id: If6ed96c9eb0431eb24e2135634def61e0ea506ea
2017-11-13Fix/Update copyright notices; Add SPDX annotationHarald Welte1-1/+5
Let's fix some erroneous/accidential references to wrong license, update copyright information where applicable and introduce a SPDX-License-Identifier to all files. Change-Id: I39af26c6aaaf5c926966391f6565fc5936be21af
2017-07-30RSL: Add support for RSL_CHAN_OSMO_PDCH to rsl_dec_chan_nr()Harald Welte1-0/+3
Change-Id: Icc772285636c06e1075a89809f0ac379d7a0002c
2017-07-14LC15: Enable string for IPAC RSL direct retryMinh-Quang Nguyen1-0/+1
Change-Id: I3e69fba0e21e181d28baee90e95f57216f2617af
2017-07-14IPAC manufacture-defined measurement pre-processing definitionsMinh-Quang Nguyen1-0/+5
Change-Id: Ie1853697f4cff5ff98654fa1cae6c68e28a0076b
2017-06-23doxygen: unify use of \file across the boardNeels Hofmeyr1-8/+6
Considering the various styles and implications found in the sources, edit scores of files to follow the same API doc guidelines around the doxygen grouping and the \file tag. Many files now show a short description in the generated API doc that was so far only available as C comment. The guidelines and reasoning behind it is documented at https://osmocom.org/projects/cellular-infrastructure/wiki/Guidelines_for_API_documentation In some instances, remove file comments and add to the corresponding group instead, to be shared among several files (e.g. bitvec). Change-Id: Ifa70e77e90462b5eb2b0457c70fd25275910c72b
2017-06-23doxygen: enable AUTOBRIEF, drop \briefNeels Hofmeyr1-20/+20
Especially for short descriptions, it is annoying to have to type \brief for every single API doc. Drop all \brief and enable the AUTOBRIEF feature of doxygen, which always takes the first sentence of an API doc as the brief description. Change-Id: I11a8a821b065a128108641a2a63fb5a2b1916e87
2017-06-12update/extend doxygen documentationHarald Welte1-6/+32
It's a pity that even with this patch we still are fare away from having the whole API documented. However, at least we have a more solid foundation. Updates not only extend the documentation, but also make sure it is rendered properly in the doxygen HTML. Change-Id: I1344bd1a6869fb00de7c1899a8db93bba9bafce3
2016-07-23rsl: add rsl_act_type_name()Neels Hofmeyr1-0/+13
Change-Id: Ie90c76d8aef42d5e2c9be94f4b206d4994e305f8
2016-06-13add rsl_or_ipac_msg_name() for both standard and ip.access msg typesNeels Hofmeyr1-0/+11
Context: in osmo-bts, I want to look up an RSL message name in rsl_msgt_names and fall back to rsl_ipac_msgt_names if not found, because the IPAC PDCH ACT and DEACT messages are sent in a standard ABIS_RSL_MDISC_DED_CHAN. Change-Id: Ic9ba721a1469cf51aed97ab0f44a7fe055c94b1f Reviewed-on: https://gerrit.osmocom.org/231 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2015-12-13RSL: Add enum + TLV definitions for ip.access style embedded IEsHarald Welte1-0/+26
2013-06-11misc: Fix the spelling of frame in the RLM cause stringsHolger Hans Peter Freyther1-1/+1
2012-04-18doc: Fix the Doxygen section endingsSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-09-02RSL: add rsl_ipac_msg_name() for ipa specific RSL extension namesHarald Welte1-0/+36
2011-08-17RSL: add doxygen documentationHarald Welte1-3/+27
2011-06-23add value_string definitions for RSL message typesHarald Welte1-0/+76
2011-03-23include: reorganize headers file to include/osmocom/[gsm|core]0.2.0Pablo Neira Ayuso1-2/+2
This patch moves all GSM-specific definitions to include/osmocom/gsm. Moreover, the headers in include/osmocore/ have been moved to include/osmocom/core. This has been proposed by Harald Welte and Sylvain Munaunt. Tested with `make distcheck'. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2011-03-23This patch moves the GSM-specific functions to the new libraryPablo Neira Ayuso1-0/+371
libosmogsm which is provided by libosmocore. I have also moved generate_backtrace() to backtrace.c instead of gsm_utils.c, otherwise the timer and msgfile tests depend on libosmogsm. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>