yealink T46 mit Secure SIP als DIRECT SIP (STUN - remote)

- 08.09.2018
von Thomas Windscheif / Microlinc



3CX V15.6
yealink T46 Serie
Secure SIP SRTP

Die von 3CX veröffentlichte Anleitung (https://www.3cx.com/sip-phones/yealink-t4-series/) zur Provisionierung von Endgeräten im "DIRECT SIP (STUN - remote)"-Modus berücksichtigt leider kein Secure SIP und kein SRTP. Die inzwischen bereits abgekündigte Anleitung (https://www.3cx.com/docs/secure-sip/) wiederum ist unvollständig und berücksichtigt wiederum die Remote-Anbindung mittels DIRECT nicht.

Ich habe mich nun also mit dem Thema beschäftigt und trage meine Erkenntnisse hier zusammen.
Eines vorab: Im Zuge der verschiedenen Tests ist mir aufgefallen, dass die BLF-Tasten in dem Modus nicht funktioniert hatten (keine LED). Nach einem Eintrag im 3CX-Forum schienen mehrere dieses Problem zu kennen bisher wohl ohne eine Lösung.
Ein 3CX-Staffmember konnte das Problem im Zuge der Diskussion dann ebenfalls reproduzieren. Nach einigen Stunden Trail & Error habe ich nun eine funktionstüchtige Lösung für das Problem gefunden.

Auf Seiten der 3CX müssen folgende Anforderungen erfüllt sein:
  • Ein valides TLS-Zertifikat wurde auf der 3CX installiert (z. B. Lets Encrypt)

  • SecureSIP Port muss von außen an die 3CX mittels NAT-Forward durchgereicht werden (Default: tcp/5061)

  • RTP-Portrange muss von außen an die 3CX mittels NAT-Forward durchgereicht werden (udp/9000 - udp/10999) [Wichtig: Fullcone-Natting muss verwendet werden]

  • STUN/SIP-UDP-Port muss von außen an die 3CX mitels NAT-Forward durchgereicht werden (Default: udp/5060)
    Wird als Outbound Proxy für die yealink-Telefon verwendet. Wird dies nicht freigegeben, funktioniert z. B. das "Auflegen" nicht.

  • Zugriff auf die Webdienste der 3CX für die Provisionierung muss von außen an die 3CX mittels NAT-Forward durchgereicht werden (Default: tcp/5001)


Das Telefon muss folgende Anforderungen erfüllen:
  • yealink Telefon der T46-Serie mit aktuellster 3CX-supporteter Firmware (beim T46S war das Stand September 2018: 66.83.0.20)

  • Entgeger anderslautender Aussagen musste ich keine Zertifikate auf das Telefon laden.


In der Extension-Konfiguration werden folgende Punkte konfiguriert:
  • In der "3CX-Client"-Konfiguration muss unter "SIP Transport" "TLS" und für "RTP-Mode" "Only Secure" ausgewählt werden.


  • In den Extension Options wird der Haken bei "Disallow use of extension outside the LAN (Remote extensions using Direct SIP or STUN will be blocked)" entfernt.



  • Über die Provisionierungsmaske wird ein neues Telefon mit der Provisionierungsmethode "DIRECT SIP (STUN - remote)" angelegt.
    • Hinterlegen Sie die MAC-Adresse des Telefons, wählen Sie das entsprechende Template und stellen Sie sicher, dass die unter "Local SIP Port of Phone", "Local RTP Audio Ports" und "Local RTP Audio Ports End" eingetragenen Ports mit keinen anderen Geräten kollidieren.


    • Tragen Sie die restlichen Optionen für das Telefon wie gewöhnlich ein.

  • Es sollte aus Sicherheitsgründen ein ausreichend komplexes Authentifizierungs-Passwort gesetzt werden!
    Dies impliziert eine Neuprovisionierung der bereits angebundenen 3CX-Clients und Telefone.


Die nachfolgenden Einstellungen lassen sich ebenfalls durch ein Custom Template vorgeben und werden hier der Nachvollziehbarkeit halber in der yealink WebUI vorgenommen.
  • Anmeldung an der WebUI des Telefons

  • Provisionierung des Telefons über Autoprovisionierung (Link steht in der 3CX-Management Konsole in der Telefonprovisionierungsmaske direkt unter der Provisionierungsmethode.
    • Im Menü "Settings" > "Auto Provision" das Feld "Server URL" mit dem Link befüllen.

    • Am Ende der Website auf "Confirm" klicken".

    • Anschließend (ebenfalls unten) auf "Auto Provision Now" klicken. Das Telefon sollte nun die Konfiguration auslesen und anschließend neustarten.


    Ich würde, wo immer möglich, eine auf DHCP-Option 66 vendor-id-basierte Provisionierung empfehlen.

  • Nach dem Reboot meldet man sich erneut an der WebUI des Telefons an.

  • Im Menü unter "Account" > "Register" müssen die folgenden Felder angepasst werden:
    • "Port" auf "5061" ändern

    • "Transport" auf "TLS" ändern


    • Das Feld "Enable Outbound Proxy Server" wird auf "Enabled" gestellt.

    • In das Feld "Outbound Proxy Server 1" wird der externe FQDN der 3CX-Anlage eingetragen (wie es im Feld "Server Host" steht).


  • Anschließend am Ende der Website die Einstellungen mit "Confirm" bestätigen.

  • Im Menü "Account" > "Advanced" werde nun noch folgende Anpassungen vorgenommen:
    • "RPort" wird auf "Enable Direct Process" konfiguriert.
      Diese Option bewirkt, dass die BLF-Tasten im TLS/TCP-Modus funktionieren.


    • "RTP Encryption (SRTP)" wird auf "Compulsory" gestellt.


  • Die Einstellungen werden auch hier mit Bestätigen von "Confirm" gespeichert.


Noch ein paar Informationen am Rande:
Die Tests hatte ich zunächst an der Remotesite mit einem Speedport Smart-Router als DSL-Router vorgenommen.
Dieser hat aber einige "Mäckchen":
Verwendet man einen Session Border Controller auf Basis von Rasberry Pi 3 Modell B+, hängt sich der DNS-Dienst auf dem Router bei Multicast-Traffic im Netz regelmäßig auf. Hier hilft dann nur ein Neustart. Auch beim SNAT-Handling verhält sich der Router in Verbindung mit SIP RTP über UDP extrem merkwürdig. Mal gehts, mal nicht. Logging gibt es natürlich auch keines in dem Router ;). Ich habe das Gerät dann "entfernt" und gegen ein günstiges Fritz!Box-Modell (hier 7430) getauscht. Hier kann ich bisher nicht klagen.

Sollten Sie Fragen haben, treten Sie gerne mit mir in Kontakt.
MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=33&lev2=2&lev3=&id=403 - Ausdruck vom 21.05.2022