Freigeben über


Abrufen von Änderungsbenachrichtigungen für Updates von Microsoft Teams-Notrufereignissen

Microsoft Teams unterstützt Benachrichtigungen für Notrufe. Diese Benachrichtigungen können weitergeleitet werden, um bestimmte Sicherheitsmitarbeiter in Teams zu informieren. Die Benachrichtigung über Notrufereignisse von Microsoft Graph erweitert diese Funktion, um den Empfang von Notrufbenachrichtigungen außerhalb von Teams (z. B. durch benutzerdefinierte Clientanwendungen) zu ermöglichen, wie im folgenden Diagramm dargestellt.

Diagramm zum Benachrichtigungsfluss für Notrufereignisse

  1. Der Teams-Mandantenadministrator konfiguriert Notrufe für den Mandanten.
  2. Die Clientanwendung erstellt ein Microsoft Graph-Notrufereignisabonnement.
  3. Die Notrufereignisbenachrichtigung wird an die Clientanwendung ausgelöst, wenn ein Teams-Benutzer einen Notruf (z. B. 911) in Teams abgibt.
  4. Die Clientanwendung verlängert entweder das vorhandene Abonnement, bevor es abläuft, oder erstellt ein neues Abonnement, nachdem es abläuft, um weiterhin Notrufereignisbenachrichtigungen zu abonnieren.

Berechtigungen

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten) Unterstützte Versionen
Delegiert (Geschäfts-, Schul- oder Unikonto) Nicht unterstützt Nicht unterstützt
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung CallEvents-Emergency.Read.All Beta.

Abonnieren von Notruf-Gestarteten Ereignissen

Um zu abonnieren, wenn eine Notrufrichtliniennummer gewählt wird, legen Sie die resource -Eigenschaft in der Abonnementnutzlast auf festcommunications/calls/getEmergencyEventsByPolicy(policyName='{policyName}'), und ersetzen Sie dabei das {policyName} Feld durch den richtliniennamen, der für Ihre organization konfiguriert ist.

Abonnements für Notrufereignisse unterstützen nur umfangreiche Benachrichtigungen. Legen Sie auf fest includeResourceDatatrue , und geben Sie den Base64-codierten Zertifikatwert für encryptionCertificate und einen Zeichenfolgenbezeichner für encryptionCertificateIdan. Weitere Informationen finden Sie unter Einrichten von Änderungsbenachrichtigungen, die Ressourcendaten enthalten.

Abonnements für Notrufereignisse haben eine maximale Abonnementlebensdauer von einem Tag. Um Abonnements länger aufzubewahren, aktualisieren Sie die eigenschaft expirationDateTime des Abonnements. Weitere Informationen finden Sie unter Aktualisieren der Abonnement-API.

Hinweis

Abonnements sind auf ein Abonnement pro Anwendung, Mandant und Richtlinienname beschränkt. Ein zweites Abonnement, das dieselbe Anwendung, denselben Mandanten und dieselbe Notfallrichtlinie wie ein anderes verwendet, schlägt mit dem HTTP-status Code 409 fehl, was bedeutet, dass die Abonnementanforderung dupliziert wurde und nicht erstellt werden kann.

Beispiel für Abonnementnutzlast

POST https://graph.microsoft.com/beta/subscriptions
Content-Type: application/json

{
  "changeType": "updated",
  "notificationUrl": "https://contoso.com/notificationUrl",
  "resource": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
  "includeResourceData": true,
  "encryptionCertificate": "{base64encodedCertificate}",
  "encryptionCertificateId": "{customId}",
  "expirationDateTime": "2021-02-01T11:00:00.0000000Z",
  "clientState": "{secretClientState}"
}

Informationen zur Definition der Eigenschaften für die Abonnementanforderung finden Sie unter Abonnementressource.

Ereignisbenachrichtigungen für Notrufe

Benachrichtigungen für Notrufe werden ausgelöst, wenn ein Anruf mit einer entsprechenden Notrufrichtlinie initiiert wird.

Beispiel für Benachrichtigungsnutzlast

POST https://contoso.com/notificationUrl
Content-Type: application/json

{
  "value": [{
    "subscriptionId": "{Subscription id}",
    "clientState": "{secret client state}",
    "changeType": "updated",
    "tenantId": "00000000-0000-0000-0000-000000000000",
    "resource": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
    "subscriptionExpirationDateTime": "2021-02-01T11:00:00.0000000Z",
    "resourceData": {
        "@odata.id": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
        "@odata.type": "#microsoft.graph.emergencyCallEvent",
        "id": "11111111-0000-0000-0000-000000000000",
    },
    "organizationId": "00000000-0000-0000-0000-000000000000",
    "encryptedContent": {
      "data": "{Encrypted content}",
      "dataSignature": "{Encrypted data signature}",
      "dataKey": "{Encrypted data key for encrypting content}",
      "encryptionCertificateId": "{User specified id of encryption certificate}",
      "encryptionCertificateThumbprint": "{Encrpytion certification thumbprint}"
    }
  }],
  "validationTokens": ["{Validation Tokens}"]
}

Beispiel für entschlüsselte Benachrichtigungsressourcendaten

{
    "@odata.id": "communications/calls/getEmergencyEventsByPolicy(policyName='EmergencyPolicy')",
    "@odata.type": "#microsoft.graph.emergencyCallEvent",
    "id": "11111111-0000-0000-0000-000000000000",
    "emergencyCallEvent": { 
        "id": "11111111-0000-0000-0000-000000000000",  
        "callEventType": "callStarted",
        "policyName": "EmergencyPolicy",
        "eventDateTime": "2024-01-01T10:00:00.0000000+00:00",
        "emergencyNumberDialed": "{emergencyNumberDialed}",
        "callerInfo": {
            "displayName": "Emergency caller display name", 
            "upn": "emergencyCaller@contoso.com", 
            "phoneNumber": "00000000000",
            "tenantId": "00000000-0000-0000-0000-000000000000",
            "location": {
                "address": {
                    "street": "Microsoft Way",
                    "city": "Redmond",
                    "state": "WA",
                    "countryOrRegion": "United States",
                    "postalCode": "00000",
                    "additionalData": {
                    "companyName": "Company name",
                    "additionalInfo": "700",
                    "houseNumber": "725",
                    "county": "County",
                    "streetSuffix": "Street suffix"
                    }
                },
                "coordinates": {
                    "latitude": "00.0000",
                    "longitude": "00.0000"
                }
            }
        }
    }
}