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

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


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


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


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


* [[Psi]]
* [[Psi]] / [[Psi+]] (с плагином psimedia)
* [[Gajim]] (только для Linux/BSD)
* [[eyeCU]]
* Jabbin
* Jabbin
* [[Jabbim]] (только передача файлов, в тестировании)
* [[Empathy]]
* [[Gajim]] (спец. версия)
<!--* [[Jabbim]] (только передача файлов, в тестировании)
* [[Kopete]]
Пока убираю, ибо в http://dev.jabbim.cz/jabbim/wiki/en/JabbimXEPSupport стоит Unknown -->
* [[Coccinella]] (несовместимо с Google Talk)
* [[Spark]] (только для Windows, возможно для Mac OS X)
<!--* [[Coccinella]] <ref>Несовместимо с остальными клиентами</ref>-->
* [[Google Talk клиент|Google Talk]]
* [[Google Talk клиент|Google Talk]]
* [[Nimbuzz]]
* [[Talkonaut]]
* [[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.
Существует также протокол SIMPLE, который добавляет в SIP поддержку общения текстом. Однако по функционалу и распространенности он не может сравниться с Jabber.


При использовании Jingle могут возникнуть следующие проблемы:
Взаимодействие между Jingle и SIP возможно установить с помощью сервиса [[GTalk2VoIP]], а также с помощью Asterisk, Yate или других подобных программ.
* Официальная спецификация и спецификация от Google различны
* В различных реализациях существуют различные способы обхода NAT
К сожалению, Jingle все еще мало распространен.


==Psi==
'''Примечание:'''
<references />


Psi поддерживает Jingle начиная с [http://delta.affinix.com/2009/05/23/psi-013-rc1-released/ 0.13 Release Candidate 1]. Для передачи голоса и видеосигнала необходимо установить [http://delta.affinix.com/psimedia/ плагин]. Файл libgstprovider.so нужно скопировать в папку "plugins", находящуюся в месте установки Psi (в случае с Windows это, как правило, C:\Program Files\Psi\, а в случае GNU/Linux - /usr/lib/psi/). Если Вы собираете Psimedia самостоятельно, то для сборки необходим GStreamer версии не ниже 0.10.22, а также Speex и некоторые другие библиотеки.
==Ссылки==


{{ToDo|Проверить работоспособность передачи файлов через Jingle без/c установленным Psimedia}}
* [[JRD:Jingle|Описание Jingle на JaWiki]]
* [[ru_wikipedia:Jingle_(протокол)|Описание Jingle на Wikipedia]]


[[Category:Сеть]][[Category:Тонкости работы]][[Category:Термины]]
[[Category:Сеть]][[Category:Тонкости работы]][[Category:Термины]]
24

правки