Используя ледовых кандидатов с джинглом
Я пытаюсь сделать мой первый 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 и сообщите о проблеме, если она все еще не работает.