WebRTC в iOS: не удалось создать объект PeerConnection с собственным сервером STUN/TURN

Я реализовал WebRTC в своем приложении для iOS, используя следующую ссылку: Ссылочный код AppRTC от Google для iOS

Я успешно реализовал свой голосовой / видеочат и проверил по этому адресу: https://appr.tc/

Указанный выше URL предназначен только для демонстрации, так как соединение будет длиться дольше, чем до одной минуты.

Итак, моя команда разработчиков решает создать наши собственные серверы STUN и TURN.

Мы создали собственный сервер STUN & TURN на основе следующей ссылки и установили его на нашем сервере: ссылка на сервер STUN & TURN

Здесь мы обнаружили одну новую проблему при создании объекта однорангового соединения: он генерирует нулевой объект при добавлении к нашим серверам STUN и TURN в конфигурациях.

Пожалуйста, найдите мой фрагмент кода из следующего:

// Create peer connection.
NSString *value = _isLoopback ? @"false" : @"true";
NSDictionary *optionalConstraints = @{ @"DtlsSrtpKeyAgreement" : value };
RTCMediaConstraints *constraints =
  [[RTCMediaConstraints alloc]
      initWithMandatoryConstraints:nil
               optionalConstraints:optionalConstraints];

RTCConfiguration *config = [[RTCConfiguration alloc] init];
RTCCertificate *pcert = [RTCCertificate generateCertificateWithParams:@{
@"expires" : @100000,
@"name" : @"RSASSA-PKCS1-v1_5"
}];

config.iceServers = _iceServers;  // OWN STUN & STUN servers
config.sdpSemantics = RTCSdpSemanticsUnifiedPlan;
config.certificate = pcert;
config.bundlePolicy = RTCBundlePolicyMaxBundle; // For checking purpose
config.iceTransportPolicy = RTCIceTransportPolicyAll; // Default value

_peerConnection = [_factory peerConnectionWithConfiguration:config
                                                constraints:constraints
                                                   delegate:self]; 

Наблюдение:

  • Здесь объект "_peerConnection" генерирует ноль для моих IceServers, поэтому дальнейший код не выполняется.
  • Если я удалил iceServers во время настройки (то есть не использовал iceServers), я мог бы успешно подключиться к другим партнерам и сделать голосовой / видео чат.

Замечания:

0 ответов

Другие вопросы по тегам