Düzenle

Aracılığıyla paylaş


Azure İletişim Hizmetleri mimari tasarımı

Azure Communication Services
Microsoft Entra ID
Azure Functions

Bu kılavuzda Azure İletişim Hizmetleri için veri akışı diyagramları gösterilir. İstemcilerinizin ve hizmetlerinizin iletişim deneyimleri sunmak için Azure ile nasıl etkileşimde olduğunu anlamak için bu diyagramları kullanın.

İletişim Hizmetleri, iletişimi uygulamalarınızla tümleştirmenize yardımcı olmak için REST API'leri ve istemci kitaplığı SDK'ları ile bulut tabanlı bir hizmettir. İletişim Hizmetleri birden çok iletişim biçimini destekler: sesli ve görüntülü arama, kısa mesaj, SMS ve özel ikili veriler.

Web ve mobil uygulamalara iletişim ekleyebilir, özel hizmetleri ve botları tümleştirebilir ve genel anahtarlı telefon ağına (PSTN) program aracılığıyla erişebilirsiniz. Telefon numaralarını doğrudan Azure İletişim Hizmetleri API'lerinden veya Azure portalından alabilir ve bu numaraları SMS veya sesli arama uygulamaları için kullanabilirsiniz. İletişim Hizmetleri doğrudan yönlendirmesini kullanarak Oturum Başlatma Protokolü (SIP) ve Oturum Sınırı Denetleyicileri aracılığıyla kendi telefon sağlayıcınızı getirebilirsiniz.

Bu veri akışı diyagramlarında aşağıdaki bileşenler kullanılır:

  • İstemci uygulaması. İletişim için son kullanıcılar tarafından kullanılan bir web sitesi veya yerel uygulama. İletişim Hizmetleri, tarayıcılar ve yerel uygulamalar için SDK istemci kitaplıkları sağlar. Bu SDK'lar üzerinde oluşturulan açık kaynak KULLANıCı Arabirimi Kitaplığı programlanabilir web (React), iOS ve Android kullanıcı arabirimi bileşenleri sağlar.
  • Kimlik yönetimi hizmeti. Kullanıcıları ve hizmetleri İletişim Hizmetleri kimliklerine eşlemek için oluşturduğunuz bir hizmet. Bu hizmet ayrıca veri düzlemine erişmeleri gerektiğinde kullanıcılar için belirteçler oluşturur.
  • İletişim denetleyicisi hizmeti. Sohbet yazışmalarını, sesli ve görüntülü aramaları denetlemek için oluşturduğunuz bir hizmet.
  • İletişim veri hizmeti. Sohbet ve SMS mesajları gönderme veya sesli aramada sesli çalma gibi iletişim içeriğiyle doğrudan etkileşim kurmak için oluşturduğunuz bir hizmet özelliği.

WebRTC gibi iletişim için endüstri standartları, iletişimi bir kontrol ve sinyal düzlemi ile bir veri düzlemine ayırır. İletişim Hizmetleri'ni kullanarak, hizmetin WebRTC'nin iç uygulamasını anlamanıza gerek kalmadan bir iletişim deneyimi oluşturabilirsiniz. Ancak bu kavramlar uygulamanızı tasarlamanıza yardımcı olabilir:

Sistem Function Protokoller Erişim modeli
Kontrol düzlemi Kimlerin, ne zaman ve nasıl iletişim kurabileceklerini yönetir REST Microsoft Entra hizmeti kimlik bilgileri
Veri düzlemi İnsanlar ve uygulamalarla arabirim oluşturan iletişim içeriği, ses, video, metin ve veriler içerir UDP, RTMP, WebSockets, REST Kullanıcı erişim belirteçleri ve Microsoft Entra hizmeti kimlik bilgileri

İstemci uygulamaları bir hizmet denetleyicisinden denetim bilgileri isteyerek iletişim başlattığında ortak bir veri akışı oluşur:

  • Bugün hangi toplantılarım var?
  • Arkadaşım Joseph'i aramak için hangi telefon numarasını kullanabilirim?
  • Ekip arkadaşlarımın adları nelerdir? Hangi devam eden sohbet yazışmalarımız var?

Denetim hizmetiniz istemcilere kullanıcılar, iş parçacıkları, telefon numaraları ve aramalar için İletişim Hizmetleri belirteçleri ve tanımlayıcıları sağlayarak bu istekleri yerine getiriyor. İstemciler daha sonra Bu belirteçleri ve tanımlayıcıları Kullanarak Azure veri düzlemi ile etkileşim kurar. İletişim Hizmetleri API'leri, son kullanıcı deneyiminizin tasarımını veya iletişimi denetleyen işlemleri kısıtlamaz.

WebRTC standardında istemciler, sinyal olarak bilinen bir süreçte denetim iletileri göndererek hizmetlerden denetim bilgileri talep ediyor. Arama kimliği gibi İletişim Hizmetleri tanımlayıcıları WebRTC oturum açıklamalarıyla karşılaştırılabilir.

Kullanıcı erişim belirteçleri aracılığıyla kimlik doğrulaması yapılan kullanıcılar

İletişim Hizmetleri istemcileri, gelişmiş güvenlik, Azure arama ve sohbet veri düzlemi ile erişim için kullanıcı erişim belirteçleri sunar. Güvenilir bir hizmet kullanarak kullanıcı erişim belirteçleri oluşturup yönetmeniz gerekir. Belirteç ve bunları oluşturmak için gereken bağlantı dizesi veya Microsoft Entra gizli dizilerinin korunması gerekir. Erişim belirteçlerinin düzgün yönetilememesi, kaynakların kötüye kullanılması nedeniyle ek ücrete neden olabilir.

Diagram that shows the user access token architecture.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. Kullanıcı istemci uygulamasını başlatır.
  2. İstemci uygulaması kimlik yönetimi hizmetinizle iletişim kurar. Kimlik yönetimi hizmeti, uygulama kimlikleri ile İletişim Hizmetleri kimlikleri arasında bir eşleme tutar. (Uygulama kimlikleri, kullanıcılarınızı ve hizmetler veya botlar gibi diğer adreslenebilir nesneleri içerir.)
  3. Kimlik yönetimi hizmeti, ilgili kimlik için bir kullanıcı erişim belirteci vermek üzere eşlemeyi kullanır.

Azure Uygulaması Hizmeti veya Azure İşlevleri, kimlik yönetimi hizmetini çalıştırmak için iki alternatiftir. Bu hizmetler kolayca ölçeklendirilir ve kullanıcıların kimliğini doğrulamak için yerleşik özelliklere sahiptir. OpenID ve Facebook gibi üçüncü taraf kimlik sağlayıcılarıyla tümleşiktir.

Kaynaklar

Kullanıcı bir uygulamayı veya telefon numarasını arar

En basit sesli ve görüntülü arama senaryosu, bir kullanıcının ön planda anında iletme bildirimleri olmadan başka bir kullanıcıyı çağırmasını içerir. İletişim Hizmetleri sesli ve görüntülü aramalarını web, yerel mobil ve Windows masaüstü uygulamalarıyla tümleştirebilirsiniz. Açık kaynak kullanıcı arabirimi kitaplığı, geliştirmeyi hızlandırmanıza yardımcı olabilir.

Diagram that shows Communication Services calling without push notifications.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. Başlatan kullanıcı, aramak istediği kişinin İletişim Hizmetleri kimliğini alır. Tipik bir senaryoda, kullanıcı kimliği kimlik yönetimi hizmeti tarafından tutulan bir arkadaş listesinden alır. Liste, kullanıcının arkadaşlarını ve ilişkili İletişim Hizmetleri kimliklerini harmanlar.
  2. Başlatan kullanıcı Call istemcisini başlatır ve uzak kullanıcıyı çağırır.
  3. Kabul eden kullanıcıya Çağrı SDK'sı aracılığıyla gelen çağrı bildirilir. Gelen çağrıları almak için, kabul edenin Çağrı istemcisini zaten başlatmış olması gerekir.
  4. Kullanıcılar bir aramada birbirleriyle sesli ve görüntülü iletişim kurar.

Kullanıcı bir dış telefon numarasını aradığında veri akışı neredeyse aynıdır. Temel fark, geleneksel telefona erişmek için, başlatan kullanıcı istemcisinin kullanıcı kimlikleri istemek yerine denetleyici hizmetinden kaynak ve hedef telefon numaraları istemesi gerektiğidir.

Bazı durumlarda uygulamaların Apple Anında İletme Bildirimi gibi platform hizmetlerini kullanarak arka planda aramaları kabul etmelerini isteyebilirsiniz. İletişim Hizmetleri'ni Azure Notification Hubs ile tümleştirerek bu işlevi etkinleştirebilirsiniz.

Kaynaklar

Kullanıcı davetsiz bir grup çağrısına katılır

Kullanıcıların açık bir davet olmadan bir grup çağrısına katılmasını isteyebilirsiniz. Uygulamanız, kullanıcıların istedikleri zaman katılabileceği görüntülü arama kanalı içeren kalıcı bir sosyal alan veya kulüp sağlayabilir. Bu veri akışı başlangıçta bir istemci tarafından oluşturulan ve uzak istemcinin açık davet olmadan katılmasına izin veren bir çağrıyı gösterir:

Diagram that shows a call without an invitation.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. Başlatan kullanıcı Çağrı istemcisini başlatır ve bir grup çağrısı yapar.
  2. Başlatan kullanıcı, grup çağrısı kimliğini bir iletişim denetleyicisi hizmetiyle paylaşır.
  3. İletişim denetleyicisi hizmeti, çağrı kimliğini diğer kullanıcılarla paylaşır. Örneğin, uygulama kullanıcı kulüpleri sağlıyorsa grup çağrısı kimliği, kulübün Azure Cosmos DB'de depolanan veri modelinin bir özniteliğidir.
  4. Diğer kullanıcılar, grup arama kimliğini kullanarak aramaya katılır.
  5. Kullanıcılar bir aramada birbirleriyle sesli ve görüntülü iletişim kurar.

Microsoft 365 ve Teams

Birçok kuruluş iletişim için Microsoft 365 ve Teams kullanır. İletişim Hizmetleri ve Teams birlikte çalışabilir ve bu da şu senaryoları etkinleştirir:

  • Dış kullanıcının Teams toplantısına katılmasına izin vermek için özel bir uygulama oluşturun. Bu senaryo, Teams kullanan bir işletmenin özel uygulama ve özel kimlik kullanan dış tüketiciler için toplantı barındırdığı sanal ziyaret senaryoları için idealdir. Bu senaryo hakkında daha fazla bilgi edinmek için bkz . Sanal ziyaretler öğreticisi ve Örnek Oluşturucu.
  • Teams / Microsoft Entra kimlik bilgileriyle iç kullanıcı için özel bir uygulama oluşturun. Bu senaryo, çalışanlar için özel Teams istemcileri oluşturmak için tasarlanmıştır.

Bu özel uygulama senaryolarında Microsoft Graph API'leri ve İletişim Hizmetleri kullanılır. Teams'e bağlanan dış uygulamalar ve hizmetler oluşturduğunuzda, Genellikle Teams denetim düzlemi olarak Microsoft Graph'ı kullanırsınız. Aşağıdakiler için API'leri kullanarak kimlerin, nasıl ve ne zaman iletişim kuracaklarını yapılandırmak için bu denetim düzlemi kullanılır:

İletişim Hizmetleri arama ve sohbet istemcilerini Teams veri düzlemine bağlamak için toplantı URL'si ve iş parçacığı tanımlayıcısı gibi bu denetim API'lerinden alınan bilgileri kullanırsınız.

Teams ayrıca Teams deneyimlerinde ve Teams mağazası aracılığıyla sekmeler, botlar ve otomasyon gibi özel işlevler eklemeye yönelik SDK'lara sahiptir. Bu senaryolar bu makalenin kapsamı dışındadır.

İletişim Hizmetleri, Teams kanallarıyla etkileşimleri doğrudan desteklemez. Özel uygulamalar için Microsoft Graph Sohbeti ve Kanal API'lerini kullanarak kanallara erişen çalışanlar için özel istemciler oluşturabilirsiniz.

Uygulama zamanlanmış Teams çağrısına katılır

İletişim Hizmetleri uygulamaları Teams çağrılarına katılabilir. Dış kullanıcılar için uygulamanın Teams toplantısına yönelik bir bağlantı olması gerekir. Bağlantı alma, Microsoft Graph API'leri aracılığıyla yönetilir. Veri akışı şu şekildedir:

Diagram showing Communication Services architecture for joining a Teams meeting.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. (1A) İletişim denetleyicisi hizmeti, Microsoft Graph API'sini kullanarak grup çağrısını zamanlar. Başka bir kullanım örneğinde (1B), kullanıcılar Outlook veya Teams kullanarak grup aramasını zamanlar.
  2. İletişim denetleyicisi hizmeti, Teams çağrısının ayrıntılarını İletişim Hizmetleri istemcileri ile paylaşır.
  3. Genellikle, Teams kullanıcısının Teams kullanıcı arabirimi aracılığıyla aramaya katılması ve dış kullanıcıların Teams arama öncesi lobisinde geçmesine izin vermesi gerekir. Ancak bu gereksinim, Teams kiracısının yapılandırmasına ve belirli toplantı ayarlarına bağlıdır.
  4. İletişim Hizmetleri kullanıcıları Çağrı istemcisini başlatır ve 2. adımda alınan ayrıntıları kullanarak Teams toplantısına katılır.
  5. Kullanıcılar birbirleriyle ses ve video aracılığıyla iletişim kurar.

Kaynaklar

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Diğer katkıda bulunanlar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar