Audio starts after a delay of 45 secs in iOS

Description
Meeting Audio works after 45 seconds of joining the meeting.

Some logs:
0 // join meeting status
meeting state changed: 1
onJBHWaiting: 1
meeting confirmed
onJBHWaiting: 1
meeting confirmed
meeting state changed: 1
meeting state changed: 1
meeting error: 0
meeting state changed: 3
meeting ready

Which version?
v5.2.42037.1112

To Reproduce(If applicable)
Joined the meeting
Joined audio on both the devices
Audio starts after 45 secs

Screenshots

Smartphone (please complete the following information):

  • Device: iPhone 7

  • iOS version: 13.5.1

  • Device: iPhone XR

  • iOS version: 13.7

Hey @durga.chotu,

Thanks for using the dev forum!

Could you provide any relevant audio code that you have?

Thanks!
Michael

@Michael_Condon

  • Meeting will be created using an API on Server
  • Details will be sent to the caller as a response
  • We will let the receiver know about the call using VoIP.
  • When we get VoIP at the receiver side, we are calling join meeting service with the received params.

We don’t have any special code for Audio. We are using Zoom Default UI. Please look into the following code if this helps:

On caller side:
if let service = MobileRTC.shared().getMeetingService() {
service.delegate = self
isJoinMeeting = false
let meetingParams = MobileRTCMeetingStartParam4WithoutLoginUser()
meetingParams.userID = “userId”
meetingParams.userType = .init(99)
meetingParams.userName = “Some user name”
meetingParams.zak = “accessToken”
meetingParams.meetingNumber = “meetingNumber”
meetingParams.noVideo = false

        let response = service.startMeeting(with: meetingParams)
        print("start meeting response: \(response)")
    } else {
        print("Unable to create a meeting service")
    }

On Receiver

let param = MobileRTCMeetingJoinParam()
param.password = “passKey”
param.meetingNumber = “some meeting id”//meetingId
param.noAudio = false
param.noVideo = false
param.userName = “Username”
isJoinMeeting = true
let response = service.joinMeeting(with: param)

Hey @durga.chotu,

Can you implement a MobileRTCAudioServiceDelegate and let me know what callbacks are being triggered (if any) when the user first joins the meeting, and again after 45 seconds of waiting?

Thanks!
Michael

@Michael_Condon
Implemented MobileRTCAudioServiceDelegate. Here are the logs:
On meeting creation:
start meeting response: MobileRTCMeetError(rawValue: 0)
meeting state changed: 1
onJBHWaiting: 1
meeting confirmed
meeting state changed: 1
onAudioOutputChange
meeting state changed: 1
meeting error: 0
onAudioOutputChange
meeting state changed: 3

meeting ready
onMyAudioStateChange
onSinkMeetingAudioStatusChange: 16778240 , audioStatus:2
onAudioOutputChange
onSinkMeetingMyAudioTypeChange
onSinkMeetingAudioStatusChange: 16779264
onSinkMeetingAudioStatusChange: 16779264 , audioStatus:2

On End Meeting:
ended reason: MobileRTCMeetingEndReason(rawValue: 0)
meeting state changed: 4
meeting state changed: 1
onAudioOutputChange
meeting state changed: 7
onAudioOutputChange

After 45 secs when the audio is connected we did not see any logs.

Hope these logs will be helpful, Please let me know if you need more details

Hey @durga.chotu,

Thank you for providing this. This is going to take some deeper investigation into the issue. Would you be able to reproduce this issue in a sandboxed application in Xcode, then email that Xcode project to developersupport@zoom.us so that we can look into it? Please tag this post in your email.

Thank you!
Michael