So steuern Sie Ihre Poly G7500 und Studio über API Kommandos

In diesem Blog Beitrag erkläre ich Ihnen, wie Sie Ihre Poly G7500 oder Studio X über API Kommandos steuern können. Viel Spass beim Ausprobieren 🙂

Etwas Wichtiges vorab:
In diesem Beitrag lernen Sie nicht, wie Sie eine API Programmierung vornehmen oder erlernen die REST API. Mir gehts es darum, Ihnen einen Einblick (und eventuell einen Einstiegspunkt) in dieses spannende Thema zu geben. 

Was Sie für dieses Tutorial benötigen:

Hinweis:
Das folgende HowTo bezieht sich rein auf den Poly Video Mode. Wenn Sie das Device in einem Partner Mode (Zoom, Teams etc) betreiben, dann werden viele Kommandos nicht funktionieren, da die Poly API keine Commands in die Partner Software schicken kann.
Es müsste also, sofern vorhanden, die API des jeweiligen App Herstellers genutzt werden.

Los geht´s …

Unterschiedliche APIs
Es ist wichtig zu verstehen, dass für die G7500 und Studio X Systeme 2 verschiedene APIs existieren (REST API und Command-Line API), die sich in Ihrem Aufbau und den verfügbaren Kommandos unterscheiden. Nicht jede API bietet zwingend die gleichen Funktionen und die jeweilige Verwendung variiert damit je Einsatzzweck.

API Access
Die REST API Steuerungsmöglichkeit ist immer gegeben, Access für die Command Line API erst gewährt werden. Dazu gehen Sie wie folgt vor:

Telnet Access am Endpunkt aktivieren
Öffnen Sie Ihren Browser, rufen Sie das Webinterface Ihres Endpunktes auf (hier und im Folgenden G7500) und loggen Sie sich als Admin ein.

Navigieren Sie nun zu „Security“ -> „Access„.

Setzen Sie das Häkchen bei „Enable Telnet Access“ und speichern Sie mit dem „Save“ Button am Ende der Seite. Beachten Sie, dass die Telnet Authentifizierung im Default direkt aktiviert ist. Sollte Sie einen anonymen Zugriff realisieren wollen (nicht empfohlen), so entfernen Sie den Haken. Als weitere wichtige Information wird Ihnen hier der Telnet Zugriffsport (im Standard „24“) angezeigt .Ändern Sie diesen Wert, sofern notwendig, nach Belieben ab.

Alle notwendigen Schritte am Codec (G7500) sind nun vorerst abgeschlossen.

REST API - Download & Installation von Postman

Öffnen Sie Ihren Browser und rufen Sie die URL „Http://www.postman.com/download“ auf.

Klicken Sie auf „Download the App“ und wählen Sie anschliessend aus, ob Sie die 32- oder 64 Bit Variante herunterladen möchten.

Der Download sollte nun starten. Sobald das File vollständig heruntergeladen wurde, starten Sie bitte die Installation.

Erstellen Sie sich nun einen kostenlosen Account und loggen Sie sich ein.

Klicken Sie auf „Create Collection“ um eine neue Sammlung von Befehlen zu erstellen

Klicken Sie anschliessend auf den „Stift“ um einen aussagekräftigen Namen zu vergeben und den Default Wert zu ändern.

Klicken Sie nun auf die 3 Punkte „More Actions“ rechts neben dem Namen Ihrer neuen Sammlung und wählen Sie „Edit„.

Wählen Sie den Reiter „Variables„. Hier fügen wir nun einige Werte hinzu.

  • baseUrl = Https Webadresse Ihrer G7500
  • user name = Username für den Webzugriff (Default „admin“)
  • Password = Password für den Webzugriff (Default die letzten 6 Stellen der Seriennzmmer)

Klicken Sie danach auf „Save“ um die Änderungen zu übernehmen. Dies sollten Sie nach jeder Änderung tun, um ggf. Datenverlust vorzubeugen.

Klicken Sie im Scratch Pad oben rechts auf „New“ und wählen Sie anschliessend auf „Request„.

Hinweis:
Da wir uns am Device anmelden und authentifizieren müssen, BEVOR wir Steuerkommandos ausführen können, führen wir diesen Schritt als Erstes aus.

Im nächsten Fenster vergeben Sie bitte einen Namen und ggf. eine Description für ihren ersten REST API Request, Ich empfehle hier einen eindeutigen und beschreibenden Namen zu wählen, da ansonsten die Übersichtlichkeit in einer grossen Sammlung leidet.

Im unteren Bereich des Fensters wählen Sie die von Ihnen erstellte Collection aus (hier REST DEMO) und klicken Sie abschliessend auf „Save„.

Der von Ihnen erstellte Request ist nun in Ihrer Collection vorhanden.

Wählen Sie den Eintrag durch Klick aus und wählen Sie den Reiter „Settings„.
Deaktivieren Sie hier „Enable SSL certificate verification“ und klicken Sie auf „Save„.

Wählen Sie den Reiter „Tests“ , fügen Sie dort den folgende Code hinzu und speichern Sie die Änderungen,

var a = pm.cookies.get('session');
pm.globals.set("session", a);

Beim späteren Login wird eine Session ID generiert und wir lesen diese mit diesem Befehl aus dem Cookie aus..


Klicken Sie auf den Reiter „Authorization“ und wählen Sie „No Auth“ unter „Type„.

Klicken Sie auf den Reiter „Body“ Aktiveren Sie den Radio-Button „Raw“ und wählen Sie „Json“ im Dropdownfeld aus. Klicken Sie auf „Save„.

Kopieren SIe den folgenden Code in das Fenster und klicken Sie abermals auf „Save„.

{
    "user" : "{{user name}}",
    "password": "{{Password}}"
}

Klicken Sie auf den Pfeil neben „Get“ und wählen Sie „Post“ aus den verfügbaren Optionen aus.

Kilcken Sie in das Feld daneben

und geben Sie dort den folgenden Code ein:

{{baseUrl}}/rest/session

Klicken Sie anschliessend auf „Save“.

Um den Befehl nun abzuschicken, klicken Sie bitte auf „Send“.

Im unteren Bereich des Tools sehen Sie nun die Antwort der G7500 auf Ihren Request.

Sie sind nun am Device angemeldet und können nun weitere Kommandos schicken.
Hinweis: Das Session Token ist nicht unlimitiert gültig und läuft ab.

Ein Steuerkommando erstellen am Beispiel „Microphone mute“

Klicken Sie auf „New“ und auf „Request„.

Vergeben Sie einen Namen, eine Beschreibung, wählen Sie Ihre Collection und klicken Sie auf „Save to…

Wählen Sie den neuen Befehl aus und ändern Sie die Werte, wie im Screenshot zu sehen, ab.

Method: Post
Requested URL: {{baseUrl}}/rest/audio/muted

Klicken Sie auf“Body„, aktivieren Sie „Raw“ und wählen Sie „Json„.
Schreiben Sie „true“ oder „false“ als Wert in das Fenster.

Klicken Sie auf „Settings“ und deaktivieren Sie „Enable SSL certificate verification„.

Klicken Sie nun auf „Send

Sie sehen nun den Status Code „204″ und das Ausgabefenster bleibt leer. Dies ist allerdings kein Fehler. Dieser Befehl liefert ganz einfach keine Antwort zurück. Sie sehen allerdings die erfolgreiche Umsetzung anhand des Status codes oder natürlich auch am Mic Pod / TC8 selbst.

Natürlich können Sie den Status auch per API erfragen. Löschen Sie dazu einfach den zuvor eingetragenen Wert aus dem „Body“ Fenster und ändern Sie „Post“ zu „Get“ um eine Abfrage zu senden.

Fertig 🙂

Appendix:

Was muss wo hin ?
In der folgenden Grafik habe ich versucht für Sie auf einen Blick aufzuzeigen, wohin welche Information aus dem REST API Guide in Postman gehört. Eventuel erspart Ihnen dies einige „graue Haare“ 🙂

SSL Certificate verification
Sofern Sie mehr als nur 1 oder Kommandos programmieren wollen, kann es sehr ermüdend sein, jedes Mal die Verification manuell abschalten zu müssen. Die gute Nachricht: Sie können dies auch zentral in den Settings tun. Gehen Sie dazu wie folgt vor:

Klicken Sie in Postman auf „File“ -> „Settings“ und deaktivieren Sie die Option „SSL certificate verification“. Diese Änderung wird dann „on the fly“ gespeichert.

Command-Line API - Putty Download und Installation

Starten Sie Ihren Browser und navigieren Sie zu „http://www.putty.org„.

Klicken Sie auf „You can download PuTTY here.“.

Wählen Sie die 32-bit oder 64-bit Variante zum Download aus.

Speichern Sie die Datei auf Ihrem PC oder führen Sie sie direkt aus, wie in diesem Beispiel.

Führen Sie die Installation durch.

Starten Sie die Anwendung.

Stellen Sie den „Connection Type“ auf „Telnet„, ändern Sie den Wert bei „Port“ auf „24“ (Default bei G7500 und Studio X) oder auf den von Ihnen an Ihrem Endounkt konfigurierten Wert. Tragen Sie die „IP Adresse „Ihrer G7500 oder Studio X ein und klicken Sie auf „Open

Sie werden nun aufgefordert das Admin Passwort für Ihren Endpunkt einzugeben. Eine manuelle Eingabe des Usernames ist nicht notwendig.

Hinweis:
Die Passworteingabe ist „silent“, sprich die eingegebenen Werte werden nicht angezeigt, aber trotzdem angenommen.

Nach erfolgreichem Login sollten Sie eine ähnliche Anzeige bekommen:

Sie können nun Ihre Steuerkommandos absetzen. In meinem Beispiel aktivieren / deaktivieren wir die Tracking / Framing Funktionalität.

Den aktuellen Status des Tracking / Framings können Sie über den Befehl „camera near tracking get“ abfragen.

Fertig 🙂

Hinweis:
Die Telnet und REST API Kommandos für Studio X30/X50 und G7500 sind nicht supported, wenn das Device sich in einem anderen als dem PolyVideo Mode befindet. Einige der API Kommandos mögen funktionieren, der überwiegende Teil allerdings nicht. Dies liegt daran, dass Poly keine Möglichkeit hat, Kommandos in die Partner App zu senden, wenn das Kommando auf Firmware Level ankommt (z.B. Anruf starten). Dies gilt natürlich auch umgekehrt. Auch hier gibt es nur wenige Kommandos, die es einer Partner App erlauben Befehle an das Firmware Level zu senden (z.B. eingehender Anruf. Bitte tu dies oder das).

Zum Thema passend und empfohlen:
Mein Kollege und Buddy Steffen Baier hat ebenfalls einen Post zum Thema API in der Poly Community veröffentlicht. Sie finden ihn hier:
https://community.polycom.com/t5/Video-Endpoints/FAQ-Rest-API-for-G7500-and-Studio-X/td-p/110271

Share: