10.11.2026 | Neueinrichtung | Debian 12 / FreePBX 17 / Asterisk 22 | Zwei Türschlösser im LAN + direkter Softphone-Zugriff über das Internet
Diese Anleitung setzt voraus, dass der VTO7541G-S2 seinen integrierten SIP-Server betreibt, der VTH2621GW-P ordnungsgemäß registriert ist und die FreePBX-Nebenstellen 8002 und 1560 Anrufe der VTO-Türstation 8001 empfangen. Führen Sie nacheinander die Verdrahtung, die FreePBX-Telefonie und die Konfiguration beider Schlösser durch. Richten Sie anschließend den direkten Internetzugriff für beide Softphones ein. Weitere Nebenstellen sind nicht erforderlich.
1. Netzwerktopologie und Geräteparameter[/HEADING=2]
Gerät / Konto Konfiguration und Hinweise Debian / FreePBX / Asterisk Debian 12; FreePBX 17.0.33.2; Asterisk 22.11.0; 192.168.1.38:5060/UDP (in dieser Anleitung verwendete FreePBX-Adresse) VTO7541G-S2 192.168.1.186; Firmware V4.600.0000000.6.R; Türstationsnummer 8001; integrierter SIP-Server aktiviert VTO-Administratorkonto admin; Passwort VTO_ADMIN_PASSWORT_HIER_EINTRAGENVTH2621GW-P 192.168.1.187; Firmware V4.810.0000000.4.R; Raum 9901 (bei manchen Gruppenrufen 9901#0) FreePBX-Nebenstelle 1560 Bria-Softphone; Registrierung als 1560 (LAN oder Internet) FreePBX-Nebenstelle 8002 Bria-Softphone; Registrierung als 8002 (LAN oder Internet); Einrichtung und Prüfung wie bei 1560 FreePBX ↔ VTO-Trunks trunk_1560 und trunk_8002; jeder registriert sich mit dem zugehörigen virtuellen SIP-Konto an VTO 192.168.1.186:5060SIP-Passwörter Virtuelle VTO-SIP-Konten und FreePBX-Trunks verwenden SIP_PASSWORT_HIER_EINTRAGEN; auch die FreePBX-Nebenstellen verwenden SIP_PASSWORT_HIER_EINTRAGEN im LAN und Internet Codecs / DTMF PCMU/ulaw, H264; RFC4733 (RFC2833); FreePBX Direct Media = No
| Gerät / Konto | Konfiguration und Hinweise |
|---|---|
| Debian / FreePBX / Asterisk | Debian 12; FreePBX 17.0.33.2; Asterisk 22.11.0; 192.168.1.38:5060/UDP (in dieser Anleitung verwendete FreePBX-Adresse) |
| VTO7541G-S2 | 192.168.1.186; Firmware V4.600.0000000.6.R; Türstationsnummer 8001; integrierter SIP-Server aktiviert |
| VTO-Administratorkonto | admin; Passwort VTO_ADMIN_PASSWORT_HIER_EINTRAGEN |
| VTH2621GW-P | 192.168.1.187; Firmware V4.810.0000000.4.R; Raum 9901 (bei manchen Gruppenrufen 9901#0) |
| FreePBX-Nebenstelle 1560 | Bria-Softphone; Registrierung als 1560 (LAN oder Internet) |
| FreePBX-Nebenstelle 8002 | Bria-Softphone; Registrierung als 8002 (LAN oder Internet); Einrichtung und Prüfung wie bei 1560 |
| FreePBX ↔ VTO-Trunks | trunk_1560 und trunk_8002; jeder registriert sich mit dem zugehörigen virtuellen SIP-Konto an VTO 192.168.1.186:5060 |
| SIP-Passwörter | Virtuelle VTO-SIP-Konten und FreePBX-Trunks verwenden SIP_PASSWORT_HIER_EINTRAGEN; auch die FreePBX-Nebenstellen verwenden SIP_PASSWORT_HIER_EINTRAGEN im LAN und Internet |
| Codecs / DTMF | PCMU/ulaw, H264; RFC4733 (RFC2833); FreePBX Direct Media = No |
In dieser Anleitung werden ausschließlich die FreePBX-Nebenstellen 8002 und 1560 eingerichtet. Legen Sie keine weiteren Nebenstellen an. Virtuelle VTO-SIP-Konten und gleichnamige FreePBX-PJSIP-Nebenstellen werden unabhängig verwaltet und registrieren sich an verschiedenen SIP-Servern.
Tastencode während des Gesprächs Gesteuertes Gerät CGI-Parameter Asterisk-Funktion und Skript 123Erstes Schloss am lokalen VTO-Relais channel=1vto_unlock → /usr/local/bin/unlock_vto.sh456Zweites Schloss am über RS485 angeschlossenen DEE1010B-S2 channel=2vto_unlock2 → /usr/local/bin/unlock_vto2.sh
| Tastencode während des Gesprächs | Gesteuertes Gerät | CGI-Parameter | Asterisk-Funktion und Skript |
|---|---|---|---|
123 | Erstes Schloss am lokalen VTO-Relais | channel=1 | vto_unlock → /usr/local/bin/unlock_vto.sh |
456 | Zweites Schloss am über RS485 angeschlossenen DEE1010B-S2 | channel=2 | vto_unlock2 → /usr/local/bin/unlock_vto2.sh |
2. Physische Verdrahtung: erstes Schloss an VTO Local + zweites Schloss am DEE[/HEADING=2]
Schalten Sie Geräte und elektrische Türschlösser vor der Verdrahtung spannungsfrei:
Geräteanschluss Verbinden mit Zweck VTO RS485_A Linker DEE-Anschluss 485A RS485 A VTO RS485_B Linker DEE-Anschluss 485B RS485 B DEE links +12V / GND Geeignete 12-V-Gleichstromversorgung Modulversorgung VTO-Schlossrelais COM + NO oder NC Stromkreis des ersten Türschlosses Erstes Schloss, über VTO Local gesteuert DEE-Relais rechts COM + NO oder NC Stromkreis des zweiten Türschlosses Zweites Schloss, über DEE-Relais gesteuert
| Geräteanschluss | Verbinden mit | Zweck |
|---|---|---|
VTO RS485_A | Linker DEE-Anschluss 485A | RS485 A |
VTO RS485_B | Linker DEE-Anschluss 485B | RS485 B |
DEE links +12V / GND | Geeignete 12-V-Gleichstromversorgung | Modulversorgung |
VTO-Schlossrelais COM + NO oder NC | Stromkreis des ersten Türschlosses | Erstes Schloss, über VTO Local gesteuert |
DEE-Relais rechts COM + NO oder NC | Stromkreis des zweiten Türschlosses | Zweites Schloss, über DEE-Relais gesteuert |
Die rechten DEE-Anschlüsse 485A/485B sind nicht die vorgeschaltete RS485-Verbindung zur VTO. Beachten Sie die Gerätebeschriftung und das Handbuch. Wählen Sie NO/NC entsprechend der Schaltlogik des Schlosses; überschreiten Sie nicht die zulässige Relaisbelastung.
3. VTO-Weboberfläche: beide Schlösser und integrierter SIP-Server[/HEADING=2]
- Öffnen Sie
http://192.168.1.186 im Browser und melden Sie sich mit admin und Passwort VTO_ADMIN_PASSWORT_HIER_EINTRAGEN an.
- Unter
Local Setting → Access Control → Local setzen Sie Lock = Local, Unlock Responding Interval = 5 s und Unlock Period = 5 s; wählen Sie NO/NC passend zum ersten Schloss.
- Unter
Local Setting → Access Control → RS485 setzen Sie Interface Type = Lock, Lock = Second Lock und sowohl Reaktionsintervall als auch Entriegelungsdauer auf 5 s; speichern.
- Unter
Network → SIP Server aktivieren Sie den integrierten SIP-Server der VTO und vergeben die Türstationsnummer 8001. Im integrierten Servermodus erstellt das Gerät die zugehörigen Diensteinstellungen selbst; konfigurieren Sie die VTO nicht als SIP-Client der FreePBX.
- Unter
Household Setting → VTH Management erstellen Sie den VTH-Raum 9901 sowie die virtuellen Konten 8002 und 1560, jeweils mit Passwort SIP_PASSWORT_HIER_EINTRAGEN, für die beiden FreePBX-Trunks.
- Stellen Sie sicher, dass der VTH2621GW-P an der VTO
192.168.1.186:5060 registriert bleibt.
http://192.168.1.186 im Browser und melden Sie sich mit admin und Passwort VTO_ADMIN_PASSWORT_HIER_EINTRAGEN an.Local Setting → Access Control → Local setzen Sie Lock = Local, Unlock Responding Interval = 5 s und Unlock Period = 5 s; wählen Sie NO/NC passend zum ersten Schloss.Local Setting → Access Control → RS485 setzen Sie Interface Type = Lock, Lock = Second Lock und sowohl Reaktionsintervall als auch Entriegelungsdauer auf 5 s; speichern.Network → SIP Server aktivieren Sie den integrierten SIP-Server der VTO und vergeben die Türstationsnummer 8001. Im integrierten Servermodus erstellt das Gerät die zugehörigen Diensteinstellungen selbst; konfigurieren Sie die VTO nicht als SIP-Client der FreePBX.Household Setting → VTH Management erstellen Sie den VTH-Raum 9901 sowie die virtuellen Konten 8002 und 1560, jeweils mit Passwort SIP_PASSWORT_HIER_EINTRAGEN, für die beiden FreePBX-Trunks.192.168.1.186:5060 registriert bleibt.
Bei diesem Modell mit Firmware V4.600 steuert das RS485-Modul das zweite Schloss; verwenden Sie CGI channel=2.
4. FreePBX: PJSIP-Nebenstellen 8002 und 1560 anlegen / prüfen[/HEADING=2]
Öffnen Sie http://192.168.1.38 → Applications → Extensions. Für ein neues System wählen Sie Add Extension → Add New PJSIP Extension.
Feld 8002 1560 User Extension / Display Name 80021560Secret SIP_PASSWORT_HIER_EINTRAGENSIP_PASSWORT_HIER_EINTRAGENSIP Driver PJSIP PJSIP DTMF Mode RFC4733 RFC4733 Direct Media No No Audio Codec ulaw/PCMU ulaw/PCMU Video Codec H264 H264 RTP Symmetric / Force rport / Rewrite Contact Yes / Yes / Yes Yes / Yes / Yes Max Contacts / Remove Existing 1 / Yes (ein Endgerät) 1 / Yes (ein Endgerät)
| Feld | 8002 | 1560 |
|---|---|---|
| User Extension / Display Name | 8002 | 1560 |
| Secret | SIP_PASSWORT_HIER_EINTRAGEN | SIP_PASSWORT_HIER_EINTRAGEN |
| SIP Driver | PJSIP | PJSIP |
| DTMF Mode | RFC4733 | RFC4733 |
| Direct Media | No | No |
| Audio Codec | ulaw/PCMU | ulaw/PCMU |
| Video Codec | H264 | H264 |
| RTP Symmetric / Force rport / Rewrite Contact | Yes / Yes / Yes | Yes / Yes / Yes |
| Max Contacts / Remove Existing | 1 / Yes (ein Endgerät) | 1 / Yes (ein Endgerät) |
Klicken Sie auf Submit → Apply Config. Konfigurieren Sie anschließend die Bria-Softphones:
Feld 8002 1560 SIP Server / Domain 192.168.1.38192.168.1.38SIP Port / Transport 5060 / UDP5060 / UDPUser ID / Authentication ID 8002 / 80021560 / 1560Password SIP_PASSWORT_HIER_EINTRAGENSIP_PASSWORT_HIER_EINTRAGENDTMF RFC2833/RFC4733 RFC2833/RFC4733
| Feld | 8002 | 1560 |
|---|---|---|
| SIP Server / Domain | 192.168.1.38 | 192.168.1.38 |
| SIP Port / Transport | 5060 / UDP | 5060 / UDP |
| User ID / Authentication ID | 8002 / 8002 | 1560 / 1560 |
| Password | SIP_PASSWORT_HIER_EINTRAGEN | SIP_PASSWORT_HIER_EINTRAGEN |
| DTMF | RFC2833/RFC4733 | RFC2833/RFC4733 |
Prüfen Sie die Registrierung der Softphones selbst; verwechseln Sie sie nicht mit den VTO-Trunk-Registrierungen:
Code:
[/HEADING]
[HEADING=2]asterisk -rx "pjsip show endpoint 8002"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show endpoint 1560"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]asterisk -rx "pjsip show endpoint 8002"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show endpoint 1560"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2]
Prüfen Sie die Nebenstellen 8002 und 1560 auf dieselbe Weise. pjsip show contacts zeigt verbundene Softphones; pjsip show registrations zeigt die Registrierung von FreePBX an der VTO. Es handelt sich um unterschiedliche Registrierungsbeziehungen.
5. FreePBX: zwei PJSIP-Trunks zur VTO erstellen[/HEADING=2]
Unter Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk richten Sie beide Trunks ein:
Parameter trunk_8002trunk_1560Trunk Name trunk_8002trunk_1560Username / Auth Username 80021560Secret SIP_PASSWORT_HIER_EINTRAGENSIP_PASSWORT_HIER_EINTRAGENAuthentication Outbound Outbound Registration Send Send SIP Server / Port 192.168.1.186 / 5060192.168.1.186 / 5060Transport 0.0.0.0-udp0.0.0.0-udpQualify Frequency 00Contact User 80021560From Domain 192.168.1.186192.168.1.186Context from-pstnfrom-pstnDirect Media No No Codecs ulaw + H264 ulaw + H264
| Parameter | trunk_8002 | trunk_1560 |
|---|---|---|
| Trunk Name | trunk_8002 | trunk_1560 |
| Username / Auth Username | 8002 | 1560 |
| Secret | SIP_PASSWORT_HIER_EINTRAGEN | SIP_PASSWORT_HIER_EINTRAGEN |
| Authentication | Outbound | Outbound |
| Registration | Send | Send |
| SIP Server / Port | 192.168.1.186 / 5060 | 192.168.1.186 / 5060 |
| Transport | 0.0.0.0-udp | 0.0.0.0-udp |
| Qualify Frequency | 0 | 0 |
| Contact User | 8002 | 1560 |
| From Domain | 192.168.1.186 | 192.168.1.186 |
| Context | from-pstn | from-pstn |
| Direct Media | No | No |
| Codecs | ulaw + H264 | ulaw + H264 |
Klicken Sie auf Submit → Apply Config und prüfen Sie anschließend:
Code:
[/HEADING]
[HEADING=2]asterisk -rx "pjsip show registrations"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]asterisk -rx "pjsip show registrations"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2]
Beide Trunks müssen Registered anzeigen. Kontrollieren Sie auch die virtuellen Konten auf der VTO-Seite Status. Zeigt pjsip show contacts als OPTIONS-Status NonQual, beurteilen Sie die Verbindung anhand der Registrierung und tatsächlicher Gespräche: NonQual bedeutet nicht, dass ein OPTIONS-Erreichbarkeitstest durchgeführt wurde.
6. FreePBX: Eingangs- und Ausgangsrouten[/HEADING=2]
Eingehend (VTO → Softphone): Erstellen Sie unter Connectivity → Inbound Routes zwei Routen:
Description DID Number Destination vto_in_80028002Extensions → 8002 vto_in_15601560Extensions → 1560
| Description | DID Number | Destination |
|---|---|---|
vto_in_8002 | 8002 | Extensions → 8002 |
vto_in_1560 | 1560 | Extensions → 1560 |
Bestehende Ausgangsrouten beibehalten (optional; nicht Teil der Abnahmeprüfung): Unter Connectivity → Outbound Routes:
Route Name Dial Pattern Trunk Sequence vto8001Exakt 8001 trunk_1560vth9901Exakt 9901 trunk_8002
| Route Name | Dial Pattern | Trunk Sequence |
|---|---|---|
vto8001 | Exakt 8001 | trunk_1560 |
vth9901 | Exakt 9901 | trunk_8002 |
Diese Ausgangsrouten sind nur optionale Bestandteile der vorhandenen Architektur. Die eigentliche Abnahme betrifft ausschließlich von VTO 8001 ausgehende Anrufe. Erstellen Sie keine lokalen FreePBX-Nebenstellen 8001 oder 9901. Speichern Sie mit Apply Config.
7. Debian-SSH: Sicherungen und CGI-Authentifizierungsdatei[/HEADING=2]
Führen Sie die folgenden Befehle in der über Xshell geöffneten Debian-Linux-Shell aus, nicht in der Asterisk-Konsole *CLI>. Erstellen Sie zuerst ein Sicherungsverzeichnis, danach die Authentifizierungsdatei und beide Entriegelungsskripte.
Code:
[/HEADING]
[HEADING=2]sudo -i[/HEADING]
[HEADING=2]apt-get update[/HEADING]
[HEADING=2]apt-get install -y curl ca-certificates[/HEADING]
[HEADING=2]STAMP=$(date +%Y%m%d-%H%M%S)[/HEADING]
[HEADING=2]BACKUP="/root/vto-dual-lock-backup-$STAMP"[/HEADING]
[HEADING=2]mkdir -p "$BACKUP"[/HEADING]
[HEADING=2]for f in /etc/asterisk/features_applicationmap_custom.conf /etc/asterisk/extensions_custom.conf /etc/asterisk/vto-unlock.curl /usr/local/bin/unlock_vto.sh /usr/local/bin/unlock_vto2.sh; do[/HEADING]
[HEADING=2] if test -f "$f"; then cp -a "$f" "$BACKUP/$(basename "$f")"; fi[/HEADING]
[HEADING=2]done[/HEADING]
[HEADING=2]echo "Sicherungsverzeichnis: $BACKUP"[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]sudo -i[/HEADING]
[HEADING=2]apt-get update[/HEADING]
[HEADING=2]apt-get install -y curl ca-certificates[/HEADING]
[HEADING=2]STAMP=$(date +%Y%m%d-%H%M%S)[/HEADING]
[HEADING=2]BACKUP="/root/vto-dual-lock-backup-$STAMP"[/HEADING]
[HEADING=2]mkdir -p "$BACKUP"[/HEADING]
[HEADING=2]for f in /etc/asterisk/features_applicationmap_custom.conf /etc/asterisk/extensions_custom.conf /etc/asterisk/vto-unlock.curl /usr/local/bin/unlock_vto.sh /usr/local/bin/unlock_vto2.sh; do[/HEADING]
[HEADING=2] if test -f "$f"; then cp -a "$f" "$BACKUP/$(basename "$f")"; fi[/HEADING]
[HEADING=2]done[/HEADING]
[HEADING=2]echo "Sicherungsverzeichnis: $BACKUP"[/HEADING]
[HEADING=2]
Erstellen Sie die VTO-Datei für die Digest-Authentifizierung:
Code:
[/HEADING]
[HEADING=2]cat > /etc/asterisk/vto-unlock.curl <<'EOF_AUTH'[/HEADING]
[HEADING=2]user = "admin:VTO_ADMIN_PASSWORT_HIER_EINTRAGEN"[/HEADING]
[HEADING=2]EOF_AUTH[/HEADING]
[HEADING=2]chown root:asterisk /etc/asterisk/vto-unlock.curl[/HEADING]
[HEADING=2]chmod 0640 /etc/asterisk/vto-unlock.curl[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]cat > /etc/asterisk/vto-unlock.curl <<'EOF_AUTH'[/HEADING]
[HEADING=2]user = "admin:VTO_ADMIN_PASSWORT_HIER_EINTRAGEN"[/HEADING]
[HEADING=2]EOF_AUTH[/HEADING]
[HEADING=2]chown root:asterisk /etc/asterisk/vto-unlock.curl[/HEADING]
[HEADING=2]chmod 0640 /etc/asterisk/vto-unlock.curl[/HEADING]
[HEADING=2]
8. CGI-Entriegelungsskripte (Neuinstallation)[/HEADING=2]
Erstellen Sie getrennte Skripte für das erste und zweite Schloss. Die Ausführung erfolgt unter einem durch Asterisk gesteuerten Konto; für die VTO wird HTTP-Digest-Authentifizierung verwendet.
8.1 Erstes Schloss: /usr/local/bin/unlock_vto.sh[/HEADING=3]
Code:
[/HEADING]
[HEADING=3]cat > /usr/local/bin/unlock_vto.sh <<'EOF_LOCK1'[/HEADING]
[HEADING=3]#!/usr/bin/env bash[/HEADING]
[HEADING=3]URL='http://192.168.1.186/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote'[/HEADING]
[HEADING=3]BODY=$(/usr/bin/curl --silent --show-error --fail --digest --config /etc/asterisk/vto-unlock.curl --connect-timeout 3 --max-time 8 "$URL") || {[/HEADING]
[HEADING=3] logger -t vto-unlock 'channel=1 curl request failed'[/HEADING]
[HEADING=3] exit 1[/HEADING]
[HEADING=3]}[/HEADING]
[HEADING=3]RESULT=$(printf '%s' "$BODY" | tr -d '\r' | xargs)[/HEADING]
[HEADING=3]case "$RESULT" in[/HEADING]
[HEADING=3] OK|result=true|*'"result":true'*) logger -t vto-unlock 'channel=1 response accepted'; exit 0 ;;[/HEADING]
[HEADING=3] *) logger -t vto-unlock "channel=1 response not recognized: $RESULT"; exit 1 ;;[/HEADING]
[HEADING=3]esac[/HEADING]
[HEADING=3]EOF_LOCK1[/HEADING]
[HEADING=3]
Code:
[/HEADING]
[HEADING=3]cat > /usr/local/bin/unlock_vto.sh <<'EOF_LOCK1'[/HEADING]
[HEADING=3]#!/usr/bin/env bash[/HEADING]
[HEADING=3]URL='http://192.168.1.186/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote'[/HEADING]
[HEADING=3]BODY=$(/usr/bin/curl --silent --show-error --fail --digest --config /etc/asterisk/vto-unlock.curl --connect-timeout 3 --max-time 8 "$URL") || {[/HEADING]
[HEADING=3] logger -t vto-unlock 'channel=1 curl request failed'[/HEADING]
[HEADING=3] exit 1[/HEADING]
[HEADING=3]}[/HEADING]
[HEADING=3]RESULT=$(printf '%s' "$BODY" | tr -d '\r' | xargs)[/HEADING]
[HEADING=3]case "$RESULT" in[/HEADING]
[HEADING=3] OK|result=true|*'"result":true'*) logger -t vto-unlock 'channel=1 response accepted'; exit 0 ;;[/HEADING]
[HEADING=3] *) logger -t vto-unlock "channel=1 response not recognized: $RESULT"; exit 1 ;;[/HEADING]
[HEADING=3]esac[/HEADING]
[HEADING=3]EOF_LOCK1[/HEADING]
[HEADING=3]
8.2 Zweites Schloss: /usr/local/bin/unlock_vto2.sh[/HEADING=3]
Code:
[/HEADING]
[HEADING=3]cat > /usr/local/bin/unlock_vto2.sh <<'EOF_LOCK2'[/HEADING]
[HEADING=3]#!/usr/bin/env bash[/HEADING]
[HEADING=3]URL='http://192.168.1.186/cgi-bin/accessControl.cgi?action=openDoor&channel=2&UserID=101&Type=Remote'[/HEADING]
[HEADING=3]BODY=$(/usr/bin/curl --silent --show-error --fail --digest --config /etc/asterisk/vto-unlock.curl --connect-timeout 3 --max-time 8 "$URL") || {[/HEADING]
[HEADING=3] logger -t vto-unlock2 'channel=2 curl request failed'[/HEADING]
[HEADING=3] exit 1[/HEADING]
[HEADING=3]}[/HEADING]
[HEADING=3]RESULT=$(printf '%s' "$BODY" | tr -d '\r' | xargs)[/HEADING]
[HEADING=3]case "$RESULT" in[/HEADING]
[HEADING=3] OK|result=true|*'"result":true'*) logger -t vto-unlock2 'channel=2 response accepted'; exit 0 ;;[/HEADING]
[HEADING=3] *) logger -t vto-unlock2 "channel=2 response not recognized: $RESULT"; exit 1 ;;[/HEADING]
[HEADING=3]esac[/HEADING]
[HEADING=3]EOF_LOCK2[/HEADING]
[HEADING=3]chown root:asterisk /usr/local/bin/unlock_vto.sh /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]chmod 0750 /usr/local/bin/unlock_vto.sh /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]bash -n /usr/local/bin/unlock_vto.sh[/HEADING]
[HEADING=3]bash -n /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]
Code:
[/HEADING]
[HEADING=3]cat > /usr/local/bin/unlock_vto2.sh <<'EOF_LOCK2'[/HEADING]
[HEADING=3]#!/usr/bin/env bash[/HEADING]
[HEADING=3]URL='http://192.168.1.186/cgi-bin/accessControl.cgi?action=openDoor&channel=2&UserID=101&Type=Remote'[/HEADING]
[HEADING=3]BODY=$(/usr/bin/curl --silent --show-error --fail --digest --config /etc/asterisk/vto-unlock.curl --connect-timeout 3 --max-time 8 "$URL") || {[/HEADING]
[HEADING=3] logger -t vto-unlock2 'channel=2 curl request failed'[/HEADING]
[HEADING=3] exit 1[/HEADING]
[HEADING=3]}[/HEADING]
[HEADING=3]RESULT=$(printf '%s' "$BODY" | tr -d '\r' | xargs)[/HEADING]
[HEADING=3]case "$RESULT" in[/HEADING]
[HEADING=3] OK|result=true|*'"result":true'*) logger -t vto-unlock2 'channel=2 response accepted'; exit 0 ;;[/HEADING]
[HEADING=3] *) logger -t vto-unlock2 "channel=2 response not recognized: $RESULT"; exit 1 ;;[/HEADING]
[HEADING=3]esac[/HEADING]
[HEADING=3]EOF_LOCK2[/HEADING]
[HEADING=3]chown root:asterisk /usr/local/bin/unlock_vto.sh /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]chmod 0750 /usr/local/bin/unlock_vto.sh /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]bash -n /usr/local/bin/unlock_vto.sh[/HEADING]
[HEADING=3]bash -n /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]
Eine erfolgreiche Skriptantwort bedeutet, dass die CGI-Antwort dem erwarteten Ergebnis entspricht. Prüfen Sie zusätzlich die tatsächliche Betätigung des Schlosses.
Testen Sie beide Skripte als Asterisk-Benutzer (diese Befehle entriegeln die Türen tatsächlich):
Code:
[/HEADING]
[HEADING=3]runuser -u asterisk -- /usr/local/bin/unlock_vto.sh[/HEADING]
[HEADING=3]runuser -u asterisk -- /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]
Code:
[/HEADING]
[HEADING=3]runuser -u asterisk -- /usr/local/bin/unlock_vto.sh[/HEADING]
[HEADING=3]runuser -u asterisk -- /usr/local/bin/unlock_vto2.sh[/HEADING]
[HEADING=3]
9. Asterisk: DTMF-Funktionscodes 123 und 456 definieren[/HEADING=2]
FreePBX bindet /etc/asterisk/features_applicationmap_custom.conf innerhalb des Abschnitts [applicationmap] ein. Fügen Sie dieser Datei keinen zweiten [applicationmap]-Kopf hinzu. Erstellen Sie beide DTMF-Zuordnungen so:
Code:
[/HEADING]
[HEADING=2]F=/etc/asterisk/features_applicationmap_custom.conf[/HEADING]
[HEADING=2]touch "$F"[/HEADING]
[HEADING=2]sed -i -E '/^[[:space:]]*vto_unlock2?[[:space:]]*=>/d' "$F"[/HEADING]
[HEADING=2]cat >> "$F" <<'EOF_DTMF'[/HEADING]
[HEADING=2]vto_unlock => 123,self,System(/usr/local/bin/unlock_vto.sh)[/HEADING]
[HEADING=2]vto_unlock2 => 456,self,System(/usr/local/bin/unlock_vto2.sh)[/HEADING]
[HEADING=2]EOF_DTMF[/HEADING]
[HEADING=2]chown asterisk:asterisk "$F"[/HEADING]
[HEADING=2]chmod 0644 "$F"[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]F=/etc/asterisk/features_applicationmap_custom.conf[/HEADING]
[HEADING=2]touch "$F"[/HEADING]
[HEADING=2]sed -i -E '/^[[:space:]]*vto_unlock2?[[:space:]]*=>/d' "$F"[/HEADING]
[HEADING=2]cat >> "$F" <<'EOF_DTMF'[/HEADING]
[HEADING=2]vto_unlock => 123,self,System(/usr/local/bin/unlock_vto.sh)[/HEADING]
[HEADING=2]vto_unlock2 => 456,self,System(/usr/local/bin/unlock_vto2.sh)[/HEADING]
[HEADING=2]EOF_DTMF[/HEADING]
[HEADING=2]chown asterisk:asterisk "$F"[/HEADING]
[HEADING=2]chmod 0644 "$F"[/HEADING]
[HEADING=2]
Die Datei muss genau diese beiden Einträge enthalten:
Code:
[/HEADING]
[HEADING=2]vto_unlock => 123,self,System(/usr/local/bin/unlock_vto.sh)[/HEADING]
[HEADING=2]vto_unlock2 => 456,self,System(/usr/local/bin/unlock_vto2.sh)[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]vto_unlock => 123,self,System(/usr/local/bin/unlock_vto.sh)[/HEADING]
[HEADING=2]vto_unlock2 => 456,self,System(/usr/local/bin/unlock_vto2.sh)[/HEADING]
[HEADING=2]
10. Asterisk: beide DTMF-Entriegelungscodes bei eingehenden VTO-Anrufen aktivieren[/HEADING=2]
Die Definition der Zuordnungen in features_applicationmap_custom.conf reicht nicht aus: DYNAMIC_FEATURES muss vor der Anwahl der Nebenstelle aktiviert werden. Erstellen Sie für die Neuinstallation den FreePBX-Vorwahl-Hook der Nebenstelle und aktivieren Sie vto_unlock und vto_unlock2. Die Funktionsnamen werden durch # getrennt; Benutzer drücken nur 123 oder 456, nicht #.
Führen Sie Folgendes in der Debian-Root-Shell aus:
Code:
[/HEADING]
[HEADING=2]F=/etc/asterisk/extensions_custom.conf[/HEADING]
[HEADING=2]touch "$F"[/HEADING]
[HEADING=2]# Vor dem Anlegen prüfen, ob bereits ein gleichnamiger Hook vorhanden ist[/HEADING]
[HEADING=2]if grep -q '^\[macro-dialout-one-predial-hook\]' "$F"; then[/HEADING]
[HEADING=2] echo 'Nebenstellen-Vorwahl-Hook vorhanden; prüfen und zusammenführen, nicht doppelt anfügen:'[/HEADING]
[HEADING=2] grep -A 10 '^\[macro-dialout-one-predial-hook\]' "$F"[/HEADING]
[HEADING=2]else[/HEADING]
[HEADING=2] cat >> "$F" <<'EOF_IN'[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2][macro-dialout-one-predial-hook][/HEADING]
[HEADING=2]exten => s,1,Set(__DYNAMIC_FEATURES=vto_unlock#vto_unlock2)[/HEADING]
[HEADING=2]same => n,Return()[/HEADING]
[HEADING=2]EOF_IN[/HEADING]
[HEADING=2]fi[/HEADING]
[HEADING=2]chown asterisk:asterisk "$F"[/HEADING]
[HEADING=2]chmod 0644 "$F"[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]F=/etc/asterisk/extensions_custom.conf[/HEADING]
[HEADING=2]touch "$F"[/HEADING]
[HEADING=2]# Vor dem Anlegen prüfen, ob bereits ein gleichnamiger Hook vorhanden ist[/HEADING]
[HEADING=2]if grep -q '^\[macro-dialout-one-predial-hook\]' "$F"; then[/HEADING]
[HEADING=2] echo 'Nebenstellen-Vorwahl-Hook vorhanden; prüfen und zusammenführen, nicht doppelt anfügen:'[/HEADING]
[HEADING=2] grep -A 10 '^\[macro-dialout-one-predial-hook\]' "$F"[/HEADING]
[HEADING=2]else[/HEADING]
[HEADING=2] cat >> "$F" <<'EOF_IN'[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2][macro-dialout-one-predial-hook][/HEADING]
[HEADING=2]exten => s,1,Set(__DYNAMIC_FEATURES=vto_unlock#vto_unlock2)[/HEADING]
[HEADING=2]same => n,Return()[/HEADING]
[HEADING=2]EOF_IN[/HEADING]
[HEADING=2]fi[/HEADING]
[HEADING=2]chown asterisk:asterisk "$F"[/HEADING]
[HEADING=2]chmod 0644 "$F"[/HEADING]
[HEADING=2]
Der erwartete Hook lautet:
Code:
[/HEADING]
[HEADING=2][macro-dialout-one-predial-hook][/HEADING]
[HEADING=2]exten => s,1,Set(__DYNAMIC_FEATURES=vto_unlock#vto_unlock2)[/HEADING]
[HEADING=2]same => n,Return()[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2][macro-dialout-one-predial-hook][/HEADING]
[HEADING=2]exten => s,1,Set(__DYNAMIC_FEATURES=vto_unlock#vto_unlock2)[/HEADING]
[HEADING=2]same => n,Return()[/HEADING]
[HEADING=2]
Dieser Hook gilt für Anrufe an Nebenstellen, die macro-dialout-one-predial-hook durchlaufen. Prüfen Sie nach der Konfiguration mit dialplan show, ob er im aktiven Wählplan vorhanden ist. Falls andere Eingangswege keine Türöffnung erlauben sollen, begrenzen Sie den Hook anhand der Anrufherkunft.
Optional: beide Funktionen für vorhandene Ausgangsrouten aktivieren[/HEADING=3]
Wenn Sie die Ausgangsroute für 8001 aus Abschnitt 6 beibehalten haben und dieselben Codes auch während ausgehender Gespräche verwenden möchten, konfigurieren Sie den Ausgangs-Vorwahl-Hook. Diese Option gehört nicht zur LAN-Abnahmeprüfung. Lassen Sie sie bei Nichtbedarf aus.
Code:
[/HEADING]
[HEADING=3]F=/etc/asterisk/extensions_custom.conf[/HEADING]
[HEADING=3]if grep -q '^\[macro-dialout-trunk-predial-hook\]' "$F"; then[/HEADING]
[HEADING=3] echo 'Ausgangs-Vorwahl-Hook vorhanden; prüfen und zusammenführen, um doppelte Kontexte zu vermeiden.'[/HEADING]
[HEADING=3]else[/HEADING]
[HEADING=3] cat >> "$F" <<'EOF_OUT'[/HEADING]
[HEADING=3][/HEADING]
[HEADING=3][macro-dialout-trunk-predial-hook][/HEADING]
[HEADING=3]exten => s,1,GotoIf($["${OUTNUM}" != "8001"]?done)[/HEADING]
[HEADING=3]same => n,GotoIf($["${CHANNEL(channeltype)}" != "PJSIP"]?done)[/HEADING]
[HEADING=3]same => n,Set(__DYNAMIC_FEATURES=vto_unlock#vto_unlock2)[/HEADING]
[HEADING=3]same => n(done),Return()[/HEADING]
[HEADING=3]EOF_OUT[/HEADING]
[HEADING=3]fi[/HEADING]
[HEADING=3]
Code:
[/HEADING]
[HEADING=3]F=/etc/asterisk/extensions_custom.conf[/HEADING]
[HEADING=3]if grep -q '^\[macro-dialout-trunk-predial-hook\]' "$F"; then[/HEADING]
[HEADING=3] echo 'Ausgangs-Vorwahl-Hook vorhanden; prüfen und zusammenführen, um doppelte Kontexte zu vermeiden.'[/HEADING]
[HEADING=3]else[/HEADING]
[HEADING=3] cat >> "$F" <<'EOF_OUT'[/HEADING]
[HEADING=3][/HEADING]
[HEADING=3][macro-dialout-trunk-predial-hook][/HEADING]
[HEADING=3]exten => s,1,GotoIf($["${OUTNUM}" != "8001"]?done)[/HEADING]
[HEADING=3]same => n,GotoIf($["${CHANNEL(channeltype)}" != "PJSIP"]?done)[/HEADING]
[HEADING=3]same => n,Set(__DYNAMIC_FEATURES=vto_unlock#vto_unlock2)[/HEADING]
[HEADING=3]same => n(done),Return()[/HEADING]
[HEADING=3]EOF_OUT[/HEADING]
[HEADING=3]fi[/HEADING]
[HEADING=3]
11. LAN-Abnahme: Registrierung, Gespräche und beide Schlösser[/HEADING=2]
Führen Sie nach dem Speichern aller Einstellungen Folgendes in der Debian-Root-Shell aus:
Code:
[/HEADING]
[HEADING=2]fwconsole reload[/HEADING]
[HEADING=2]asterisk -rx "module reload features"[/HEADING]
[HEADING=2]asterisk -rx "features show" | grep vto_unlock[/HEADING]
[HEADING=2]asterisk -rx "dialplan show macro-dialout-one-predial-hook"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show registrations"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]fwconsole reload[/HEADING]
[HEADING=2]asterisk -rx "module reload features"[/HEADING]
[HEADING=2]asterisk -rx "features show" | grep vto_unlock[/HEADING]
[HEADING=2]asterisk -rx "dialplan show macro-dialout-one-predial-hook"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show registrations"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2]
Prüfen Sie, dass beide Funktionszuordnungen 123 und 456 angezeigt werden und Set(__DYNAMIC_FEATURES=vto_unlock#vto_unlock2) im Wählplan steht. Beide VTO-Trunks müssen registriert sein; prüfen Sie die beiden FreePBX-Softphone-Nebenstellen auf dieselbe Weise.
Prüfung Erwartetes Ergebnis CGI-Skript für erstes Schloss (vor dem Test mögliche Auswirkungen auf Personen prüfen) Erstes VTO-Local-Schloss betätigt sich CGI-Skript für zweites Schloss (vor dem Test mögliche Auswirkungen auf Personen prüfen) Zweites Schloss am DEE1010B-S2 betätigt sich VTO 8001 ruft 1560 an Softphone klingelt; nach Annahme funktioniert Gegensprechen VTO 8001 ruft 8002 an Softphone klingelt; nach Annahme funktioniert Gegensprechen 1560 nimmt VTO-Anruf an und drückt 123, dann 456Erstes und zweites Schloss werden entsprechend betätigt 8002 nimmt VTO-Anruf an und drückt 123, dann 456Erstes und zweites Schloss werden entsprechend betätigt VTO ↔ VTH 9901 Die Kommunikation über den integrierten SIP-Server funktioniert weiter
| Prüfung | Erwartetes Ergebnis |
|---|---|
| CGI-Skript für erstes Schloss (vor dem Test mögliche Auswirkungen auf Personen prüfen) | Erstes VTO-Local-Schloss betätigt sich |
| CGI-Skript für zweites Schloss (vor dem Test mögliche Auswirkungen auf Personen prüfen) | Zweites Schloss am DEE1010B-S2 betätigt sich |
VTO 8001 ruft 1560 an | Softphone klingelt; nach Annahme funktioniert Gegensprechen |
VTO 8001 ruft 8002 an | Softphone klingelt; nach Annahme funktioniert Gegensprechen |
1560 nimmt VTO-Anruf an und drückt 123, dann 456 | Erstes und zweites Schloss werden entsprechend betätigt |
8002 nimmt VTO-Anruf an und drückt 123, dann 456 | Erstes und zweites Schloss werden entsprechend betätigt |
VTO ↔ VTH 9901 | Die Kommunikation über den integrierten SIP-Server funktioniert weiter |
Wenn das Softphone registriert ist, aber kein Ton zu hören ist, prüfen Sie Direct Media, NAT und RTP. Funktioniert Audio, nicht aber die Codes, prüfen Sie RFC4733-DTMF und die dynamischen Funktionszuordnungen. Schließen Sie die LAN-Prüfung vor der Internetkonfiguration ab.
12. Allgemeine Fehlerbehebung[/HEADING=2]
Code:
[/HEADING]
[HEADING=2]# Prüfen, ob die Funktionszuordnungen geladen sind[/HEADING]
[HEADING=2]asterisk -rx "features show" | grep vto_unlock[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2]# Aktiven Nebenstellen-Vorwahl-Hook prüfen[/HEADING]
[HEADING=2]asterisk -rx "dialplan show macro-dialout-one-predial-hook"[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2]# Trunk- und Softphone-Registrierungen prüfen[/HEADING]
[HEADING=2]asterisk -rx "pjsip show registrations"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2]# Ausführungsprotokolle beider CGI-Schlösser anzeigen[/HEADING]
[HEADING=2]journalctl -t vto-unlock -n 30 --no-pager[/HEADING]
[HEADING=2]journalctl -t vto-unlock2 -n 30 --no-pager[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]# Prüfen, ob die Funktionszuordnungen geladen sind[/HEADING]
[HEADING=2]asterisk -rx "features show" | grep vto_unlock[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2]# Aktiven Nebenstellen-Vorwahl-Hook prüfen[/HEADING]
[HEADING=2]asterisk -rx "dialplan show macro-dialout-one-predial-hook"[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2]# Trunk- und Softphone-Registrierungen prüfen[/HEADING]
[HEADING=2]asterisk -rx "pjsip show registrations"[/HEADING]
[HEADING=2]asterisk -rx "pjsip show contacts"[/HEADING]
[HEADING=2][/HEADING]
[HEADING=2]# Ausführungsprotokolle beider CGI-Schlösser anzeigen[/HEADING]
[HEADING=2]journalctl -t vto-unlock -n 30 --no-pager[/HEADING]
[HEADING=2]journalctl -t vto-unlock2 -n 30 --no-pager[/HEADING]
[HEADING=2]
Fehlerbild Prüfpunkte features show listet 123 / 456 nicht auffeatures_applicationmap_custom.conf prüfen und Features-Modul neu ladenCGI öffnet die Tür, die Tastencodes im Gespräch jedoch nicht DYNAMIC_FEATURES, RFC4733-DTMF und Direct Media=No prüfenErstes Schloss funktioniert, zweites nicht channel=2, DEE RS485 A/B, Stromversorgung und VTO-Einstellung Second Lock prüfenTrunk registriert sich nicht an der VTO VTO-Adresse, virtuelles Konto, Passwort und Registrierungsart beider PJSIP-Trunks prüfen VTO kann die Nebenstelle nicht anrufen DID der passenden Inbound Route, Zielnebenstelle und Softphone-Registrierung prüfen Audio funktioniert, Video fehlt H264-Aushandlung, Videoberechtigung des Clients, SDP m=video und RTP-Medien prüfen
| Fehlerbild | Prüfpunkte |
|---|---|
features show listet 123 / 456 nicht auf | features_applicationmap_custom.conf prüfen und Features-Modul neu laden |
| CGI öffnet die Tür, die Tastencodes im Gespräch jedoch nicht | DYNAMIC_FEATURES, RFC4733-DTMF und Direct Media=No prüfen |
| Erstes Schloss funktioniert, zweites nicht | channel=2, DEE RS485 A/B, Stromversorgung und VTO-Einstellung Second Lock prüfen |
| Trunk registriert sich nicht an der VTO | VTO-Adresse, virtuelles Konto, Passwort und Registrierungsart beider PJSIP-Trunks prüfen |
| VTO kann die Nebenstelle nicht anrufen | DID der passenden Inbound Route, Zielnebenstelle und Softphone-Registrierung prüfen |
| Audio funktioniert, Video fehlt | H264-Aushandlung, Videoberechtigung des Clients, SDP m=video und RTP-Medien prüfen |
DTMF-Debug-Protokollierung aktivieren:
Code:
[/HEADING]
[HEADING=2]asterisk -rvvv[/HEADING]
[HEADING=2]# Folgendes in Asterisk CLI eingeben:[/HEADING]
[HEADING=2]dtmf set debug on[/HEADING]
[HEADING=2]# Nach dem Test:[/HEADING]
[HEADING=2]dtmf set debug off[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]asterisk -rvvv[/HEADING]
[HEADING=2]# Folgendes in Asterisk CLI eingeben:[/HEADING]
[HEADING=2]dtmf set debug on[/HEADING]
[HEADING=2]# Nach dem Test:[/HEADING]
[HEADING=2]dtmf set debug off[/HEADING]
[HEADING=2]
13. Konfiguration sichern und wiederherstellen[/HEADING=2]
Das Sicherungsverzeichnis aus Abschnitt 7 enthält die zuvor vorhandenen Dateien. Beenden Sie Testgespräche vor der Wiederherstellung und verwenden Sie den tatsächlichen Namen des Sicherungsverzeichnisses:
Code:
[/HEADING]
[HEADING=2]BACKUP='/root/vto-dual-lock-backup-TATSAECHLICHEN_ZEITSTEMPEL_EINTRAGEN'[/HEADING]
[HEADING=2]for f in features_applicationmap_custom.conf extensions_custom.conf vto-unlock.curl; do[/HEADING]
[HEADING=2] if test -f "$BACKUP/$f"; then cp -a "$BACKUP/$f" "/etc/asterisk/$f"; fi[/HEADING]
[HEADING=2]done[/HEADING]
[HEADING=2]for f in unlock_vto.sh unlock_vto2.sh; do[/HEADING]
[HEADING=2] if test -f "$BACKUP/$f"; then cp -a "$BACKUP/$f" "/usr/local/bin/$f"; fi[/HEADING]
[HEADING=2]done[/HEADING]
[HEADING=2]fwconsole reload[/HEADING]
[HEADING=2]asterisk -rx "module reload features"[/HEADING]
[HEADING=2]
Code:
[/HEADING]
[HEADING=2]BACKUP='/root/vto-dual-lock-backup-TATSAECHLICHEN_ZEITSTEMPEL_EINTRAGEN'[/HEADING]
[HEADING=2]for f in features_applicationmap_custom.conf extensions_custom.conf vto-unlock.curl; do[/HEADING]
[HEADING=2] if test -f "$BACKUP/$f"; then cp -a "$BACKUP/$f" "/etc/asterisk/$f"; fi[/HEADING]
[HEADING=2]done[/HEADING]
[HEADING=2]for f in unlock_vto.sh unlock_vto2.sh; do[/HEADING]
[HEADING=2] if test -f "$BACKUP/$f"; then cp -a "$BACKUP/$f" "/usr/local/bin/$f"; fi[/HEADING]
[HEADING=2]done[/HEADING]
[HEADING=2]fwconsole reload[/HEADING]
[HEADING=2]asterisk -rx "module reload features"[/HEADING]
[HEADING=2]
14. Direkter Internetzugang: VTO-Anrufe auf 8002 und 1560 empfangen[/HEADING=2]
- Tatsächliche öffentliche IP prüfen. Lesen Sie die WAN-IPv4-Adresse im Router ab und öffnen Sie
https://ipinfo.io/ für die externe IPv4. Stimmen sie überein und ist die WAN-Adresse weder privat noch CGNAT, verfügt der Router über eine öffentlich erreichbare IPv4. Notieren Sie sie.
- IP in FreePBX ermitteln. Prüfen Sie die FreePBX-LAN-Adresse
192.168.1.38. Öffnen Sie Settings → Asterisk SIP Settings → General SIP Settings, klicken Sie auf Detect Network Settings (falls verfügbar), prüfen Sie External Address auf die öffentliche IP und Local Networks auf 192.168.1.0/24, dann Submit → Apply Config.
- Portweiterleitungen im Router erstellen. Leiten Sie diese UDP-Ports an FreePBX
192.168.1.38 weiter:
https://ipinfo.io/ für die externe IPv4. Stimmen sie überein und ist die WAN-Adresse weder privat noch CGNAT, verfügt der Router über eine öffentlich erreichbare IPv4. Notieren Sie sie.192.168.1.38. Öffnen Sie Settings → Asterisk SIP Settings → General SIP Settings, klicken Sie auf Detect Network Settings (falls verfügbar), prüfen Sie External Address auf die öffentliche IP und Local Networks auf 192.168.1.0/24, dann Submit → Apply Config.192.168.1.38 weiter:
[TH]Protokoll[/TH][TH]Öffentlicher Port[/TH][TH]Ziel-IP im LAN[/TH][TH]LAN-Port[/TH] [TD]UDP (SIP)[/TD][TD]5060[/TD][TD]192.168.1.38[/TD][TD]5060[/TD] [TD]UDP (RTP Audio/Video)[/TD][TD]10000–20000[/TD][TD]192.168.1.38[/TD][TD]10000–20000[/TD]
4. Bria-Softphones anpassen. Ersetzen Sie 192.168.1.38 unter SIP Server / Domain durch die echte öffentliche IP des Routers; Port 5060 und Transport UDP bleiben gleich. Für 1560 und 8002 ist jeweils die eigene Nummer als Benutzer- und Authentifizierungsname zu verwenden; beide Passwörter lauten SIP_PASSWORT_HIER_EINTRAGEN. Alle anderen Einstellungen bleiben unverändert.
5. Bria-Push aktivieren. Aktivieren Sie Push Notifications in den Bria-Konto- oder Benachrichtigungseinstellungen und erlauben Sie Systembenachrichtigungen. Schalten Sie WLAN aus, testen Sie Anrufe von VTO 8001 an 1560 und 8002 über Mobilfunk und anschließend eingehende Anrufe bei gesperrtem Telefon.
Dieser Abschnitt setzt in FreePBX den RTP-Portbereich 10000–20000/UDP voraus. Ist ein anderer Bereich konfiguriert, muss dieser im Router weitergeleitet werden.
Dieser Abschnitt setzt in FreePBX den RTP-Portbereich
10000–20000/UDP voraus. Ist ein anderer Bereich konfiguriert, muss dieser im Router weitergeleitet werden.
15. Offizielle technische Referenzen und Versionsstand[/HEADING=2]
- Dahua, Unit VTO (Version 4.6) User's Manual: SIP, Zutrittskontrolle und RS485-Konfiguration des zweiten Schlosses am VTO7541G-S2.
- Dahua, Access Control Extension Module User Manual V1.0.2: Verdrahtung, Stromversorgung und Relaisanschlüsse des DEE1010B-S2.
- Offizielle Asterisk-Dokumentation zu PJSIP-NAT: https://docs.asterisk.org/Configura...ip/Configuring-res_pjsip-to-work-through-NAT/
- Offizielle Sangoma-Anleitung zu entfernten FreePBX-Nebenstellen: https://sangomakb.atlassian.net/wik...sing+a+Remote+Extension+with+FreePBX+Asterisk
Versionshinweis: Diese Anleitung basiert auf FreePBX 17.0.33.2, Asterisk 22.11.0, VTO V4.600.0000000.6.R, VTH V4.810.0000000.4.R und FreePBX unter 192.168.1.38. Menübezeichnungen und Optionen können je nach Software-/Geräteversion abweichen.
Versionshinweis: Diese Anleitung basiert auf FreePBX 17.0.33.2, Asterisk 22.11.0, VTO V4.600.0000000.6.R, VTH V4.810.0000000.4.R und FreePBX unter
192.168.1.38. Menübezeichnungen und Optionen können je nach Software-/Geräteversion abweichen.
Zuletzt bearbeitet: