Anrufen die Benutzer außerhalb der Organisation mit Microsoft Graph Call API

Alexander Späth 0 Zuverlässigkeitspunkte
2024-03-27T09:45:17.8033333+00:00

Sehr geehrten Damen und Herren,

wir wollen mittels Microsoft Graph Call API auch die externe Benutzer anrufen, zum Beispiel
Fall 1: wenn uns deren Email bekannt ist und man weißt, dass die in Teams innerhalb einer andere Organisation sind

Fall 2: uns ist schon der UserId und TenantId bekannt.

Was wir schon können ist:

  • Telefonanrufe ( PSTN Calls ) zu tätigen.
  • VOIP Call innerhalb unseren Tenant (Organisation) zu tätigen oder die Gäste userer Organisation anzurufen.

Dafür haben schon einen App mit allen Berechtigungen eingerichtet.
BOT erstellt. https://microsoftgraph.github.io/microsoft-graph-comms-samples/docs/articles/calls/register-calling-bot.html

AppInstance als Ressourcen Konto erstellt und dem App zugewiesen.

Telefonnummer dem AppInstance zugewiesen.

https://learn.microsoft.com/de-de/graph/cloud-communications-phone-number#assign-a-phone-number-to-your-bot

Zur Zeit wenn man mittels Microsoft Graph Call Api versucht die externe Benutzer anzurufen, kommt es zu dem Fehler:
'{"code":"7505","message":"Request authorization tenant mismatch.","innerError":{"date":"2024-03-27T09:32:32","request-id":"6be56bb2-ca0c-4930-a39d-064982428363","client-request-id":"5f7db483-33fa-2b37-897f-a9b135f46b8c"}}

Für folgenden Aufruf unter POST (/communications/calls) sieht Body so aus:

     { 
	  '@odata.type': '#microsoft.graph.call',
      callbackUri: 'https://' + this.connectionProperties.host + '/microsoftgraph/callnotifications',
      source: {
        '@odata.type': '#microsoft.graph.participantInfo',
        identity: {
          '@odata.type': '#microsoft.graph.identitySet',
          appInstance: {
            '@odata.type': '#microsoft.graph.identity',
            displayName: 'App Instance Name',
            id: "<unsere AppInstanceID>",
            tenantId: "<unsere TenantID>"
          }
        },
        countryCode: null,
        endpointType: null,
        region: null,
        languageId: null
      },
      targets: [
		{
        	'@odata.type': '#microsoft.graph.invitationParticipantInfo',
        	identity: {
          		'@odata.type': '#microsoft.graph.identitySet',
          		user: {
            		'@odata.type': '#microsoft.graph.identity',
					id: "<externe BenutzerID>",
					tenantId: "<TenantId von einer anderen Organisation>"
					//oder id: <PrincipalName bzw Email>
				}
	        }	
		}
	  ],
      requestedModalities: [
        'audio'
      ],
      callOptions: {
        '@odata.type': '#microsoft.graph.outgoingCallOptions',
        hideBotAfterEscalation: true,
        isContentSharingNotificationEnabled: true
      },
      mediaConfig: {
        '@odata.type': '#microsoft.graph.serviceHostedMediaConfig'
      },
	  tenantId: "<unsere TenantID>"
    };

Können Sie uns weiterhelfen?

Microsoft Teams
Microsoft Teams
Ein anpassbarer, chatbasierter Arbeitsbereich von Microsoft.
16 Fragen
{count} Stimmen