Hochverfügbarkeits-Switch-Modul

Einfach zu bedienende Anwendungsprogrammierschnittstelle

SECDATA

»

API

Die HAsm-API-Kommunikation erfolgt im Klartext (optional verschlüsselt), und die Verbindung kann über eine Vielzahl von Medien bestehen, darunter TCP/IP, seriell (RS-232 oder RS-485), CAN bus und mehr. Nachrichten bestehen aus Schlüssel-Wert-Paaren, wobei jede Nachricht aus zwei oder mehr Schlüssel-Wert-Paaren besteht, gefolgt von einer Leerzeile. Jede Nachricht muss einen eindeutigen Bezeichner, einen Nachrichtentyp und für den Typ geeignete Parameter enthalten. Es werden drei Arten von Nachrichten unterstützt:
  • Befehl: Eine Anfrage von einer Seite an die andere Seite. Die Anfrage weist die andere Seite an, Maßnahmen zu ergreifen oder Informationen bereitzustellen.
  • Antwort: Auf jeden Befehl muss eine Antwort folgen. Er quittiert mindestens den Befehl, kann aber auch Daten enthalten, die sich aus dem Befehl ergeben. Wenn nach einer vorgegebenen Zeitspanne keine Antwort von der anderen Seite empfangen wird, gibt die Client-API eine Timeoutantwort an den lokalen Client zurück.
  • Benachrichtigung: Eine Benachrichtigung von einer Seite zur anderen Seite, dass sich ein Zustand geändert hat, ein Ereignis aufgetreten ist oder ein Signal empfangen wurde.
HAs
Kundenanwendungen können mit HAsm so einfach kommunizieren wie das Lesen/Schreiben einer Datei (über die Domain-Socket-Schnittstelle) oder das Lesen/Schreiben von einem TCP-Port (über die TCP/IP-Schnittstelle). Der Kunde kann eine beliebige Entwicklungssprache (z. B. C, Python, JavaScript, C++, Perl usw.) verwenden, um mit der HAsm-API zu kommunizieren. Telium bietet auch einen vorkompilierten Client-API-Client (Linux-.so- oder .a-Datei oder Windows-.dll), der alle Aspekte der Kommunikation abwickelt. Die vorkompilierte Client-API ist erforderlich, wenn die API-Verschlüsselung verwendet wird, kann aber auch die Produktentwicklung beschleunigen.

Beispiel für eine Befehlsantwort

Das Bild auf der rechten Seite enthält zwei Meldungen, einen Befehl und die zugehörige Antwort. Jede Nachricht besteht aus Schlüssel-Wert-Paaren im Ebenentextformat, gefolgt von einer Leerzeile, die das Ende der Nachricht angibt. Der Beispielbefehl weist die andere Seite (in diesem Fall HAsm) an, einen laufenden Anruf zu trennen. Der obligatorische Parameter ist die Aufruf-ID (die zuvor als Befehl/Antwort oder Benachrichtigung empfangen wurde).

Unterhalb des Befehls befindet sich die zugehörige Antwortnachricht. Beachten Sie, dass die Antwortnachricht dieselbe ID wie der Befehl enthält, sodass der Client Antworten mit Befehlen abgleichen kann. Da viele Befehle nacheinander gesendet werden können, gibt es keine garantierte Reihenfolge der Antworten, so dass IDs berücksichtigt werden müssen. In diesem Fall zeigt die Antwort den Erfolg an (0 Ergebniscode), wobei weitere Details im nächsten Parameter (Ergebnismeldung) verfügbar sind.
Bei diesen Befehlen und Antworten handelt es sich nur um Beispiele, die möglicherweise nicht in jeder Kundenbereitstellung vorhanden sind. Telium enthält nur die Befehle/Antworten, die erforderlich sind, um die vom Kunden spezifizierte Funktionalität bereitzustellen. Alle überflüssigen Befehle/Antworten werden entfernt.
API Message Command Response

Beispiel für eine Benachrichtigung

Das Bild auf der rechten Seite enthält zwei Meldungen, beides Benachrichtigungen. Die Nachrichten bestehen aus Schlüssel-Wert-Paaren im Ebenentextformat, gefolgt von einer Leerzeile, die das Ende der Nachricht angibt. Im ersten Beispiel wird die andere Seite (in diesem Fall die Kunden-App) darüber informiert, dass ein Benutzeragent registriert wurde. Die obligatorischen Parameter sind die Benachrichtigung (um welche Art von Benachrichtigung handelt es sich), der identifizierte Benutzeragent, die Benutzeragentenzeichenfolge und die Kontaktzeichenfolge für den UA. In diesem Beispiel sind dies die Felder, die der Kunde benötigt (es stehen aber noch viele weitere Informationsfelder zur Verfügung). Die zweite Nachricht benachrichtigt die andere Seite (wiederum die Kunden-App), dass der lokale Knoten auf “aktiv” hochgestuft wird, da er den Kontakt zu seinem Peer verloren hat. Die obligatorischen Parameter sind der Ursachencode (129) und die Ursachenmeldung.

Bei diesen Benachrichtigungen handelt es sich nur um Beispiele, die möglicherweise nicht in jeder Kundenbereitstellung vorhanden sind. Telium nimmt nur die Benachrichtigungen auf, die erforderlich sind, um die vom Kunden spezifizierte Funktionalität bereitzustellen. Alle überflüssigen Benachrichtigungen und Felder werden entfernt.
API Notification Message