Commit Graph

7 Commits

Author SHA1 Message Date
Vadim Yanitskiy 20c5322c22 mobile: set TRAFFIC.{ind,req} mode during call establishment
Now that we support data (CSD) calls in addition to voice calls,
we can no longer initialize the TRAFFIC.{ind,req} routing mode
in gsm48_rr_init().  We need to apply the appropriate TCH routing
mode *during call establishment* based on its type and the
configured I/O handler type.

After this patch, one can have the following configuration:

tch-voice
 io-handler l1phy
tch-data
 io-handler unix-sock
 io-tch-format ti

so that the io-handler setting for voice would not affect data calls.
Before this patch, the L1 PHY (specifically, Calypso firmware) would
not route TRAFFIC.{ind,req} during data calls at all.

Change-Id: Iab68cb47c28380a9c1efc149c6196ea54f75fdb8
Related: OS#4396
2024-02-06 01:05:48 +07:00
Vadim Yanitskiy 40b0a9094e mobile: init TCH state earlier (on receipt of CC ALERTING)
During a Mobile Originating voice call, we would normally start
receiving traffic indications with ringback tone (or even some
melody) before the call gets CONNECTed.  So in order for the user
to be able to hear that, we need to init the voice call handler
earlier (on receipt of CC ALERTING message).

We should not be transmitting voice/data frames before the call
gets CONNECTed, so add 'rx_only' flag to the TCH state.  In
tch_send_msg() drop msgb if this flag is set.

Rx only mode makes no sense for data calls, so in tch_recv_cb() we
discard received DL frames and thus do not trigger sending UL frames.

Change-Id: Idd32c823639cc1f9999d77fcefe7e260e31a85ec
Related: OS#4396
2024-02-06 01:05:48 +07:00
Vadim Yanitskiy caa0065824 mobile: integrate V.110 TA & soft-UART from libosmocore
Change-Id: I7ac9c0e5010730fa4d8bc7a7a3c7ff85e11731c0
Depends: libosmocore.git I6d2f8e250df31c233a2741163113dc07515409ae
Depends: libosmocore.git I5716bd6fd0201ee7a7a29e72f775972cd374082f
Depends: libosmocore.git I2ca95963fd5852ddb89bdd35b86b31489127fe84
Related: OS#4396
2024-01-20 06:08:06 +07:00
Vadim Yanitskiy f147776e47 mobile: split voice specific TCH handling into its own file
Change-Id: Ib917d95fe77da3e60bc932cce56714d81095c7d4
Related: OS#4396
2024-01-20 06:08:03 +07:00
Vadim Yanitskiy 0829246a22 mobile: rename tch_send_voice_{msg,frame}() functions
These functions can also be used for sending data frames (CSD).

Change-Id: Ib55b4405847f2efb583f3a379ff4b6929d6d6c5b
Related: OS#4396
2024-01-18 03:54:15 +07:00
Vadim Yanitskiy 129d0ea802 mobile: init/deinit GAPK I/O based on CC transaction events
Change-Id: I28f87f6a6de673611aa02a24e8985aee23d4498b
Related: OS#4396
2024-01-18 03:51:35 +07:00
Vadim Yanitskiy efe2c7b7bd mobile: rename voice.[ch] to tch.[ch]
Also take a chance to change the 'tch_' prefix for all functions.

Change-Id: I05e1ae777add73672db61565c77c68d8ab2b08f0
Related: OS#4396
2023-11-03 13:34:02 +07:00