Problem
Es kann vorkommen, dass trotz korrekter Protokollaushandlung zwischen XCC und PBX über SDP die Outband DTMF-Signale (RTP-Event gemäß RFC 2833) von der PBX falsch übermittelt werden. Die Signale werden dann vom XCC nicht erkannt, auf DTMF-Eingaben erfolgt keine Reaktion.
Ursache
Der SDP-Header enthält nach der Protokollaushandlung den falschen DTMF Payload Type. Der XCC-Standardwert für den DTMF Payload Type ist 98, es kann vorkommen, dass entweder die PBX diesen Payload Type nicht unterstützt oder die RTP-Events mit einem anderen Payload Type sendet.
Lösung
Der Parameter XccDtmfPayloadType erlaubt die manuelle Korrektur des übermittelten Payload Types seitens XCC, die DTMF-Signale werden wieder korrekt erkannt. Dieser Parameter kann in den Erweiterte Einstellungen des SIP-Gateways gesetzt werden.
Den dort einzusetzenden Payload Type ermitteln Sie wie folgt (s. auch Beispiel weiter unten):
- Rufrichtung ermitteln (Inbound oder Outbound)
- Sender der DTMF-Signale ermitteln (AnyDevice oder Konversationspartner)
- Netzwerktrace erstellen und auswerten (Npcap, Wireshark)
- Payload Type in der SIP-Nachricht ermitteln (abhängig von der Rufrichtung im INVITE oder 200 OK)
- RTP-Events filtern mit udp.dstport == <Port> && ip.dst == <IP-Adresse> && rtpevent
- Payload Type im RTP-Event ermitteln
- Ggf. Payload Type für den XCC korrigieren (Parameter XccDtmfPayloadType)
Beispiel zum Vorgehen
Die Situation:
- Ausgehender Ruf (Outbound Call) eines AnyDevice
- DTMF wird vom AnyDevice gesendet
- DTMF Payload Type ist zu prüfen
Das Vorgehen:
1. Aushandlung des DTMF Payload Type im SDP-Header:
In diesem Fall ist der SDP-Header aus der SIP-Nachricht 200 OK des ersten Call Leg zu analysieren (Seite des AnyDevice). Es wurde hier ein Payload Type (Media Format) von 98 ausgehandelt, der Standardwert des XCC.
2. RTP-Events der DTMF-Signale ermitteln:
Über eine Filterregel in Wireshark werden die vom AnyDevice gesendeten DTMF-Signale gelistet.
3. Payload Type der RTP-Events ermitteln:
Eines der oben gefilterten RTP-Events auswählen und im darunter liegenden Bereich den Payload Type auslesen. Auch hier ist der Payload Type 98 und somit korrekt übermittelt.
Stimmen die beiden ermittelten Typen nicht überein, kann dies über den Parameter XccDtmfPayloadType in den Erweiterte Einstellungen des SIP Gateways korrigiert werden. Dazu wird der in Schritt 1 ermittelte Payload Type der PBX per XccDtmfPayloadType an den XCC weitergegeben und dort korrigiert.
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.