Grunderna för samtalsflöde

Avsnittet nedan ger en översikt över anropsflödena i Azure Communication Services. Signal- och medieflöden beror på vilka typer av samtal användarna gör. Exempel på samtalstyper är en-till-en VoIP, ett-till-en PSTN och gruppanrop som innehåller en kombination av VoIP- och PSTN-anslutna deltagare. Granska Samtalstyper.

Om signalering och mediaprotokoll

När du upprättar ett peer-to-peer- eller gruppanrop används två protokoll i bakgrunden – HTTPS (REST) för signalering och SRTP för media.

Signalering mellan SDK:er eller mellan SDK:er och Kommunikationstjänster Signalkontrollanter hanteras med HTTPS REST (TLS). Azure Communication Services använder TLS 1.2. För realtidsmediatrafik (RTP) föredras UDP (User Datagram Protocol). Om användningen av UDP förhindras av brandväggen använder SDK:t TCP (Transmission Control Protocol) för media.

Nu ska vi gå igenom signal- och medieprotokollen i olika scenarier.

Samtalsflödesfall

Fall 1: VoIP där en direktanslutning mellan två enheter är möjlig

I ett-till-en-VoIP- eller videosamtal föredrar trafiken den mest direkta sökvägen. "Direkt sökväg" innebär att om två SDK:er kan nå varandra direkt upprättar de en direktanslutning. Detta är vanligtvis möjligt när två SDK:er finns i samma undernät (till exempel i ett undernät 192.168.1.0/24) eller två när enheterna finns i undernät som kan se varandra (SDK:er i undernätet 10.10.0.0/16 och 192.168.1.0/24 kan nå ut till varandra).

Diagram showing a Direct VOIP call between users and Communication Services.

Fall 2: VoIP där en direkt anslutning mellan enheter inte är möjlig, men där anslutning mellan NAT-enheter är möjlig

Om två enheter finns i undernät som inte kan nå varandra (till exempel Alice arbetar från ett kafé och Bob arbetar från sitt hemkontor), men anslutningen mellan NAT-enheterna är möjlig, upprättar SDK:erna på klientsidan anslutningar via NAT-enheter.

För Alice blir det NAT för kaféet och för Bob blir det NAT för hemmakontoret. Alice enhet skickar den externa adressen för hennes NAT och Bobs kommer att göra samma sak. SDK:erna lär sig de externa adresserna från en STUN-tjänst (Session Traversal Utilities for NAT) som Azure Communication Services tillhandahåller kostnadsfritt. Logiken som hanterar handskakningen mellan Alice och Bob är inbäddad i de Azure Communication Services-SDK:er som tillhandahålls. (Du behöver ingen ytterligare konfiguration)

Diagram showing a VOIP call which utilizes a STUN connection.

Fall 3: VoIP där varken en direkt eller NAT-anslutning är möjlig

Om en eller båda klientenheterna ligger bakom en symmetrisk NAT krävs en separat molntjänst för att vidarebefordra mediet mellan de två SDK:erna. Den här tjänsten kallas TURN (Traversal Using Relays around NAT) och tillhandahålls också av Communication Services. Communication Services Calling SDK använder automatiskt TURN-tjänster baserat på identifierade nätverksförhållanden. TURN-avgifter ingår i priset för samtalet.

Diagram showing a VOIP call which utilizes a TURN connection.

Ärende 4: Gruppsamtal med PSTN

Både signalering och media för PSTN-anrop använder azure communication services-telefoniresursen. Den här resursen är sammankopplad med andra operatörer.

PSTN-medietrafik flödar genom en komponent som kallas Medieprocessor.

Diagram showing a PSTN Group Call with Communication Services.

Kommentar

För dem som är bekanta med mediebearbetning är vår medieprocessor också en back to back-användaragent, enligt definitionen i RFC 3261 SIP: Session Initiation Protocol, vilket innebär att den kan översätta codecs vid hantering av anrop mellan Microsoft- och Carrier-nätverk. Signalkontrollanten för Azure Communication Services är Microsofts implementering av en SIP-proxy per samma RFC.

För gruppanrop flödar media och signaler alltid via Azure Communication Services-serverdelen. Ljud och/eller video från alla deltagare blandas i mediaprocessorkomponenten. Alla medlemmar i ett gruppsamtal skickar sina ljud- och/eller videoströmmar till medieprocessorn, vilket returnerar blandade medieströmmar.

Standardprotokollet i realtid (RTP) för gruppanrop är UDP (User Datagram Protocol).

Kommentar

Medieprocessorn kan fungera som en MCU (Multipoint Control Unit) eller SFU (Selective Forwarding Unit)

Diagram showing UDP media process flow within Communication Services.

Om SDK:t inte kan använda UDP för media på grund av brandväggsbegränsningar görs ett försök att använda TCP (Transmission Control Protocol). Observera att mediaprocessorkomponenten kräver UDP, så när detta händer läggs TJÄNSTEN COMMUNICATION Services TURN till i gruppanropet för att översätta TCP till UDP. TURN-avgifter ingår i priset för samtalet.

Diagram showing TCP media process flow within Communication Services.

Ärende 5: Communication Services SDK och Microsoft Teams i ett schemalagt Teams-möte

Signalering flödar genom signalstyrenheten. Media flödar genom medieprocessorn. Signalstyrenheten och medieprocessorn delas mellan Communication Services och Microsoft Teams.

Diagram showing Communication Services SDK and Teams Client in a scheduled Teams meeting.

Fall 6: Tidiga medier

Refererar till media (t.ex. ljud och video) som utbyts innan en viss session godkänns av den anropade användaren. Om det finns ett tidigt medieflöde måste SBC spärren till den första slutpunkten som startar strömmande media. mediaflöde kan starta innan kandidater nomineras. SBC bör ha stöd för att skicka DTMF under den här fasen för att aktivera IVR/röstbrevlådescenarier. SBC bör använda den sökväg med högst prioritet som den har fått kontroller på om nomineringarna inte har slutförts.

Nästa steg

Följande dokument kan vara intressanta för dig: