0

I'm facing a problem when implement linphone iOS native for a Voip Flutter application. Of course, the app must use callkit to notifcation have a call is comming. When user pick up the call, audio active well. But, after that, I start call out and get no audio. I try many solutions but not works (delay start call, force set active AVAudioSession...) but no luck, please help me handle this case. Thank you!

Device tested: iPad pro 2020 - iOS 14.1, iPhone 11 - iOS 14.1

2020-11-03 12:27:28:484 liblinphone-error-Failed in creating AVAudioPlayer: The operation couldn’t be completed. (OSStatus error 2003334207.)
Call incoming.

call coming objetc: 
Optional(linphonesw.Call)
2020-11-03 12:27:28.486837+0700 Runner[673:109546] flutter: call click in coming true
2020-11-03 12:27:28.486967+0700 Runner[673:109546] flutter: incoming true
accept call objetc: 
Optional(linphonesw.Call)
2020-11-03 12:27:28:487 ortp-warning-Fail to set IPv4 packet info on RTP socket: Invalid argument.
2020-11-03 12:27:28:487 ortp-warning-Fail to set IPv4 packet info on RTCP socket: Invalid argument.
We are connected !

2020-11-03 12:27:28:487 liblinphone-warning-Advanced adaptive rate control requested but avpf-tmmbr is not activated in this stream. Reverting to basic rate control instead
2020-11-03 12:27:28:487 ortp-warning-Fail to set IPv4 packet info on RTP socket: Invalid argument.
2020-11-03 12:27:28:487 ortp-warning-Fail to set IPv4 packet info on RTCP socket: Invalid argument.
2020-11-03 12:27:28:498 mediastreamer-error-Unable to activate audio session because : The operation couldn’t be completed. (OSStatus error 561017449.)
2020-11-03 12:27:28:570 mediastreamer-warning-MSAudio MSTicker: We are late of 59 miliseconds.
2020-11-03 12:27:28:643 mediastreamer-warning-MSAudio MSTicker: We are late of 62 miliseconds.
2020-11-03 12:27:28:709 mediastreamer-warning-MSAudio MSTicker: We are late of 58 miliseconds.
2020-11-03 12:27:28:786 mediastreamer-warning-MSAudio MSTicker: We are late of 56 miliseconds.
2020-11-03 12:27:28.813295+0700 Runner[673:109315] [aurioc] AURemoteIO.cpp:1095:Initialize: failed: 561017449 (enable 3, outf< 1 ch,  48000 Hz, Int16> inf< 1 ch,  48000 Hz, Int16>)
2020-11-03 12:27:28:813 mediastreamer-error-Cannot start audioUnit because [!pri]
2020-11-03 12:27:28:813 mediastreamer-error-AudioUnit error for AudioUnitInitialize(card->audio_unit): ret=unknown error (561017449) (/Users/belledonne/builds/2jexENcu/2/BC/public/linphone-sdk/mediastreamer2/src/audiofilters/msiounit.m:349)
2020-11-03 12:27:28.822813+0700 Runner[673:109315] [aurioc] AURemoteIO.cpp:1095:Initialize: failed: 561017449 (enable 3, outf< 1 ch,  48000 Hz, Int16> inf< 1 ch,  48000 Hz, Int16>)
2020-11-03 12:27:28:822 mediastreamer-error-Cannot start audioUnit because [!pri]
2020-11-03 12:27:28:822 mediastreamer-error-AudioUnit error for (auresult = AudioOutputUnitStart(card->audio_unit)): ret=unknown error (561017449) (/Users/belledonne/builds/2jexENcu/2/BC/public/linphone-sdk/mediastreamer2/src/audiofilters/msiounit.m:379)
2020-11-03 12:27:28.831621+0700 Runner[673:109315] [aurioc] AURemoteIO.cpp:1095:Initialize: failed: 561017449 (enable 3, outf< 1 ch,  48000 Hz, Int16> inf< 1 ch,  48000 Hz, Int16>)
2020-11-03 12:27:28:831 mediastreamer-error-Cannot start audioUnit because [!pri]
2020-11-03 12:27:28:831 mediastreamer-error-AudioUnit error for AudioUnitInitialize(card->audio_unit): ret=unknown error (561017449) (/Users/belledonne/builds/2jexENcu/2/BC/public/linphone-sdk/mediastreamer2/src/audiofilters/msiounit.m:349)
2020-11-03 12:27:28.839506+0700 Runner[673:109315] [aurioc] AURemoteIO.cpp:1095:Initialize: failed: 561017449 (enable 3, outf< 1 ch,  48000 Hz, Int16> inf< 1 ch,  48000 Hz, Int16>)
2020-11-03 12:27:28:839 mediastreamer-error-Cannot start audioUnit because [!pri]
2020-11-03 12:27:28:839 mediastreamer-error-AudioUnit error for (auresult = AudioOutputUnitStart(card->audio_unit)): ret=unknown error (561017449) (/Users/belledonne/builds/2jexENcu/2/BC/public/linphone-sdk/mediastreamer2/src/audiofilters/msiounit.m:379)

1 Answers1

0

This is usually caused by a wrong integration with Callkit. Indeed, liblinphone and callkit operations must be coordinated according to certain rules so that the iOS system grants the permissions to use the audio device. Please refer liblinphone's related documentation:

https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Getting%20started/iOS/#HCallKitintegration

Best regards,

Simon