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.
- Der Teams-Mandantenadministrator konfiguriert Notrufe für den Mandanten.
- Die Clientanwendung erstellt ein Microsoft Graph-Notrufereignisabonnement.
- Die Notrufereignisbenachrichtigung wird an die Clientanwendung ausgelöst, wenn ein Teams-Benutzer einen Notruf (z. B. 911) in Teams abgibt.
- 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 includeResourceData
true
, und geben Sie den Base64-codierten Zertifikatwert für encryptionCertificate
und einen Zeichenfolgenbezeichner für encryptionCertificateId
an. 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"
}
}
}
}
}