Как внедрить Kurento Client JS с вашим собственным сигнальным сервером Tomcat на Android, используя безопасное SSL-соединение с KMS?

Итак, это вопрос из двух частей:

Часть а. Я пытаюсь реализовать безопасное подключение к KMS. Из документации я понял, что файл конфигурации KMS необходимо обновить с помощью SSL-сертификата, после чего можно будет установить HTTPS-соединение с клиента. Пожалуйста, дайте мне знать, есть ли какие-либо другие шаги, связанные с обеспечением безопасности SSL.

Часть б. Из лучшего понимания сейчас и из комментариев к предыдущему вопросу, который я опубликовал, Kurento Utils не подключается к KMS напрямую (это было полученное мной разъяснение, которое я хотел задокументировать здесь на всякий случай). Теперь я пытаюсь использовать Kurento Client для подключения к KMS и пытаюсь понять роль серверов ICE/TURN/STUN, выступающих в роли переговорщиков посередине. Если бы я указывал URL-адрес своего собственного сервера, я предполагаю, что мне не нужно было бы включать «freeice» и «normalice» и вместо этого указывать URL-адрес моего собственного сервера. В приведенном ниже фрагменте кода, взятом из учебник на github, я предполагаю, что мне нужно будет заменить аргумент для ice_servers, чтобы он указывал на URL-адрес, на котором работает мой сервер? Или, поскольку это клиент, мне действительно нужен ICE-сервер, потому что, как сказано в первом утверждении, утилиты не подключаются к KMS, а клиент может, верно? Так что, если бы я указывал URL-адрес Kurento для параметра «ws_uri», мне даже не нужно было бы использовать серверы ICE... верно? Я не очень хорошо понимаю концепцию серверов ICE/TURN с точки зрения того, как они интегрируются с Kurento, и, следовательно, я хотел бы понять на английском языке, какие изменения мне нужно внести, чтобы заставить это работать. Буду ломать голову, чтобы самому написать код! Большое спасибо заранее!

`
var args = getopts(location.search,
{
default:
{
ws_uri: 'ws://' + location.hostname + ':8888/kurento',
file_uri: 'file:///tmp/recorder_demo.webm', //file to be stored in media server
ice_servers: undefined
}
});`

person dranz3r    schedule 13.07.2015    source источник
comment
Если ответ решил вашу проблему, не могли бы вы принять его?   -  person igracia    schedule 13.10.2015


Ответы (1)


Ответ А

Только это и ничего больше... по крайней мере для KMS. На стороне клиента вам нужно будет указать порт WSS и так далее.

Ответ Б

Вашему клиенту может понадобиться сервер STUN/TURN, и это не зависит от того, где находится KMS. STUN и TURN используются в процессе сбора кандидатов, чтобы обнаружить топологию сети вашего партнера. У вас есть два одноранговых узла: KMS и ваше приложение для Android, и оба должны иметь в своих SDP и во время согласования доступного им кандидата (приложение будет подключаться к KMS и наоборот). Если оба одноранговых узла находятся в одной сети, вы можете обойтись без использования STUN/TURN. В тот момент, когда у вас есть промежуточный NAT, вам нужно как минимум STUN, чтобы этот одноранговый узел мог собирать кандидатов, которые имеют общедоступный IP-адрес на другой стороне NAT, который не известен одноранговому узлу, если не используется STUN.

TURN используется как сервер ретрансляции и требуется в небольшом количестве случаев. Если вы почти уверены, что собираетесь использовать TURN, вам нужно установить его на машине, отличной от KMS (практически нет смысла устанавливать вместе сервер ретрансляции и сервер мультимедиа)

Так что ответ — да, вам, скорее всего, понадобится STUN/TURN в ваших клиентах.

person igracia    schedule 03.08.2015