Editing Jingle

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: MediaWiki upgrading

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
{{interwiki
 
| ruwiki = Jingle (протокол)
 
| enwiki =
 
| jworld = Jingle
 
}}
 
 
: ''Эта статья о протоколе {{xep|0166|Jingle}}. О реализующей его библиотеке см. [[libjingle]].''
 
: ''Эта статья о протоколе {{xep|0166|Jingle}}. О реализующей его библиотеке см. [[libjingle]].''
[[File:JingleLogo.png|thumb|Один из вариантов логотипа Jingle]]
 
'''Jingle''' - универсальный сигнальный протокол для XMPP. В его функции не входит сама передача данных, а только организация соединения - т.н. "рукопожатие". Другими словами, два клиента, используя Jingle, оговаривают адреса, порты, тип передаваемых данных, кодеки, тип канала, используемые транспорты и другую информацию, необходимую для установки соединения, по которому уже будет происходить непосредственная передача данных.
 
  
== Состояние и применимость технологии ==
+
== Описание ==
 
+
Универсальный сигнальный протокол для XMPP. В его функции не входит сама передача данных, а только рукопожатие. Другими словами, два клиента используюя Jingle обговаривают адреса, порты, тип передаваемых данных, кодеки, тип канала, используемые транспорты и другую информацию, необходимую для установки соединения, по которому уже будет происходить непосредственная передача данных.
В данный момент пока сложно пользоваться голосовыми функциями в силу различных технических моментов и несовместимости клиентов. Но ситуация постепенно выправляется и уже можно найти рабочие комбинации, в которых голосовое взаимодействие возможно (смотрите таблицу размещенную ниже). Если у вас есть сомнения, то на обеих сторонах используйте один и тот же клиент. О практической стороне использования мультимедийный возможностей информация изложена на странице [[Голос и видео в jabber]].
+
 
+
== Применение ==
+
 
+
XEP-166 определяет только базовую функциональность сигнального протокола. Для каждого типа потока данных (звук, файлы, видео) существуют отдельные стандарты, конкретизирующие применение Jingle в своей области:
+
# {{xep|0167|Jingle RTP Sessions}} — звук и видео через [http://ru.wikipedia.org/wiki/RTP RTP].
+
# {{xep|0177|Jingle Raw UDP Transport}} — создание UDP соединения для передачи любых данных.
+
# шуточный {{xep|0183|Jingle Telepathy Transport}} — создание телепатического канала для передачи мыслей.
+
 
+
== Поддержка в программах ==
+
 
+
=== Две версии Jingle ===
+
Клиент [[GTalk]] (на библиотеке [[libjingle]], созданной командой Google) работает поверх очень похожего на Jingle протокола, но все же, это не тот Jingle, который описан в соответствующем [[XEP]] ({{xep|0166|Jingle}}). По этой причине клиенты на базе [[libjingle]] не совместимы с клиентами, имеющими реализацию по XEP.
+
 
+
Например, в [[QIP]] реализация Jingle от Google ([[libjingle]]), поэтому с [[Psi+]] он не может взаимодействовать. Но даже эта, устаревшая реализация Jingle, есть только в версиях 9032 и 9034. Озвучиваются планы во возврату этой поддержки позднее<ref>http://juick.com/leksey/1282084#54</ref>. Но полноценный Jingle трудно ожидать в QIP, потому что в [[RBK|РБК]] делается упор на [[SIP]].
+
 
+
В данной вики есть специальная [[:Category:Jingle|категория для программ, поддерживающих Jingle]], где есть как клиенты, так и [[:Category:Библиотеки с поддержкой Jingle|библиотеки]].
+
 
+
Данная таблица взята со страницы из вики [[jworld:Jingle|JabberWorld]] и может содержать неверную информацию. Но она должна правиться и снабжаться соответствующими сносками-пояснениями. Методика и протоколы тестирования планируется [[Jingle/test|опубликовать здесь]].
+
<center>
+
{| class="wikitable"
+
|rowspan=2 align=center bgcolor=lightgreen width=110|'''Вызывающая сторона'''
+
|colspan=14 align=center bgcolor=lightblue|'''Принимающая сторона'''
+
|-
+
!width=60 bgcolor=lightblue|[[Psi|Psi+]]
+
!width=60 bgcolor=lightblue|[[Gajim]]
+
!width=60 bgcolor=lightblue|[[Pidgin]]
+
!width=60 bgcolor=lightblue|[[QIP Infium]]
+
!width=60 bgcolor=lightblue|[[Empathy]]
+
!width=60 bgcolor=lightblue|[[Maemo 5]]
+
!width=60 bgcolor=lightblue|[[Kopete]]
+
!width=60 bgcolor=lightblue|[[Spark]]
+
!width=60 bgcolor=lightblue|[[Google Talk (клиент)|Google Talk]]
+
!width=60 bgcolor=lightblue|[[Coccinella]]
+
!width=60 bgcolor=lightblue|[[Talkonaut]]
+
!width=60 bgcolor=lightblue|[[Nimbuzz]]
+
|-
+
!bgcolor=lightgreen|[[Psi+|Psi+]]
+
|{{Да}}
+
|{{Да}}
+
|{{Частично|?<ref name=timeout>Вызов проходит и разговор начинается, но клиент разрывал соединение по таймауту</ref>}}
+
|{{Нет}}
+
|{{Да}}
+
|{{Да|Да<ref name="no_voice">Соединение происходит успешно, однако, голоса не слышно</ref>}}
+
|
+
|{{Нет}}
+
|{{Нет}}
+
|{{Нет}}
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Gajim]]
+
|{{Да}}
+
|{{Да}}
+
|{{Да}}
+
|{{Нет}}
+
|{{Да}}
+
|{{Да}}
+
|
+
|{{Нет}}
+
|{{Нет}}
+
|{{Нет}}
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Pidgin]]
+
|{{Да}}
+
|{{Да}}
+
|{{Да}}
+
|{{Да|Да<ref name='qip'>Результаты для старой версии QIP Infium</ref>}}
+
|{{Да}}
+
|{{Да}}
+
|
+
|{{Нет}}
+
|{{Да}}
+
|{{Нет}}
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[QIP Infium]]
+
|{{Нет}}
+
|{{Нет}}
+
|{{Да|Да<ref name='qip'>Результаты для старой версии QIP Infium</ref>}}
+
|{{Да|Да<ref name='qip'>Результаты для старой версии QIP Infium</ref>}}
+
|{{Да|Да<ref name='qip'>Результаты для старой версии QIP Infium</ref>}}
+
|{{Нет}}
+
|
+
|
+
|{{Да|Да<ref name='qip'>Результаты для старой версии QIP Infium</ref>}}
+
|
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Empathy]]
+
|{{Да}}
+
|{{Да}}
+
|{{Да}}
+
|{{Да|Да<ref name='qip'>Результаты для старой версии QIP Infium</ref>}}
+
|{{Да}}
+
|{{Да}}
+
|
+
|{{Нет}}
+
|{{Да}}
+
|{{Нет}}
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Maemo 5]]
+
|{{Да|Да<ref name="no_voice">Соединение происходит успешно, однако голоса не слышно</ref>}}
+
|{{Да}}
+
|{{Да|Да<ref name="no_voice">Соединение происходит успешно, однако голоса не слышно</ref>}}
+
|{{Нет}}
+
|{{Да}}
+
|{{Да}}
+
|
+
|
+
|{{Да}}
+
|
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Kopete]]
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Spark]]
+
|{{Нет}}
+
|{{Нет}}
+
|{{Нет}}
+
|
+
|{{Нет}}
+
|
+
|
+
|
+
|
+
|{{Нет}}
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Google Talk]]
+
|{{Нет}}
+
|{{Нет}}
+
|{{Частично|?<ref name='freeze'>Клиент зависал при приеме звонка</ref>}}
+
|{{Да|Да<ref name='qip'>Результаты для старой версии QIP Infium </ref>}}
+
|{{Частично|?<ref name='freeze'>Клиент зависал при приеме звонка</ref>}}
+
|{{Да}}
+
|
+
|{{Да}}
+
|{{Да}}
+
|
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Coccinella]]
+
|{{Нет}}
+
|{{Нет}}
+
|{{Нет}}
+
|
+
|{{Нет}}
+
|
+
|
+
|{{Нет}}
+
|
+
|{{Нет}}
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Talkonaut]]
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|-
+
!bgcolor=lightgreen|[[Nimbuzz]]
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|-
+
|}
+
</center>
+
 
+
[[File:Gajim-voice-ubuntu.png|center|600px]]
+
 
+
== Использование клиентами за {{w|NAT}} ==
+
 
+
Прохождение NAT осуществляется с использованием [[STUN]]. Его поддержка встроена в современные версии [[ejabberd]], национальный сервер [[jabber.ru]] работает под управлением версии с поддержкой [[STUN]].
+
 
+
jingle nodes relay - реализация Jingle supernode. Узел позволяющий клиентам, не имеющих возможности передавать голос напрямую. Копия запущена, например, на сервере [[Talkr.im]]. По состоянию на весну 2011 года эта технология очень мало распространена и вряд ли может быть использована на практике.
+
  
 
== История ==
 
== История ==
 
+
До появления Jingle на свет ситуация с поддержкой голоса, видео и других p2p потоков была следующая: существовало несколько закрытых протоколов используемых в закрытых клиентах с одной стороны и был разработан открытый стандарт [[TINS]] с другой. Закрытые протоколы, кроме того, что были закрыты от сообщества, не всегда учитывали требования, необходимые для совместимости с уже существующими сетями на базе SIP, а открытый TINS имел недостатки, непозволяющие ему легко встраиваться в Jabber/XMPP клиенты.  
До появления Jingle ситуация с поддержкой голоса, видео и других p2p потоков была следующая: существовало несколько закрытых протоколов, используемых в закрытых клиентах, с одной стороны, и был разработан открытый стандарт {{w|TINS}} - с другой. Закрытые протоколы, помимо того, что были закрыты от сообщества, не всегда учитывали требования, необходимые для совместимости с уже существующими сетями на базе SIP, а открытый TINS имел недостатки, непозволяющие ему легко встраиваться в Jabber/XMPP клиенты.  
+
  
 
Такая ситуация привела к расколу сообщества и [[XSF]] оказалась перед выбором:  
 
Такая ситуация привела к расколу сообщества и [[XSF]] оказалась перед выбором:  
Line 234: Line 11:
 
# Сделать новый полноценный сигнальный протокол для XMPP
 
# Сделать новый полноценный сигнальный протокол для XMPP
  
Опыт подсказывал, что не везде, где уже сделаны клиенты Jabber, можно реализовать двойную поддержку, поэтому XFS решило попробовать второй вариант и Joe Hildebrand вместе с Peter Saint-Andre начали разработку протокола, который бы обеспечил необходимую сигнальную функциональность и остался бы совместим с существующими стандартами. Кодовое название протокола стало Jingle ("звенеть")
+
Опыт подсказывал, что не везде, где уже сделаны клиенты Jabber, можно реализовать двойную поддержку, поэтому XFS решило попробовать второй вариант и Joe Hildebrand вместе с Peter Saint-Andre начали разработку протокола, который бы обеспечил необходимую сигнальную функциональность и остался бы совместим с существующими стандартами. Кодовое название протокола стало Jingle (звенеть)
  
 
После общения с разработчиками из Google стало понятно, что только появляющийся Jingle концептуально (и даже местами семантически) похож на сигнальный протокол используемый в приложении [[GTalk|Google Talk]]. Тогда, ради совместимости, было решено согласовать эти два протокола и разработчики из Google стали входить в процесс разработки Jingle как соавторы.  
 
После общения с разработчиками из Google стало понятно, что только появляющийся Jingle концептуально (и даже местами семантически) похож на сигнальный протокол используемый в приложении [[GTalk|Google Talk]]. Тогда, ради совместимости, было решено согласовать эти два протокола и разработчики из Google стали входить в процесс разработки Jingle как соавторы.  
  
Сейчас Jingle в основном идентичен протоколу используемому в GTalk, отличия заключаются в нескольких корректировках, основанных на откликах разработчиков приложений.
+
Сейчас Jingle в основном идентичен протоколу используемому в GTalk, отличия заключаются в нескольких корректировках основанных на откликах разработчиков приложений.
  
 
== Jingle и SIP ==
 
== Jingle и SIP ==
 
+
Сигнальный XMPP протокол Jingle работает поверх только XMPP без использования SIP из-за того, что создавать и поддерживать клиенты реализующие два больших протокола вместо одного достаточно сложно. В цели разработчиков Jingle не входило заменить или выжить SIP, вместо этого они постарались сделать протокол таким, чтобы клиенты без особых сложностей могли входить в существущие SIP сети.  
Сигнальный XMPP протокол Jingle работает поверх только XMPP (без использования {{w|SIP}}) из-за того, что создавать и поддерживать клиенты реализующие два больших протокола вместо одного достаточно сложно. В цели разработчиков Jingle не входило заменить или выжить SIP, вместо этого они постарались сделать протокол таким, чтобы клиенты без особых сложностей могли входить в существующие SIP сети.  
+
 
{{todo|уточнить, что именно в протоколе позволяет делать такой фокус, можно ли XMPP+Jingle клиент использовать как SIPPhone}}
 
{{todo|уточнить, что именно в протоколе позволяет делать такой фокус, можно ли XMPP+Jingle клиент использовать как SIPPhone}}
 
Транспорт Jabber->SIP: см. [http://www.gtalk2voip.com/ Gtalk2VoIP]
 
Транспорт Jabber->SIP: см. [http://www.gtalk2voip.com/ Gtalk2VoIP]
  
== См. также ==
+
== Применение ==
 +
XEP-166 определяет только базовую функциональность сигнального протокола. Для каждого типа потока данных (звук, файлы, видео) существуют отдельные стандарты, конкретизирующие применение Jingle в своей области:
 +
# {{xep|0167|Jingle RTP Sessions}}&nbsp;&mdash; звук и видео через [http://ru.wikipedia.org/wiki/RTP RTP].
 +
# {{xep|0177|Jingle Raw UDP Transport}}&nbsp;&mdash; создание UDP соединения для передачи любых данных.
 +
# {{xep|0183|Jingle Telepathy Transport}}&nbsp;&mdash; создание телепатического канала для передачи мыслей.
  
 +
== Поддержка в программах ==
 +
Клиент [[GTalk]] работает поверх очень похожего на Jingle протокола, но все же, это не Jingle в чистом виде. То же самое относится и к библиотеке [[libjingle]] созданной коммандой Google.
 +
 +
Список клиентов и реализаций чистого Jingle можно найти на [http://xmpp.org/tech/jingle.shtml wiki-странице протокола] сервера [http://wiki.jabber.org wiki.jabber.org]. В Явики есть специальная [[:Category:Jingle|категория для программ, поддерживающих Jingle]]
 +
 +
== Смотрите также ==
 
* [[:Category:Jingle|Программы, которые используют или реализуют Jingle]]
 
* [[:Category:Jingle|Программы, которые используют или реализуют Jingle]]
* [[Голос и видео в jabber]]
 
* [[Muji]] (Multiparty Jingle)
 
  
 
== Ссылки ==
 
== Ссылки ==
 
+
* [http://www.xmpp.org/extensions/xep-0166.html XEP-0166: Jingle]
* {{xep|0166|Jingle}}
+
* [http://wiki.jabber.org/index.php/Jingle_(XEP-0166) Стрница на wiki.jabber.org по протоколу]
* [http://xmpp.org/about-xmpp/technology-overview/jingle/ Официальная документация по протоколу]
+
* [[Jingle/test|Тестирование Jingle в реальных условиях]]
+
 
+
== Примечания ==
+
<references/>
+
 
+
[[Category:Протоколы]]
+
[[Category:Расширения]]
+

Please note that all contributions to JaWiki (Jabber/XMPP wiki) may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see JaWiki (Jabber/XMPP wiki):Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)