Реальная альтернатива Skype

dangerr

Само собой речь только о голосе и видео с компьютера на компьютер.
С передачей текста отлично справляется XMPP, а со звонками на обычные телефоны - SIP.
Но для этой цели я лично их приспособить не смог. XMPP (расширение Jingle) требует наличие у обоих (!) собеседников публичного сетевого адреса, иначе работает через STUN, который работает в зависимости от погоды на Марсе. SIP вроде бы требует публичного адреса только у одного из собеседников, но от этого не легче.
В современных условиях большинство людей сидят за роутерами и даже если публичный адрес провайдером предоставляется, он доступен только на роутере. Да, есть UPNP, да есть проброс портов. Но во-первых, я так и не нашёл XMPP и SIP-софта, который бы позволял понять какие именно порты надо пробросить, а во-воторых я не понимаю почему вместо того, чтобы просто говорить с человеком, я ему должен объяснять что ему надо пробросить порты и думать как же это сделать с его конкретной моделью роутера (и вообще это ещё хорошо, если у него будет доступ в его админку).
То есть я хочу протокол и софт, с котрыми бы стало возможно следующее:
1) зарегистрировался
2) установил клиент
3) ввёл логин-пароль в клиенте
4) общаешься. Всегда. Независимо ни-от-чего. Если могу сёрфить в сети, значит могу общаться, хоть у каждого собеседника по 8 натов перед ним.
Это должно быть верно хотя бы для тех, с кем я общаюсь. Сам я, конечно, могу хоть обнастраиваться. Но чтобы когда потом мне нужно будет срочно поговорить, я просто взял и поговорил.
Сам я тоже могу находиться хоть за 10 натами, но у меня есть свой сервер с внешним адресом.
Вообще в идеале хотелось бы обойтись без использования сервера, так как это очень ограничивает использование этого решения только для общения со мной, а друг с другом люди уже не смогут так же легко общаться.
В теме про то, что Skype начали сотрудничество со спецслужбами, я видел упоминние openfire+red5 +клиент spark. Openfire я раньше сам пользовался как джаббер-сервером (сейчас перешёл на ejabberd). Про red5 немного почитал. Что-то о нём в основном гворят как о свободной замене Adobe Flash Media Server. Который вроде как нужен для потокового видео типа Youtube во Flash Player в браузере. Ещё я для него ebulid не нашёл :(
Если это дело можно таки приспособить для того, чтобы общаться через jingle без внезапных и неразрешимых ошибок, то было бы прекрасно. Но нужно ли для этого регистрировать всех, с кем я общаюсь, именно на моём сервере? Это не очень желательно. И с другой стороны не смогут ли использовать мой сервер как посредника все, кому не лень?

bestpilot8

А gtalk чем тебе не подходит? У него, вроде, есть аудио- и видеочаты.

dangerr

Я не говорил, что он мне не подходит. Может даже и подходит.
Но gtalk - это вроде бы всего лишь название для XMPP и jingle через гугл-аккаунты и одноимённый клиент, не?
Ну то есть как бы та же самая лажа получается, что и с любым другим jingle, не?

yroslavasako

А gtalk чем тебе не подходит? У него, вроде, есть аудио- и видеочаты.
лучше когда твои секреты потекут спецслужбам, чем гуглу - у последнего больше инструментов для анализа и искушений для воздействий, произведённых на основании их результатов. Ну и, конечно, точно так же стучит спецслужбам

bestpilot8

Но gtalk - это вроде бы всего лишь название для XMPP и jingle через гугл-аккаунты и одноимённый клиент, не?
Ну то есть как бы та же самая лаже получается, что и с любым другим jingle, не?
Ну ты же можешь это проверить. Взять себя за NAT'ом и другого юзера за NAT'ом и позвонить друг другу (например, через веб-интерфейс).

dangerr

Gtalk работает через XMPP, так что в его случае хотя бы известно что именно утекает.

yroslavasako

Ну то есть как бы та же самая лажа получается, что и с любым другим jingle, не?
там сервер большой и толстый и близкодоступный, так что STUN работает всегда.
Кстати, на самом деле задача должна ставиться иначе.
Нужно максимально простой софт, которые может создавать приватные VPN комнаты. внутри можно гонять всё что душе угодно, в том числе голосовые чатики.
Как промежуточное решение могу посоветовать mumble.

yroslavasako

Gtalk работает через XMPP, так что в его случае хотя бы известно что именно утекает.
плюс гугл-плагин блобом, плюс гугл-апдейтер блобом, и вечный трафик на сервера гугла от них.

bestpilot8

Да, кстати, если погуглить, то некоторые товарищи предлагают Jitsi.
В нём интересно вот что:

The fact that Jitsi properly handles IPv6 is especially interesting for direct PC-to-PC communication, for instance, if both sides are 'trapped' behind NAT routers, but obtain a reachable IPv6 address via a tunnel-broker.
The Jitsi community has also completed an ICE implementation called ice4j.org, which it uses to provide NAT traversal capabilities, and assist IPv4 to IPv6 transition.[9]

bestpilot8

плюс гугл-плагин блобом, плюс гугл-апдейтер блобом, и вечный трафик на сервера гугла от них.
Ну чего ты — через браузер же можно.

Troyn09

Ну чего ты — через браузер же можно.
а как броузер от выше озвученного помогает?

bestpilot8

Ну апдейтера уже не будет, к примеру (если не Хром, конечно).

Troyn09

Как это не будет?
Когда пользовался в FF видеочатом gtalk все там было (сейчас неужто убрали?)

bestpilot8

А, теперь понял, о чём ты. Действительно, он же, сцуко, даже для браузера плагин ставит, а я и забыл.
Ну Jitsi тогда может помочь, вроде.

dangerr

там сервер большой и толстый и близкодоступный, так что STUN работает всегда.
В моём понимании STUN не работает просто потому, что STUN - это хак, который ожидает определённого поведения от NAT, а не каждая реализация имеет такое поведение.
Как сказывается "толщина и близкодоступность" сервера на удачности работы STUN?
Кстати, на самом деле задача должна ставиться иначе.
Нужно максимально простой софт, которые может создавать приватные VPN комнаты. внутри можно гонять всё что душе угодно, в том числе голосовые чатики.
Ну это в идеале. Хотя, наверное, этот канал должен быть не совсем vpn, в том смысле, что виртуальный сетевой интерфейс ни-к-чему. Но гонять трафик через него действительно в идеале чтобы можно было любой. Плюс шифрование, сжатие и прочие радости.
Но я так задачу не ставлю, так как понимаю, что живу не в идеальном мире и вряд ли что-то, подходящее под эти требования, может на данный момент существовать.
Как промежуточное решение могу посоветовать mumble.
Это, я так понимаю, ты имеешь в виду на случай, если такой VPN уже существует? Судя по википедии, это программа для болтания геймеров, то есть, видимо, внутри локалки.

dangerr

плюс гугл-плагин блобом, плюс гугл-апдейтер блобом, и вечный трафик на сервера гугла от них.
То есть без этого счастья их родной клиент нельзя поставить?
Вообще, мне как бы не клиент нужен, а инфраструктура, позволяющая ему всегда работать. Может можно как-нибудь прикинуться их клиентом и использовать её?

Filan

Это, я так понимаю, ты имеешь в виду на случай, если такой VPN уже существует? Судя по википедии, это программа для болтания геймеров, то есть, видимо, внутри локалки.
Прекрасно работает по интернету. И не обязательно быть геймером, чтобы его использовать.
И я вижу только одну по настроящему серьёзную проблему - нужен выделенный сервер, т.к. приложение исключительно клиент-серверное и весь аудио поток идёт через сервер.

viktor954

у меня работает связка Openfire+redfire и Spark с соответствующим плагином в качестве клиента. Flash, к сожалению, но достаточно универсальное решение — при отправке приглашени в видеочат даже пользователям во "внешних" сетях (ICQ, MSN и т.п.) всё работает.
http://code.google.com/p/redfire/

dangerr

Да, кстати, если погуглить, то некоторые товарищи предлагают Jitsi.
В нём интересно вот что:
    en.wikipedia.org:
    The fact that Jitsi properly handles IPv6 is especially interesting for direct PC-to-PC communication, for instance, if both sides are 'trapped' behind NAT routers, but obtain a reachable IPv6 address via a tunnel-broker.
    The Jitsi community has also completed an ICE implementation called ice4j.org, which it uses to provide NAT traversal capabilities, and assist IPv4 to IPv6 transition.[9]
Насколько я понял, про IPv6 это говорится, что он просто его поддерживает и всё. Если оба настроят IPv6 через брокера, разберутся как заставить Jitsi работать именно через IPv6, а не IPv4 и если брокер окажется вполне подходящим для движения голосового и видео трафика, то это возможно. Фактически, это почти ничем не отличается от поднятия VPN у обоих через сторонний сервер. Разница лишь в том, что этот сторонний сервер у них может быть различным.
Я думаю, очевидно, что этот подход не очень соответсвует требованию поставил и работает.
Насчёт же NAT travelsal - это, насколько я понимаю, всего-лишь другое имя для STUN.
Вообще, Jitsi я пробовал. По jingle он совсем не смог дозвониться. по SIP дозвонился только в одну сторону (не помню какую), но с другой стороны был linphone.
И вообще впечатления как от глючного, сырого поделия с кучей перделок. В этом плане не сильно лучше Скайпа.

dangerr

А, теперь понял, о чём ты. Действительно, он же, сцуко, даже для браузера плагин ставит, а я и забыл.
Помимо того, что в браузере, как выяснилось, ему тоже нужен плагин, веб-приложения для аудио мне не подходят, так как я не знаю возможности включать и выключать звук в зависимости от того, что сейчас открыто, поэтому весь звук в браузере я выключил.
Кроме того, конечно, я хочу быть онлайн всегда, а не только когда эта страница у меня открыта в браузере. И хочу видеть иконку в трее.

dangerr

Прекрасно работает по интернету. И не обязательно быть геймером, чтобы его использовать.
И я вижу только одну по настроящему серьёзную проблему - нужен выделенный сервер, т.к. приложение исключительно клиент-серверное и весь аудио поток идёт через сервер.
То есть даже в тепличных условиях, когда у обоих собеседников публичный адрес, он будет гонять трафик через сервер?
И, насколько я понимаю, для его протокола не существует каких-то уже работающих серверов, как для джаббера? Не буду же я всех подряд регистрировать на своём (тем более если там такая нагрузка на канал будет).

dangerr

у меня работает связка Openfire+redfire и Spark с соответствующим плагином в качестве клиента. Flash, к сожалению, но достаточно универсальное решение — при отправке приглашени в видеочат даже пользователям во "внешних" сетях (ICQ, MSN и т.п.) всё работает.
http://code.google.com/p/redfire/
Я, видимо, твой пост в той теме и наблюдал. Перепутал только 5 и fire :)
Что-то я не совсем понял. Ты используешь не Spark, а SparkWeb тогда получается, раз через флеш? То есть ты послал человеку ссылку и она у него открыласьв браузере и, если у него есть флеш, и он дал ему доступ к микрофону и не отключил звук, как я, то вы с ним общаетесь?
Но SparkWeb - это же только клиент для xmpp, верно? То есть это какое-то расширение для XMPP? Или как? Как оно называется-то?

viktor954

Нет, используется именно "десктопный" Spark с плагином redfire — в окне чата появляется дополнительная кнопочка, при нажатии на которую у меня открывается "недобраузерное" (без контролов — просто "рамка" — вот тут видно: http://redfire.googlecode.com/files/Image3.png) окно с флэшом, а у собеседника, как уже написал, просто ссылка при клике на которую у него откроется браузер всё с тем же флэшом. Есмли у собеседника тоже Spark с плагином, то у него вместо ссылки появится красивый вопрос про "будем видеочатиться или нет?" и при утвердительном ответе также откроется "недобраузерное" окно. Поддерживается "мультичат" до 12 собеседников.

dangerr

Примерно ясно. Спасибо.
Попробовать, конечно, стоит, хотя это и не то, что я хотел.
Но лучше, чем Скайп, как-никак.
Только я не понял один момент: ты сказал, что необязательно, чтобы собеседник был в XMPP, а можно и в ICQ и тп.
А можно, например, будет эту ссылку по e-mail отправить и сказать, чтобы человек в назначенное время её нажал и мы поговорим?

viktor954

Да, так будет работать тоже.

dangerr

Отлично!
И кроме флеша, с которым я в общем-то и так смирился, всё остальное свободное.
Браузер, конечно... наверное для этой цели буду его запускать из-под основного просто пользователя (а не из-под отдельного как обычно) и тогда и звук в нём будет.

Filan

То есть даже в тепличных условиях, когда у обоих собеседников публичный адрес, он будет гонять трафик через сервер?
Да. В первую очередь это сервер аудио конференций - много клиентов одновременно.
И, насколько я понимаю, для его протокола не существует каких-то уже работающих серверов, как для джаббера?
Есть. В том числе публичные бесплатные, но их понятное дело существенно меньше, чем для jabber-а.
Не буду же я всех подряд регистрировать на своём (тем более если там такая нагрузка на канал будет).
А и не надо.
Там можно делать публичные и приватные комнаты, и можно просто дать пароль на вход в комнату без логина.
В этом смысле mumble похож на IRC.

dangerr

Тоже по идее надо попробовать.
Только вот, я так понял, там сервер и клиент совмещены в одной софтине. Причём, флага X или qt у него нет и на сервере он от меня потребовал установить к себе в придачу кучу иксовых либ, реализацию opengl и qt. Ну и я так чувствую, что даже если я на всё это соглашусь, толку будет мало, так как никакого демона с собой он скорее всего не поставит, а наверняка хочет, чтобы сервер запускался из гуёвины.
Может, есть какая-нибудь реализация сервера для mumble, которая бы не требовала иксовых либ и запускалась как демон?

yroslavasako

Только вот, я так понял, там сервер и клиент совмещены в одной софтине.
клиент - mumble
сервер - murmur

dangerr

murmur
Всё равно qt хочет. :(

marat7256

В qt не только гуй.

dangerr

Верно подмечено. qt-gui он действительно не просит.
Зависимости, конечно, не радуют, но попробовать стоит.
Только я тут ещё понял, что видео он не поддерживает, да?
Не то, чтобы для меня видео было бы критичным, но некоторые предпочитают общаться с видео. Особенно это касается родителей и других родственников, которые обязательно посмотреть на меня хотят. :)
И объяснение "скайп-плохой, поэтому видео не будет" - как-то не очень.
Оставить комментарий
Имя или ник:
Комментарий: