aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx
AgeCommit message (Collapse)AuthorFilesLines
2024-02-17Fix license headers.Harald Welte12-12/+12
We have licensed the code under GNU Afffero Public License, and state that in the first paragraph as well as in the link to the license. However, a paragraph in the middle stated "see the GNU General Public License", which is somewhat misleading. Let's fix that. Change-Id: I37e503b195fe43e1da42c080900504ca8e682e76
2024-01-23osmo-bts-trx: add test VTY command to send arbitrary TRXC messagesVadim Yanitskiy3-3/+41
Change-Id: Iabc9b702e5f1513187e24f45d9ffe06ea940c3ec
2023-12-06Transmit invalid AMR speech blocks instead of dummy FACCHAndreas Eversberg2-8/+36
Every BTS needs to have some graceful handling for the scenario where it is time to send out a speech frame on TCH DL, but there is no frame to be sent. One possible solution is to transmit dummy FACCH, but this option is unattractive for TCH/AHS where FACCH displaces two speech frames rather than one. A more elegant solution is to emit a speech frame that is bad, causing the MS receiver to declare a BFI condition to trigger substitution and muting procedure. A bad frame is generated by gsm0503_tch_{afs,ahs}_encode() by setting the payload length to 0. Depends: libosmocore.git I82ce2adf995a4b42d1f378c5819f88d773b9104a Related: OS#6049 Change-Id: I056f379715c91ad968f198e112d363a9009dc1c3
2023-11-14osmo-bts-trx: eliminate ul_bursts_prev, use the primary bufferVadim Yanitskiy1-8/+6
When adding support for Circuit Switched Data calls, we had to enlarge the burst buffer size to accommodate bits for a maximum of 24 bursts. Let's take advantage of this by utilizing the currently unused part of the Uplink burst buffer for storing bits of previously decoded blocks. This eliminates the need to allocate additional memory for SACCH. Change-Id: I15047cd1df4476054b36f05616e41f5297d9bfe5 Related: SYS#5114, OS#4794, OS#4795, OS#4796
2023-11-14osmo-bts-trx: use BPLEN macro instead of magic numbersVadim Yanitskiy1-3/+3
Change-Id: I7d89b2e50c7eeb54b734c4959eeeb1c63a51a315
2023-11-14osmo-bts-trx: add_sbits(): simplify, improve coding styleVadim Yanitskiy1-7/+3
Change-Id: I518a8ea268a9a6d48b04c291a03e5efbed5f571d
2023-11-10osmo-bts-trx: tx_tch[fh]_fn(): fix sending idle CSD framesVadim Yanitskiy2-20/+44
In accordance with 3GPP TS 44.021, sections 8.1.6 and 10.2.3, the transmission of idle frames to the DTE is mandated when no data is received from the radio interface. An idle frame has all data, status, and E-bits to binary '1' (excluding the alignment pattern). This requirement is currently implemented for the Uplink, see function csd_v110_rtp_encode(). However, 3GPP TS 44.021 does not explicitly specify whether the same rule is applicable to the Downlink, perhaps assuming a continuous stream of bits on the CSD-over-TDM link. Currently, we transmit a sequence of binary '0' on the Downlink instead of idle frames. * In non-transparent (RLP) mode, whether all bits in a block are set to binary '0' or '1' has no impact, as both scenarios lead to an incorrect FCS. * In transparent sync mode, any filling be it binary '0' or '1' is perceived as incorrect or unexpected. * In transparent async mode, it is more logical to transmit a sequence of binary '1,' which will be interpreted as a sequence of stop bits. Let's align the Downlink with the Uplink for consistency and transmit idle frames when no data is available for transmission. The modified 60-bit V.110 frames exclude the alignment pattern, so sending a sequence of binary '1' is enough to achieve the intended goal. Change-Id: I0b25cfac41b6d8dcf3bfd9d46d51a9665f1b047a Related: OS#1572
2023-11-10osmo-bts-trx: tx_tch[fh]_fn(): rework generation of dummy FACCHVadim Yanitskiy2-28/+43
Even though it might have a somewhat higher performance impact, opting for the common code path for FACCH by allocating a msgb on heap is more favorable for both readability and maintainability. This choice is preferred over directly calling gsm0503_tch_fr_encode() and then using a 'goto' statement. A similar strategy will be adopted in an follow up patch for CSD. Change-Id: I67cb5c6f4d15149996e17c78a59d66db396da8ff Related: OS#1572
2023-11-09osmo-bts-trx: tx_tch[fh]_fn(): use BUFPOS macro everywhereVadim Yanitskiy2-3/+3
For the sake of consistency. Change-Id: I16ce4c979c5b44fd67324eb2ed3da28a4b78221b Related: OS#1572
2023-10-27ASCI: Enable voice group/broadcast call feature at osmo-bts-trxAndreas Eversberg1-0/+2
Related: OS#4851 Change-Id: I3a2e3f94812cec0bbf7e3674172437fa359d014c
2023-10-27ASCI: Add control of uplink access to osmo-bts-trxAndreas Eversberg1-4/+17
An MPH-INFO message is used to turn detection of uplink access bursts on or off. This is required for voice group/broadcast channels. Related: OS#4851 Depends: libosmocore.git Ibd6a1d468a70126a8f67e944fcb916969cc3c36b Change-Id: I9045437d52984b7abe00fbc815d7f83c62c0fb5a
2023-10-25trx_if: Allow calling trx_if_flush/close from within TRXC callback (v2)Pau Espin Pedrol2-7/+31
- If the llist is flushed during rx rsp callback, when the flow is returned to trx_ctrl_read_cb() it would access tcm which was in the llist and end up in use-after-free. - We need to store state on whether code path is inside the read_cb in order to: -- Delay transmission of new message if callback calls trx_if_flush() followed by trx_ctrl_send(), since the trx_ctrl_send() at the end of trx_ctrl_read_cb would retransmit it again immediatelly. -- Avoid accessing tcm pointer if the callback called trx_if_flush(), since it has been freed. Related: OS#6020 Change-Id: Ibdffa4644aa3a7d219452644d3e74b411734f1df
2023-10-25Revert "trx_if: Allow calling trx_if_flush/close from within TRXC callback"Pau Espin Pedrol1-9/+6
This reverts commit 4444262a6ab1e1e231ea81c4ec990f1a1f571a1f. This commit introduced several side effects: - tcm is left out of the l1h->trx_ctrl_list and hence won't be ever retransmitted. - Since tcm is removed before rsp callback, the llist may become empty and if somehwere in the rsp callback a new message is enqueud it will be sent immediatelly, and will be retransmitted again when trx_ctrl_read_cb() calls trx_ctrl_send() at the end. Change-Id: Ideb2d08ac8a2902bceeabfb055c59c9a13dbe3c0 Related: OS#6020
2023-10-03osmo-bts-trx: rx_tchh_fn(): fix copy-pasted commentVadim Yanitskiy1-2/+2
Change-Id: Idba18c217187f7aacc2fcb0c330814f3802a9306
2023-09-21oml: implement handling of NM_ATT_IPACC_SUPP_FEATURESVadim Yanitskiy1-0/+24
Change-Id: I88c6c6af18be054bd152832e60c8afbbd16098a3 Depends: libosmocore.git Ia4208e10d61843dd6ae77398f6624c918dc81ea4 Depends: libosmocore.git I85316af9b57e8113077305798cb2d82a24e48e00
2023-09-19Move trx->rsl_link to trx->bb_transc.rsl.linkPau Espin Pedrol1-1/+1
The RSL link is configured/set up by the BBTRANSC NM object, hence move it to the appropiate substruct. Related: OS#5253 Change-Id: I62937cbd81c27274b9f5f70d454d5319a6898c7b
2023-09-07bts-trx: Fix CCCH not enabled if BS_AG_BLKS_RES!=1 is provided by BSCPau Espin Pedrol1-7/+12
Other bts models like sysmo,lc15,oc2g properly handled rel_act_kind=LCHAN_REL_ACT_REACT under the bts_model_lchan_deactivate() implementation, but bts-trx didn't. As a result, when BCCH_INFO(SYSINFO_TYPE_3) coming from BSC (RSL) containing a different BS_AG_BLKS_RES triggers CCCH re-activation, it would only deactivate it but not re-activate it. That means no SIs were being scheduled if bts was configured with "channel-descrption bs-ag-blks-res 2" in osmo-bsc.cfg, and phones would not see the cell. Related: OS#1575 Change-Id: I61e1681fbaa2c993b529d58b581c99166b62bda3
2023-07-21ASCI: Enable UPLINK ACCESS on various BTS modelsAndreas Eversberg1-1/+3
UPLINK ACCESS (RACH on TCH) was enabled for osmo-bts-sysmo only. Now it is also enabled for: * osmo-bts-lc15 * osmo-bts-oc2g * osmo-bts-trx * osmo-bts-virtual Change-Id: Iae0db6bfcf6629c114436a79648e832c82835abe
2023-07-21osmo-bts-trx: document/clarify the meaning of BUFMAX=24Vadim Yanitskiy1-1/+3
Change-Id: I95d4e4ee3938cfabc1695959cc82a1efbbf0d7ed Related: OS#1572
2023-07-21osmo-bts-trx: tx_tch[fh]_fn(): fix NULL pointer dereferenceVadim Yanitskiy2-5/+10
It may happen that only FACCH is available for transmission, so msg_tch would be NULL in this case. Check it before dereferencing. Change-Id: I0e7d5634b5223bc246badbb8e94b620c967ab121 Related: OS#1572
2023-07-15osmo-bts-trx: change 'Received bad data' back to LOGL_DEBUGVadim Yanitskiy1-1/+1
In f2c902c2 I accidentally bumped the logging level for PDCH decoding errors to LOGL_NOTICE, making osmo-bts-trx spam the logging with hundreds of 'Received bad data' messsages. Revert this. Change-Id: Idb963f1a779dfa172825f6d481740cb0c4165485 Fixes: f2c902c2 "osmo-bts-trx: unify and enrich 'Received bad data' logging"
2023-07-13osmo-bts-trx: rx_tch[fh]_fn(): combine rc-checking ifsVadim Yanitskiy2-8/+2
Change-Id: I7bb341867e362bf2061608ff54c3596ad209af90
2023-07-13osmo-bts-trx: rx_tchf_fn(): move compute_ber10k() aboveVadim Yanitskiy1-2/+2
... for the sake of consistency with rx_tchh_fn(). Change-Id: Ie331da78eb3831e35d255583466e0d09b093b132
2023-07-13osmo-bts-trx: unify and enrich 'Received bad data' loggingVadim Yanitskiy5-27/+14
Change-Id: I7902f382e1d83ef9ad2cf6f92e31eeb16f6b797c
2023-07-13osmo-bts-trx: visualize rx_tch[fh]_fn() functionsVadim Yanitskiy2-2/+4
Change-Id: I373dbbc3d427858f76d07ff85633e07fe2600770 Related: OS#1572
2023-07-13osmo-bts-trx: implement TCH/F2.4 support for CSDVadim Yanitskiy1-8/+5
Change-Id: I31c59a78a362986b0cd1bc6650c325ee9f206519 Depends: libosmocore.git I4685376c8deb04db670684c9ebf685ad6fc989fa Related: OS#1572
2023-07-13osmo-bts-trx: implement FACCH/[FH] support for CSDVadim Yanitskiy2-57/+143
The FACCH/[FH] coding rules are specified in 3GPP TS 45.003, sections 4.2 and 4.3. The key difference is that unlike with speech channels, FACCH does not replace data frames completely, but disturb a fixed amount of bits fom them. This is why we need to use separate gsm0503_tch_[fh]r_facch_{en,de}code() API for data channels. Change-Id: I4c6736e84c271240d457998de688c0baf59fe578 Depends: libosmocore.git I0c7a9c180dcafe64e6aebe53518d3d11e1f29886 Related: OS#1572
2023-07-13osmo-bts-trx: implement CSD scheduling supportVadim Yanitskiy6-53/+211
* enlarge the maximum burst buffer size to 24 * (2 * 58) bytes; * enlarge per-l1cs Uplink burst mask to hold up to 32 bits; * enlarge per-l1cs Uplink meas ring buffer to 24 entries; * add new meas modes: SCHED_MEAS_AVG_M_{S22N22,S24N22}; Change-Id: I08ffbf8e79ce76a586d61f5463890c6e72a6d9b9 Depends: libosmocore.git Ib482817b5f6a4e3c7299f6e0b3841143b60fc93d Related: OS#1572
2023-07-13osmo-bts-trx: pull the AMR header in tch_dl_dequeue()Vadim Yanitskiy2-12/+17
The goal is to unify encoding functions in tx_tch[fh]_fn(), so that in a follow-up change adding CSD we could use a switch statement. Change-Id: I15318e497b236128f779769e4fa99f307ea431ea Related: OS#1572
2023-07-06scheduler: unify argument names/order for _sched_compose_*_ind()Vadim Yanitskiy4-22/+38
This commit aims to make the argument naming/ordering more consistent: * rename l2/l2_len and tch/tch_len to data/data_len; * common arguments first (consistent ordering), specific last. Change-Id: I3d8c90b82f2a55b0c5c2d6b4efb8fd962508534d Related: OS#1572
2023-06-28ECU in UL path: move it from trx model to l1sapMychaela N. Falconia2-56/+4
With this change the application of ECU in the uplink path becomes consistent across all OsmoBTS models, enabled or disabled per vty config setting "rtp internal-uplink-ecu". An additional behavioral change from the previous trx-model-only implementation is that ECU insertion is now done after the link quality check in l1sap, thereby fixing the bug where this quality check would sometimes suppress ECU output and replace it with BFI markers in RTP. In the new implementation when the internal ECU is enabled and available for the selected codec (currently FRv1 only), the RTP output will gap (standard representation of BFI in RTP) only during DTXu pauses as indicated by a received SID frame (either valid or invalid), and the SID frame that triggers the switch from ECU mode into pause mode is reliably emitted in RTP. Related: OS#6040 Depends: I3857be84bba12aaca0c2cca91458b7e13c5a642a (libosmocore) Change-Id: Iac577975c9ab50cb8ebbc035c661c1880e7cecec
2023-06-28ECU in UL path: move state alloc/free to l1sapMychaela N. Falconia1-20/+0
In preparation for moving the now-optional application of ECU in UL path from osmo-bts-trx model-specific code to the common layer, move ECU state allocation and freeing from trx model to l1sap. Related: OS#6040 Change-Id: Ic98a2eb26b5a99bc4a89ad07ae87c9a86b921418
2023-06-28ECU in UL path: make it optional per vty configMychaela N. Falconia2-3/+15
Current osmo-bts-trx includes a provision for invoking ECUs from libosmocodec in the UL path from the channel decoder to the RTP output. This pre-existing implementation is counter to the spirit of 3GPP specs (a BTS should merely mark BFI conditions in its UL output, as opposed to actively modifying the frame stream with an ECU), inconsistent between different osmo-bts models (only in -trx and no others), and inconsistent even within osmo-bts-trx itself, where the link quality check in l1sap will sometimes suppress the output of the ECU - a quirk which the designers of the current mechanism most certainly did not intend. The solution decided upon in OsmoDevCall on 2023-06-21 is to make this ECU optional per vty config, and move it from the trx model to the common layer to resolve the inconsistencies. Implement the first part: make the ECU application optional per vty config. For backward compatibility with existing deployments, the new "rtp internal-uplink-ecu" setting is enabled by default on osmo-bts-trx but not on any other models. Related: OS#6040 Change-Id: I0acca9c6d7da966a623287563e0789db9e0fae8e
2023-06-06osmo-bts-trx: remove redundant memset() on receipt of NOPE.indVadim Yanitskiy4-8/+3
In all Uplink lchan handlers we do memset() the Rx burst buffer on bid=0 and there is no need to do that again for NOPE.ind. Change-Id: Ia6803b8606d86bd2d011fe21f7a540d2115aa654
2023-06-03osmo-bts-trx: fix recent regression in Tx lchan handlersVadim Yanitskiy4-7/+41
In my recent patch a0770250, among with the new burst buffer allocation/release strategy, I introduced a regression: /* send burst, if we already got a frame */ - if (br->bid > 0) { - if (!*bursts_p) - return -ENODEV; + if (br->bid > 0) goto send_burst; - } We used to allocate the burst buffers in Rx/Tx lchan handlers, and release them in case of an error, e.g. when no block is available for transmission. In the case of Tx burst buffers, the state of Tx burst buffer was additionally used to check if we have a valid Tx block for transmission, as can be seen in the code snippet above. As a side effect of my patch, osmo-bts-trx now keeps transmitting 3 out of 4 bursts (br->bid > 0) of the last valid block, until the next valid Tx block is available for transmission. This problem was not affecting the CS domain, where it's expected to have a more or less constant pressure of Tx blocks. However it did show up in the PS domain, where in the absence of active TBFs the PCU may omit DL blocks. Add a new field 'dl_mask' to struct l1sched_chan_state, similar to the existing 'ul_mask', and use it to reconstruct the removed logic. Change-Id: I4538a8fe6b29f8d6eca33ad27d4a9852e3a3e86c Fixes: a0770250 "osmo-bts-trx: alloc/free burst buffers in trx_sched_set_lchan()"
2023-06-02osmo-bts-trx: tx_pdtch_fn(): use msgb_l2len()Vadim Yanitskiy1-3/+3
Change-Id: If3c2d9d93399411d4466779ce8e8987843b521b1
2023-05-31trx TCH DL: transmit invalid speech blocks instead of dummy FACCHMychaela N. Falconia2-2/+36
In speech TCH operation, there will always be times when a speech frame needs to be transmitted on the downlink, but there is no frame available to transmit (gap in the incoming RTP stream), or the logic of DTXd says that no frame shall be transmitted at this FN, but we are not doing physical DTXd. Previous osmo-bts-trx code sent dummy FACCH during such conditions, but this approach is bad for TCH/HS where we would like to transmit good speech frames or speech frame gaps one 20 ms frame at a time, rather than take out pairs of frames for dummy FACCH/H. Other BTS models (sysmoBTS PHY) send out invalid speech blocks with inverted CRC3 under the conditions in question - do the same in osmo-bts-trx. The present change modifies osmo-bts-trx TCH DL frame gap behavior only for TCH/FS, TCH/HS and TCH/EFS; for all other channel modes, including AMR speech, the previous behavior of sending dummy FACCH is left unchanged. Depends: Iade3310e16b906efb6892d28f474a0d15204e861 (libosmocore) Change-Id: I78106802a0aa4af39859c75d29fe0e77037899fe
2023-05-30osmo-bts-trx: tch_dl_dequeue(): do not drop CSD framesVadim Yanitskiy1-2/+2
Change-Id: I382b9994db01d58515c89c8de6250cd3239b8861 Related: OS#1572
2023-05-27osmo-bts-trx: use direct pointer to chan_state->{ul,dl}_burstsVadim Yanitskiy4-56/+56
There is no more need to access the UL/DL buffers via pointer to pointer thanks to the previous patch [1] moving the memory management routines out of the logical channel specific Rx/Tx handlers. Change-Id: Ib1e8e86ac60a7ac9b0415ef66b609eaa33443c19 Related: [1] c45e03726af8a2b46b7166b3c47bc666ba933a69
2023-05-27osmo-bts-trx: alloc/free burst buffers in trx_sched_set_lchan()Vadim Yanitskiy4-112/+19
It's a lot cleaner if the Rx/Tx burst buffers are allocated and free()d in one place rather than in each lchan handler individually. Allocate the buffer(s) during the lchan activation, free() on deactivation. Regardless of lchan type, allocate the maximim size of 4 * (3 * 2 * 58) bytes, which is sufficient to store 4 8PSK modulated bursts. This way we reduce the load on the memory allocator at the cost of memory consumption, what should not be a big problem. Change-Id: I6a5f76023fc492786076a63016f81285b3576c33 Depends: libosmocore.git I1c38ccc2b64ba9046bb3b1221d99cc55ec493802 Related: OS#1572
2023-05-27all models, HR1 codec: select RTP output format via vty optionMychaela N. Falconia1-0/+6
The new vty option "rtp hr-format (rfc5993|ts101318)" selects the RTP output format to be used for HR1 codec, consistently across all models. The default is set to match legacy behavior: ts101318 on osmo-bts-{lc15,oc2g,sysmo} and rfc5993 on osmo-bts-trx. On models where no legacy behavior is applicable, the default is set to rfc5993 as a forward-looking measure - see OS#6036. Closes: OS#5688 Change-Id: I168191874a062429a57904511a1e89e3f588732e
2023-05-27trx, HR1 codec: change UL PHY output format to TS 101 318Mychaela N. Falconia1-8/+5
As a preliminary step before making the RTP output format from OsmoBTS configurable with a vty option, we need to make the internal format consistent across all models. The "natural" output from a "pure" GSM 05.03 channel decoder is TS 101 318, which is also the output format of all currently supported proprietary PHYs - adopt it as our internal format. Related: OS#5688 Depends: I6e75ca95409b5c368e8e04d0e0aba41e0331d9e6 (libosmocore) Change-Id: I41bce6226964975cb85aea89e4c0f9e11e4929b8
2023-05-26trx: fix HR1 codec breakage from format changeMychaela N. Falconia1-1/+1
As of commit 1160cabefb23, the common layer of osmo-bts accepts both TS 101 318 and RFC 5993 formats for HR1 codec, and always passes the more basic TS 101 318 format to the BTS model. Unfortunately, osmo-bts-trx has model-specific code checking the payload length that was overlooked in that patch, causing breakage. Fix that bug. (The actual channel encoding function in libosmocoding already accepts 14-byte payloads.) Related: OS#5688 Fixes: I702e26c3ad5b9d8347e73c6cd23efa38a3a3407e Change-Id: I0e251faeffb76d2604a4100c848141d239d1d86f
2023-05-19trx: remove model-specific BFI packet formatsMychaela N. Falconia2-53/+10
As detailed in OS#6033, osmo-bts-trx was emitting its own invented packet formats to signal BFIs (bad frame indications), different from the vty-configured ("rtp continuous-streaming" or not) BFI signaling method implemented in l1sap and used by all other BTS models. In the case of EFR codec, the made-up BFI format previously used by osmo-bts-trx caused EFR operation to be broken: a spec-compliant EFR decoder on the receiving end of the RTP stream (a network transcoder or the MS on the other GSM call leg) would receive and decode garbage EFR frames of 244 zero bits instead of invoking the spec-defined bad frame handler, causing bad audio artifacts for the user. The same situation would also happen for FR1 codec, but the application of ECU masked this bug: with the ECU invoked in the UL output path, the BFI emitting code for FR1 never executed. In the case of AMR and HR1 codecs, the model-specific BFI packet format of osmo-bts-trx is currently harmless, but: * The extra code adds unnecessary complexity; * BFI packet formats are inconsistent between osmo-bts-trx and other OsmoBTS models; * BFI format is even inconsistent within osmo-bts-trx itself, as under certain conditions the common code in l1sap will override the UL payload from the BTS model and emit its own form of BFI instead. Fix all of the above by removing trx model-specific BFI formats for all codecs, and let l1sap handle all BFIs. Related: OS#6033 Change-Id: I8f9fb5b8c5b2cad4b92ac693c0040779f811981a
2023-05-19copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbHVadim Yanitskiy5-5/+5
Change-Id: Ib0bed7a4196305e2b413ca657f4fa8fb6f0d39f6
2023-05-10all models, FR/EFR UL: change SID check to _is_any_sid()Mychaela N. Falconia1-2/+2
In all OsmoBTS models in FR and EFR speech modes, as the UL traffic frame stream is passed from the PHY to l1sap and ultimately to RTP output, all passed frames are checked for SID. The Boolean result of this SID check is used in two ways: * RFC 3551 instructs that the Marker bit in the RTP header SHOULD be set in the first packet of a talkspurt after a period of silence suppression. OsmoBTS implements this recommendation by setting the Marker bit in the first RTP-transmitted non-SID UL packet that was preceded by SID. * In osmo-bts-trx only, this same SID check serves a second purpose: handling of BFI conditions depends on whether or not the last received good traffic frame was a SID. If a BFI condition is received after a non-SID traffic frame, the ECU is invoked, and if this ECU fails or when libosmocodec does not provide an ECU for the codec in use, a special FR (EFR) BFI frame of 260 (244) zero bits is emitted. Both the ECU call and the peculiar form of BFI are skipped when the last received good traffic frame was a SID. For both of the above purposes, in all BTS models, change the SID check from osmo_{fr,efr}_check_sid() to osmo_{fr,efr}_is_any_sid(). The effect of this change is that "what counts as a SID" for the just-listed purposes changes from recognizing only perfectly uncorrupted SID frames without any bit errors to recognizing all frames which the rules of GSM 06.31 (FR) or 06.81 (EFR) classify as either valid or invalid SID. Change-Id: I5c24b379deda8ae551f9924d10770da50e6acbbd
2023-05-04sched_lchan_tchx: use GSM_HR_BYTES_RTP_RFC5993 constantPhilipp Maier2-2/+2
osmo-bts-trx uses the RFC5993 RTP payload format, so when handling the RTP payload use GSM_HR_BYTES_RTP_RFC5993, instead of GSM_HR_BYTES + 1 Depends: libosmocore.git I125ef9cdab98c073971841c175b1a7dcd927f9c2 Related: OS#5688 Change-Id: I54dd3adab88e2262913f7b1e89340a0246c88a8a
2023-04-29gsm_objclass2obj(): Change signature/set NACK causearehbein1-1/+1
- Add out-parameter to enable returning a NACK cause (ignored if NULL) - Return appropriate NACK cause if TRX number is unknown (fixes OS#5967 together with change I37e6b23ed95260a8188910cf9754faffcba519c5) Change-Id: If734ea2c8cae4c1f99b02520dffa4e3862a67745 Related: OS#5961, OS#5967
2023-04-11Introduce NM FSM for GPRS NSVC objectPau Espin Pedrol1-4/+1
Change-Id: I684482064136a461d01cace3cd37afc8b68458cc Related: OS#5994
2023-04-06Introduce NM FSM for GPRS Cell objectPau Espin Pedrol1-1/+1
Change-Id: I5fd1d17da09a5f0eee3d69fcb4788c106a240e21 Related: OS#5994