"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
Аватара пользователя
hunqer
Доброго времени суток. В указанном модуле есть пару не работающих моментов:
скрипт support.js - путь node\server\www\support\source\js

строка 14589
Код: Выделить всё
makeIceServers: function (data, isWeb){
            /** @namespace data.IPList*/
            /** @namespace data.TURNPort*/
            /** @namespace data.Credential */
            var res = [];
            var ipList = data.IPList.split(',');

            if (ipList[0] === ""){
                ipList[0] = isWeb ? window.location.host : mcConst.ServerInfo.Host;
            }

            for (var i = 0; i < ipList.length; i++){
                // var tcp  = 'turn:' + ipList[i] + ':' + data.TURNPort +'?transport=tcp';
                var udp  = 'turn:' + ipList[i] + ':' + data.TURNPort +'?transport=udp';
                var stun = 'stun:' + ipList[i] + ':' + data.TURNPort;

                res.push({
                    urls       : []
                        //.concat(isWeb ? tcp : []) 
                        .concat(isWeb || (mcConst.ClientSettings && mcConst.ClientSettings.MediaNetworkTransportTCP) ? stun : [])
                        // .concat(isWeb || (mcConst.ClientSettings && mcConst.ClientSettings.MediaNetworkTransportTCP) ? tcp  : [])
                        .concat(isWeb || (mcConst.ClientSettings && mcConst.ClientSettings.MediaNetworkTransportUDP) ? udp  : []),
                        // .concat(['stun:stun.l.google.com'])

                    credential : data.Credential,
                    username   : data.UserName
                });
            }

            return res;
        },

Пока не закомментировал эту строку "//.concat(isWeb ? tcp : []) " - скрипт не работал
Далее. Если у одного из звонящих нет камеры, то скрипт вываливает эксепшн(строка 8908)
Код: Выделить всё
console.err("Error getting media stream: hasn't camera or microphone");

Решил это так: закомментировал строку с эксепшном, а следующую строку заменил на
Код: Выделить всё
getScreen(cb);//cb();

И в конце заменил строки 8827 и 8834 на
Код: Выделить всё
 nextStep();//Self.hangUp("No media devices");


Только после этих манипуляций все заработало - т.е. клиент с сайта БЕЗ камеры может позвонить сотруднику поддержки С камерой и увидеть его.

Если эти правки не противоречат Вашему видению работы модуля web-поддержки, то внесите их, пожалуйста, на постоянной основе. Либо я просто буду с каждым обновлением подправлять под свои нужды код, если внесение правок вызовет проблемы. Спасибо.
Аватара пользователя
Андрей Раков
Добрый день.

Спасибо за замечание, исправлено.

Обновление веб-сервера:
(21.08 МБ) Скачиваний: 84

Скопируйте содержимое в C:\Program Files (x86)\MyChat Server\node\