Jingle
Jabber - текстовый протокол, поэтому он лучше всего приспособлен для передачи текста, например сообщений. Однако в некоторых случаях требуется передать бинарные данные. Текстовые протоколы плохо приспособлены к передаче бинарных данных, не исключение и Jabber. По этой причине появилась необходимость создать спецификацию по передаче бинарных данных в обход основного протокола.
Jingle - это расширение протокола Jabber, предназначенное для передачи бинарных данных. Подобно Skype, Jingle является пиринговой (P2P) сетью, это значит что данные передаются напрямую между клиентами. Прямая передача данных значительно снижает нагрузку на сервера Jabber.
У Jingle существует множество применений:
- Передача голоса в реальном времени (разговор, так называемый VoIP)
- Передача видео в реальном времени
- Передача файлов
Jingle поддерживают следующие клиенты:
- Psi
- Jabbin
- Jabbim (только передача файлов, в тестировании)
- Gajim (спец. версия)
- Kopete
- Coccinella (несовместимо с Google Talk)
- Google Talk
При использовании Jingle могут возникнуть следующие проблемы:
- Официальная спецификация и спецификация от Google различны
- В различных реализациях существуют различные способы обхода NAT
К сожалению, Jingle все еще мало распространен.
Psi
Psi поддерживает Jingle начиная с 0.13 Release Candidate 1. Для передачи голоса и видеосигнала необходимо установить плагин. Файл libgstprovider.so нужно скопировать в папку "plugins", находящуюся в месте установки Psi (в случае с Windows это, как правило, C:\Program Files\Psi\, а в случае GNU/Linux - /usr/lib/psi/). Если Вы собираете Psimedia самостоятельно, то для сборки необходим GStreamer версии не ниже 0.10.22, а также Speex и некоторые другие библиотеки.