Jingle (Jabber Interactive Google Language Extension) – это протокол с открытым исходным кодом, разработанный для реализации мультимедийных потоков, таких как голосовая связь, видеосвязь и передача файлов, в сети XMPP (Extensible Messaging and Presence Protocol). Протокол Jingle обеспечивает возможность установления и управления потоком данных между пользователями, поддерживающими XMPP, и может использоваться для обмена данными в реальном времени. Jingle широко используется в различных приложениях для мгновенных сообщений и видеозвонков.Он был разработан компанией Google совместно с XMPP Standards Foundation. Официальное название стандарта — XEP-0166.
TINS, определенный в XEP-0111 и с тех пор отмененный в пользу Jingle, был первой попыткой расширить протокол, позволяющий устанавливать мультимедийные сеансы между двумя клиентами XMPP . Это решение оказалось непрактичным и эффективным в использовании, поэтому его разработчики, Джо Хильдебранд и Питер Сен-Андре , решили начать свою работу с нуля и определить совершенно другой протокол для этого использования.
После публикации первого черновика Скотт Людвиг из команды разработчиков Google Talk связался с ними, чтобы указать, что этот черновик очень похож по духу и даже по синтаксису на протокол VoIP, разработанный для их программного обеспечения. Питер Сен-Андре и Скотт Людвиг согласились объединить усилия для выработки общего определения протокола. В этом им очень помог Джо Беда, который также фигурирует в списке участников.
Таким образом 6 октября 2005 г., были опубликованы XEP-0166 (Jingle) и XEP-0167 (Jingle RTP Sessions). Это было не раньше месяцаМарт 2006 г. что все ссылки на метод транспорта были удалены из XEP-0166 и перемещены для четкого разделения определения Jingle между различными XEP (семантика сеанса, транспорты, форматы данных).
Клиенты, использующие Jingle
- Asterisk
- Coccinella
- Empathy
- FreeSWITCH
- Gajim (экспериментальная поддержка)
- Google Talk
- Jabbin (2.0 beta2)
- Kopete (начиная с версии 0.12)
- Miranda IM (с использованием плагина JGTalk и mediastreamer2)
- Nimbuzz
- Pidgin (с версии 2.6)
- Psi (возобновлена поддержка в версии 0.13)
- QIP Infium (версии 9032, 9034), QIP 2010 (до build 3397)
- Jitsi
- Talkonaut
- Telepathy Gabble
Преимущества использования протокола Jingle:
1. Открытый стандарт: Jingle является открытым стандартом, что позволяет разработчикам и компаниям создавать собственные решения на его основе.
2. Универсальность: Jingle поддерживается большинством современных мессенджеров и VoIP приложений, что обеспечивает совместимость и возможность использования на различных устройствах.
3. Интеграция с другими сервисами: Jingle обеспечивает возможность интеграции с другими сервисами, такими как видеоконференции, передача файлов и текстовые сообщения.
4. Отличное качество звука и видео: благодаря использованию новейших технологий, протокол Jingle обеспечивает высокое качество передачи звука и видео в реальном времени.
Недостатки использования протокола Jingle:
1. Требуется доступ в интернет: для использования протокола Jingle необходимо иметь доступ в интернет, что может быть ограничением в случаях с плохим соединением или отсутствием интернета.
2. Безопасность данных: передача данных через открытый интернет может повлечь за собой риски безопасности и возможность перехвата информации третьими лицами.
3. Не всегда стабильное соединение: в связи с использованием интернета, качество соединения может быть нестабильным, что может привести к потере качества звука и видео во время общения.
4. Ограниченные функции: в некоторых случаях протокол Jingle может иметь ограниченные функциональные возможности по сравнению с другими протоколами.