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
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