Bug #2187: ofono: not all modems do what they should
ofono: voice calls are not implemented for any modem
Apparently we are unable to place any voice calls using ofono, for our choice of modems.
Implement the signalling part of voice calls, do not spend time on analysis of actual voice streams.
So far we'd like to dial a number and see a call established, ignoring RTP and audio.
sierra and ec20 say:
root@osmo-gsm-tester-rnd:~# mdbus2 -s org.ofono /sierra_1 org.ofono.VoiceCallManager.Dial 1009 disabled [ERR]: GDBus.Error:org.ofono.Error.NotImplemented: Implementation not provided root@osmo-gsm-tester-rnd:~# mdbus2 -s org.ofono /gobi_0 org.ofono.VoiceCallManager.Dial 1009 disabled [ERR]: GDBus.Error:org.ofono.Error.NotImplemented: Implementation not provided
gobi has no such interface:
root@osmo-gsm-tester-rnd:~# mdbus2 -s org.ofono /gobi_3 org.ofono.VoiceCallManager.Dial 1009 enabled [ERR]: There is no method with name org.ofono.VoiceCallManager.Dial on path /gobi_3!
See also https://git.sysmocom.de/ofono/tree/doc/voicecallmanager-api.txt as doc for the arguments: enabled/disabled refers to hide_callerid.
- Status changed from New to Feedback
- Assignee changed from lynxis to pespin
I've pushed my recent state to the branch voicecall on https://git.sysmocom.de/ofono/.
Please don't use anything under lynxis/*, those branches might get rebased and are in an unknown state.
So far I've tested it with a public operator:
- dial out, hangup
- receive call -> hangup
- receive call -> answer -> hangup.
- File test-voicecall.tar.gz added
- Assignee changed from pespin to lynxis
It's failing with SierraW modems. I attach osmo-gsm-tester run output archive with log and pcap, it also contains ofono log for the time of the test as usual.
I start osmo-gsm-tester with -s debug -t interactive, then I select to use 2 modems, then I wait until both are registered, then I use "g" command to see the msisdns and I run manually:
# mdbus2 -s org.ofono /sierra_1 org.ofono.VoiceCallManager.Dial 24756 disabled [ERR]: GDBus.Error:org.ofono.Error.Failed: Operation failed
Where 24756 is the msisdn of the 2nd MS connected (also a SierraW one).
The ofono log only outputs a few lines when I use the Dial method:
ofonod: drivers/qmimodem/voicecall.c:all_call_status_ind() Call 1 in state QMI_CALL_STATE_CC_IN_PROG(4) ofonod: src/voicecall.c:ofono_voicecall_notify() Got a voicecall event, status: dialing (2), id: 1, number: 24756 called_number: , called_name ofonod: src/voicecall.c:ofono_voicecall_notify() Did not find a call with id: 1 ofonod: drivers/qmimodem/voicecall.c:dial_cb() QMI Error 3 ofonod: src/voicecall.c:dial_handle_result() Dial callback returned error: Unknown error type
- File ec20-sierra-voicecall.tar.gz added
I also tested issuing a call with the same procedure, this time with modems EC20 --calling--> SierraW.
It looks a bit better, the voicecall object is created but it stops after a few fractions of a second. I attach complete output of osmo-gsm-tester+ofono as usual.
The sierra is rejecting the call with Reason: "Incompatible destination".
The setup messages has the following TLVs:
- Bearer Cap
- Calling Party
- Called Party
I guess it's because of "Called Party" has NPI & TON set to Unknown.
while the "Calling party" has TON unknown, NPI isdn/e.164,