FreePBX 17 funktioniert mit Dahua VTO7541G im Trunk-Modus; Steuerung von 2 Schlössern via DTMF.

26086319

Neuer User
Mitglied seit
1 Okt 2018
Beiträge
22
Punkte für Reaktionen
2
Punkte
3

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 / KontoKonfiguration und Hinweise
Debian / FreePBX / AsteriskDebian 12; FreePBX 17.0.33.2; Asterisk 22.11.0; 192.168.1.38:5060/UDP (in dieser Anleitung verwendete FreePBX-Adresse)
VTO7541G-S2192.168.1.186; Firmware V4.600.0000000.6.R; Türstationsnummer 8001; integrierter SIP-Server aktiviert
VTO-Administratorkontoadmin; Passwort VTO_ADMIN_PASSWORT_HIER_EINTRAGEN
VTH2621GW-P192.168.1.187; Firmware V4.810.0000000.4.R; Raum 9901 (bei manchen Gruppenrufen 9901#0)
FreePBX-Nebenstelle 1560Bria-Softphone; Registrierung als 1560 (LAN oder Internet)
FreePBX-Nebenstelle 8002Bria-Softphone; Registrierung als 8002 (LAN oder Internet); Einrichtung und Prüfung wie bei 1560
FreePBX ↔ VTO-Trunkstrunk_1560 und trunk_8002; jeder registriert sich mit dem zugehörigen virtuellen SIP-Konto an VTO 192.168.1.186:5060
SIP-PasswörterVirtuelle 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 / DTMFPCMU/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ächsGesteuertes GerätCGI-ParameterAsterisk-Funktion und Skript
123Erstes Schloss am lokalen VTO-Relaischannel=1vto_unlock → /usr/local/bin/unlock_vto.sh
456Zweites Schloss am über RS485 angeschlossenen DEE1010B-S2channel=2vto_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äteanschlussVerbinden mitZweck
VTO RS485_ALinker DEE-Anschluss 485ARS485 A
VTO RS485_BLinker DEE-Anschluss 485BRS485 B
DEE links +12V / GNDGeeignete 12-V-GleichstromversorgungModulversorgung
VTO-Schlossrelais COM + NO oder NCStromkreis des ersten TürschlossesErstes Schloss, über VTO Local gesteuert
DEE-Relais rechts COM + NO oder NCStromkreis des zweiten TürschlossesZweites 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]​

​

  1. Öffnen Sie http://192.168.1.186 im Browser und melden Sie sich mit admin und Passwort VTO_ADMIN_PASSWORT_HIER_EINTRAGEN an.
  2. 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.
  3. Unter Local Setting → Access Control → RS485 setzen Sie Interface Type = Lock, Lock = Second Lock und sowohl Reaktionsintervall als auch Entriegelungsdauer auf 5 s; speichern.
  4. 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.
  5. 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.
  6. Stellen Sie sicher, dass der VTH2621GW-P an der VTO 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.​

​

Feld80021560
User Extension / Display Name80021560
SecretSIP_PASSWORT_HIER_EINTRAGENSIP_PASSWORT_HIER_EINTRAGEN
SIP DriverPJSIPPJSIP
DTMF ModeRFC4733RFC4733
Direct MediaNoNo
Audio Codeculaw/PCMUulaw/PCMU
Video CodecH264H264
RTP Symmetric / Force rport / Rewrite ContactYes / Yes / YesYes / Yes / Yes
Max Contacts / Remove Existing1 / Yes (ein Endgerät)1 / Yes (ein Endgerät)

​

Klicken Sie auf Submit → Apply Config. Konfigurieren Sie anschließend die Bria-Softphones:​

​

Feld80021560
SIP Server / Domain192.168.1.38192.168.1.38
SIP Port / Transport5060 / UDP5060 / UDP
User ID / Authentication ID8002 / 80021560 / 1560
PasswordSIP_PASSWORT_HIER_EINTRAGENSIP_PASSWORT_HIER_EINTRAGEN
DTMFRFC2833/RFC4733RFC2833/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]

​

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:​

​

Parametertrunk_8002trunk_1560
Trunk Nametrunk_8002trunk_1560
Username / Auth Username80021560
SecretSIP_PASSWORT_HIER_EINTRAGENSIP_PASSWORT_HIER_EINTRAGEN
AuthenticationOutboundOutbound
RegistrationSendSend
SIP Server / Port192.168.1.186 / 5060192.168.1.186 / 5060
Transport0.0.0.0-udp0.0.0.0-udp
Qualify Frequency00
Contact User80021560
From Domain192.168.1.186192.168.1.186
Contextfrom-pstnfrom-pstn
Direct MediaNoNo
Codecsulaw + H264ulaw + 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]

​

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:​

​

DescriptionDID NumberDestination
vto_in_80028002Extensions → 8002
vto_in_15601560Extensions → 1560

​

Bestehende Ausgangsrouten beibehalten (optional; nicht Teil der Abnahmeprüfung): Unter Connectivity → Outbound Routes:​

​

Route NameDial PatternTrunk Sequence
vto8001Exakt 8001trunk_1560
vth9901Exakt 9901trunk_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]

​

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]

​

​

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]

​

​

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]

​

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]

​

​

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]

​

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]

​

​

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]

​

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]

​

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]

​

​

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]

​

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üfungErwartetes 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 anSoftphone klingelt; nach Annahme funktioniert Gegensprechen
VTO 8001 ruft 8002 anSoftphone 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 9901Die 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]

​

FehlerbildPrüfpunkte
features show listet 123 / 456 nicht auffeatures_applicationmap_custom.conf prüfen und Features-Modul neu laden
CGI öffnet die Tür, die Tastencodes im Gespräch jedoch nichtDYNAMIC_FEATURES, RFC4733-DTMF und Direct Media=No prüfen
Erstes Schloss funktioniert, zweites nichtchannel=2, DEE RS485 A/B, Stromversorgung und VTO-Einstellung Second Lock prüfen
Trunk registriert sich nicht an der VTOVTO-Adresse, virtuelles Konto, Passwort und Registrierungsart beider PJSIP-Trunks prüfen
VTO kann die Nebenstelle nicht anrufenDID der passenden Inbound Route, Zielnebenstelle und Softphone-Registrierung prüfen
Audio funktioniert, Video fehltH264-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]

​

​

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]

​

​

14. Direkter Internetzugang: VTO-Anrufe auf 8002 und 1560 empfangen[/HEADING=2]​

​

  1. 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.
  2. 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.
  3. Portweiterleitungen im Router erstellen. Leiten Sie diese UDP-Ports an FreePBX 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.

​

​

15. Offizielle technische Referenzen und Versionsstand[/HEADING=2]​

​


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.

​

​

​

 

Anhänge

  • image1.png
    image1.png
    373.1 KB · Aufrufe: 0
  • image2.png
    image2.png
    195.2 KB · Aufrufe: 0
  • image3.png
    image3.png
    150.8 KB · Aufrufe: 0
  • image4.png
    image4.png
    189.4 KB · Aufrufe: 0
  • image5.png
    image5.png
    131 KB · Aufrufe: 0
  • image6.png
    image6.png
    170.9 KB · Aufrufe: 0
  • image7.png
    image7.png
    99.9 KB · Aufrufe: 0
  • image8.png
    image8.png
    136 KB · Aufrufe: 0
  • image9.png
    image9.png
    155.1 KB · Aufrufe: 0
  • image10.png
    image10.png
    181.6 KB · Aufrufe: 0
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
249,053
Beiträge
2,309,561
Mitglieder
378,852
Neuestes Mitglied
juboks