Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Answering call with callkit when App is in background and the phone is locked, there is no audio. #181

Open
sanketns opened this issue Feb 14, 2023 · 12 comments

Comments

@sanketns
Copy link

when the app is in background and the phone is locked. There is no audio of opponent user. Tried every possible way but no luck. Kindly guide me for the same.

@hiroshihorie
Copy link
Member

Hi @sanketns I would be happy to investigate, if you could prepare a minimal reproducible example simulating your issue.

@sanketns
Copy link
Author

Getting these errors in console randomly, see if you can get any hints from this if possible.

ATAudioSessionPropertyManager.mm:359 FAILED to set property 1684431725 on AVAudioSession with error Error Domain=NSOSStatusErrorDomain Code=-50 "(null)"

AURemoteIO.cpp:1679 AUIOClient_StartIO failed (561015905)

@raphaelalkamim
Copy link

raphaelalkamim commented Feb 12, 2024

Hello @hiroshihorie, I’m experiencing the same issue. When I create a room (in my case, start a call), if I immediately go to the background without waiting for the video/audio section to be initialized, I encounter these errors:

AURemoteIO.cpp:2087 AURemoteIO@0x10b025c40: IOThread exiting with error 0x10004006
AURemoteIO.cpp:1702 AUIOClient_StartIO failed (561145187)

Otherwise, if I wait a couple of seconds and the audio/video initializes before going to the background, everything works fine.


@sanketns
Copy link
Author

@raphaelalkamim , may be it's related to audio session configuration while making a call. By the way, are you doing this with callkit?

@raphaelalkamim
Copy link

raphaelalkamim commented Feb 14, 2024

@sanketns , Yes, it might be related to the audio session configuration during calls. I'm currently using the default LiveKit configuration and CallKit solely for managing the call display.

@sanketns
Copy link
Author

@raphaelalkamim , Are you doing something when these below functions get called?

func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession){

}
func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession) {

}

@raphaelalkamim
Copy link

@sanketns No, I'm not using these delegates at all. Should I configure something beyond the LiveKit default configuration?

@ajayz7
Copy link

ajayz7 commented Apr 1, 2024

Hi any solution to fix this . I am experiencing same when using callKit? @hiroshihorie @sanketns

@liuyang2211
Copy link

Yes, I have the same situation. Is there any solution

@zackzhuang1996
Copy link

alright according to the team, the iOS SDK doesn't support background mode.
Screenshot 2024-07-30 at 1 22 33 AM

@davidliu
Copy link
Contributor

davidliu commented Aug 15, 2024

@zackzhuang1996 that's the react native sdk, which is separate from this swift sdk.

@sanketns
For CallKit, the didActivate and didDeactivate methods should be implemented as follows:

  1. Add import LiveKitWebRTC to your CallProvider file.

func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession){
    LKRTCAudioSession.sharedInstance().audioSessionDidActivate(audioSession)
    // ...
}
func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession) {    
    LKRTCAudioSession.sharedInstance().audioSessionDidDeactivate(audioSession)
    // ...
}

@Viktorianec
Copy link

Viktorianec commented Sep 4, 2024

I have the same error when I answer with callkit. Also I received this message:
AudioManager.defaultConfigureAudioSessionFunc(newState:oldState:) Failed to configure audio session with error: Error Domain=NSOSStatusErrorDomain Code=1701737535 "Session activation failed" UserInfo={NSLocalizedDescription=Session activation failed}

EDIT:

On the first call, there is incoming audio in the background.
There is no incoming audio on the second and subsequent calls.
At the same time, the other party can hear me all the time.

Could be problem here: audioSessionDidDeactivate?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants