Я недавно добавил функциональность pjsip VoIP
в свое приложение для iOS.Использование pjsip не создает проблем, пока приложение активно, я могу без проблем принимать и совершать звонки.
Но у меня, похоже, проблема со звуковыми устройствами в фоновом режиме.Первый звонок, который я получаю из фона, работает нормально, я получаю звук и могу нормально его закрыть.
Проблема в том, что после первого звонка я не слышу звука, когда принимаю звонок из фона.То же самое происходит, если я звоню или получаю звонок, когда приложение активно, а затем перехожу в фоновый режим и получаю звонок.Когда я закрываю приложение, первый Звонок из фона снова работает нормально.
Я понятия не имею, что может вызвать это.
Я пытался вручную закрыть все звонки через CallManager
иЯ вызываю CXEndCallAction
, когда серверная сторона завершает вызов, чтобы CallKit
закрывался должным образом.
Я был бы рад опубликовать определенные фрагменты кода, но в настоящее время я понятия не имею, где проблемаможет лгать ...
ОБНОВЛЕНИЕ:
Я понял, что ядро pjsip во второй раз инициализируется по-разному.
Теперь вопрос в том, как мнеправильно сбросить CoreAudio в pjsip?
Инициализация успешного вызова:
11:03:01.615 tsx0x1030710a8 .....State changed from Trying to
Proceeding, event=TX_MSG
11:03:01.615 dlg0x1030840a8 ......Transaction tsx0x1030710a8 state changed to Proceeding
2019-02-13 11:03:01.615745+0100 VarioCallCTI[11928:2820452] Incoming call from "Matthias" <sip:238@80.80.245.33>
11:03:01.618 pjsua_aud.c ..Set sound device: capture=0, playback=0
11:03:01.618 pjsua_aud.c !Set sound device: capture=0, playback=0
11:03:01.619 pjsua_aud.c !...Opening sound device PCM@16000/1/20ms
11:03:01.619 coreaudio_dev. ....Using VoiceProcessingIO audio unit
2019-02-13 11:03:01.808024+0100 VarioCallCTI[11928:2820452] [aurioc] 1029: failed: '!int' (enable 3, outf< 1 ch, 16000 Hz, Int16> inf< 1 ch, 16000 Hz, Int16>)
11:03:01.851 pjsua_aud.c ...Opening sound device PCM@44100/1/20ms
11:03:01.851 coreaudio_dev. ....Using VoiceProcessingIO audio unit
2019-02-13 11:03:01.859854+0100 VarioCallCTI[11928:2820452] [aurioc] 1029: failed: '!int' (enable 3, outf< 1 ch, 44100 Hz, Int16> inf< 1 ch, 44100 Hz, Int16>)
11:03:01.860 pjsua_aud.c ...Opening sound device PCM@48000/1/20ms
11:03:01.860 coreaudio_dev. ....Using VoiceProcessingIO audio unit
2019-02-13 11:03:01.867061+0100 VarioCallCTI[11928:2820452] [aurioc] 1029: failed: '!int' (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>)
11:03:01.867 pjsua_aud.c ...Opening sound device PCM@32000/1/20ms
11:03:01.867 coreaudio_dev. ....Using VoiceProcessingIO audio unit
2019-02-13 11:03:01.874321+0100 VarioCallCTI[11928:2820452] [aurioc] 1029: failed: '!int' (enable 3, outf< 1 ch, 32000 Hz, Int16> inf< 1 ch, 32000 Hz, Int16>)
11:03:01.875 pjsua_aud.c ...Opening sound device PCM@16000/1/20ms
11:03:01.875 coreaudio_dev. ....Using VoiceProcessingIO audio unit
2019-02-13 11:03:01.881126+0100 VarioCallCTI[11928:2820452] [aurioc] 1029: failed: '!int' (enable 3, outf< 1 ch, 16000 Hz, Int16> inf< 1 ch, 16000 Hz, Int16>)
11:03:01.881 pjsua_aud.c ...Opening sound device PCM@8000/1/20ms
11:03:01.881 coreaudio_dev. ....Using VoiceProcessingIO audio unit
2019-02-13 11:03:01.888214+0100 VarioCallCTI[11928:2820452] [aurioc] 1029: failed: '!int' (enable 3, outf< 1 ch, 8000 Hz, Int16> inf< 1 ch, 8000 Hz, Int16>)
11:03:01.888 pjsua_aud.c ...Unable to open sound device: Unknown error -560117684 [status=-560117684]
Error in Setting of Audio Devices - IncomingCall
TESTPRINT FOR NOTIFICATION INFO: eingehender anruf von 238
TESTPRINT FOR NOTIFICATION INFO: 238
Инициализация неудачного вызова:
11:03:49.840 tsx0x103064ea8 .....State changed from Trying to Proceeding, event=TX_MSG
11:03:49.840 dlg0x1030906a8 ......Transaction tsx0x103064ea8 state changed to Proceeding
2019-02-13 11:03:49.841013+0100 VarioCallCTI[11928:2820906] Incoming call from "Matthias" <sip:238@80.80.245.33>
11:03:49.842 pjsua_aud.c ..Set sound device: capture=0, playback=0
11:03:49.842 pjsua_aud.c ...Opening sound device PCM@16000/1/20ms
11:03:49.842 coreaudio_dev. ....Using VoiceProcessingIO audio unit
11:03:49.847 pjsua_aud.c !Set sound device: capture=0, playback=0
2019-02-13 11:03:50.276837+0100 VarioCallCTI[11928:2820280] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port Speaker (type: Speaker)
2019-02-13 11:03:50.277597+0100 VarioCallCTI[11928:2820280] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port Receiver (type: Receiver)
2019-02-13 11:03:50.292488+0100 VarioCallCTI[11928:2820280] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port Receiver (type: Receiver)
2019-02-13 11:03:50.293379+0100 VarioCallCTI[11928:2820280] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port Receiver (type: Receiver)
11:03:50.383 coreaudio_dev. !....core audio stream started
Setting of Audio Devices Successfull - IncomingCall
TESTPRINT FOR NOTIFICATION INFO: eingehender anruf von 238
TESTPRINT FOR NOTIFICATION INFO: 238