iOS: Problem with audio via CallKit call

928 views
Skip to first unread message

Дмитрий Шевчук

unread,
Oct 17, 2016, 4:34:10 AM10/17/16
to discuss-webrtc

If I make a call via CallKit, the connection occurs, the video is working, but the audio does not work. If you make a second call without closing the application video and audio works fine. After restarting, the problem persists again.

In the console on the first connection this error:

[Aurioc] 889: failed: 'ent?' (Enable 3, outf <1 ch, 48000 Hz, Int16> inf <1 ch, 48000 Hz, Int16>)

 [Aurioc] 889: failed: 'ent?' (Enable 3, outf <1 ch, 48000 Hz, Int16> inf <1 ch, 48000 Hz, Int16>)

[Aurioc] 889: failed: 'ent?' (Enable 3, outf <1 ch, 48000 Hz, Int16> inf <1 ch, 48000 Hz, Int16>)

 [Aurioc] 889: failed: 'ent?' (Enable 3, outf <1 ch, 48000 Hz, Int16> inf <1 ch, 48000 Hz, Int16>)

[Aurioc] 889: failed: 'ent?' (Enable 3, outf <1 ch, 48000 Hz, Int16> inf <1 ch, 48000 Hz, Int16>)

If I make a call without using CallKit - everything works fine.

Are there any ideas? Thanks in advance for your answers.

Cesar Estebanez Tascon

unread,
Oct 24, 2016, 10:38:22 AM10/24/16
to discuss-webrtc
We had the same problem in the past. It is probably a race condition in the AVAudioSession activation that CallKit is doing for you. Make sure you make your AudioSession setup as soon as possible. In our case, we configure AudioSession right in the moment we receive the performStartCallAction delegate callback from CXProviderDelegate. Then we wait until the counterpart starts ringing to fulfil the CXStartCallAction. Finally, we only connect the call after we receive the CXProviderDelegate.didActivateAudioSession callback. With this timing the problem disappeared for us.

You can check the following sources for similar problems:

Hope it helps.
Reply all
Reply to author
Forward
0 new messages