Half-duplex (PTT) calls in Sideband and LXST
Started by Mark bc7291552be7a58f... ·
In Sideband 2.0.0, and LXST 0.5.0 in general, it's now possible to create true half-duplex calls, where each side needs to engage PTT before any network traffic is sent. This significantly decreases the network traffic required to run a call, and makes direct voice comms viable on much lower bandwidth links.
If half-duplex mode is selected, only the initial call setup signalling and authentication is transmitted when connecting the call (around 650 bytes), then the underlying link stays completely silent until actual voice traffic is sent.
While LoRa is still borderline territory here, it is actually doable on some of the higher bitrate modulation settings. Future stream flag extensions to RNS links will allow half-duplex voice probably down to around 2600 bits per second of raw channel throughput capacity, meaning this should be possible to operate fluidly over long-distance LoRa as well. But, that's still a bit in the future :)
This is all implemented in the core functions and primitives of LXST itself, so any client applications that want to support this just needs to use a few extra API functions for mode switch callbacks and PTT engage/disengage to have it working.
As with profile/codec switching, this supports live half/full duplex mode switching during calls, as well as on initial call setup.
