Die APIs von Jami
OpenDHT
Die Dokumentation zur API von OpenDHT ist [hier]https://github.com/savoirfairelinux/opendht/wiki/API-Overview) und wird im folgenden Teil nicht ausführlich dargelegt.
Daemon
Die Manager
Die API des Daemons wird zwischen 5 Managers + 1 Instance-Datei aufgeteilt:
Die CallManager-Schnittstelle wird zur Verwaltung von Call- und Konferenzbezogenen Aktionen verwendet. Da der Jami-Daemon mehrere eingehende/ausgehende Anrufe unterstützt, müssen alle Aktionen mit einem bestimmten Anruf die Methode mittels einer einzigartigen CallID adressieren.
Der ConfigurationManager wird verwendet, um die Konfigurationsdinge zu verarbeiten: Konteninstellungen, Benutzerpräferenzen,…
Der PresenceManager wird verwendet, um die Anwesenheit von Kontakten zu verfolgen
Der VideoManager wird zur Verwaltung von Video-Geräten und Renderern verwendet
Die Instance wird verwendet, um die Anzahl der tatsächlich registrierten Clients in den Kern zu zählen. Bei der Initialisierung Ihres Clients müssen Sie ihn mit dieser Schnittstelle gegen den Kern registrieren.
DBUS
Die gesamte Dokumentation und Code für die dbus API befinden sich in jami-daemon/bin/dbus
.
Wenn Sie Linux verwenden, können Sie d-feet
verwenden, wenn der Daemon läuft, um die API (oder mit einem anderen Tool) zu manipulieren.
Das LRC-Projekt verwendet diese API (und verwendet libwrap auf Windows und MacOS).
JNI
Die gesamte Dokumentation und der Code für die JNI-API befinden sich in jami-daemon/bin/jni
.
js-Node
Alle Dokumentation und Code für die Node JS API befinden sich in jami-daemon/bin/nodejs
. Diese API wird in keinem bekannten Projekt verwendet und ist vielleicht nicht aktuell.
REST
Alle Dokumentation und Code für die REST API befinden sich in jami-daemon/bin/restcpp
. Diese API wird in keinem bekannten Projekt verwendet und ist vielleicht nicht aktuell.
Python-Wrapper
Ein Python-Wrapper ist in jami-daemon/tools/jamictrl
verfügbar.
Plugins
Plugins are a good way to customize Jami if you want to interact with streams (Audio, Video or chat). Several plugins are already available through the Plugin Store (in the settings of your Jami application).