Telepathy
# Telepathy

Telepathy ist eine Spezifikation des freedesktop.org-Projekts, das die Kommunikation zwischen Computerprogrammen aus dem Bereich IP-Telefonie, Instant Messaging und Videotelefonie beschreibt. Diese Kommunikation erfolgt über einen D-Bus.
Die Telepathy-Spezifikation sieht zwei Arten von Software vor: Sogenannte Verbindungsmanager sowie Clients. Die Verbindungsmanager stellen dem System Dienste zur Übertragung von Ton-, Video- oder anderen Daten über Protokolle und Dienste wie XMPP, IRC, SIP oder MSN bereit. Die Clients sind Kommunikations-Anwendungen, die diese Dienste in Anspruch nehmen. Beispielsweise können sie einen der vorhandenen Verbindungsmanager zum Aufbau eines Anrufs oder einer Videokonferenz auffordern – unabhängig vom zugrunde liegenden Protokoll. Da sowohl mehrere Verbindungsmanager als auch mehrere Clients auf einem System vorhanden sein können, ermöglicht Telepathy die Nutzung einer Vielzahl von Kommunikationsprotokollen aus verschiedenen Kommunikations-Anwendungen heraus.
Referenzimplementierungen dieser Spezifikation sind die Verbindungsmanager Gabble (XMPP), Idle (IRC), Salut, SofiaSIP (SIP) sowie der Instant-Messenger Empathy. Noch in der Entwicklung befinden sich die Software „Butterfly“ (MSN) sowie die Software „Haze“, welche den rudimentären Zugriff auf Protokolle, die durch die libpurple unterstützt werden ermöglicht. Auch die Kommunikations-Anwendung Ereseva, die Instant-Messaging und Telefonie kombiniert, verwendet Telepathy. Weitere Implementierungen sind das KDE-Framework Decibel, die Kommunikationsanwendung Maemos (Nokia Internet Tablet), Openmoko und Jolla.
Aktivitäten der Benutzeroberfläche „Sugar“ verwenden Telepathy, um mit Aktivitäten eines anderen Netzwerkes über XMPP zu kommunizieren. So wird beispielsweise ausgetauscht, ob ein Nutzer gerade verfügbar ist und mit welcher Aktivität sich ein Benutzer gerade beschäftigt. Daten für eine gemeinsame Aktivität werden über den Telepathy-Kanal „Tubes“ ausgetauscht.
Die Verwaltung der Verbindungsmanager kann die Komponente Mission Control für die Anwendungen übernehmen. Diese besteht aus einer Bibliothek, die die Anwendungen zur Kommunikation mit dem Server nutzen können, und einem Server, der die Verbindungsmanager verwaltet. Er kann auch die Anmeldedaten zentral verwalten.
Es existieren Bibliotheken zur einfachen Nutzung in Python, Qt4, .Net-Framework und GLib.