[Librem-5-dev] [review v2] Voice implementation fixes (with audio channel setup handlers)

Aleksander Morgado aleksander at aleksander.es
Fri Aug 10 06:31:31 PDT 2018


Hey Dan, Bob & all,

I've updated the "aleksander/voice-fixes" branch to include the
"AT^CVOICE based support for Huawei modems that Dan worked on a while
ago in his "dcbw/huawei-voice" branch.

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/2

The Huawei USB dongles that support voice require a command
(AT^DDSETEX=2) to be executed when the call is established, and also
need to report which port is being used for audio. In order to support
that, instead of subclassing all start/accept/hangup methods, I
extended the MMBaseCall class with two new handlers that allow setting
up and cleaning up the audio channel however the plugin needs it. Bob,
you could use these two methods for the custom AT commands you require
for the SIMCom implementation, right?

Dan's original changes also include support for reporting which port
and which audio format to use in the call, so plugins may use that to
report to upper layers that required information. Instead of updating
that information within the Huawei implementation, that is now managed
by the base call object.

Not all Huawei modems require all this setup with CVOICE and the
port/format reporting, as the original voice implementation didn't
require it, so it has been made optional.

I have NOT tested this Huawei logic though, still need to find a
device that can work in that way. Dan could you give it a try
yourself? :) Also, once you have the audio TTY setup, how do you make
that audio port work in the PC? Maybe we should add some explanation
for that in the API?

-- 
Aleksander
https://aleksander.es


More information about the Librem-5-dev mailing list