SIP über VPN (WireGuard)¶
Überblick¶
xynap bietet einen dedizierten SIP-Zugang über das interne WireGuard-VPN (wg0). Damit können Softphones wie MicroSIP, Opal, Opal oder Opal direkt über den VPN-Tunnel telefonieren — ohne Exposition über das öffentliche Internet.
Voraussetzung: Aktive WireGuard-Verbindung zum xynap-Server (IP im Bereich 10.100.x.x).
Unterstützte Transportprotokolle¶
| Transport | Port | Verschlüsselung | Empfehlung |
|---|---|---|---|
| UDP | 5060 | Keine (nur VPN-Tunnel) | Standard — geringste Latenz |
| TCP | 5060 | Keine (nur VPN-Tunnel) | Bei NAT-Problemen |
| TLS | 5061 | TLS + optional SRTP | Maximale Sicherheit |
Sicherheit
Da der gesamte Traffic bereits durch den WireGuard-Tunnel verschlüsselt ist, bietet auch UDP ausreichende Sicherheit. TLS/SRTP fügt eine zusätzliche Verschlüsselungsschicht hinzu.
Client-Konfiguration¶
Allgemeine Einstellungen¶
| Einstellung | Wert |
|---|---|
| SIP Server | 10.100.0.1 |
| SIP Proxy | (leer lassen) |
| Domain / Realm | 10.100.0.1 |
| Username | Deine Extension-Nummer (z.B. 1000) |
| Passwort | Das in der Platform hinterlegte SIP-Passwort |
| Transport | UDP, TCP oder TLS |
| Port | 5060 (UDP/TCP) · 5061 (TLS) |
| SRTP | Optional (bei TLS empfohlen) |
| Register Refresh | 300 Sekunden |
| Keep Alive | 15 Sekunden |
| ICE | Aus (0) |
| Publish | Ein (1) |
Extension & Passwort
Die Zugangsdaten findest du in der xynap Platform unter Telefonie → Extensions. Es werden dieselben Accounts wie für WebRTC verwendet.
MicroSIP (Windows)¶
[Account1]
label=xynap VPN
server=10.100.0.1
proxy=
domain=10.100.0.1
username=1000
password=<dein SIP-Passwort>
authID=
displayName=Dein Name
dialingPrefix=
dialPlan=11[02]|115|116xxx|118xx|0800xxxxxxx|0180xxxxxxx|<:+49345>[2-9]xxxxxx|<00:+>x.|<0:+49>x.|<+49(0):+49>x.|+x.|x.
hideCID=0
voicemailNumber=
transport=udp
publicAddr=
SRTP=
registerRefresh=300
keepAlive=15
publish=1
ICE=0
allowRewrite=0
disableSessionTimer=0
MicroSIP mit TLS¶
Für verschlüsselte Signalisierung ändere:
TLS-Zertifikat
Bei selbstsignierten Zertifikaten muss in MicroSIP unter Settings → TLS die Option Verify Server deaktiviert werden.
Opal / Opal X (macOS)¶
- Einstellungen → SIP-Konto hinzufügen
- Server:
10.100.0.1 - Benutzername: Extension-Nummer
- Passwort eingeben
- Transport: UDP (oder TLS für Verschlüsselung)
Opal / Linux (CLI)¶
Opal oder jeder SIP-Client¶
Die universellen Einstellungen gelten für jeden standardkonformen SIP-Client:
- Registrar / Outbound Proxy:
10.100.0.1 - Benutzername: Extension-Nummer
- Auth-Benutzername: (identisch mit Benutzername)
- Domain:
10.100.0.1
Wählplan (Dial Plan)¶
Der empfohlene Wählplan für deutsche Nummern:
11[02]|115|116xxx|118xx|0800xxxxxxx|0180xxxxxxx|<:+49345>[2-9]xxxxxx|<00:+>x.|<0:+49>x.|<+49(0):+49>x.|+x.|x.
| Muster | Beschreibung |
|---|---|
11[02] |
Notruf (110, 112) |
0800xxxxxxx |
Kostenfreie Nummern |
<:+49345>[2-9]xxxxxx |
Ortsnetz Halle (Saale) ohne Vorwahl |
<0:+49>x. |
Nationale Nummern → E.164 |
<00:+>x. |
Internationale Nummern → E.164 |
Technische Details¶
FreeSwitch VPN-Profil¶
FreeSwitch betreibt ein dediziertes Sofia-Profil vpn auf dem WireGuard-Interface:
- SIP-IP / RTP-IP:
10.100.0.1 - Context:
default(gleicher Dialplan wie interne Extensions) - Auth: Über Platform-API (
mod_xml_curl) - Codecs: opus, G722, PCMU, PCMA
Firewall-Regeln (UFW)¶
10.100.0.1 5060/tcp on wg0 ALLOW Anywhere # SIP TCP via VPN
10.100.0.1 5060/udp on wg0 ALLOW Anywhere # SIP UDP via VPN
10.100.0.1 5061/tcp on wg0 ALLOW Anywhere # SIP TLS via VPN
Die Regeln sind auf das wg0-Interface beschränkt — nur VPN-Clients haben Zugriff.
Architektur¶
┌─────────────┐ WireGuard ┌──────────────┐
│ Softphone │◄──────────────────►│ wg0 │
│ (MicroSIP) │ 10.100.x.x │ 10.100.0.1 │
└─────────────┘ └──────┬───────┘
│
┌──────▼───────┐
│ FreeSwitch │
│ vpn Profile │
│ :5060 / :5061│
└──────┬───────┘
│
┌──────▼───────┐
│ Platform API │
│ xml_curl Auth│
└──────┬───────┘
│
┌──────▼───────┐
│ SIP Trunks │
│ (Plusnet/1&1) │
└──────────────┘
Fehlerbehebung¶
| Problem | Lösung |
|---|---|
| Registration fehlgeschlagen | VPN-Verbindung prüfen (ping 10.100.0.1), Extension/Passwort in Platform prüfen |
| Kein Audio | UDP-Port 5060 + RTP-Ports müssen über VPN erreichbar sein, ICE deaktivieren |
| Einseitiges Audio | publicAddr leer lassen, NAT-Traversal deaktivieren |
| TLS-Fehler | Zertifikatsvalidierung im Client deaktivieren (selbstsigniert) |
| Registrierung läuft ab | keepAlive=15 und registerRefresh=300 setzen |