Используя ледовых кандидатов с джинглом

Я пытаюсь сделать мой первый xmpp клиент с помощью видеочата webrtc, используя strophe с. strophe.jingle

Для этого очень мало документации, так что я закончил грабить пример кода, чтобы попытаться заставить его работать.

Я успешно отправляю приглашение в видеочате другому пользователю через XMPP, и приложение пытается настроить чат. Однако это дает мне ошибки о кандидатах ICE, как это (это бросает 6-8):

Ошибка addIceCandidate SyntaxError: Не удалось выполнить "addIceCandidate" для "RTCPeerConnection": Невозможно добавить кандидата ICE. a= кандидат 2565634929 1 udp 41819903 66.228.45.110 64264 тип реле raddr 79.260.27.217 rport 58182 поколение 0

Я сделал достаточно поиска, чтобы понять, что мне нужно установить URL-адрес ледяной сервер или что-то в этом роде. Но я в растерянности относительно того, как.

Я пробовал:

var ice_config = {iceServers: [{url: 'stun:stun.l.google.com:19302'}]};
    connection.jingle.ice_config = ice_config;

Я отправляю приглашение вот так

connection.send($pres({to:peer}));
connection.jingle.initiate(peer, connection.jid);

На данный момент я чувствую, что это все над моей головой, и это действительно трудно читать без какой-либо реальной документации. Если кто-то может бросить мне кость, будь по-настоящему счастлив.

1 ответ

Попробуйте удалить 'a=' из строки, возвращаемой https://github.com/ESTOS/strophe.jingle/blob/master/strophe.jingle.session.js#L542

chrome изменил синтаксис этого в некоторый момент и, кажется, больше не принимает старый синтаксис.

Обновление: оказалось ошибкой. Проверьте обновленную версию на github и сообщите о проблеме, если она все еще не работает.

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