summaryrefslogtreecommitdiffstats
path: root/src/host/layer23
AgeCommit message (Collapse)AuthorFilesLines
2023-11-03mobile: add params and VTY commands for data callsVadim Yanitskiy4-0/+152
Change-Id: If52fa70cb202f0736a17fe8eb63d226186637f62 Related: OS#4396
2023-11-03mobile: gsm_settings_init(): set TCH frame format explicitlyVadim Yanitskiy1-0/+1
Change-Id: I4660b07977b6701ad5dc4bf25f12cba374101f8b Related: OS#4396
2023-11-03mobile: clarify TCH I/O {handler,format} namingVadim Yanitskiy6-78/+78
Before we add handling of TCH I/O for data calls, let's rename the existing voice related symbols and struct fields to have 'voice' in their names. Change-Id: If6c799d11e225ad00ca5da5ae63dca20568a0ce0 Related: OS#4396
2023-11-02mobile: rename 'audio' node to 'tch-voice' nodeVadim Yanitskiy2-20/+27
Change-Id: I2cab597c5de92ecb343cad7aaaa48035ca5f8365 Related: OS#4396
2023-11-02mobile: add support for Circuit Switched Data callsVadim Yanitskiy8-14/+516
This patch implements the signalling part for mobile originating and mobile terminating CSD calls. The user plane interface is to be implemented in follow-up patches. Change-Id: I1995fa0a7a68d9b980852b664d472d4633777ac6 Related: OS#4396
2023-10-30mobile: move 'struct gsm_call' from <mncc.h> to <mncc_ms.h>Vadim Yanitskiy2-19/+26
The only file using this structure is mnccms.c. Change-Id: Iaa43609849ac3c755d47258d3aca4bfe7a6b3a49 Related: OS#4396
2023-10-30mobile: cosmetic: use '#pragma once' in mncc.hVadim Yanitskiy1-5/+1
Change-Id: I2f350c5b67e57097b71b12ba42c90ce0941b8fea
2023-10-30layer23: rework L1CTL TRAFFIC.{ind,req} related loggingVadim Yanitskiy1-12/+4
Make these Rx/Tx messages more informative. Change-Id: I9c73db3c3650547030b8c354016e65195daebb62 Related: OS#4396
2023-10-27ASCI: Correctly set and store 'uplink-release-local' flagAndreas Eversberg2-1/+3
Also this option is enabled by default and show in the VTY if it is disabled. Change-Id: I6af44f0dd7ff842de633587fb0dcbe78126d30e1 Related: OS#5364
2023-10-27ASCI: Add option to join voice group/broadcast calls without valid SIMAndreas Eversberg3-6/+56
This option must be enabled in the VTY and is disabled by default. Calls can be joined when service is limited or normal. With that option enabled, calls can be joined even with invalid SIM. Talking is allowed when service is normal. With that option enabled, talking is always allowed. It depends on the network, if it accepts the talker. Change-Id: I6ea851a8cb015ff685b985335968c6184beca816 Related: OS#5364
2023-10-27ASCI: Use correct mobile identiy in TALKER INDICATION messageAndreas Eversberg1-2/+14
Use TMSI only if valid in the current location area. If the MS moves to a different location area and joins a group call before location update, TMSI is not valid. Then use IMSI instead. If no IMSI/TSMI is available, send mobile identity without IMSI/TMSI. Change-Id: I299604a0e12d91e9133b70757826ac9637da0e3e Related: OS#5364
2023-10-27ASCI: Handle rejection of voice group/broadcast call correctlyAndreas Eversberg1-12/+26
If joining a call gets rejected, the call must not be released, instead it must return to U3 state (incoming call), because the call still exists in the cell and it might possible to join it later. If a call notification is gone, a new event is used in the state machine to release incoming call. Change-Id: I605387c6be409ef0e67caf7b9e2a83e1032b45f1 Related: OS#5364
2023-10-18mobile: vty: rework support enable/disable commandsVadim Yanitskiy1-130/+98
Change-Id: Ibfef31f6dd7694dad535ad07fdf47bd32571b7b2 Related: OS#4396
2023-10-18mobile: improve handling of Bearer Capability IE for MT callsVadim Yanitskiy1-58/+118
This patch prepares for adding MT data call support: * Move handling of the Bearer Capability IE into a function. * Check transfer mode and coding standard in the received BCap. Change-Id: I3a5cac8c35ba6b7bdc5fcb077690b32848747756 Related: OS#4396
2023-10-18mobile: fix mncc_get_bearer(): return -1 straightawayVadim Yanitskiy1-6/+6
Even though the function works as expected and *can* return -1, which is first casted to unsigned and then back to signed, let's make the code less confusing by returning -1 straightaway. Change-Id: I3206fcfa9ab4cac85a1f0f2a4de3250b25f9058f Related: OS#4396
2023-10-18mobile: cosmetic: improve mncc_{get,set}_bearer()Vadim Yanitskiy1-8/+8
Change-Id: I5647bdf58cbf58065dbe8eebe16f330d98fd0d22 Related: OS#4396
2023-10-18mobile: mnccms: use constants from libosmogsm (gsm_04_08.h)Vadim Yanitskiy1-24/+27
Change-Id: I5ce59db39ad865620aaed2d778bc3710cf37bc3b Related: OS#4396
2023-10-18ASCI: Register state machines only once, when the application startsAndreas Eversberg1-6/+6
Related: OS#5364 Change-Id: I46d68e31e0bfd6a64c190e439f45b24502dd1f30
2023-10-18ASCI: Change state correctly when leaving group modeAndreas Eversberg1-4/+8
Use new_mm_state() to leave group mode. This will trigger IMSI detach when returning to IDLE mode, if it has been delayed. Related: OS#5364 Change-Id: I3c83c9e0fe10b35d60d125df6929fcb5ddc35f1a
2023-10-18ASCI: Select correct state when returning to idle or group receive modeAndreas Eversberg1-18/+14
This fixes I05957182a57423ad947ab200b52f65fde859e110. Related: OS#5364 and OS#6214 Change-Id: I626195161b987f1ba0065134afcf3936c9c090eb
2023-10-18ASCI: Ignore cell selection event during group receive modeAndreas Eversberg1-13/+11
Cell selection is not supported during group receive mode. If it happens anyway, give an error message and select correct sub-state. This fixes I05957182a57423ad947ab200b52f65fde859e110. Related: OS#5364 and OS#6214 Change-Id: Iea6fe623956003130000c59ec0e1b24b3177052d
2023-10-18ASCI: Join a group/bcast call in correct MM states onlyAndreas Eversberg1-7/+19
These states are: GSM48_MM_SST_NORMAL_SERVICE GSM48_MM_SST_ATTEMPT_UPDATE GSM48_MM_SST_LIMITED_SERVICE GSM48_MM_SST_LOC_UPD_NEEDED GSM48_MM_SST_PLMN_SEARCH (limited service) GSM48_MM_SST_PLMN_SEARCH_NORMAL If the service is limited, group/bcast calls can be joined, but uplink access is not allowed. Related: OS#5364 Change-Id: I2f8ff65f6e101972f9b1760013983d00ae6e7760
2023-10-16mobile: clean up call related VTY commandsVadim Yanitskiy1-14/+27
Change-Id: I8bccdf776ad541932ad4a6d6a68426a6ab856e08 Related: OS#4396
2023-10-16mobile: separate 'call MS_NAME NUMBER' commandVadim Yanitskiy1-17/+43
This will allow us adding an optional switch for data calls. Change-Id: I5d2332df09a81cb0747ecd9d95351ab59f99358e Related: OS#4396
2023-10-16mobile: mncc_call(): make *number argument constVadim Yanitskiy3-4/+4
Change-Id: I4558ce1313b8e9aadd73474a6514c136aa512de3
2023-10-16mobile: mncc_recv_internal(): make struct gsm_mncc ptr constVadim Yanitskiy1-3/+5
Change-Id: I0a5522b7df112bfaefc684c872a618c1e9118e61
2023-10-16mobile: fix AUDIO_IOH_LOOPBACK mode: pull DL info headerVadim Yanitskiy1-0/+2
The loopback mode is currently broken because the DL info header remains present, thus becoming a bogus "part" of the speech frame. Change-Id: I1af187b4bc5f5a99bc7f7634d90bf14ad3db0e49 Related: OS#4396
2023-10-13layer23: send UL/DL GPRS blocks over GSMTAPVadim Yanitskiy1-1/+20
Note that despite the VTY interface offers various channel type filtering facilities, the actual filtering is not implemented. This patch simply brings PS domain in consistency with CS domain: the UL and DL GPRS blocks are now being sent over GSMTAP without any filtering, just like GSM MAC blocks. Change-Id: I338205bee44fe182233efc5619a3d528cd07d932 Related: OS#5500, OS#6209
2023-10-10Provide create_conn_and_push_mm_hdr() with correct SAPIAndreas Eversberg1-8/+9
Change-Id: I454178f45aed49417f8cd7744155be66b9ac509f Fixes: 00507bdc "Cleaning gsm48_mm_data_ind()" Related: OS#6216
2023-10-09Correctly detect the follow-on proceed information elementAndreas Eversberg1-1/+1
Even if follow-on proceed is not supported, the warning message about not beeing supported should only show when the follow-on proceed information element is included in the location update accept messages. Change-Id: I2b1aceb8b85bdd9faabe354501f9036f1fc6fe33
2023-10-05Fix indices of ARFCNs for measurement reportAndreas Eversberg2-19/+18
The order of ARFCNs are described in TS 44.018 §10.5.2.20. The function arfcn_from_freq_index() is re-used to get the ARFCNs in correct order for the report. Change-Id: I0674467eb5a38a341cf65f95a25aa5f7232df069
2023-10-05Fix selection of correct ARFCN at arfcn_from_freq_index()Andreas Eversberg1-15/+10
The selection of ARFCN is described in TS 44.018 §10.5.2.20. The frequencies found in SI5 and SI5bis are counted first, in the following order: ARFCN 1..1023,0. The frequencies found in SI5ter are counted afterwards, in the following order: ARFCN 1..1023,0. Related: OS#5782 Change-Id: I090d84a5550d89743e8f5a886f400df6483f50d7
2023-10-05ASCI: Fix false return value checks, discovered by Coverity ScanAndreas Eversberg1-7/+7
See: CID 32637 - 323644 Related: OS#5364 Change-Id: If72590bb94597e434386bbcd312919a71abf0aae
2023-10-05modem: grr_fsm: permit loop transition for GRR_ST_PACKET_ACCESSVadim Yanitskiy1-0/+1
I forgot to permit the loop state transmission, so the modem app gets stuck in GRR_ST_PACKET_ACCESS is no IMM ASS is received... Change-Id: I059d2929f7f724cfe26935bf35c167e60157451f Fixes: 9978b00e "modem: grr: implement RACH.req retransmission"
2023-10-04Fix settings for VGCS/VBSAndreas Eversberg1-0/+2
The "support" flags must be copied to the settings, because they are enabled by default and may be omitted in the VTY config. Related: OS#5364 Change-Id: I81575dd3f2ade70101df32935a1c3d5469327577
2023-10-04ASCI: Add VTY command to display group call neighbor cellsAndreas Eversberg3-2/+60
Related: OS#5782 Change-Id: Ie84221507bdf247c1563b829d6cf0adb53ce161f
2023-10-04ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$Andreas Eversberg3-4/+312
Related: OS#5782 Change-Id: I81c7929f6d951d8eef7d08624f0b72830370c448
2023-10-04Fix potential NULL pointer dereferences, discovered by Coverity ScanAndreas Eversberg1-0/+4
See: CID 323362 + CID 323363 Change-Id: I47aa506014d8bddb8c8ce9b506c1c5c7b8056d30
2023-10-02Correctly use SUP_WRITE() macro for GSM 850Andreas Eversberg1-1/+1
Change-Id: I52c99c63e38934fb26c26dba5bf2551ea311228b
2023-10-02Fix typo in sysinfo.cAndreas Eversberg1-1/+1
Change-Id: I12405bef9f7910a354d9ac5153f4adc55095d747
2023-10-02Correctly extract bits from SI2*/SI5*Andreas Eversberg1-12/+12
These bits are: * EXT-IND * BA-IND * Multiband reporting Change-Id: Ie5349464fed0a4276955235c7c87b5bcb299f20d
2023-10-02Cleaning gsm48_mm_data_ind()Andreas Eversberg1-55/+47
Get rid of goto and double switch/case by putting connection handling code into a separate function. Change-Id: I12454cab06c105ccd9e2495e3a6f0640f2884885
2023-10-02ASCI: Show NCH position in VTY together with system informationAndreas Eversberg1-0/+12
Related: OS#5364 Change-Id: I5e0a9d469eb70608502dca881808621fa153b666
2023-10-02ASCI: Add VTY commands to control voice group/broadcast callsAndreas Eversberg2-8/+239
Related: OS#5364 Change-Id: Id32253b4e10b8df48e819d8a92bbcda332dd11e6
2023-10-02ASCI: Add GCC/BCC layer to support voice group/broadcast callsAndreas Eversberg11-3/+2059
Related: OS#5364 Change-Id: I22eacd018f18c18ba83dbd3dd874cf029344674d
2023-10-02ASCI: Add protocol type to trans_find_by_callref() functionAndreas Eversberg5-7/+7
This is required, because different protocols may share the same callref, but use different protocols. E.g. a voice group call can share the same callref with a voice broadcast call, but these calls are different transactions. Related: OS#5364 Change-Id: Ifea3a81aae3b4ae897851f867b13fa987c8cbe11
2023-10-02ASCI: Add group receive and transmit mode support to MM layerAndreas Eversberg2-79/+701
Related: OS#5364 Change-Id: I05957182a57423ad947ab200b52f65fde859e110
2023-10-02ASCI: Add group transmit mode support to RR layerAndreas Eversberg3-65/+730
This allows the upper layer to estabish and release connection on the uplink of a voice group call. Related: OS#5364 Change-Id: I9b62eef5d877e5d9dcf349717efd2cce28862c58
2023-09-28ASCI: Add group receive mode support to RR layerAndreas Eversberg2-5/+323
This allows reception of VGCS and VBS calls. A special sub-state is used to differentiate between IDLE mode and group receive mode. Later it can be used to differentiate between dedicated and group transmit mode. Related: OS#5364 Change-Id: Ia7d806b354fb3be5729bff8ac9aa1c7ad7a8b539
2023-09-28ASCI: Add ASCI notification support to RR layerAndreas Eversberg2-0/+252
The notifications are received on NCH, as well as on FACCH. Related: OS#5364 Change-Id: I49df02cb4d99d9aab1ea3ca13beb2ea00ae4c9f4