Difference between revisions of "Jingle"
(добавил интервики и обновил ссылки) |
m (стилистика + cat:Расширения) |
||
Line 6: | Line 6: | ||
== Описание == | == Описание == | ||
− | Универсальный сигнальный протокол для XMPP. В его функции не входит сама передача данных, а только рукопожатие. Другими словами, два клиента | + | Универсальный сигнальный протокол для XMPP. В его функции не входит сама передача данных, а только организация соединения - т.н. "рукопожатие". Другими словами, два клиента, используя Jingle, обговаривают адреса, порты, тип передаваемых данных, кодеки, тип канала, используемые транспорты и другую информацию, необходимую для установки соединения, по которому уже будет происходить непосредственная передача данных. |
== История == | == История == | ||
− | До появления Jingle | + | До появления Jingle ситуация с поддержкой голоса, видео и других p2p потоков была следующая: существовало несколько закрытых протоколов, используемых в закрытых клиентах, с одной стороны, и был разработан открытый стандарт [[TINS]] - с другой. Закрытые протоколы, помимо того, что были закрыты от сообщества, не всегда учитывали требования, необходимые для совместимости с уже существующими сетями на базе SIP, а открытый TINS имел недостатки, непозволяющие ему легко встраиваться в Jabber/XMPP клиенты. |
Такая ситуация привела к расколу сообщества и [[XSF]] оказалась перед выбором: | Такая ситуация привела к расколу сообщества и [[XSF]] оказалась перед выбором: | ||
Line 15: | Line 15: | ||
# Сделать новый полноценный сигнальный протокол для 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 (без использования 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] | ||
Line 30: | Line 30: | ||
# {{xep|0167|Jingle RTP Sessions}} — звук и видео через [http://ru.wikipedia.org/wiki/RTP RTP]. | # {{xep|0167|Jingle RTP Sessions}} — звук и видео через [http://ru.wikipedia.org/wiki/RTP RTP]. | ||
# {{xep|0177|Jingle Raw UDP Transport}} — создание UDP соединения для передачи любых данных. | # {{xep|0177|Jingle Raw UDP Transport}} — создание UDP соединения для передачи любых данных. | ||
− | # {{xep|0183|Jingle Telepathy Transport}} — создание телепатического канала для передачи мыслей. | + | # шуточный {{xep|0183|Jingle Telepathy Transport}} — создание телепатического канала для передачи мыслей. |
== Поддержка в программах == | == Поддержка в программах == | ||
− | Клиент [[GTalk]] работает поверх очень похожего на Jingle протокола, но все же, это не Jingle в чистом виде. То же самое относится и к библиотеке [[libjingle]] созданной коммандой Google. | + | Клиент [[GTalk]] работает поверх очень похожего на Jingle протокола, но все же, это не Jingle в чистом виде. То же самое относится и к библиотеке [[libjingle]], созданной коммандой Google. |
Список клиентов и реализаций чистого Jingle можно найти на [http://xmpp.org/tech/jingle.shtml wiki-странице протокола] сервера [http://wiki.jabber.org wiki.jabber.org]. В Явики есть специальная [[:Category:Jingle|категория для программ, поддерживающих Jingle]] | Список клиентов и реализаций чистого Jingle можно найти на [http://xmpp.org/tech/jingle.shtml wiki-странице протокола] сервера [http://wiki.jabber.org wiki.jabber.org]. В Явики есть специальная [[:Category:Jingle|категория для программ, поддерживающих Jingle]] | ||
Line 48: | Line 48: | ||
[[Category:Протоколы]] | [[Category:Протоколы]] | ||
+ | [[Category:Расширения]] |
Revision as of 10:27, 13 August 2009
Статьи по этой теме на других вики-сайтах: | |
---|---|
Jingle (протокол) — Википедия | |
Jingle (protocol) — Wikipedia (англ.) |
- Эта статья о протоколе XEP-0166: Jingle. О реализующей его библиотеке см. libjingle.
Contents
Описание
Универсальный сигнальный протокол для XMPP. В его функции не входит сама передача данных, а только организация соединения - т.н. "рукопожатие". Другими словами, два клиента, используя Jingle, обговаривают адреса, порты, тип передаваемых данных, кодеки, тип канала, используемые транспорты и другую информацию, необходимую для установки соединения, по которому уже будет происходить непосредственная передача данных.
История
До появления Jingle ситуация с поддержкой голоса, видео и других p2p потоков была следующая: существовало несколько закрытых протоколов, используемых в закрытых клиентах, с одной стороны, и был разработан открытый стандарт TINS - с другой. Закрытые протоколы, помимо того, что были закрыты от сообщества, не всегда учитывали требования, необходимые для совместимости с уже существующими сетями на базе SIP, а открытый TINS имел недостатки, непозволяющие ему легко встраиваться в Jabber/XMPP клиенты.
Такая ситуация привела к расколу сообщества и XSF оказалась перед выбором:
- Рекомендовать всем клиентам реализовывать одновременную поддержку и XMPP и SIP для передачи голоса
- Сделать новый полноценный сигнальный протокол для XMPP
Опыт подсказывал, что не везде, где уже сделаны клиенты Jabber, можно реализовать двойную поддержку, поэтому XFS решило попробовать второй вариант и Joe Hildebrand вместе с Peter Saint-Andre начали разработку протокола, который бы обеспечил необходимую сигнальную функциональность и остался бы совместим с существующими стандартами. Кодовое название протокола стало Jingle ("звенеть")
После общения с разработчиками из Google стало понятно, что только появляющийся Jingle концептуально (и даже местами семантически) похож на сигнальный протокол используемый в приложении Google Talk. Тогда, ради совместимости, было решено согласовать эти два протокола и разработчики из Google стали входить в процесс разработки Jingle как соавторы.
Сейчас Jingle в основном идентичен протоколу используемому в GTalk, отличия заключаются в нескольких корректировках, основанных на откликах разработчиков приложений.
Jingle и SIP
Сигнальный XMPP протокол Jingle работает поверх только XMPP (без использования SIP) из-за того, что создавать и поддерживать клиенты реализующие два больших протокола вместо одного достаточно сложно. В цели разработчиков Jingle не входило заменить или выжить SIP, вместо этого они постарались сделать протокол таким, чтобы клиенты без особых сложностей могли входить в существущие SIP сети.
Транспорт Jabber->SIP: см. Gtalk2VoIP
Применение
XEP-166 определяет только базовую функциональность сигнального протокола. Для каждого типа потока данных (звук, файлы, видео) существуют отдельные стандарты, конкретизирующие применение Jingle в своей области:
- XEP-0167: Jingle RTP Sessions — звук и видео через RTP.
- XEP-0177: Jingle Raw UDP Transport — создание UDP соединения для передачи любых данных.
- шуточный XEP-0183: Jingle Telepathy Transport — создание телепатического канала для передачи мыслей.
Поддержка в программах
Клиент GTalk работает поверх очень похожего на Jingle протокола, но все же, это не Jingle в чистом виде. То же самое относится и к библиотеке libjingle, созданной коммандой Google.
Список клиентов и реализаций чистого Jingle можно найти на wiki-странице протокола сервера wiki.jabber.org. В Явики есть специальная категория для программ, поддерживающих Jingle