Early Media oder "183 Session Progress"

Mit OCS 2007R2 ist die Funktion Early Media eingeführt worden. Sie ist essentiell, damit bei einem VoIP-Gespräch nicht die ersten Sekunden "verloren" gehen. Die beiden Endpunkte sprechen zwar per SIP über den SIP-Server miteinander aber die Audio-Verbindung wird losgelöst davon aufgebaut. ICE, STUN, TURN sind hier die relevanten Begriffe. per SIP tauschen die beiden Partner ihre möglichen "Endpunkte" (Candidates) aus und versuchen sich dann zu erreichen.

Early-Media wird bei einer Verbindung über eine Response-Groups nicht eingesetzt, da hier der RGS-Dienst ansonsten zu jedem Agenten parallel EarlyMedia starten müsste und bei der Zuweisung eines Calls dann der RGS-Dienst als "Relay" agieren müsste. Bei einem "Blind Transfer" kann die Mediaaushandlung erst erfolgen, wenn der Call übertragen wird.

Early-Mediat ist eine Funktion, die nicht den Lync-Frontend Server betrifft, sondern die beiden Endpunkte. Das können also sein:

Zwischen einem externen Lync Client und dem Edge Server gibt es kein richtiges "Early Media", da der Edge ja nur ein Relay oder Proxy für die A/V-Daten ist. Es handeln also weiterhin die beiden Endpunkte miteinander die A/V-Verbindung aus und bedienen sich dabei natürlich auch dem Edge als Relay. Alle OCS2007R2 und neuere Module unterstützen Early Media und seit Lync 2010 CU ist dies sogar wichtig, damit Lync das Gateway als "alive" ansieht

Kein Early Media zu "Check Voice"

Wenn Sie auf dem Lync Client die "Check" Funktion verwenden, dann können Sie sehr einfach ermitteln, wie sich das Problem darstellt

Diese Verbindung sieht im SIP-Logger wie folgt aus:

Interessant sind hier folgende Pakete.

Sie können aber sehen, dass erst mit dem "200 OK" der Anrufer auch eine Liste der Kandidaten bekommt. Erst dann können die beiden Partner aber anfangen, ihre Sprachverbindungen aufzubauen. Insofern "hören" sie bei dem Test in der Regel die ersten Wort nicht mehr

Early Media

Diese "Stille am Anfang" wird mit EarlyMedia verhindert. Besser ist noch, dass ein Client quasi gar nicht erst "klingelt", wenn es keine funktionierende Audio-Verbindung gibt. Dazu sind aber ein paar SIP-Pakete mehr erforderlich. Hier ein kleiner SIP-Auszug einer Verbindung:

Sie sehen hier schon deutlich mehr Pakete:

Wichtig:
Seit Lync 2010 CU4 muss dieses 183 vom Gateway umgehend gesendet werden. Ansonsten geht Lync davon aus, dass das Gateway nicht funktioniert und sucht einen anderen Weg. Siehe auch
Outgoing calls after Lync CU4 update http://ucblog.deutinger.de/?p=211
Der Anruf kann nicht durchgeführt werden… http://blog.mrinas.de/2012/01/17/der-anruf-kann-nicht-durchgefhrt-werden/

Die Audioverbindung "steht" also schon, noch ehe der Teilnehmer quasi abnimmt. Zumindest wenn der Anwender nicht "sofort" abnimmt und den SIP-Stacks und Mediastacks etwas Zeit lässt. ICA kann manchmal schon einige Sekunden benötigen, bis alle Kandidaten untereinander ausprobiert wurden und letztlich die günstigste Möglichkeit ausgehandelt wird.

Lync Signaltöne beim VoIP-Verbindungsaufbau

An ein "neuartiges" Vorhalten beim Verbindungsaufbau werden Sie Anwender auch gewöhnen müssen. Da bei VoIP die Signalisierung per SIP erfolgt, aber die Nutzdaten über eine separate Verbindung aufgebaut wird, kann das Wähl und Freizeichen ab und an ändern und erst wenn die Gegenseite abhebt, wird auch die angeforderte Datenverbindung aufgebaut. Und das kann auch mal ein bisschen dauern oder an Firewalls komplett scheitern. Es ist also durchaus m��glich, dass bei einem zu frühen Gesprächsstart beim gegenüber die Sprache noch gar nicht ankommt.

Wer z B. einen Anruf tätigt, kann manchmal drei verschiedene Töne hören.

  1. Freizeichen beim Client u.a.
    Bei einem klassischen Telefon erwarten die Menschen, dass beim Abheben des Hörers auch ein "Freizeichen" (Langer Ton) zu hören ist. Früher war das dass Zeichen, dass die Vermittlungsstelle gemerkt hat, dass Sie abgehoben haben und ein Hebdrehwähler zugeordnet worden ist.
    Bei VoIP gibt es sowas nicht aber viele Telefone simulieren ein "Freizeichen", ohne überhaupt ein SIP-Paket versendet zu haben. Wenn ein VoIP-Telefon also angemeldet ist und sie abheben, dann gaukelt ihnen das Telefon ein Freizeichen vor.
  2. Lync Client "ping ping ping"
    Wenn Lync einen Ruf vorbereitet, dann hören sie das typische "ping ping ping", welches anzeigt, dass der Clients z.B.: seine lokalen Ports öffnet und Kandidaten vom Edge Server mit eventuell erforderliche Authentifizierung anfordert. Das dauert in der Regel sehr kurz.
  3. Zwischenfreizeichen
    Wenn dann z.B. der Mediation Server die Verbindung zur nächten Station (dem Gateway) aufgebaut hat, erhält er von dort ein "Trying". Dann hören Sie vielleicht ein amerikanisches Freizeichen. Dieser Ton wird vom Lync Client erzeugt, nachdem er ein "RINGING" erhalten hat. Das heißt aber noch nicht, dass die Verbindung wirklich steht. Mit EarlyMedia kann dies aber auch schon ein per VoIP übertragenes Freizeichen sein, welches das Gateway generiert.
  4. Zielfreizeichen
    Das Gateway baut über die TDM-Strecke eine Verbindung zur angerufenen Nummer her. Wenn dies z.B. ein Mobiltelefon ist, dann hört der Anwender am Ende das "Freizeichen" des Mobilfunkanbieters.
  5. Sprache
    Irgendwann hebt dann die Gegenseite hoffentlich ab. Die Audioverbindung wird dann eventuell auf der Remote Site, also von ihrem Gateway per ISDN oder beim angerufenen Teilnehmer noch eine Verbindung erstellt.

All diese Freizeichen sind natürlich nur durch "Software" abgebildet. Bislang ist noch keine "Sprachverbindung" über einen Codec hergestellt worden. Das ist übrigens im ISDN-Netz auch so. Der B-Kanal zur Sprache wird erst aufgebaut, wenn die Verbindung von der Gegenseite angenommen wurde. Auf bei VoIP wird das Annehmen der Gegenstelle über die jeweilige Protokollverbindung gemeldet und die Sprachverbindung aufgebaut.

Das ganze können Sie auch gut im SIP-Ablaufdiagramm sehen:

Die SIP-Pakete müssen nicht immer genauso erfolgen. Es kann durchaus sein, dass abhängig von Client, Media bypass etc. zusätzliche oder andere Meldungen erscheinen können. Interessant ist, dass der "183 Session Progress" den beiden Teilnehmern schon den Weg eröffnet, die RTP-Kandidaten zu proben und den ICE-Handshake durchzuführen. Im zweiten INVITE, der den ersten ersetzt, sind dann nur noch die SDP-Kandidaten enthalten, die auch genutzt werden. Die Verbindung "steht also schon.

Early Media und Gateway

Alle OCS2007R2 und neuere Module unterstützen Early Media. Da aber mittlerweile mit MediaBypass auch ein Weg offen steht, am Mediation Server vorbei zu kommunizieren, müssen auch die Gateways, SBCs oder SIP-Trunk-Provider die Funktion unterstützen. Und das tun diese in der Regel auch aber oft erst nach einer entsprechenden Konfiguration. Denn nicht alle SIP-Systeme kommen mit dem "183 Session Progress" zurecht. Hier ein paar Hinweise:

Leider habe ich nicht jedes Gateway in jeder Version vorliegen, so dass Sie gegebenenfalls ihren Anbieter fragen müssen.

Weitere Links

Keywords:UC SIP EarlyMedia