Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In het artikel worden de oproepstromen in Azure Communication Services beschreven. Signalerings- en mediastromen zijn afhankelijk van de typen oproepen die uw gebruikers maken. Voorbeelden van oproeptypen zijn een-op-een VoIP, een-op-een openbaar telefoonnetwerk (PSTN) en groepsgesprekken met een combinatie van voIP- en PSTN-verbonden deelnemers. Zie Oproeptypen voor meer informatie.
Signalerings- en mediaprotocollen
Wanneer u een peer-to-peer- of groepsoproep tot stand brengt, worden er achter de schermen twee protocollen gebruikt: HTTPS (REST) voor signalering en Secure Real-Time Transport Protocol (SRTP) voor media.
Signalering tussen de SDK's of tussen SDK's en Communication Services-signaleringscontrollers wordt verwerkt met HTTPS REST (TLS). Azure Communication Services maakt gebruik van TLS 1.2. Voor realtime mediaverkeer (RTP) raden we u aan om UDP (User Datagram Protocol) te gebruiken. Als de firewall het gebruik van UDP voorkomt, gebruikt de SDK het TRANSMISSION Control Protocol (TCP) voor media.
Laten we de signalerings- en mediaprotocollen in verschillende scenario's bekijken.
Oproepstroomcases
Case 1: VoIP met een directe verbinding tussen twee apparaten
In een-op-een VoIP- of videogesprekken geeft verkeer de voorkeur aan het meest directe pad. Direct pad betekent dat als twee SDK's elkaar rechtstreeks kunnen bereiken, ze een directe verbinding tot stand brengen. Directe verbinding is mogelijk wanneer twee SDK's zich in hetzelfde subnet bevinden (zoals in subnet 192.168.1.0/24) of wanneer de apparaten zich elk in subnetten bevinden die elkaar kunnen zien (SDK's in subnet 10.10.0.0/16 en 192.168.1.0/24 kunnen elkaar bereiken).
Case 2: VoIP waarbij een directe verbinding tussen apparaten niet mogelijk is, maar een verbinding tussen NAT-apparaten mogelijk is
Als twee apparaten zich in subnetten bevinden die elkaar niet kunnen bereiken, maar de verbinding tussen de NAT-apparaten (Network Address Translation) mogelijk is, maken de SDK's aan de clientzijde verbinding via NAT-apparaten. Als Alice bijvoorbeeld werkt vanuit een koffiebar en Bob werkt vanuit een thuiskantoor.
Voor Alice is het de NAT van de koffiebar en voor Bob is het de NAT van het thuiskantoor. Het apparaat van Alice verzendt het externe adres van haar NAT en Bob doet hetzelfde. De SDK's leren de externe adressen van een sessiekruisingshulpprogramma voor NAT (STUN) dat Azure Communication Services kosteloos biedt. De logica die de handshake tussen Alice en Bob afhandelt, is ingesloten in de door Azure Communication Services geleverde SDK's. U hebt geen toegevoegde configuratie nodig.
Case 3: VoIP waarin noch een directe noch een NAT-verbinding mogelijk is
Als een of beide clientapparaten zich achter een symmetrische NAT bevinden, is een afzonderlijke cloudservice vereist om de media tussen de twee SDK's door te sturen. Deze service, genaamd doorgang met behulp van relays rond NAT (TURN), wordt ook geleverd door Azure Communication Services. De Communication Services Calling SDK maakt automatisch gebruik van TURN-services op basis van gedetecteerde netwerkvoorwaarden. TURN-kosten zijn inbegrepen in de prijs van de oproep.
Case 4: Groepsgesprekken met PSTN
Zowel signalering als media voor PSTN-oproepen maken gebruik van de Azure Communication Services-telefonieresource. Deze resource is verbonden met andere providers.
PSTN-mediaverkeer loopt via een mediaprocessoronderdeel.
Opmerking
De mediaprocessor is ook een back-to-back-gebruikersagent, zoals gedefinieerd in RFC 3261 SIP: Session Initiation Protocol, wat betekent dat het codecs kan vertalen bij het verwerken van gesprekken tussen Microsoft- en Carrier-netwerken. De signaalcontroller van Azure Communication Services is de implementatie van een SIP-proxy van Microsoft per dezelfde RFC.
Voor groepsgesprekken stromen media en signalering altijd via de Back-end van Azure Communication Services. De audio en/of video van alle deelnemers worden gemengd in de mediaprocessor. Alle leden van een groepsgesprek verzenden hun audio- en videostreams naar de mediaprocessor, die gemengde mediastreams retourneert.
Het standaard realtime protocol (RTP) voor groepsaanroepen is UDP (User Datagram Protocol).
Opmerking
De mediaprocessor kan fungeren als een multipointcontrol-unit (MCU) of selectieve doorstuurunit (SFU).
Als de SDK UDP niet kan gebruiken voor media vanwege firewallbeperkingen, wordt geprobeerd het TRANSMISSION Control Protocol (TCP) te gebruiken. Voor het mediaprocessoronderdeel is UDP vereist, dus wanneer in dit geval de Communication Services TURN-service wordt toegevoegd aan de groepsoproep om TCP te vertalen naar UDP. TURN-kosten zijn inbegrepen in de prijs van de oproep.
Case 5: Communication Services SDK en Microsoft Teams in een geplande Teams-vergadering
Signalering verloopt via de signaleringscontroller. Media stroomt door de mediaprocessor. De signaleringscontroller en mediaprocessor worden gedeeld tussen Communication Services en Microsoft Teams.
Case 6: Vroege media
Verwijst naar media die worden uitgewisseld, zoals audio en video, voordat de aangeroepene de sessie accepteert. Voor een vroege mediastroom moet de SBC (Session Border Controller) worden gekoppeld aan het eerste eindpunt dat begint met het streamen van media; mediastroom kan beginnen voordat kandidaten worden genomineerd. De SBC moet ondersteuning bieden voor het verzenden van dubbele toonmulti-frequentiesignalen (DTMF) tijdens deze fase om IVR- of voicemailscenario's mogelijk te maken. De SBC moet het hoogste prioriteitspad gebruiken waarop het controles ontvangt, indien de nominaties niet voltooid zijn.
Volgende stappen
Verwante artikelen
- Meer informatie over oproeptypen
- Meer informatie over client-serverarchitectuur
- Meer informatie over oproepstroomtopologieën