Jingle: различия между версиями

6746 байт добавлено ,  20:18, 15 декабря 2022
м
Добавление клиента eyeCU
м (пробел)
м (Добавление клиента eyeCU)
 
(не показаны 74 промежуточные версии 13 участников)
Строка 1: Строка 1:
[[Изображение:JingleLogo.png|thumb|upright|Логотип Jingle]]
Jabber - текстовый протокол, поэтому он лучше всего приспособлен для передачи текста, например, сообщений. Однако в некоторых случаях требуется передать бинарные данные. Текстовые протоколы плохо приспособлены к передаче бинарных данных, не исключение и Jabber. По этой причине появилась необходимость создать спецификацию по передаче бинарных данных в обход основного протокола.
Jabber - текстовый протокол, поэтому он лучше всего приспособлен для передачи текста, например, сообщений. Однако в некоторых случаях требуется передать бинарные данные. Текстовые протоколы плохо приспособлены к передаче бинарных данных, не исключение и Jabber. По этой причине появилась необходимость создать спецификацию по передаче бинарных данных в обход основного протокола.


Jingle - это расширение протокола Jabber, предназначенное для передачи бинарных данных. Подобно [[ru_wikipedia:Skype|Skype]], Jingle является [[ru_wikipedia:Одноранговая сеть|пиринговой]] (P2P) сетью, это значит что данные передаются напрямую между клиентами. Прямая передача данных значительно снижает нагрузку на сервера Jabber.
Jingle - это расширение протокола Jabber, предназначенное для передачи бинарных данных. Подобно [[Skype]], Jingle является [[ru_wikipedia:Одноранговая сеть|пиринговой]] (P2P) сетью, это значит, что данные передаются напрямую между клиентами. Прямая передача данных значительно снижает нагрузку на сервера Jabber.


У Jingle существует множество применений:
У Jingle существует множество применений, таких как:
* Передача голоса в реальном времени (разговор, так называемый [[ru_wikipedia:VoIP|VoIP]])
* Передача голоса в реальном времени (аудиозвонки или просто разговор голосом, так называемый [[ru_wikipedia:VoIP|VoIP]])
* Передача видео в реальном времени
* Передача видео в реальном времени (видеозвонки)
* Передача файлов
* Передача файлов


Jingle поддерживают следующие клиенты:
Jingle поддерживают следующие клиенты:


* [[Psi]] <ref>Для передачи голоса и видеосигнала на Linux и Mac OS X необходимо установить [http://delta.affinix.com/psimedia/ плагин]. Файл libgstprovider.so нужно скопировать в папку "plugins", находящуюся в месте установки Psi (в случае GNU/Linux - /usr/lib/psi/). Если Вы собираете Psimedia самостоятельно, то для сборки необходим GStreamer версии не ниже 0.10.22, а также Speex и некоторые другие библиотеки.<br></ref>
* [[Psi]] / [[Psi+]] (с плагином psimedia)
* [[Gajim]] (только для Linux/BSD)
* [[eyeCU]]
* Jabbin
* Jabbin
* [[Empathy]]
* [[Empathy]]
* [[Jabbim]] (только передача файлов, в тестировании)
<!--* [[Jabbim]] (только передача файлов, в тестировании)
* [[Kopete]] (в версиях для KDE 3.5, а также для KDE 4.2 и выше)
Пока убираю, ибо в http://dev.jabbim.cz/jabbim/wiki/en/JabbimXEPSupport стоит Unknown -->
* [[Spark]] (только для Windows, возможно для Mac OS X)
* [[Spark]] (только для Windows, возможно для Mac OS X)
* [[Coccinella]]
<!--* [[Coccinella]] <ref>Несовместимо с остальными клиентами</ref>-->
* [[Google Talk клиент|Google Talk]]
* [[Google Talk клиент|Google Talk]]
* [[Nimbuzz]]
* [[Nimbuzz]]
* [[Talkonaut]]
* [[Talkonaut]]
* [[Pidgin]]
* [[Pidgin]] (только Linux-версия)
<!--* [[QIP Infium]]-->
* [[Maemo 5]] <ref>Операционная система, предустановленная на Nokia N900. Jabber-клиент интегрирован в менеджер контактов, так что выделить его в "отдельный" клиент проблематично</ref>
* [[Jitsi]]
* [[Kopete]] <ref>в версиях для KDE 3.5, а также для KDE 4.2 и выше; однако готовых сборок с включенным Jingle в популярных дистрибутивах практически не встречается</ref>
 
==Совместимость Jingle в различных Jabber-клиентах==
 
На данный момент одна из основных проблем Jingle - слабая совместимость различных клиентов. Существуют несколько несовместимых спецификаций Jingle. Одна из них разработана Google для [[Google Talk клиент|своего клиента]], а вторая создана [http://xmpp.org/ XMPP Standards Foundation]. Ниже представлена таблица, в которой указана возможность совершать звонки между различными клиентами:
 
<center>
{| class="wikitable"
|rowspan=2 align=center bgcolor=lightgreen width=110|'''Вызывающая сторона'''
|colspan=14 align=center bgcolor=lightblue|'''Принимающая сторона'''
|-
!width=60 | [[Psi|Psi+]]
!width=60 | [[Gajim]]
!width=60 | [[Pidgin]]
!width=60 | [[QIP Infium]]
!width=60 | [[Empathy]]
!width=60 | [[Maemo 5]]
!width=60 | [[Spark]]
!width=60 | [[Google Talk]]
!width=60 | [[Coccinella]]
!width=60 | [[Talkonaut]]
!width=60 | [[Nimbuzz]]
!width=60 | [[Jitsi]]
!width=60 | [[ru_wikipedia:Asterisk|Asterisk]]
!width=60 | [[eyeCU]]
|-
! [[Psi|Psi+]]
|{{Да}}
|{{Да}}
|{{Частично|?<ref name='timeout1'>Соединение происходит и голос слышно, но клиент через время отключается по таймауту</ref>}}
|{{Нет}}
|{{Да}}
|{{Частично|?<ref name="no_voice">Соединение происходит успешно, однако голоса не слышно</ref>}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|
|-
! [[Gajim]]
|{{Да}}
|{{Да}}
|{{Да}}
|{{Нет}}
|{{Да}}
|{{Да}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|
|-
! [[Pidgin]]
|{{Да}}
|{{Да}}
|{{Да}}
|{{Нет}}
|{{Да}}
|{{Да}}
|{{Нет}}
|{{Да}}
|{{Нет}}
|{{Частично|?<ref name="osv_pidgin">Соединение устанавливается, но звук только в Pidgin</ref>}}
|{{Нет}}
|{{Частично|?<ref name="osv_pidgin">Соединение устанавливается, но звук только в Pidgin</ref><ref name="no_ice">Необходимо отключить ICE в настройках учетной записи в Jitsi</ref>}}
|{{Да}}
|
|-
! [[QIP Infium]]
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|
|-
! [[Empathy]]
|{{Да}}
|{{Да}}
|{{Да}}
|{{Нет}}
|{{Да}}
|{{Да}}
|{{Нет}}
|{{Да}}
|{{Нет}}
|{{Частично|?<ref name="osv_empathy">Соединение устанавливается, но звук только в Empathy</ref>}}
|{{Нет}}
|{{Частично|?<ref name="osv_jitsi">Соединение устанавливается, но звук только в Jitsi</ref>}}
|{{Да}}
|
|-
! [[Maemo 5]]
|{{Частично|?<ref name="no_voice">Соединение происходит успешно, однако голоса не слышно</ref>}}
|{{Да}}
|{{Частично|?<ref name="no_voice">Соединение происходит успешно, однако голоса не слышно</ref>}}
|{{Нет}}
|{{Да}}
|{{Да}}
|
|{{Да}}
|
|
|
|
|
|
|-
! [[Spark]]
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|
|
|{{Нет}}
|{{Нет}}
|
|
|
|
|
|-
! [[Google Talk]]
|{{Нет}}
|{{Нет}}
|{{Да}}
|{{Нет}}
|{{Да}}
|{{Да}}
|{{Нет}}
|{{Да}}
|{{Нет}}
|{{Да}}
|
|{{Нет}}
|{{Да}}
|
|-
! [[Coccinella]]
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|
|{{Нет}}
|{{Нет}}
|{{Да|Да<ref name="version_specific">Соединение происходит успешно, но в зависимости от версии может быть не слышно звука у вызывающей или принимающей стороны.</ref>}}
|
|
|
|
|
|-
! [[Talkonaut]]
|{{Нет}}
|{{Нет}}
|{{Частично|?<ref name="osv_pidgin">Соединение устанавливается, но звук только в Pidgin</ref>}}
|{{Нет}}
|{{Нет}}
|{{Нет}}
|
|{{Да}}
|
|{{Да}}
|
|
|
|
|-
! [[Nimbuzz]]
|{{Нет}}
|{{Нет}}
|{{Да}}
|{{Нет}}
|{{Частично|?<ref name="no_voice">Соединение происходит успешно, однако голоса не слышно</ref>}}
|
|
|
|
|
|
|{{Нет}}
|
|
|-
! [[Jitsi]]
|{{Нет}}
|{{Нет}}
|{{Частично|?<ref>Соединение устанавливается, но звук только в Pidgin или просто сильные помехи </ref>}}
|{{Нет}}
|{{Да}}
|
|
|{{Нет}}
|
|
|{{Нет}}
|
|
|
|-
! [[ru_wikipedia:Asterisk|Asterisk]]
|{{Нет}}
|{{Нет}}
|{{Да}}
|
|{{Да}}
|
|
|{{Да}}
|
|
|
|
|{{Да}}
|
|-
|-
|-
! [[eyeCU]]
|
|
|
|
|
|
|
|
|
|
|
|
|
|{{Да}}
|}
</center>
 
Если Вы хотите попробовать работоспособность Jingle в своём клиенте, то для этого можете воспользоваться следующими ботами:
 
* '''[xmpp:echo@haar.student.utwente.nl echo@haar.student.utwente.nl]''' - Простой тест echo
<!--* psi-dev@haar.student.utwente.nl - A conference room to talk about Psi+ (psi+ and psiplus@haar.student.utwente.nl work too)
* '''[xmpp:tellme@haar.student.utwente.nl tellme@haar.student.utwente.nl]''' - A SIP bridge to the Tell Me service (hint, say Black Jack from the main menu)-->
* '''[xmpp:echo@test.collabora.co.uk echo@test.collabora.co.uk]''' - Тестовый бот от Collabora с несколькими тестами, включая echo и проверку видео.
 
==Jingle и [[ru_wikipedia:SIP|SIP]]==
 
Многим известен протокол SIP, часто применяемый для совершения голосовых звонков. Jingle во многом похож на него. В обоих протоколах используются такие технологии как [[ru_wikipedia:STUN|STUN]], [[ru_wikipedia:TURN|TURN]], [[ru_wikipedia:ICE|ICE]] и [[ru_wikipedia:RTP|RTP]], кодек [[ru_wikipedia:G.711|G.711]]. В то же время Jingle ушёл дальше SIP и предоставляет более качественный звук и реализует больше методов обхода NAT.


В следующих клиентах Jingle поддерживается только в нестабильных версиях:
Существует также протокол SIMPLE, который добавляет в SIP поддержку общения текстом. Однако по функционалу и распространенности он не может сравниться с Jabber.
* [[QIP Infium]]


При использовании Jingle могут возникнуть следующие проблемы:
Взаимодействие между Jingle и SIP возможно установить с помощью сервиса [[GTalk2VoIP]], а также с помощью Asterisk, Yate или других подобных программ.
* Существуют несколько различных несовместимых спецификаций Jingle
* Если оба пользователя работают из-за NAT, невозможно совершить обход NAT, их сервера не могут служить как прокси для Jingle (на данный момент только [[Openfire]] может делать это) и невозможно найти ни одного супернода - связь будет невозможна.


'''Примечание:'''
'''Примечание:'''
24

правки