Ошибки дешифрования srtp после модификации длинного звонка с помощью linphone sdk - PullRequest
0 голосов
/ 02 мая 2019

У меня есть приложение для Android / iOS, которое использует linphone xamarin sdk номер версии 4.1-161-g585c663.Он реализует операцию «Отключение звука», изменяя SDP вызова, чтобы указать, что он не должен отправлять пакеты rtp.Проблема возникает при защищенном вызове (с использованием srtp), когда я запрашиваю его отключение через 20 минут во время вызова.Он отправляет сообщение INVITE с «recvonly» и новыми ключами шифрования (у меня было «keep_srtp_keys», установленное в 0).Он получает ответ 200OK с новым ключом шифрования.С этого времени он не слышит удаленную вечеринку.Когда я попытался включить звук звонка, проблема не была решена - я все еще не слышал собеседника.«СТАТИСТИКА RTP АУДИО-СЕССИИ» показывает, что количество принятых пакетов не изменилось после того, как я отключил вызов, пока он не был отключен.

Я повторил этот сценарий с «keep_srtp_keys», установленным в 1. Все еще проблема отсутствия голосасуществует, но на этот раз есть много сообщений об ошибках, таких как: «Ошибка в srtp_unprotect () fail (7) в потоке ctx [0x70d8bab380]» «Строка статистики для полученных пакетов не меняется.

Я провел еще несколько тестов с помощью»keep_srtp_keys "установлено в 0 и найдено: 1. Сообщения об ошибках и отсутствие голоса появляются, когда операция отключения звука происходит в 20:10 минут после ответа на вызов.2. Если звонок не отключен, голос остается стабильным в течение длительного времени (не менее 1 часа).

Примечание. Микрофон не может быть отключен во время работы приложения на iPhone.Агент вызова расположен за сервером AudioCodes Mediant, который обрабатывает мультимедиа.

Спасибо,

...