Seit der Version 2015 R3 enthält die SwyxWare mit der MediaBridge eine neue Serverkomponente. Dieser Artikel soll kurz (so kurz es möglich ist) auf technischer Ebene beschreiben, wie sie funktioniert und was ihre Aufgabe ist.
Vor der Version 2015 R3 kam es zu dem Problem, dass bei abgehenden Rufen sogenannte Early Media Töne nicht zu hören waren, sobald es mehrere Trunks nach extern gab. Bei Early Media handelt es sich um Sprachdatenströme, die vom Provider her gespielt werden, ehe der Ruf tatsächlich verbunden ist, also vor dem "OK" (im Fall von SIP Anrufen) bzw. dem "CONNECT" bei ISDN-Leitungen. Hierbei kann es sich um Gebührenansagen handeln, um allgemeine Informationen des Providers, oder Ansagen wie zum Beispiel "Diese Rufnummer hat sich geändert, bitte rufen Sie die 1234567 an".
Die Medienverbindung zwischen dem Client und dem Gateway bzw. dem Linkmanager wurde erst ganz am Schluß hergestellt, sobald der Ruf tatsächlich verbunden war. Enthält die SwyxWare nun mehrere Trunks, zwischen denen im Zuge des Retry-Mechanismus durchprobiert wird, dann werden erst die Mediendaten desjenigen Trunks hörbar, der letztlich erfolgreich eine Verbindung hergestellt hat. Early Media Daten aus den vorhergehenden Versuchen auf anderen Trunks waren damit verloren.
Der Mechanismus des Rufaufbaus hat sich mit der Mediabridge als neuer Komponente grundlegend geändert, wenn es mehrere Trunks für die Zustellung des Rufes gibt. Bei einem abgehenden Ruf wird, sobald der erste Trunk Mediendaten anbietet, die Mediabridge aktiv. Sie ist in der Lage, die Early Media Töne abzugreifen und an den Client weiterzuleiten. Der Client erhält ein "Session Progress" SDP (also einer Ankündigung von Mediendaten) und spielt ab jetzt alles ab, was er vom angekündigten Medienendpunkt - also der MediaBridge im Serverdienst - zugeliefert bekommt. Bei einem Retry nimmt die MediaBridge dann die Töne des nächsten Trunks entgegen, und leitet auch diese an den Client weiter. Bis hierher kommen die Mediendaten aus Sicht des Clients also von der Servermaschine. Erst wenn der Ruf tatsächlich entgegengenommen wurde, werden die Mediendaten final verschaltet. Das geschieht in mehreren Schritten, hier der Einfachheit mit einem Media Gateway beschrieben, statt des Gateways kann aber genau so gut ein Linkmanager im Spiel sein:
- Der Serverdienst erhält vom Media Gateway ein 200 OK, der externe Ruf ist verbunden.
- Der Serverdienst schickt ein 200 OK in Richtung Client, auch dort ist der Ruf hiermit verbunden.
- Der Serverdienst schickt ein REFER in Richtung Gateway, um dort einen neuen SIP-Ruf zu erzeugen: Das Gateway soll von sich aus einen neuen Ruf in Richtung Client erzeugen.
- Das Gateway schickt ein INVITE an den Server, mit dem Client als Anrufziel, und seinen lokalen Medienendpunkten im SDP content. Das ist nötig, damit die Mediendaten ab jetzt direkt zwischen Client und Gateway fließen können.
- Der Serverdienst schickt das INVITE an den Client weiter
- Der Client bestätigt mit OK
- Der Serverdienst reicht das OK an das Gateway durch.
- Der ursprüngliche Ruf am Gateway wird mit BYE beendet.
- Ab jetzt ist die direkte Medienverbindung zwischen dem Client und dem Gateway aktiv, es werden keine Mediendaten mehr durch die MediaBridge gepumpt.
Leider ist der ganze Mechanismus nicht einfacher abbildbar, und je nach verwendetem Gateway und je nach Leistungsfähigkeit der SwyxWare Servermaschine kann das Neuverschalten der Mediendaten einen Moment dauern. In langsamen Kombinationen kann das zu einem anfänglichen kurzen Aussetzer nach etwa 1/4 oder 1/2 Sekunde führen. Dieser Aussetzer ist normalerweise kein Problem, weil er so früh im Gespräch auftritt. Normalerweise hat der Angerufene auf der anderen Seite in diesem Moment noch gar nichts gesagt, sondern hebt gerade erst den Hörer an.
Es gibt allerdings ab und zu Faxgeräte (angebunden über AudioCodes Mediapack), die solche kurzen Aussetzer im Medienstrom sofort als Fehler erkennen und die Verbindung trennen. In solchen Fällen kann es notwendig sein, die MediaBridge abzuschalten, vorausgesetzt, es existieren tatsächlich mehrere Trunks in der Anlage. Ansonsten wird die MediaBridge ohnehin gar nicht erst aktiviert.
Abgeschaltet wird Sie per Registry, dazu muss ein neuer DWORD Wert angelegt werden:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Swyx\IpPbxSrv\CurrentVersion\Options]
"EnableTrunkCallEarlyMedia"=dword:00000000
Nach einem Neustart des IpPbxSrv-Dienstes ist die Mediabridge dauerhaft deaktiviert.
Abschließend noch zwei Hinweise:
- Ab diesem Moment sind Early Media Ansagen wie früher nicht mehr hörbar!
- Bei ankommenden Rufen ist die MediaBridge niemals aktiv. Der öfter gesehene Versuch, bei Faxempfangsroblemen die MediaBridge zu deaktivieren, macht also überhaupt keinen Sinn.
Kommentare
1 Kommentar
Guten Tag Zusammen,
hallo Mike,
könntest Du bitte hinzufügen, das die Einstellung ab Version 12.xx im SwyxControlCenter im Experten-Modus gesetzt werden muss.
Danke und VG, Micha
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.