Überwachung von Sitzungen

Registrieren Sie sich, um Echtzeit-Sitzungsereignisrückrufe zu erhalten und Ihre Sitzungsaktivitäten von Ihrem Anwendungsserver aus zu überwachen.

Mit der Vonage Video-Plattform können Entwickler bestimmte Aktivitäten von Kunden überwachen, die die Client-SDKsvon ihrem App-Server aus.

Durch die Registrierung für Rückrufe mit dem Vonage Video REST APIIhre Callback-URL erhält HTTP-POST-Anfragen, wenn Sitzungen erstellt und zerstört werden, Clients sich verbinden und trennen und Clients Streams für eine Sitzung in Ihrem Vonage-Projekt veröffentlichen und wieder freigeben.

Außerdem können Sie einen Rückruf registrieren, um Ereignisse im Zusammenhang mit Vonage Videoarchiven für Ihr Projekt zu überwachen.

Registrierung von Rückrufen

Sitzungsereignisse und Aktualisierungen des Archivstatus können an HTTP-Endpunkten innerhalb Ihres Servers registriert werden.

Sobald eine registrierte Aktivität stattfindet, wird eine HTTP-Anfrage von der Vonage Video-Infrastruktur an Ihren Endpunkt gesendet.

Um einen Rückruf zu registrieren:

  1. Melden Sie sich bei Ihrem Vonage Video API Account.

  2. Wählen Sie im Menü auf der linken Seite Applications.

  3. Bei bestehenden Projekten klicken Sie auf die drei Punkte und wählen die bearbeiten und blättern Sie nach unten zum Abschnitt Fähigkeiten.

  4. Bei neuen Projekten wird der Abschnitt Fähigkeiten angezeigt, nachdem Sie auf Erstellen Sie eine neue Anwendung.

  5. Umschalten, um die Videooption zu aktivieren.

  6. Legen Sie die Callback-URL im Abschnitt Sitzungsüberwachung fest.

Sichere Rückrufe: Sie können Webhook-Rückrufanforderungen mit signierten Rückrufen sichern, unter Verwendung eines Signaturgeheimnisses. Siehe Sichere Rückrufe.

Die Archiv-Callback-URL und die Broadcast-Callback-URL werden getrennt von der Callback-URL für Sitzungsereignisse festgelegt. Legen Sie die Archiv-Callback-URL im Abschnitt Archiv in Ihrem Vonage Video API Account-Seite.

Das ist wichtig: Bei übermäßigen Zustellungsfehlern wird der neue Dienst die Weiterleitung von Ereignissen nicht mehr deaktivieren, da der Wiederholungs- und Backoff-Mechanismus verwendet wird. Daher wird es keinen erwarteten E-Mail-Hinweis mehr geben, um mitzuteilen, dass Rückrufe deaktiviert wurden und wieder aktiviert werden müssen, da der neue Dienst Rückrufe in keiner Weise aussetzen/deaktivieren wird.

Überwachung von Beginn und Ende der Sitzungen

Wenn Kunden zum ersten Mal eine Sitzung nutzen und wenn eine Sitzung nicht mehr genutzt wird, sessionCreated und sessionDestroyed Ereignisse werden an Ihren registrierten Callback-Endpunkt gesendet.

Sitzung erstellt

Dieses Ereignis wird gesendet, wenn der erste Client eine Verbindung zu einer Sitzung herstellt. Wenn alle Clients die Verbindung trennen (siehe Sitzung zerstört), können sich die Clients später wieder mit derselben Sitzung verbinden.

Für jedes einzelne Ereignis sendet der Server eine HTTP-POST-Anforderung an die von Ihnen angegebene Callback-URL. Der Content-Type für die Anfrage ist application/json. Die Daten der Anforderung sind ein JSON-Objekt der folgenden Form:

Das JSON-Objekt enthält die folgenden Eigenschaften:

  • sessionId - Die mit diesem Ereignis verknüpfte Sitzungs-ID

  • projectId - Die mit diesem Ereignis verbundene Projekt-ID

  • event - "sessionCreated"

  • timestamp - Der Zeitstempel, wann das Rückrufereignis gesendet wurde

  • createdAt - Der Zeitstempel für den Zeitpunkt, zu dem der erste Client eine Verbindung zur Sitzung hergestellt hat

Sitzung zerstört

Dieses Ereignis wird gesendet, wenn eine Sitzung nicht mehr verwendet wird:

  • Eine Minute, nachdem alle Teilnehmer die Verbindung zur Sitzung getrennt haben.

  • Wenn eine Video API-Sitzung ausläuft, was nach 8 Stunden der Fall sein kann.

  • Wenn ein Video API-Server unerwartet heruntergefahren wird.

Nachdem dieses Ereignis ausgelöst wurde, können Sie die Sitzung immer noch wieder verwenden. Clients können sich mit der gleichen Sitzungs-ID erneut mit der Sitzung verbinden Sitzung erstellt Callback-Ereignis gesendet wird. Es ist jedoch besser, wenn die Clients die Verbindung unter Verwendung einer neuen Sitzungs-ID wiederherstellen.

Als bewährte Praxis sollten Sie außerdem dafür sorgen, dass die Kunden innerhalb von 8 Stunden nach dem Abbruch der Sitzung eine neue Verbindung zu einer neuen Sitzung herstellen (unter Verwendung einer neuen Sitzungs-ID). Sitzung erstellt Rückruf-Ereignis.

Für jedes einzelne Ereignis sendet der Server eine HTTP-POST-Anforderung an die von Ihnen angegebene Callback-URL. Der Content-Type für die Anfrage ist application/json. Die Daten der Anforderung sind ein JSON-Objekt der folgenden Form:

Das JSON-Objekt enthält die folgenden Eigenschaften:

  • sessionId - Die mit diesem Ereignis verknüpfte Sitzungs-ID

  • projectId - Die mit diesem Ereignis verbundene Projekt-ID

  • event - "sessionDestroyed"

  • timestamp - Der Zeitstempel, wann das Rückrufereignis gesendet wurde

  • createdAt - Der Zeitstempel für das Ende der Nutzung dieser Sitzung

  • reason - Diese wird auf eine der folgenden Möglichkeiten eingestellt:

    • "clientDisconnected" - Alle Clients haben die Verbindung zu der Sitzung getrennt.

    • "forceDisconnected" - Ein Moderator hat die Verbindung zwischen den Clients und der Sitzung unterbrochen. Oder die Sitzung wurde zeitlich begrenzt. Oder ein Video API-Server wurde unerwartet abgeschaltet.

    • "mediaIdle" - Alle Clients wurden von der Sitzung getrennt, weil sie innerhalb von 4 Stunden nach der Verbindung keine Streams veröffentlicht oder abonniert haben.

    • "serverRotation" - Alle Clients wurden aufgrund der Serverrotation von der Sitzung getrennt. Sie können verhindern, dass Clients während der Serverrotation getrennt werden, indem Sie sie für die Sitzungsmigration konfigurieren. Siehe Server-Rotation und Sitzungsmigration.

Ereignisse der Sitzungsbenachrichtigung

Die sessionNotification wird gesendet, wenn eine Gruppe von Video API-Servern für eine Ihrer Sitzungen für eine Rotation vorgesehen ist. Dieses Ereignis wird 4 Stunden und 1 Stunde vor der geplanten Rotation gesendet.

Die sessionNotification Ereignis ist eine HTTP-POST-Anforderung, die an die von Ihnen angegebene Rückruf-URL für die Sitzungsüberwachung gesendet wird. Der Content-Type für die Anfrage ist application/json. Die Daten der Anforderung sind ein JSON-Objekt der folgenden Form:

Das JSON-Objekt enthält die folgenden Eigenschaften:

  • sessionId - Die mit diesem Ereignis verknüpfte Sitzungs-ID

  • projectId - Die mit diesem Ereignis verbundene Anwendungs-ID

  • event - "sessionNotification"

  • reason - Für ein Server-Rotationsereignis wird dieser Wert auf "serverRotation". (Derzeit ist dies die einzige Art von Sitzungsbenachrichtigung).

  • remainingTime - Die verbleibende Zeit, in Sekunden, bis die Server für die Sitzung gewechselt werden. Dieser Wert wird entweder auf 14.400 Sekunden (4 Stunden) oder 3.600 Sekunden (1 Stunde) gesetzt.

  • timestamp - Der Zeitstempel, wann das Rückrufereignis gesendet wurde

  • createdAt - Der Zeitstempel für den Zeitpunkt, zu dem der erste Client eine Verbindung zur Sitzung hergestellt hat

Siehe Server-Rotation und Sitzungsmigration für weitere Informationen zu Video API Server-Rotationen und wie man die Verbindung zu Clients aufrecht erhält, wenn Server-Rotationen stattfinden.

Überwachung der Verbindungsaktivität

Nach der ordnungsgemäßen Registrierung kann die Vonage Video-Infrastruktur HTTP-Anfragen für alle hergestellten (und abgebauten) Verbindungen zu allen Sitzungen für ein einzelnes Projekt senden.

Dies ist besonders nützlich für die Verfolgung der Benutzerverfügbarkeit, ohne dass zusätzliche Verbindungen oder Berichte direkt vom Endpunkt erforderlich sind.

Wenn Kunden erhalten connectionCreated und connectionDestroyed Ereignisse als Reaktion auf andere Clients, die eine Verbindung zu einer Sitzung herstellen oder die Verbindung trennen, werden dieselben Ereignisse an Ihren registrierten Callback-Endpunkt gesendet.

Verbindung erstellt

Für jedes einzelne Ereignis sendet der Server eine HTTP-POST-Anfrage an die von Ihnen angegebene URL.

Der Content-Type für die Anfrage ist application/json. Die Daten der Anfrage sind ein JSON-Objekt der folgenden Form:

Das JSON-Objekt enthält die folgenden Eigenschaften:

  • sessionId - Die mit diesem Ereignis verknüpfte Sitzungs-ID.
  • projectId - Die mit diesem Ereignis verbundene Projekt-ID.
  • event - "connectionCreated".
  • timestamp - Millisekunden seit der Unix-Epochenzeit.
  • connection - Ein Objekt, das die Verbindung definiert und die folgenden Eigenschaften enthält:
    • id - Die Verbindungs-ID.
    • data - Die Verbindungsdaten.
    • createdAt - Der Zeitstempelwert, mit dem dieses Objekt erstellt wurde.

Verbindung zerstört

Für jedes einzelne Ereignis sendet der Server eine HTTP-POST-Anfrage an die von Ihnen angegebene URL.

Der Content-Type für die Anfrage ist application/json.

Die Daten der Anfrage sind ein JSON-Objekt der folgenden Form:

Das JSON-Objekt enthält die folgenden Eigenschaften:

  • sessionId - Die mit diesem Ereignis verknüpfte Sitzungs-ID.
  • projectId - Die mit diesem Ereignis verbundene Projekt-ID.
  • reason - Für eine connectionDestroyed wird dieser Wert auf eine der folgenden Möglichkeiten gesetzt:
    • "clientDisconnected" - Ein Client trennte die Verbindung zur Sitzung (z. B. durch Aufruf der OpenTok.js Session.disconnect() Methode oder durch Schließen des Browsers oder der Anwendung).
    • "forceDisconnected" - Ein Moderator hat den Client von der Sitzung getrennt (durch Aufruf der OpenTok.js Session.forceDisconnect() Methode).
    • "networkDisconnected" - Die Netzwerkverbindung wurde abrupt beendet (z. B. weil der Client seine Internetverbindung verloren hat).
    • "mediaIdle" - Der Client wurde von einer Sitzung getrennt, weil er innerhalb von 4 Stunden nach der Verbindung keine Streams veröffentlicht oder abonniert hat.
    • "serverRotation" - Der Client wurde aufgrund einer Serverrotation von der Sitzung getrennt. Sie können verhindern, dass Clients während der Serverrotation getrennt werden, indem Sie sie für die Sitzungsmigration konfigurieren. Siehe Server-Rotation und Sitzungsmigration.
  • event - "connectionDestroyed".
  • timestamp - Millisekunden seit der Unix-Epochenzeit.
  • connection - Ein Objekt, das die Verbindung definiert und die folgenden Eigenschaften enthält:
    • id - Die Verbindungs-ID.
    • data - Die Verbindungsdaten.
    • createdAt - Der Zeitstempelwert, mit dem dieses Objekt erstellt wurde.

Überwachung der Ströme

Server-Endpunkte können sich auch registrieren, um HTTP-Anfragen zu empfangen, die durch Stream-Aktivitäten in allen Sitzungen für ein bestimmtes Projekt ausgelöst werden.

Wenn Streams erstellt und zerstört werden, enthält die Anfrage Stream- und Verbindungsdaten für den Stream, der das Ereignis ausgelöst hat.

Wenn Kunden erhalten streamCreated und streamDestroyed Ereignisse als Reaktion auf andere Clients, die eine Sitzung veröffentlichen, werden dieselben Ereignisse an Ihren registrierten Callback-Endpunkt gesendet.

Stream erstellt

Für jedes einzelne Ereignis sendet der Server eine HTTP-POST-Anfrage an die von Ihnen angegebene URL.

Der Content-Type für die Anfrage ist application/json. Die Daten der Anfrage sind ein JSON-Objekt der folgenden Form:

  • sessionId - Die mit diesem Ereignis verknüpfte Sitzungs-ID.
  • projectId - Die mit diesem Ereignis verbundene Projekt-ID.
  • event - "streamCreated".
  • timestamp - Millisekunden seit der Unix-Epochenzeit.
  • stream - Ein Objekt, das den Stream definiert:
    • id - Die Stream-ID.
    • connection - Die mit diesem Stream verbundene Verbindung. Dieses Objekt umfasst die folgenden Eigenschaften:
      • id - Die Verbindungs-ID
      • data - Die Verbindungsdaten.
      • createdAt - Der Zeitstempel, mit dem die Verbindung erstellt wurde.
    • createdAt - Der Zeitstempel, mit dem der Stream erstellt wurde.
    • name - Der Name, falls vorhanden, der bei der Initialisierung des mit diesem Stream verknüpften Verlegers eingegeben wurde.
    • videoType - Der Typ des auf diesem Stream gesendeten Videos, entweder "camera", "screen", oder "custom" (oder undefiniert für einen reinen Audio-Stream).

Stream zerstört

Für jedes einzelne Ereignis sendet der Server eine HTTP-POST-Anfrage an die von Ihnen angegebene URL.

Der Content-Type für die Anfrage ist application/json. Die Daten der Anfrage sind ein JSON-Objekt der folgenden Form:

{
    "sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
    "projectId": "123456",
    "event": "streamDestroyed",
    "reason": "clientDisconnected",
    "timestamp": 1470258896953,
    "stream": {
        "id": "63245362-e00e-4834-8371-9397deb3e452",
        "connection": {
            "id": "c053fcc8-c681-41d5-8ec2-7a9e1434a21e",
            "createdAt": 1470257688143,
            "data": ""
        },
        "createdAt": 1470258845416,
        "name": "",
        "videoType": "camera"
    }
}
  • sessionId - Die mit diesem Ereignis verknüpfte Sitzungs-ID.
  • projectId - Die mit diesem Ereignis verbundene Projekt-ID.
  • event - "streamDestroyed".
  • reason - Für eine streamDestroyed wird dieser Wert auf eine der folgenden Möglichkeiten gesetzt:
    • "clientDisconnected" - Der Client hat die Verbindung zur Sitzung getrennt (z. B. durch den Aufruf der OpenTok.js Session.disconnect() Methode).
    • "forceDisconnected" - Ein Moderator hat die Verbindung zwischen dem Herausgeber des Streams und der Sitzung getrennt, indem er die OpenTok.js Session.forceDisconnect() Methode.
    • "forceUnpublished" - Ein Moderator hat den Herausgeber des Streams gezwungen, die Veröffentlichung des Streams zu beenden, indem er die OpenTok.js Session.forceUnpublish() Methode.
    • "mediaStopped" - Der Benutzer, der den Stream veröffentlicht, hat die gemeinsame Nutzung des Bildschirms beendet. Dieser Wert wird nur bei Videostreams mit Bildschirmfreigabe verwendet.
    • "networkDisconnected" Die Netzwerkverbindung wurde abrupt beendet (z. B. weil der Client seine Internetverbindung verloren hat).
    • "serverRotation" - Der Stream wurde zerstört, weil der Server im Rahmen eines Skalierungsvorgangs gedreht wurde.
  • timestamp - Millisekunden seit der Unix-Epochenzeit.
  • stream - Ein Objekt, das den Stream definiert:
    • id - Die Stream-ID
    • connection - Die mit diesem Stream verbundene Verbindung. Dieses Objekt umfasst die folgenden Eigenschaften:
      • id - Die Verbindungs-ID.
      • data - Die Verbindungsdaten.
      • createdAt - Der Zeitstempel, mit dem die Verbindung erstellt wurde.
    • createdAt - Der Zeitstempel, mit dem der Stream erstellt wurde.
    • name - Der Name, falls vorhanden, der bei der Initialisierung des mit diesem Stream verknüpften Verlegers eingegeben wurde.
    • videoType - Der Typ des auf diesem Stream gesendeten Videos, entweder "camera", "screen", oder "custom" (oder undefiniert für einen reinen Audio-Stream).

Überwachung der Archive

Jedes Archiv durchläuft während seiner Lebensdauer mehrere Zustände. Bei jeder Statusaktualisierung erhält ein Serverendpunkt mit einer Archivstatusregistrierung eine HTTP-Anfrage.

Dies ist besonders nützlich, um die Nachbearbeitung eines Archivs anzustoßen oder um notwendige Verwaltungsaufgaben durchzuführen, nachdem ein Archiv in den permanenten Speicher hochgeladen wurde.

Weitere Informationen finden Sie in der Archivstatusänderungen Abschnitt des Vonage Videoarchivierungsentwicklerhandbuchs.

Überwachung von Sendungen

Siehe die Überwachung von Statusänderungen bei Live-Streaming-Übertragungen Abschnitt des Vonage Entwicklerhandbuchs für Live-Streaming-Übertragungen.

Überwachung des SIP-Anrufverlaufs

Sie können Statusaktualisierungen für SIP-Verbindungen zu einer Sitzung überwachen.

Siehe die Überwachung des Gesprächsverlaufs Abschnitt des Vonage Video SIP Interconnect Entwicklerhandbuchs.

Überwachung von Experience Composer

Sie können Statusaktualisierungen für Experience Composers überwachen. Siehe die Konfigurieren von Rückrufen Abschnitt des Experience Composer-Entwicklerhandbuchs.

Überwachung von Live-Untertiteln

Sie können Statusaktualisierungen für Live-Untertitel überwachen. Siehe die Live-Rückrufe von Untertiteln Abschnitt des Handbuchs für Entwickler von Live-Untertiteln.