Panoramica dell'SDK di chiamata

Servizi di comunicazione di Azure consente ai browser, alle app e ai servizi degli utenti finali di guidare la comunicazione vocale e video. Questa pagina è incentrata sulla chiamata di SDK client, che può essere incorporata in siti Web e applicazioni native. Questa pagina fornisce descrizioni dettagliate delle funzionalità client per chiamate, ad esempio informazioni sul supporto della piattaforma e del browser. I servizi gestiscono e accedono a livello di codice alle chiamate usando le API di automazione delle chiamate. L'API Rooms è un'API facoltativa Servizi di comunicazione di Azure che aggiunge funzionalità aggiuntive a una chiamata vocale o video, ad esempio ruoli e autorizzazioni.

Nota

Condividi i tuoi pensieri e commenti su Servizi di comunicazione di Azure con noi prendendo questo breve sondaggio.

Per creare un'esperienza utente personalizzata con l'SDK per chiamate, vedere Avvio rapido per chiamate o Esempio di hero per chiamate.

Se si vuole ottenere assistenza con l'esperienza dell'utente finale, la libreria dell'interfaccia utente di Servizi di comunicazione di Azure fornisce una raccolta di componenti dell'interfaccia utente open source pronti per la produzione da eliminare nell'applicazione. Con questo set di controlli predefiniti, è possibile creare esperienze di comunicazione accattivanti usando il linguaggio di progettazione Fluent di Microsoft. Per altre informazioni sulla libreria dell'interfaccia utente, visitare il sito di panoramica o storybook.

Dopo aver avviato lo sviluppo, vedere la pagina dei problemi noti per trovare i bug su cui stiamo lavorando.

Collegamenti ALL'SDK

Piattaforma Web (JavaScript) Windows (.NET) iOS Android Altro
Chiamata in corso npm NuGet GitHub Maven
Libreria dell'interfaccia utente npm - GitHub GitHub GitHub, Storybook

Funzionalità chiave

  • Gestione dispositivi e media : l'SDK chiamante fornisce funzionalità per l'associazione a dispositivi audio e video, codifica il contenuto per una trasmissione efficiente tramite il piano dati delle comunicazioni e esegue il rendering del contenuto in dispositivi e visualizzazioni di output specificati. Le API sono disponibili anche per la condivisione dello schermo e dell'applicazione.
  • PSTN: l'SDK per chiamate può avviare chiamate vocali con la rete telefonica tradizionale commutata pubblicamente, usando i numeri di telefono acquisiti nel portale di Azure o a livello di codice. È anche possibile usare i propri numeri usando i controller di bordo sessione.
  • Riunioni e chiamate di Teams : l'SDK per chiamate può partecipare alle riunioni di Teams e interagire con il piano dati vocale e video di Teams.
  • Crittografia : l'SDK chiamante crittografa il traffico e impedisce la manomissione in transito.
  • Indirizzamento: Servizi di comunicazione di Azure fornisce identità generiche usate per gestire gli endpoint di comunicazione. I client usano queste identità per eseguire l'autenticazione al servizio e comunicare tra loro. Queste identità vengono usate nelle API chiamanti che forniscono ai client visibilità su chi è connesso a una chiamata (il roster).
  • Sicurezza dell'accesso utente
    • Il controllo del roster, il controllo pianificato e i ruoli/autorizzazioni utente vengono applicati tramite Virtual Rooms.
    • La possibilità per un utente di avviare una nuova chiamata o di partecipare a una chiamata esistente può essere gestita tramite identità utente e token
  • Notifiche : l'SDK chiamante fornisce API che consentono ai client di ricevere una notifica di una chiamata in arrivo. In situazioni in cui l'app non è in esecuzione in primo piano, i modelli sono disponibili per attivare notifiche popup ("avvisi popup") per informare gli utenti finali di una chiamata in arrivo.
  • Statistiche multimediali: l'SDK per chiamate fornisce informazioni dettagliate complete sulle metriche delle chiamate VoIP e video. Con queste informazioni, gli sviluppatori hanno una comprensione più chiara della qualità delle chiamate e possono prendere decisioni informate per migliorare ulteriormente l'esperienza di comunicazione.
  • Vincoli video : l'SDK per chiamate fornisce API che consentono di regolare la qualità video tra gli altri parametri durante le videochiamate modificando parametri come risoluzione e frequenza dei fotogrammi che supportano situazioni di chiamata diverse per diversi livelli di qualità video
  • Diagnostica per utenti (UFD): l'SDK per chiamate fornisce eventi progettati per fornire informazioni dettagliate sui problemi sottostanti che potrebbero influire sulla qualità delle chiamate. Gli sviluppatori possono sottoscrivere trigger come segnali di rete deboli o microfoni disattivati, assicurandosi che siano sempre consapevoli di tutti i fattori che influiscono sulle chiamate.

Funzionalità dettagliate

L'elenco seguente presenta il set di funzionalità attualmente disponibili negli SDK per chiamate Servizi di comunicazione di Azure.

Gruppo di funzionalità Funzionalità JS Windows Java (Android) Objective-C (iOS)
Funzionalità principali Inserire una chiamata uno-a-uno tra due utenti ✔️ ✔️ ✔️ ✔️
Effettuare una chiamata di gruppo con più di due utenti (fino a 100 utenti) ✔️ ✔️ ✔️ ✔️
Alzare di livello una chiamata uno-a-uno con due utenti in una chiamata di gruppo con più di due utenti ✔️ ✔️ ✔️ ✔️
Partecipare a una chiamata di gruppo dopo che è stata avviata ✔️ ✔️ ✔️ ✔️
Invitare un altro utente VoIP a partecipare a una chiamata di gruppo in corso ✔️ ✔️ ✔️ ✔️
Controllo delle chiamate intermedie Attivare/Disattivare il video ✔️ ✔️ ✔️ ✔️
Attivare/Disattivare il microfono ✔️ ✔️ ✔️ ✔️
Disattivare l'audio di altri partecipanti ✔️1 ✔️1 ✔️1 ✔️1
Passare da una fotocamera all'altra ✔️ ✔️ ✔️ ✔️
Bloccare/Sbloccare chiamata locale ✔️ ✔️ ✔️ ✔️
Active speaker ✔️ ✔️ ✔️ ✔️
Scegliere l'altoparlante per le chiamate ✔️ ✔️ ✔️ ✔️
Scegliere il microfono per le chiamate ✔️ ✔️ ✔️ ✔️
Mostrare lo stato di un partecipante
Inattivo, Contenuto multimediale anticipato, Connessione in corso, Connesso, In attesa, In sala di attesa, Disconnesso
✔️ ✔️ ✔️ ✔️
Mostrare lo stato di una chiamata
Contenuto multimediale anticipato, In arrivo, Connessione in corso, Chiamata in corso, Connesso, In attesa, Disconnessione in corso, Disconnesso
✔️ ✔️ ✔️ ✔️
Mostrare se un partecipante ha l'audio disattivato ✔️ ✔️ ✔️ ✔️
Mostrare il motivo per cui un partecipante ha abbandonato una chiamata ✔️ ✔️ ✔️ ✔️
Condivisione dello schermo Condividere l'intero schermo dall'applicazione ✔️ ✔️2 ✔️2 ✔️2
Condividere un'applicazione specifica (dall'elenco delle applicazioni in esecuzione) ✔️ ✔️2
Condividere una scheda del Web browser dall'elenco delle schede aperte ✔️
Condividere l'audio di sistema durante la condivisione dello schermo ✔️
Il partecipante può visualizzare la condivisione dello schermo remoto ✔️ ✔️ ✔️ ✔️
Registro Elencare i partecipanti ✔️ ✔️ ✔️ ✔️
Rimuovere un partecipante ✔️ ✔️ ✔️ ✔️
PSTN Inserire una chiamata uno-a-uno con un partecipante PSTN ✔️ ✔️ ✔️ ✔️
Inserire una chiamata di gruppo con partecipanti PSTN ✔️ ✔️ ✔️ ✔️
Alzare di livello una chiamata uno-a-uno con un partecipante PSTN in una chiamata di gruppo ✔️ ✔️ ✔️ ✔️
Disconnettersi da una chiamata di gruppo come partecipante PSTN ✔️ ✔️ ✔️ ✔️
Supporto per i supporti iniziali ✔️ ✔️ ✔️ ✔️
Generali Testare microfono, altoparlante e fotocamera con un servizio di test audio (disponibile chiamando 8:echo123) ✔️ ✔️ ✔️ ✔️
Gestione dei dispositivi Richiedere l'autorizzazione per l'uso di audio e/o video ✔️ ✔️ ✔️ ✔️
Ottenere l'elenco delle fotocamere ✔️ ✔️ ✔️ ✔️
Impostare la fotocamera ✔️ ✔️ ✔️ ✔️
Ottieni fotocamera selezionata ✔️ ✔️ ✔️ ✔️
Ottenere l'elenco dei microfoni ✔️ ✔️ 3 3
Impostare il microfono ✔️ ✔️ 3 3
Ottenere il microfono selezionato ✔️ ✔️ 3 3
Ottenere l'elenco degli altoparlanti ✔️ ✔️ 3 3
Impostare l'altoparlante ✔️ ✔️ 3 3
Ottenere l'altoparlante selezionato ✔️ ✔️ 3 3
Video Rendering Eseguire il rendering di un singolo video in molte posizioni (fotocamera locale o flusso remoto) ✔️ ✔️ ✔️ ✔️
Impostare/aggiornare la modalità di ridimensionamento ✔️ ✔️ ✔️ ✔️
Eseguire il rendering del flusso video remoto ✔️ ✔️ ✔️ ✔️
Effetti video Sfocatura sfondo ✔️ ✔️ ✔️ ✔️
Immagine di sfondo personalizzata ✔️ ✔️ ✔️ ✔️
Effetti audio modalità Musica ✔️ ✔️ ✔️
Annullamento echo ✔️ ✔️ ✔️
Supressione del rumore ✔️ ✔️ ✔️ ✔️
Controllo automatico dei guadagni (AGC) ✔️ ✔️ ✔️
Notifiche 4 Notifiche push ✔️ ✔️ ✔️ ✔️

1 La possibilità di disattivare gli altri è attualmente in anteprima pubblica.

2 La funzionalità Condividi schermo può essere ottenuta usando le API Di contenuti multimediali non elaborati. Per altre informazioni, vedere la guida introduttiva all'accesso ai contenuti multimediali non elaborati.

3 L'SDK chiamante non dispone di un'API esplicita per queste funzioni, è consigliabile usare le API del sistema operativo Android e iOS per ottenere invece.

4 Il valore massimo per TTL nelle piattaforme native è 180 giorni (15.552.000 secondi) e il valore minimo è 5 minuti (300 secondi). Per CTE (endpoint di Teams personalizzato)/M365 Identity il valore TTL massimo è 24 ore (86.400 secondi).For CTE (Custom Teams Endpoint)/M365 Identity the max TTL value is 24 ore (86.400 seconds).

Supporto di JavaScript Calling SDK da parte del sistema operativo e del browser

La tabella seguente rappresenta il set di browser supportati, attualmente disponibili. Sono supportate le tre versioni principali più recenti del browser (più recenti tre versioni secondarie per Safari), a meno che non diversamente indicato.

Piattaforma Chrome Safari Edge Firefox Webview Electron
Android ✔️ ✔️ ✔️
iOS ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️
Ubuntu/Linux ✔️
  • La condivisione dello schermo in uscita non è supportata nei browser per dispositivi mobili iOS o Android.
  • Il supporto di Firefox è disponibile in anteprima pubblica.
  • Attualmente, l'SDK chiamante supporta solo Android System WebView in Android, iOS WebView(WKWebView) in anteprima pubblica. Altri tipi di browser incorporati o WebView in altre piattaforme del sistema operativo non sono ufficialmente supportati, ad esempio GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. L'esecuzione di JavaScript Calling SDK in queste piattaforme non viene testata attivamente, potrebbe funzionare o meno.
  • Un'app iOS in Safari non può enumerare/selezionare dispositivi microfoni e altoparlanti (ad esempio, Bluetooth). Questo problema è una limitazione di iOS e il sistema operativo controlla la selezione predefinita dei dispositivi.

Client chiamante - modello di sicurezza del browser

Usare WebRTC su HTTPS

Un requisito delle API WebRTC come getUserMedia è che l'app che chiama queste API sia servita tramite HTTPS. Per lo sviluppo locale è possibile usare http://localhost.

Incorporare l'SDK per le chiamate di Servizi di comunicazione in un iframe

In vari browser è disponibile un nuovo criterio di autorizzazioni (detto anche criterio di funzionalità). Questi criteri influiscono sugli scenari di chiamata controllando il modo in cui le applicazioni possono accedere alla fotocamera e al microfono di un dispositivo tramite un elemento iframe tra diverse origini.

Se si vuole usare un iframe per ospitare parte dell'app da un dominio diverso, occorre aggiungere l'attributo allow con il valore corretto all'iframe.

Ad esempio, questo iframe consente l'accesso sia alla fotocamera che al microfono:

<iframe allow="camera *; microphone *">

Supporto di Android Calling SDK

  • Supporto per Android API Livello 21 o superiore
  • Supporto per Java 7 o versione successiva
  • Supporto per Android Studio 2.0
  • I dispositivi Android Auto e IoT che eseguono Android non sono attualmente supportati

Supporto di iOS Calling SDK

  • Supporto per iOS 10.0+ in fase di compilazione e iOS 12.0+ in fase di esecuzione
  • Xcode 12.0+
  • Supporto per iPadOS 13.0+

Durata massima chiamata

La durata massima della chiamata è di 30 ore, i partecipanti che raggiungono la durata massima della chiamata di 30 ore verranno disconnessi dalla chiamata.

Numero supportato di flussi video in ingresso

L'SDK per chiamate Servizi di comunicazione di Azure supporta le configurazioni di streaming seguenti:

Limite Web Windows/Android/iOS
Numero massimo di flussi locali in uscita che possono essere inviati contemporaneamente 1 video e 1 condivisione dello schermo 1 video + 1 condivisione dello schermo
Numero massimo di flussi remoti in ingresso di cui è possibile eseguire il rendering contemporaneamente 9 video + 1 condivisione dello schermo nei browser desktop*, 4 video + 1 condivisione dello schermo nei browser Web 9 video + 1 condivisione dello schermo

* A partire da Servizi di comunicazione di Azure Web Calling SDK versione 1.16.3 Mentre l'SDK chiamante non applica questi limiti, gli utenti potrebbero riscontrare una riduzione delle prestazioni se vengono superati. Usare l'API Di conteggio video ottimale per determinare il numero di flussi video in ingresso correnti che l'ambiente Web può supportare.

Risoluzioni video supportate

L'SDK per chiamate Servizi di comunicazione di Azure regola automaticamente le risoluzioni dei flussi di condivisione video e schermo durante la chiamata.

Nota

La risoluzione può variare a seconda del numero di partecipanti di una chiamata, della larghezza di banda disponibile per il client, delle funzionalità hardware del partecipante locale che esegue il rendering di streans video remoti e di altri parametri generali di chiamata.

L'SDK per chiamate Servizi di comunicazione di Azure supporta l'invio di risoluzioni video seguenti

Risoluzione massima video WebJS iOS Android Finestre
Invio di video 720P 720P 720P 1080P
Invio di condivisione schermata 1080P 1080P 1080P 1080P
Ricezione di un flusso video remoto o di una condivisione dello schermo 1080P 1080P 1080P 1080P

Numero di partecipanti a un supporto per chiamate

  • Fino a 350 utenti possono partecipare a una chiamata di gruppo, Sala o Teams + ACS.
  • Una volta che la dimensione della chiamata raggiunge 100+ partecipanti in una chiamata, solo i primi 4 altoparlanti dominanti che hanno la loro videocamera girata possono essere visti.
  • Quando il numero di persone nella chiamata è 100+, il numero visualizzabile di video in ingresso diminuisce automaticamente da 3x3 (9 video in ingresso) fino a 2x2 (4 video in ingresso).
  • Quando il numero di utenti supera 100, il numero di video in ingresso supportati torna a 3x3 (9 video in ingresso).

Timeout dell'SDK per chiamate

I timeout seguenti si applicano agli SDK per chiamate di Servizi di comunicazione:

Azione Timeout in secondi
Riconnettere/rimuovere un partecipante 60
Aggiungere o rimuovere una nuova modalità da una chiamata (Avvio/arresto video o condivisione dello schermo) 40
Timeout dell'operazione di trasferimento delle chiamate 60
1:1 timeout dell'istituzione di chiamate 85
Timeout dell'istituzione di chiamate di gruppo 85
Timeout dell'istituzione di chiamate PSTN 115
Alzare di livello 1:1 la chiamata a un timeout di chiamata di gruppo 115

Passaggi successivi

Per altre informazioni, vedere gli articoli seguenti:

  • Acquisire familiarità con i flussi di chiamate generali
  • Informazioni sui tipi di chiamate
  • Informazioni sull'API di automazione delle chiamate che consente di creare flussi di lavoro di chiamata basati su server in grado di instradare e controllare le chiamate con le applicazioni client.
  • Pianificare la soluzione PSTN