telepathy-skykit announce
LVEE Winter 2013
Telepathy
Telepathy — это программный каркас, используемый для создания программного обеспечения мгновенного обмена сообщениями, IP-телефонии или видеоконференций. Telepathy позволяет создавать приложения c помощью компонентов через систему межпроцессного взаимодействия D-Bus. При этом, logger-ы, connection manager-ы и UI работают в отдельных процессах.
Для telepathy уже разработана поддержка основных протоколов:
1. Gabble – Jabber/XMPP, включая Jingle
2. Rakia – SIP
3. Haze – обёртка над libpurple, внутренней библиотекой Pidgin-а – поддерживает все протоколы, с которыми умеет работать сам pidgin
С точки зрения UI, основными приложениями являются следующие два:
1. empathy, обладающий хорошей интеграция с Gnome и Evalution Data Server
2. kde-telepathy, предоставляющий аналогичную интеграцию с KDE
Оба приложения поддерживают передачу звука и видео; также есть и другие, менее функциональные.
Также, уже разработаны следующие компоненты:
1. logger – сервис отвечающий за хранение и предоставление логов по запросу
2. mission-control – управление аккаунтами
Таким образом, telepathy – хорошо проработанный, модульный framework, содержащий много готовых унифицированных компонентов и позволяющий которые легко добавлять новые и/или расширять существующие.
SkypeKit
SkypeKit – коллекция утилит и API, которые позволяют разработать собственное устройство/приложение с поддержкой skype протокола: чат, аудио и видео. Причём разработан он с возможностью использования на большом количестве различных чипов, операционных систем и устройств, и является “безинтерфейсным”.
Под Linux поддерживаются следующие аппаратные архитектуры: armv5le,
armv6le, armv7le, x86. Разработка может вестись на C++, C#, java, python. При этом сам skypekit-демон не содержит UI, и для интеграции с системой может использовать alsa, X11-opengl, либо gstreamer.
Skype в telepathy
Поддержка Skype в telepathy до этого существовала в единственном виде: skype4pidgin – plugin для Pidgin(libpurle) поддерживающий skype, который подключается как один из libpurple-протоколов, через telepathy-haze. Однако у неё существуют большие ограничения: отсутствие поддержки аудио и видео, а также части функционала чата, vcard и других не базовых возможностей.
Альтернативный вариант, разработанный автором: telepathy-skykit – connection manager, реализующий поддержку skype для telepathy. При этом используется skypekit embedded демон, который реализует поддержку skype протокола, а telepathy-skypekit при этом является лишь wrapper-ом.
Для простоты реализации(прототипирования) был выбран python. А для интеграции с telepathy используется библиотека telepathy-python, в которую была добавлена поддержка необходимого функционала.
В данный момент реализованы:
1. чат – самая базовая функциональность, общение один на один
2. контакт-лист
3. поддержка аватарок и карточка профиля (vcard)
Планы на будущее:
1. конференции – очень часто используемый функционал
2. интеграция с OS – автоматический запуск демона при dbus-запросе и т.д.
3. аудио/видео звонки – хотя бы на уровне доказательства концепции
Полезные ссылки
http://telepathy.freedesktop.org/wiki/
https://developer.skype.com/public/skypekit/
https://github.com/max-posedon/telepathy-skykit
https://github.com/max-posedon/telepathy-python
Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license
Назад