SfB Media Flow

Da es immer wieder Rückfragen zu den "Wegen" zwischen den verschiedenen Endpunkten eines SIP-Verkehrs kommt,  haben ich hier ein paar Beispiele aufgeführt, auch wenn auf anderen Seite diese Informationen auch zum Teil schon beschrieben sind.

Systemübersicht

Ich habe dazu die wesentlichen Komponenten einer VoIP-Umgebung als einzelne Komponenten aufgeteilt. Sie sollten aber alle wissen, dass z.B., ein Frontend Server auch die Rollen "Mediation" und "MCU" tragen kann.

SIP-Signalisierung

Das erste Bild zeigt an, welche Wege eine Signalisierung geht, d.h. die "Steuerinformation, über die sich ihr Client anmeldet, Statusabfragen und Statusmeldungen sendet und empfängt und Verbindungen initiiert. Gültige Endpunkte sind neben den Client natürlich auch das Gateway, der Mediation Server und die Konferenz-MCU. Nicht ausgeführt aber ähnlich zu betrachten sind natürlich Exchange UM-Services und alle die anderen "Applikationen", die in der Skype for Business Welt Dienste erbringen, z.B. Response Groups, Call Park, Audio Test Service, diverse UCMA-Applikationen u.a.

 

Der zentrale Mittelpunkt ist hier auf dem Frontend Server die Komponente des "Registrar". Der Edge-Server als "SIP Proxy" ist für externe Client und Federation relevant. Der Mediation Server vermittelt zwischen Skype for Business und der TK-Welt, z.B. indem eingehende Rufe an eine "Nummer" in eine SIP-Adresse (Name) umgeschrieben wird.

In den nächsten Abschnitten widme ich mich dann nur noch Audio/Video-Verbindungen. Die verwendeten Ports und Protokolle habe ich auf anderen Seiten schon beschrieben.

Für QoS und Firewalls sollten Sie immer bedenken, dass die Portvorgaben sich auf die "Quellports" beziehen, die ihre Client der Gegenseite als Ziel anbietet. Ein VoIP-Client kann also nicht darüber bestimmen, an welchen Ziel-Port er seine Daten sendet.

1:1 Audio/Video

Wir fangen damit an, dass zwei Skype for Business Clients direkt miteinander eine Audio/Video-Verbindung aufbauen wollen. Das ist der einfachste interne Weg

Alle Client mit per Routing und Firewall erreichbaren IP-Adressen kommunizieren hierbei immer direkt miteinander. Das ist auch der präferierte Weg, da er am kürzesten und ohne Umwege ist. Es bedeutet aber auch, dass entsprechende Portfreischaltungen und Routing-Einträge vorhanden sein müssen.

1:1 mit externen Teilnehmern

Sobald ein Client nicht mehr direkt mit einem anderen Client kommunizieren kann, ist die Unterstützung eines Relay (Stichwort ICE, Kandidaten, STUN und TURN) erforderlich. Diese Rolle übernimmt der Edge-Server:

Die Clients verbinden sich über Port 3478ff mit dem Edge-Server und erhalten von diesem "routingfähige" öffentliche IP-Adressen, die der Client dann seinem Partner mitgeben kann.

Wenn beide Client extern sind und nicht miteinander direkt kommunizieren können, bekommen beide von extern eine IP/Port-Kombination von ihrem Edge-Server.

Sollten zwei interne Clients aber ebenfalls über den Edge-Server gehen, dann sollten Sie ihre internen Firewalls und Routing-Einträge kontrollieren und ggfls. für VoIP optimieren

Telefonieren über Gateway

Sie wissen nun um die Kommunikation der Client im LAN und extern. Sobald diese Clients in das alte Telefonnetz kommunizieren möchten, ist ein Gateway  (Externe Anbindung ist eine Telefonleitung) oder in der Regel ein Session Border Controller (SBC für externe SIP-Trunks) erforderlich. Da in der Telefonwelt in der Regel ein G.711-Codec verwendet wird aber Skype for Business intern lieber SILK und RTAUDIO nutzt, muss eine Konvertierung der Audio-Daten erfolgen. Diese Rolle übernimmt der Mediation Server.

Er ist per Default nicht nur bei der Signalisierung involviert, sondern auch im Audio-Datenstrom als Übersetzer zwischen Codec involviert

Media Bypass

Der Umweg über den Mediation Server ist für externe Clients und Clients in anderen Standorten natürlich sinnvoll. Die auch auf WAN-Leitungen effizienten Codecs SILK und RTAUDIO mit Kompression machen den Mehraufwand der Transcodierung auf G.711 natürlich wett. Wenn aber der Client und der Amtsübergang am gleichen Standort sind und das LAN für VoIP keine Probleme darstellt, dann kann der Client auch direkt den Codec G.711 nutzen und mit dem Gateway sich verbinden:

Diese Betriebsart wird als "Media Bypass" bezeichnet, da die Audio-Daten den Mediation-Server umgehen. Das spart CPU-Leistung aber reduziert insbesondere die Laufzeit der Pakete durch den Wegfall eines Hops. DIe Qualität ist entsprechend besser. Allerdings kommt als Codec natürlich G.711 (PCMU/PMCA) zum Einsatz.

Konferenz

Eine Konferenz ist genau genommen nur eine Ansammlung vieler 1:1 Verbindungen, bei der nun aber die MCU (Multi Cast Unit) der Sternmittelpunkt für die Media-Daten ist. Alle Clients bauen eine entsprechende Verbindung zur MCU auf. Es gibt MCUs für Audio, Video, Data-Sharing und auch Instant Messaging. Wer also in einer A/V-Konferenz ist, hat mehrere parallele Verbindungen auf.

Nur die Kommunikation über "Instant Messaging" nutzt den anfangs beschriebenen Signalisierungs-Pfad über den Registar. Die internen Clients kommunizieren direkt mit der MCU während externe Clients über den Edge-Server als Relay arbeiten. Eingewählte Teilnehmer nutzen das Gateway und den Mediation Server. Media Bypass ist mit Konferenzen nicht möglich, da die Audio-Codecs in der Kónferenz (G.726, Siren etc.) nicht mit Telefonie G.711 kompatibel sind. Hier muss transcodiert werden

Office 365

Der große Unterschied zwischen einer On-Premises und einer Cloud-Lösung ist der, dass es in der Cloud keine "Internen Anwender" gibt. Alle Client, PCs, Telefone, Smartphones etc. sind immer "draußen" und müssen über den Edge-Server laufen:

Allerdings sind die Konferenz MCU als auch der Mediation Server und eine von Microsoft bereitgestellte TK-Kopplung aus Sicht der Server weiterhin intern. Sie können also intern wie gewohnt direkt kommunizieren. Alle Clients von außen müssen aber über die Edge-Server geführt werden. Damit scheiden natürlich nicht nur Media Bypass sondern auch andere Steuerungsfunktionen wie CAC aus.

Weitere Flows

Ich denke ich habe damit die meisten Wege beschrieben. bei Gelegenheit werde ich die Seite um Exchange UM, Azure VoiceMail, CCE und andere Dienste erweitern. Aber mit dem Verständnis zum VoIP Verbindungsaufbau und dem Aushandeln der Audio/Video-Verbindung über ICE, Kandidaten, STUN und TURN sollte es auch kein Problem sein, die Wege schnell selbst zu ermitteln.

Weitere Links