INFO

Verarbeitung und Funktionsweise von DTMF Toenen innerhalb der SwyxWare (kb3767)

Die Information in diesem Artikel betrifft die folgenden Produkte:

  • SwyxWare 2011
  • SwyxWare v7.00
  • SwyxWare v6.12
  • SwyxWare v6.11
  • SwyxWare v6.10

[ Zusammenfassung | Information ]


Zusammenfassung

Dieser Artikel erklärt das Verhalten von SwyxWare bei der DTMF-Erkennung und -Verarbeitung und gibt technische Hinweise.


Information

Seit SwyxWare v6.10 ist die DTMF-Tonerkennung für Trunk-Rufe immer aktiviert. Dies ist notwendig, weil der MobileExtensionManager in vielen Bereichen über DTMF-Töne gesteuert wird.

Standardverhalten

DTMF-Töne werden außerhalb der SwyxWare meist im Audiodatenstrom transportiert. Innerhalb der SwyxWare werden die DTMF-Töne als Callcontrol-Nachricht mit einer zusätzlichen Längenangabe in Millisekunden transportiert. Wenn somit innerhalb des Audiodatenstroms eines Trunk-Rufes DTMF Informationen erkannt werden, dann werden vom SwyxGate oder LinkManager Callcontrol-Nachrichten mit dem erkannten DTMF-Ton und einer Längenangabe zum SwyxServer gesendet.


Umgekehrt werden zur Erzeugung von DTMF-Tönen innerhalb der SwyxWare Callcontrol-Nachrichten gesendet, die an den Grenzen zur Außenwelt (PSTN, SIP-Provider) vom SwyxGate und LinkManager wieder in Audioinformationen umgesetzt werden.
Damit ergibt sich bei einer Umleitung eines externen Rufes auf einen weiteren externen Teilnehmer das Problem, dass DTMF Informationen doppelt generiert werden koennten und damit das Audiosignal verfälscht werden könnte.

Beispiel:

Ein Ruf kommt vom ISDN am SwyxGate an, es werden DTMF-Töne vom SwyxGate erkannt und als Callcontrol-Nachricht zum SwyxServer gesendet, damit z.B. die Scriptsteuerung der DTMF-Blöcke funktioniert. Zusätzlich sind die DTMF-Töne aber auch noch im Audiodatenstrom enthalten. Wird nun der Ruf wieder zu einem externen Teilnehmer weitergeleitet, dann sind die DTMF-Töne zum einen im Audiodatenstrom enthalten und würden zusätzlich nochmal aufgrund der Callcontrol-Nachrichten vom SwyxGate generiert. Dies würde zu einer Verfälschung der Information beim Rufziel führen, weil die Callcontrol-Nachrichten und der Audiodatenstrom mit den DTMF Tönen nicht exakt synchron beim SwyxGate eintreffen würden.


SwyxWare setzt deshalb innerhalb der Callcontrol-Nachrichten eine spezielle Längenangabe für die DTMF-Töne, die an den Trunks beim Übergang Außenwelt (PSTN) zum internen SwyxWare-Bereich erkannt werden. Fuer alle erkannten DTMF-Töne am SwyxGate und LinkManager werden deshalb Callcontrol-Nachrichten mit der Längenangabe 1 Millisekunde übermittelt. Die Verwendung der Längeninformation und das Setzen auf 1 ms macht es möglich standardkonforme Callcontrol-Nachrichten (SIP INFO etc.) zur Übermittlung dieser Information zu verwenden. Da die DTMF-Töne als Callcontrol-Nachricht vorliegen, funktioniert die Scriptsteuerung weiter, trotz der Längenangabe 1 ms. Für das obige Beispiel der Rufumleitung eines externen Rufes auf einen weiteren externen Teilnehmer können aber nun aufgrund der Längeninformation 1 ms sowohl das SwyxGate als auch der LinkManager entscheiden, dass die DTMF-Töne bereits innerhalb des Audiodatenstroms vorhanden sind. D.h. das SwyxGate und der LinkManager werden die DTMF-Töne aufgrund der DTMF-Ton-Callcontrol-Nachricht mit Längenangabe 1 ms nicht nochmal in den Audiodatenstrom kodieren. Sollten DTMF-Ton-Informationen von einem SwyxClient oder per Script generiert werden, dann enthalten diese eine größere Länge als 1 ms und damit werden sie natürlich nach wie vor in Audioinformationen vom SwyxGate und LinkManager zur externen Seite hin umgesetzt, da sie bisher noch nicht darin enthalten waren.

Anders als beim SwyxGate wo DTMF-Töne nur innerhalb des Audiodatenstroms zu finden sind, werden bei SIP-Trunks und dem LinkManager mehrere Verfahren eingesetzt. Zusätzlich zu den DTMF-Tönen im Audiostrom selbst schicken SIP-Provider überlicherweise die erkannten DTMF-Töne auch als Informationselemente mit. Manche SIP-Provider verwenden dafür SIP-CallControl Nachrichten (SIP INFO), andere wiederum schicken die DTMF-Töne auch als Control Nachricht innerhalb des RTP-Datenstroms mit (als Informationselement im RTP-Datenstrom). Dies wird gemäß RFC2833 gemacht. Auch diese Art der Kodierung wird von der SwyxWare (dem LinkManager) in DTMF-Töne bzw. Callcontrol-Nachrichten zum SwyxServer mit der Längeninformation 1 ms umgesetzt, da die Töne üblicherweise auch nochmal innerhalb des Audiodatenstroms enthalten sind.

Konfigurieren der DTMF-Tonerkennung

Über die Registrierung kann die oben beschriebene Verhaltensweise beeinflußt werden, sofern es in Spezialfällen zu unerwünschten Effekten kommen sollte. Folgende Optionen sind möglich:

An-/Abschalten der DTMF-Tonerkennung im SwyxGate pro Controller (X = ControllerNr):
HKLM/Software/Swyx/IpPbxGate/CurrentVersion/Options/CtrlX
(DWORD) DTMFDetectionAlwaysOn: 0 = aus, 1 = an (default ab SwyxWare v6.1x)

An-/Abschalten der DTMF-Tonerkennung im LinkMgr über die Trunkkonfiguration gemäß Handbuch.

Weiterleiten der DTMF-CallControl Nachrichten, trotz Längeninformation 1 ms in Richtung SIP-Provider über den LinkMgr. Die Kodierung geschieht gemäß der Einstellung für den Provider (RFC2833 oder SIP INFO):
HKLM/Software/Swyx/LinkMgr/CurrentVersion/Options
(DWORD) SignalDTMFWithDuration1: 0 = nicht weiterleiten (default), 1 = weiterleiten

Drittherstellerprodukte

Bei der Verwendung von SIP Drittherstellerprodukten (SIP Terminaladapter, SIP Gateways etc.) sollten diese immer auf SIP INFO zur Übertragung von DTMF Tönen konfiguriert werden (also nicht RFC2833).


Kommentar

Hat Ihnen dieser Artikel weitergeholfen? Kommentieren Sie diesen Artikel



Sollten sich Fragen aus Ihrem Kommentar ergeben, wie können wir Sie erreichen?

E-Mail Adresse (optional)


Hinweis

Dieses Kommentar-Feld steht Ihnen nicht für Support-Anfragen zur Verfügung. Diese richten Sie bitte ausschliesslich an Ihren Swyx Händler bzw. Distributor.