BitVoice-Handbuch
Inhaltsverzeichnis
- Teil 1. Erste Schritte
- Teil 2. Wohin Anrufe gehen
- 16. Anrufablauf
- 17. Ringgruppen
- 18. Warteschleifen
- 19. Outbound-Dialer
- 20. Klänge: Hinweise, Sprachen und Hintergrundmusik
- 21. Menüs (Auto-Ansage)
- 22. Wähleintrichtung
- 23. Wahleingabe (DISA)
- 24. Sprachbots (AudioSocket)
- 25. Tag/Nacht-Toggle
- 26. Zeitpläne
- 27. Skripte (JavaScript und Lua)
- 28. AI-Empfang, Voicemail-Triage und Anfragen
- 29. Voicemail
- 30. Rückrufe
- 31. Anruf-Links und Webanrufe
- Teil 3. Tägliches Telefonieren
- 32. Funktionstasten, Weiterleitung und Schnellwahlen
- 33. Das Mitarbeiter-Portal
- 34. Konferenzräume
- 35. Lautsprecher und Überkopflautsprecher
- 36. Hot Desking
- 37. Hotel- und Weckanrufe
- 38. Kontakte auf jedem Telefon
- 39. Kalender und "Nicht stören"
- 40. Mobile Apps
- 41. Videotelefonate
- 42. Fax: Senden und Empfangen, Faxgeräte und analoge Telefone
- 43. Posteingang: Web-Chat, WhatsApp und Messenger
- 44. Geschäftliche Textnachrichten (SMS)
- 45. Übertragung von Informationen
- Teil 4. Kunden und Einblicke
- 46. Aktive Anrufe
- 47. Anrufhistorie
- 48. Kundentimeline
- 49. CRM: Anruferkarten und Anrufliste
- 50. Anruf-Einblick für Vorgesetzte
- 51. Anrufaufzeichnung und Kartenzahlungen
- 52. Aufzeichnungsrecht
- 53. Anrufqualität
- 54. Kosten und Budgets
- 55. Anrufer-ID-Reputation und markierte Anrufe
- 56. Spamschutz und STIR/SHAKEN
- Teil 5. BitVoice ausführen
- 57. Administratoren
- 58. Single-Sign-On
- 59. Unternehmensverzeichnis (Active Directory und LDAP)
- 60. Sicherheit
- 61. Änderungen, Backups und Import
- 62. Aktualisierungen
- 63. Mehrere Server als ein Telefonnetz
- 64. Wo die Daten gespeichert werden (SQLite oder PostgreSQL)
- 65. Andere Organisationen hosten
- 66. Codecs und Ton
- 67. Microsoft Teams (Direct Routing)
- 68. Importieren
- 69. Konfiguration als Code
- 70. Asterisk-Kompatibilität (AMI, ARI und AGI)
- 71. Künstliche Intelligenz-Assistenten (MCP)
- 72. Archiv
- 73. Rechtliche Aufbewahrungen
- 74. Metriken: Prometheus, OpenTelemetry, Grafana, SNMP und Anruflisten
- 75. Anrufergenerator
- 76. SIP-Spur
- Teil 6. Öffentliche Sicherheit: der Labortrack
Erste Schritte
Von einer neuen Installation bis zu einem funktionierenden Telefonsystem: Nebenstellen, Telefone, ein Telefonunternehmen, wohin Anrufe gehen, Notruf aus Ihren Büros und wie man erkennt, ob alles bereit ist.
Erste Schritte
/BitVoice ist ein vollständiges TelefonSystem in einem Programm: der Vermittlung, in die Telefone einloggen, die Menüs und Warteschleifen, durch die Anrufer navigieren, die Voicemail, die Aufzeichnung, die Konferenzräume, die Faxübertragung und die Verbindungen zu Telefonanbietern. Alles wird im Browser eingerichtet, auf den Bildschirmen, die diese Anleitung beschreibt. Es gibt keine Konfigurationsdatei, die bearbeitet werden muss, und nichts anderes, das installiert werden muss.
Was Sie benötigen
- Ein Computer, auf dem es läuft: ein kleiner Büroservers, eine virtuelle Maschine, eine Cloud-Instanz oder für einen ersten Blick Ihr eigenes Laptop. Linux, macOS und Windows funktionieren alle. Ein Raspberry Pi 4 kann ein kleines Büro bedienen.
- Telefone: Bürotelefone von Yealink, Poly, Grandstream oder Snom werden automatisch eingerichtet; jedes andere SIP-Telefon oder Softphone funktioniert mit eigenen Einstellungen; und jeder Browser ist auch ein Telefon.
- Eine Trunk (ein Konto bei einem Telefonanbieter), um externe Nummern anzurufen und angerufen zu werden. Sie können ohne eines beginnen: interne Rufnummern rufen sich gegenseitig und den Echotest an.
Der erste Start
Starten Sie BitVoice und öffnen Sie die Adresse, die es ausgibt (auf einem Desktop öffnet es den Browser selbst). Die Web-Oberfläche ist nur HTTPS, auch auf diesem Computer. Bis Sie ein eigenes Zertifikat installieren (Einstellungen, Zertifikat), verwendet BitVoice eines, das es selbst erstellt hat, sodass der Browser einmal warnt: wählen Sie, um zur Seite fortzufahren. Der Einrichtungsassistent fragt vier Dinge: den Namen der Organisation und des Landes, das Passwort des ersten Administrators, die ersten Rufnummern und Ihren Telefonanbieter, wenn Sie einen haben. Das Land bestimmt die Notrufnummern, die Töne, die Anrufer hören, und die Art, wie Telefonnummern geschrieben werden.
Die erste Stunde
- Rufnummern: eine pro Person oder Schreibtisch. Jede hat eine Nummer und ein SIP-Passwort. Öffnen Sie Rufnummern (Kapitel 3)
- Telefone: verbinden Sie ein Bürotelefon, ein Softphone oder das Browser-Telefon mit jeder Rufnummer. Öffnen Sie Telefone (Kapitel 4)
- Trunk: Ihr Konto bei einem Telefonanbieter, damit Sie externe Nummern anrufen und angerufen werden können. Öffnen Sie Trunks (Kapitel 7)
- Anrufweiterleitung: wohin Anrufe von außen gehen (eine Person, eine Warteschleife, ein Menü), und welcher Trunk für Anrufe von außen verwendet wird. Öffnen Sie Anrufweiterleitung (Kapitel 8)
- Gesundheit teilt Ihnen mit, was noch fehlt, beginnend mit der Notrufweiterleitung. Öffnen Sie Gesundheit (Kapitel 13)
Dann führen Sie einen Testanruf durch: von jedem Telefon wählen Sie *43, den Echotest. Sie hören sich selbst zurück, was beweist, dass der Ton in beide Richtungen funktioniert.
Installation in einem Befehl
Auf einem Linux-Server (Ubuntu, Debian, RHEL, Fedora, Alpine mit systemd) oder einem Mac:
curl -fsSL https://raw.githubusercontent.com/BioDream-LLC/bitvoice/main/deploy/install.sh | sh
Auf Windows, in PowerShell:
irm https://raw.githubusercontent.com/BioDream-LLC/bitvoice/main/deploy/install.ps1 | iex
Es lädt die neueste Version für den Computer herunter, überprüft sie gegen die SHA-256-Prüfsummen und die Release-Signatur von BioDream (mit OpenSSL 3 oder sonst mit OpenSSH's ssh-keygen, das Windows 10 und 11, macOS und Ubuntu 20.04 haben; ssh-keygen überprüft Releases ab v0.1.14), und installiert es als Dienst, der automatisch startet:
- Linux:
/usr/local/bin/bitvoice, einbitvoice-Systembenutzer, Daten in/var/lib/bitvoice, der systemd-Dienstbitvoicemit der Web-Oberfläche auf Port 443. Wenn ufw oder firewalld aktiviert ist, öffnet es 443, SIP (5060, 5061) und die Audio-Ports der Anrufe (10000 bis 20000 UDP). Es gibt die Adresse aus, die geöffnet und den Setup-Code aus, den der Assistent von einem anderen Computer anfordert. - macOS: BitVoice im Ordner Anwendungen (
~/Applications/BitVoice.app), gestartet, wenn Sie sich anmelden, die Web-Oberfläche auf Port 8443, Daten in~/Library/Application Support/BitVoice(nur für Sie zugänglich) und Protokolle in~/Library/Logs/BitVoice(bitvoice.log, unter 10 MB gehalten). Öffnen Sie BitVoice aus Launchpad oder Spotlight, um die Web-Oberfläche zu erreichen; wenn es gestoppt wurde, startet es dies erneut. Es läuft untercaffeinate, damit der Mac nicht in den Schlafmodus wechselt, während BitVoice läuft: Ein schlafender Mac nimmt keine Anrufe an, und selbst kurze Warteschlafzeiten stoppen alles für viele Sekunden. Der Bildschirm kann jedoch immer noch ausgeschaltet werden. Manuelles Ausführen, verwenden Siecaffeinate -i -s ./bitvoicefür das Gleiche. Für einen Mac, der Anrufe beantwortet, wenn niemand angemeldet ist, installieren Sie mitsudo(curl -fsSL https://raw.githubusercontent.com/BioDream-LLC/bitvoice/main/deploy/install.sh | sudo sh): Dann ist BitVoice in/Applications, startet mit dem Mac, läuft als versteckter Benutzer (_bitvoice), dient die Web-Oberfläche auf Port 443, hält seine Daten in/Library/Application Support/BitVoiceund seine Protokolle in/Library/Logs/BitVoice, und die Firewall des Macs, wenn aktiviert, lässt es Verbindungen zu. Einer der beiden pro Mac: Der Installer lehnt den anderen ab, während einer vorhanden ist. Wenn die Firewall des Macs aktiviert ist, fragt ein für Sie installiertes BitVoice einmal, ob es eingehende Verbindungen akzeptieren darf: Erlauben Sie dies, damit Telefone eine Verbindung herstellen können. Wenn etwas bereits den Port verwendet, gibt der Installer den Namen aus und stoppt (wählen Sie einen anderen mitBITVOICE_HTTPS=:8444).sh install.sh --uninstall(mitsudofür den eigenen Mac) entfernt es und behält die Daten;--purgeentfernt die Daten und Protokolle auch. Getestet auf macOS 26 (Apple-Silicon), installiert für eine Person: installiert, Signatur überprüft mit dem eigenen ssh-keygen des Macs, ein zweiter Start auf denselben Daten abgelehnt, zurück nachdem das Programm beendet wurde, erneut gestartet aus der App, aktualisiert, ein manipuliertes Programm abgelehnt, ein belegter Port abgelehnt, deinstalliert und Daten behalten, erneut installiert und gelöscht. Die Installation für den gesamten Mac (sudo) wird bei jedem GitHub-Commit auf den macOS-Maschinen von GitHub (Apple-Silicon) getestet: Läuft als_bitvoiceauf Port 443, eine Benutzerinstallation nebenbei abgelehnt, zurück nachdem das Programm beendet wurde, aktualisiert, gelöscht mit nichts übrig (auch der versteckte Benutzer). Intel-Macs wurden noch nicht getestet. - Windows: Als Administrator,
C:\Program Files\BitVoice, gestartet mit Windows, Daten inC:\ProgramData\BitVoice, und eine Firewall-Regel für private und Domänen-Netzwerke; ansonsten für Sie allein, gestartet, wenn Sie sich anmelden. Es funktioniert in Windows PowerShell 5.1 (was Windows Server hat) und in PowerShell 7 und in 5.1, gestartet aus PowerShell 7. BitVoice schreibt sein Protokoll inbitvoice.logim Datenordner (unter 10 MB gehalten, der ältere Teil inbitvoice.log.1), und der Installer gibt den Setup-Code aus, den der Assistent von einem anderen Computer anfordert. Windows bezeichnet ein neues Wi-Fi- oder Netzwerk als Öffentlich, bis es anders angegeben wird, und die Firewall-Regel lässt nichts zu: Für ein Heim- oder Büro-Netzwerk sagt der Installer, wie man es als Privat (Einstellungen, Netzwerk und Internet, Netzwerkeigenschaften) markiert; für einen Cloud-Server gibt es die Regel aus, die hinzugefügt werden muss (öffnen Sie die Ports auch in der Firewall des Anbieters). Installiert als Administrator, ist der Datenordner nur Administratoren lesbar (er enthält die Datenbank und die Schlüssel), und das Startmenü von BitVoice öffnet die Web-Oberfläche; installiert für Sie, startet das Startmenü BitVoice oder öffnet es, wenn es bereits läuft. Egal, wie, es befindet sich in Einstellungen, Apps, Installierte Apps, die es entfernt und fragt, ob die Daten auch entfernt werden sollen. Getestet auf Windows 11 (als Administrator und nicht) und auf Windows Server 2022 auf Amazon EC2: installiert, von außen erreichbar, erneut gestartet nach einem Neustart. - Getestet auf: Ubuntu 24.04 und 20.04, Debian 12 und Fedora 42 (jeweils mit systemd): installiert, Signatur überprüft, ein zweiter Start auf denselben Daten abgelehnt, zurück nachdem das Programm beendet wurde, aktualisiert, ein manipuliertes Programm abgelehnt, deinstalliert und Daten behalten, erneut installiert und gelöscht.
- Linux auf einem Cloud-Server: Die Adresse, die es ausgibt, ist die eigene, private Adresse des Servers; der Installer sagt dies. Öffnen Sie den Server über seine öffentliche Adresse oder seinen Namen, mit 443, SIP und den Audio-Ports geöffnet in der Firewall des Anbieters.
Führen Sie den gleichen Befehl erneut aus, um zu aktualisieren (oder verwenden Sie Updates (Kapitel 62)). sh -s -- --version v0.1.5 (nach der Pipe) wählt eine Version; --uninstall entfernt das Programm und den Dienst und behält die Daten, --purge entfernt auch die Daten. Unter Windows speichern Sie das Skript und führen .\install.ps1 -Version v0.1.5, -Uninstall oder -Purge aus, oder entfernen Sie es in Installierte Apps. Für einen Server, der nicht mit dem Internet verbunden ist, kopieren Sie das Release-Archiv und SHA256SUMS in einen Ordner und setzen Sie BITVOICE_FROM darauf.
Wo es läuft
BitVoice läuft auf Linux, macOS und Windows.
| System | Wie es starten | Wo seine Daten sind |
|---|---|---|
| Linux | ./bitvoice (oder der systemd-Dienst in der Version) | ~/.config/BitVoice |
| macOS | ./bitvoice | ~/Library/Application Support/BitVoice |
| Windows | Doppelklicken auf bitvoice.exe | %APPDATA%\BitVoice |
On Windows, keep the window it opens while you use BitVoice (closing it stops BitVoice), and when Windows asks whether it may use the network, allow private networks so phones can connect. -data puts the data anywhere else; -https and -sip choose the addresses and ports; -log FILE also writes everything it prints to a file, for a computer where nobody watches its window.
Die Ports, die es verwendet
| Port | Wofür |
|---|---|
| 5060 UDP und TCP | SIP: Telefone und Trunks |
| 5061 TCP | SIP über TLS (verschlüsselte Signalisierung) |
| 4569 UDP | IAX2-Trunks, nur wenn einer eingerichtet ist |
| 1720 TCP | H.323-Trunks, nur wenn einer eingerichtet ist |
| 2000 TCP | Skinny (SCCP)-Telefone, nur wenn aktiviert |
| 2727 UDP | MGCP-Gateways, nur wenn aktiviert |
| 10000–20000 UDP | der Klang von Anrufen (RTP), in den Einstellungen festgelegt |
| 8443 TCP | diese Web-Oberfläche, HTTPS nur (plain HTTP wird an HTTPS weitergeleitet) |
Wenn ein anderes Telefoniesystem bereits den Port 5060 verwendet, nimmt BitVoice den nächsten freien Port und der Gesundheitszustand teilt es mit.
Alles in der Web-Oberfläche
Jede Einstellung hat einen Bildschirm, und jeder Bildschirm hat ein Kapitel hier. Nichts benötigt eine Konfigurationsdatei, eine Befehlszeile oder ein zweites Tool. Für die Automatisierung sind die gleichen Bildschirme eine REST-API, und die Konfiguration kann einer Datei in Git (Konfiguration als Code (Kapitel 69)) folgen, aber beides ist nie erforderlich.
Wofür BitVoice ist
BitVoice ist zunächst ein Telefoniesystem für Büros und Kontaktcenter und ein gehosteter Telefonieservice für Anbieter: alles in den ersten fünf Teilen dieses Handbuchs. Das 911-Notrufprofil, die Funkleitkonsole und die NG911-Core-Dienste sind eine separate Lab- und Designpartner-Strecke (Öffentliche Sicherheit (Kapitel 77)): sie sind aus dem Menü ausgeschlossen, bis sie in den Einstellungen aktiviert werden, und nicht für den Live-Einsatz zertifiziert. Notrufe von Ihren eigenen Telefonen sind nicht Teil dieser Strecke; sie funktionieren auf jedem Telefoniesystem ab dem ersten Start.
Ihren Weg finden
- Drücken Sie ⌘K (Strg+K) überall, um zu einem Bildschirm zu springen, oder geben Sie den Namen oder die Nummer einer Nebenstelle ein, um sie zu öffnen.
- Auf einem Telefon befindet sich das Menü hinter dem ☰-Button in der oberen linken Ecke (und die Suche befindet sich neben ihm in der oberen rechten Ecke); die Auswahl einer Seite schließt sie wieder.
- Jeder Bildschirm verfügt über einen Hilfe-Link in der oberen rechten Ecke, der sein Kapitel dieser Anleitung öffnet.
- Änderungen speichert jede Version der Konfiguration: Sie können sehen, was geändert wurde, und es rückgängig machen.
- Drei Designs (Mitternacht, Dunkel und Hell) befinden sich am Fuß des Menüs.
Wie reif jeder Teil ist
Wie weit jeder Teil nachgewiesen wurde, einfach. Feldestgetestet: gegen reale Systeme über ein reales Netzwerk (Amazon EC2, das Internet, reale Anbieterdienste) durchgeführt. Gegen eine Referenz überprüft: gegen eine unabhängige Implementierung oder die eigenen Daten des Standards getestet. Software-getestet: BitVoices eigene Tests und Browser-Tests nur, noch nicht mit realen Geräten oder Konten. Lab: öffentliche Sicherheits-teile, nicht für den Live-Einsatz zertifiziert.
| Bereich | Reife | Was es benötigt |
|---|---|---|
| SIP-Trunks: Registrierung, Anrufe ein- und ausgehend, Anruferkennung, Besetzt, Tasten (RFC 4733) | Feldgetestet | ein kommerzieller Anbieter, SIP.US (Demo-Konto, von EC2): Registrierung und Anrufe ausgehend an das öffentliche Telefonnetz über UDP und über TLS mit dem Zertifikat des Anbieters; MOS 4,39, kein Verlust. Anrufe ein vom öffentlichen Telefonnetz: T38Fax (Faxanrufe an seine Nummer, Registrierung über UDP). Asterisk als Anbieter über das Internet auf EC2; MOS 4,4. Kamailio 5.7 (Registrierung mit Digest-Authentifizierung über TLS, Anrufe in beide Richtungen, Tasten) und FreeSWITCH 1.11 (TLS und SRTP, Anrufe in beide Richtungen, G.722 zu G.711) als Gegenstelle; MOS 4,39 |
| Schreibtischtelefone über SIP | Feldgetestet | Asterisk als Schreibtischtelefon über das Internet. Echte Yealink-, Poly- oder Grandstream-Telefone noch nicht ausprobiert |
| Browser-Telefon (WebRTC) | Feldgetestet | von außerhalb zu EC2; Chromium-Browser-Tests mit Ton in beide Richtungen |
| Zwei Server, ein PostgreSQL, Failover | Feldgetestet | kill -9 und geplanter Stopp auf EC2: der Anruf wird fortgesetzt, die Anbieterleitung wird verschoben |
| Ein-Befehl-Installation | Feldgetestet | Ubuntu 24.04 (x86, Arm), Debian 12, Amazon Linux 2023, Windows Server 2022, Windows 11 (als Administrator und nicht, in PowerShell 5.1 und 7), Ubuntu 20.04 und Fedora 42 in Containern, macOS 26 auf Apple-Silicon (für eine Person und mit sudo für den gesamten Mac in CI); zurück nach einem Neustart |
| Kapazität | Feldgetestet | 2.000 Anrufe gleichzeitig, kein Verlust, MOS 4,41, auf einem 16-vCPU-c7i.4xlarge (etwa 10 vCPUs beschäftigt); 200 gleichzeitig auf c7g.large, c7i.large, t4g.small, einem M4 und dem Lightsail-Nano. Bei 2.000: Jitter 4,0 ms für 95% der Anrufe, längste Lücke zwischen Paketen 74 ms, längste Pause bei der Garbage-Collection 4,2 ms |
| FreePBX-Migration (Import) | Feldgetestet | ein reales FreePBX-17.0.33-Backup (70 MB) vollständig importiert; andere aus FreePBX-eigenen Formaten |
| KI-Transkripte, Zusammenfassungen, Empfangsdienst | Feldgetestet | ein reales Modell über OpenRouter |
| Fakten und Zusammenfassungen ohne Sprachmodell | Software-getestet | erfundene 911-Anrufe nur: 23 von 43 Fakten (53%) im abgeschlossenen Satz, 3 Fakten, die niemand erwartet hat; 41/41 Training, Halte 27/40 kalt. Noch nie auf realen Anrufen gemessen. |
| Sprache-zu-Text auf diesem Server (whisper) | Feldgetestet auf macOS und Linux | whisper-Server 1.9.5 von BitVoice ausgeführt: auf einem Mac und auf Ubuntu auf EC2 (x86-64), wo es die Live-Anruf- und Voicemail-Transkripte im Feldtest der Telefon-App schrieb; Downloads für jede Plattform in CI erstellt und getestet |
| Archivierung in S3, Geheimnisse aus AWS Secrets Manager | Feldgetestet | reales AWS, unser eigenes SigV4 |
| SNMP-Überwachung und Fallen | Feldgetestet | net-snmp's snmpwalk und snmptrapd |
| Let's Encrypt | Feldgetestet | gibt das Zertifikat der öffentlichen Demo aus und erneuert es |
| Maschinenbilder (AWS) und Konfiguration als Code | Feldgetestet | ein EC2-Image von deploy/cloud/build-images.sh aus Ubuntu 24.04 erstellt: jeder Server von ihm startet neu; deploy/terraform mit OpenTofu 1.13 (erstellen, ändern, kein Drift, zerstören). Azure-Images noch nicht ausprobiert |
| IAX2-Trunks | Gegen eine Referenz überprüft | Asterisk 23 |
| Vollständiger ICE hinter NAT (STUN- und TURN-Client) | Gegen eine Referenz überprüft | Chromiums ICE-Agent (Host-Kandidaten und Relay nur), JsSIP-Softphones mit BitVoice-Angebot, coturn 4.18 und BitVoices eigener TURN-Server als Relays, mDNS-Host-Namen von Chromium aufgelöst. Noch nicht von einem Server hinter einem realen NAT-Router aus versucht |
| ICE-Neustart (ein Telefon wechselt das Netzwerk während eines Anrufs) | Gegen eine Referenz überprüft | Chromium startet ICE auf einem Browser-Telefonanruf (BitVoice als ICE-lite und als vollständiger Agent) und SIP.js 0.21 startet durch Re-INVITE über SIP über WebSocket neu: neue Anmeldeinformationen in beide Richtungen, ein neues Kandidatenpaar, Ton alle halbe Sekunde während des Neustarts. Noch nicht auf einem Telefon versucht, das tatsächlich von Wi-Fi zu einem Mobilfunknetz wechselt |
| SIP-History-Info und Diversion (weitergeleitete Anrufe) | Gegen eine Referenz überprüft | Asterisk 20's PJSIP in beide Richtungen: seine weitergeleiteten Anrufe von BitVoice gelesen, und BitVoices Weiterleitungen von Asterisk's REDIRECTING() aus History-Info allein und aus Diversion allein gelesen; RFC 7044-Einträge beibehalten und erweitert bei einer Weiterleitung. Noch nicht mit einem Anbieter oder Teams versucht, die sie senden |
| Firmenverzeichnis (LDAP, Active Directory) | Gegen eine Referenz überprüft | OpenLDAP 2.4 (StartTLS und LDAPS, 1.203 Personen über Paging gelesen, Gruppen, Anmeldung) und Samba 4's Active Directory (LDAPS, Paging, deaktivierte Konten ausgelassen, verschachtelte Gruppen für Klingelgruppen und Rollen). Noch nicht gegen Microsofts eigenen Windows-Server-Domänencontroller versucht |
| ARI (Asterisk REST Interface) | Gegen eine Referenz überprüft | jeder Vorgang von Asterisks veröffentlichtem ARI aufgerufen und seine Antwort mit den erforderlichen Feldern des Modells verglichen; ari-client 2.2.0, Asterisks JavaScript-Bibliothek, liest /ari/api-docs und führt eine Anwendung aus |
| Jeder-Video-Räume (SFU, Simulcast) und Bildschirmfreigabe | Gegen eine Referenz überprüft | drei Chromium-Browser in einem Raum, jeder sendet drei Größen (VP8-Simulcast) und empfängt die beiden anderen; Größen bei Keyframes gewechselt, wenn Kacheln wachsen und schrumpfen. Kameras und ein gemeinsamer Bildschirm (Chromiums eigene Bildschirmaufnahme) in einem H.264-Raum. Noch nicht mit Firefox oder Safari, über das Internet oder mit mehr als drei Kameras versucht; H.264-Simulcast wählt Schichten nach der Reihenfolge des Browsers aus. |
| AGI und FastAGI (Asterisk Gateway Interface) | Gegen eine Referenz überprüft | jede Antwort eines Befehls mit Asterisk 20.6's über FastAGI verglichen; ein FastAGI-Server mit pyst2 geschrieben, der einen Anruf ausführt; EAGI-Audio an ein Programm. Noch nicht mit einem Produktions-IVR versucht |
| KI-Assistenten über MCP | Gegen eine Referenz überprüft | das offizielle MCP-TypeScript-SDK (1.32.2) als Client: Tools aufgelistet und mit einem API-Token über Streamable HTTP (Protokoll 2025-11-25) aufgerufen, und seine OAuth-Anmeldung von Ende zu Ende (Entdeckung, Registrierung, PKCE, Token, Aktualisierung); die Zustimmungsseite in Chromium; die stdio-Brücke gegen einen Testserver. Noch nicht mit Claude, ChatGPT oder einem anderen Assistenten selbst versucht, der einen Server benötigt, der von Internet aus erreichbar ist und ein vertrauenswürdiges Zertifikat hat. |
| Microsoft 365 und Google Workspace (Kontakte und Kalender) | Software-getestet | gegen Stellvertreter von Microsoft Graph (Benutzer, Organisationen, Kontakte, Kalender getSchedule, Client-Zertifikat-Token) und von Google's People API, Calendar freeBusy und JWT-Bearer-Token, die aus ihren veröffentlichten Referenzen erstellt wurden; die Stellvertreter überprüfen, was BitVoice sendet (die JWT-Signatur und -Ansprüche, Paging, Anforderungskörper). Noch nicht mit einem realen Microsoft 365-Mandanten oder Google-Workspace-Domäne versucht. |
| Die Bildschirme in 14 Sprachen | Software-getestet | jeder Text, den die Bildschirme anzeigen (etwa 5.000, aus dem Code: JSX-Text, Zeichenfolgen und die Nachrichten des Servers), maschinell übersetzt von Llama 3.3 70B in 13 Sprachen, 99% beibehalten durch die Überprüfungen (die gleichen Platzhalter, Adressen und Codes unverändert); Deutsch durch die Browser-Tests (Anmeldung, Menü, Suche, ein Formular, zurück zu Englisch) gezeichnet. Noch nicht von einer Person in irgendeiner Sprache überprüft. |
| H.323-Trunks | Gegen eine Referenz überprüft | H323Plus 1.28 (sein simph323 spielt und zeichnet WAV-Dateien auf) auf EC2: Anrufe in beide Richtungen mit Fast Connect und G.711, jede Seite hört den Ton der anderen, MOS 4,39; Anrufaufbau auch mit Asterisks chan_ooh323 (dessen eigener Ton in Asterisk 22 defekt ist) |
| SIP über WebSocket | Gegen eine Referenz überprüft | JsSIP und SIP.js |
| Codecs: GSM, G.726, iLBC, MP3-Haltungsmusik | Gegen eine Referenz überprüft | ffmpeg, das RFC 3951-Referenzprogramm und minimp3, Beispiel für Beispiel |
| Codecs: G.711, G.722, G.729, Opus, Speex | Gegen eine Referenz überprüft | G.711 und G.722 Byte für Byte und Beispiel für Beispiel mit spandsp; G.729s Decoder-Beispiel für Beispiel auf allen sieben von ITU's eigenen Annex-A-Testvektoren (bcg729 ist nicht), sein Encoder interworking mit bcg729 bei gleicher Qualität (G.729 erfordert keine übereinstimmenden Encoder); Opus-Pakete von libopus 1.6.1 decodiert und libopus-Pakete wie libopus decodiert; Speex-Pakete und Ton identisch mit libspeex 1.2.1; Opus-Anrufe mit der Android-App |
| Codecs: AMR-NB, AMR-WB | Gegen eine Referenz überprüft, mit einer bekannten Lücke | AMR-WB decodiert wie opencore-amr Beispiel für Beispiel, und auf 3GPP's eigenen TS 26.174-Testsequenzen stimmt es mit 3GPP's Decoder auf 167 von 198 überein und ist nie messbar niedriger (etwa 31 dB von opencore). Beide stammen aus den festgepinnten goamr-Bibliotheken |
| Codecs, die unverändert übertragen werden: G.722.1 (Siren 7), G.722.1C (Siren 14), G.719, Codec2 | Software-getestet | eigene Tests: mit ihrer Bitrate oder ihrem Modus angeboten, beantwortet, Pakete in beide Richtungen Byte für Byte; nicht konvertiert (kein freies Referenzcode, den BitVoice mitliefern darf, für G.722.1 und G.719). Noch nicht mit einem realen Polycom- oder Konferenzsystem versucht |
| ISDN-PRI und BRI, T1/E1 | Gegen eine Referenz überprüft | libpri (Asterisks), beide Seiten; und auf EC2 durch den realen DAHDI 3.4-Kernel-Treiber (zwei Spannen verkabelt im Kernel, Asterisk 20's chan_dahdi als Telefonanbieter): Anrufe in beide Richtungen mit Nummern und Namen, alle 23 Kanäle gleichzeitig, MOS 4,39. Keine physische Karte oder Leitung noch versucht |
| MFC-R2, E&M | Gegen eine Referenz überprüft | OpenR2; MF-Töne durch unsere eigenen Tests. Keine reale Karte oder Leitung noch versucht |
| SS7 (ISUP, MTP, Link-Sätze mit mehreren Links und Umschaltung) | Gegen eine Referenz überprüft | libss7 (Asterisks chan_dahdi-Bibliothek), ITU und ANSI. Kein reales Anbieter-Link noch versucht |
| Fax (T.30, T.38) | Feldgetestet | ein Fax-Anbieter, T38Fax (kostenloses Testkonto, von EC2): BitVoice sendet ein Fax über das öffentliche Telefonnetz an seine eigene Nummer und empfängt es, beides über T.38 (2 Seiten, 14.400 Bit/s, die Seiten kamen unversehrt an; Registrierung mit Benutzername und Passwort); und ein Fax zwischen einem Faxgerät auf einem Gateway (Asterisk mit spandsp, das für eines steht) und T38Fax durch BitVoice, hinaus und zurück, 2 Seiten bei 14.400 Bit/s in beide Richtungen: einmal alles auf G.711 (das Gateway weigert sich, T.38 zu akzeptieren) und einmal auf T.38 auf beiden Seiten umgeschaltet. spandsp (über Asterisk 20) auf EC2: empfängt und sendet über T.38 mit Fehlerkorrektur, und leitet Faxe zwischen zwei anderen Maschinen über T.38 und über G.711. Kein Hardware-Fax-Gateway noch versucht, und T38Fax hat nie T.38 selbst angefordert, so dass ein Anbieter-Wechsel durch das Gateway nicht gesehen wurde |
| Bereitstellung: Yealink, Poly, Grandstream, Snom, Fanvil, Cisco, Mitel, Sangoma, Algo, CyberData | Software-getestet | die Formate der Hersteller; nicht auf realen Telefonen |
| Skinny (SCCP)-Telefone, MGCP-Gateways | Gegen eine Referenz überprüft | Skinny: Telefone aus der Open-Source-mwicat/sccp-Bibliothek, jede Nachricht von Wiresharks Dissector gelesen, Größen wie Asterisks chan_skinny; MGCP: Yate's MGCP-Gateway (Neustart, vorläufige Antworten, Bestätigungen; es hat keine analogen Anschlüsse, also keinen Anruf). Kein Cisco-Telefon- oder Gateway-Hardware noch versucht |
| Microsoft Teams Direct Routing | Software-getestet | gegen ein simuliertes Microsoft-Proxy, das Microsofts veröffentlichte Direct-Routing-SIP-Regeln befolgt (OPTIONS, Contact, user=phone, Client-Zertifikat, Übertragungen, die Teams anfordert, durch REFER mit x-m und x-t); kein Teams-Mandant noch versucht: Microsoft bietet keinen kostenlosen (Teams Phone-Lizenzen) |
| Hotel (FIAS) | Gegen eine Referenz überprüft | jeder Datensatz, den BitVoice sendet, überprüft gegen Oracle's veröffentlichte FIAS 2.20.23-Spezifikation (Link-Start, Link-Datensätze, Postings, Weckantworten); eigene Tests. Noch nicht gegen Opera selbst |
| Textnachrichten, WhatsApp, Messenger, Web-Chat | Gegen eine Referenz überprüft (Twilio, Telnyx, Bandwidth, Vonage, TextMagic, WhatsApp) | Textnachrichten durch Twilio, Telnyx, Bandwidth, Vonage und TextMagic, und WhatsApp-Textnachrichten, Vorlagen und Vorlagenlisten, gegen Mocks erstellt aus den veröffentlichten OpenAPI-Spezifikationen der Anbieter (Stoplight Prism, ablehnt alles, was die Spezifikation nicht erlaubt; TextMagics ist die, aus der sein Client generiert wird). Vonage's zeigte, dass der Schlüssel in HTTP-Basic gehört, nicht mehr im Formular. SignalWire spricht Twilios API; Plivo, Flowroute, VoIP.ms und Messenger veröffentlichen keine Spezifikation und werden gegen Stellvertreter überprüft, die aus ihrer Dokumentation erstellt wurden. Kein Live-Konto noch versucht |
| CRM-Anruferkarten, Azure Blob, Azure Key Vault | Gegen eine Referenz überprüft | EspoCRM (eine reale Open-Source-CRM, in Docker) für Anruferkarten; Microsofts Azurite-Emulator für Blob-Uploads (Container-SAS, Ablehnungen); Lowkey Vault für Key Vault mit einer verwalteten Identität. Noch nicht gegen Azure selbst oder eine gehostete CRM |
| Spam-Schutz: Roboter-Test, unbekannte Anrufer, Spam-Datenbank, *32, Vorschläge | Software-getestet | BitVoices eigene Tests: ein Anbieter, der über SIP anruft und Tasten (RFC 4733) drückt, den Roboter-Test, bestanden und nicht bestanden; bekannte, immer erlaubte und Notruf-Anrufer klingeln gleichzeitig; die Spam-Datenbank gegen einen Stellvertreter, der wie Twilio seine Lookup mit dem Nomorobo-Add-on beantwortet (kein Twilio-Konto noch versucht); *32 von einem Schreibtischtelefon; Vorschläge aus Anrufprotokollen; die Einstellungen durch die Browser-Tests. Noch nicht gegen reale Robocalls oder eine bezahlte Datenbank |
| iPhone- und Android-Apps | Feldgetestet (Android) | Android: ein Google Pixel 8 (Android 16, Wi-Fi) mit dem signierten Release-Build gegen BitVoice auf EC2 mit einem Let's-Encrypt-Zertifikat: gekoppelt durch Link, klingelte mit Androids Anrufbenachrichtigung, beantwortet von dort, Ton in beide Richtungen, verbunden geblieben, wenn der Bildschirm ausgeschaltet war und im Hintergrund (seine laufende-Anruf-Benachrichtigung, Auflegen); ohne Push klingelt es nicht im Hintergrund. Ein Google Pixel 11 (Android 17) in AWS Device Farm: gekoppelt, klingelte, beantwortet, angerufen; Opus, MOS 4,1. iPhone: die App (SwiftUI, CallKit, PushKit VoIP) baut gegen das aktuelle SDK (Xcode 27) und der Server signiert Apple VoIP-Pushes (APNs, ES256); die gleichen realen Geräte-Fixes wie Android und eine App-Store-Listung (ios/AppStore) sind vorhanden. Beide Apps sind eine vollständige Erweiterung: Übertragung (blind, über REFER), Halten und ein zweiter Anruf, Tastatur und Stummschalten, mit Letzten Anrufen, visueller Voicemail (mit Transkripten), einem Team-Busy-Lamp, Kontakten, dem Mitarbeiter-Chat (Kollegen mit Anwesenheit, direkten Nachrichten und Räumen, mit einer Benachrichtigung im Hintergrund und einem Push, wenn die App geschlossen ist) und einem Live-KI-Transkript auf dem Anruf (AI.LiveCallTranscripts); Übertragung, Halten, das Live-Transkript, der Chat, der einen Kollegen erreicht, die Raumliste, ein Raum, der von einem Telefon beigetreten wird, und der Chat-Push formen sind jeweils von einem Engine-Level-, API- oder Browser-Test abgedeckt. Auf dem Pixel 8 (2026-10-30, Debug-Build, EC2 mit Let's Encrypt): klingelte und beantwortet von der Benachrichtigung, gehalten und wieder aufgenommen (der Android-Anrufzustand folgt), angerufen auf dem Android-Anrufsystem, Opus in beide Richtungen mit MOS 4,38 und kein Verlust; einem Video-Raum beigetreten mit seiner Kamera (abgerufen bei erstem Gebrauch) und sah eine Desktop-Kamera, beide live; eine Chat-Nachricht im Hintergrund benachrichtigte und öffnete Chat. Halten und Übertragung erreichen den nativen Anrufsbildschirm (CallKit, Telecom). Noch nicht auf einem iPhone ausgeführt oder eingereicht: Push, das System-Anrufsbildschirm und die Signierung benötigen unser eigenes Apple-Entwicklerkonto |
| 911-Profil, Funkkonsolen, NG911-Core-Dienste, Anrufer-Video | Labor | NENAs Schemata und Beispieldaten, Wireshark, spandsp, OpenSSL, ExifTool, ffmpeg, ein NIST P25-Capture (seine IMBE-Sprachrahmen entpackt wie mbelib: gleiche Tonhöhe, Obertöne, Stimme und Amplituden); nie auf einem Live-ESInet, P25-System oder PSAP-CAD und nicht zertifiziert |
| P25-Phase-2-Halbtrate-Sprache (AMBE+2) | Nicht angeboten | patentiert bis 2028 |
| Ed448-Signaturen (NENA) | Nicht angeboten | nicht in Go's Standardbibliothek, und BitVoice schreibt keine Kryptographie selbst; Ed25519 wird verwendet |
| SS7-Signaltransfer (STP), SCCP und TCAP | Gegen eine Referenz überprüft | OsmoSTP 2.3.0 über M3UA/TCP mit libosmo-sigtrans SCCP-Echo-Benutzer dahinter: UDT und XUDT in beide Richtungen, UDTS zurückgegeben, globale Titelübersetzung durch den STP, ein Switch auf einem Link-Set, der den Echo über IP erreicht; TCAP gegen libosmo-asn1-tcap in beide Richtungen. ITU nur; kein SCTP, verbindungsorientierter SCCP oder SCCP-Verwaltung; kein reales Anbieter-Link noch versucht |
| MFC-R2-China-Variante (China Nr. 1) | Software-getestet | jeder Signal eines Anrufs überprüft gegen Cisco's veröffentlichte China-Tabellen und Anrufsequenzen (KA, KD, Gruppe B durch den gesendeten KD, C und D-Bits 11). OpenR2's China-Variante stimmt nicht mit sich selbst überein, also kein Programm, um es zu testen; kein reales Leitungs-Test |
| ALI über PAM oder E2 | Nicht angeboten | PAM ist Intrados eigenes Protokoll mit keiner veröffentlichten Spezifikation; E2 (J-STD-036, NENA 05-001) läuft zwischen einem Mobilfunk-Positionierungszentrum und der ALI-Datenbank, nicht zu einem PSAP. BitVoice spricht die Anfrage- und Text-ALI-Links und HELD statt |
Nebenstellen
/extensionsEine Nebenstelle ist eine Nummer für eine Person oder einen Schreibtisch. Telefone melden sich mit der Nebenstellennummer und ihrem SIP-Passwort an; Anrufe an diese Nummer lassen alle Telefone, die unter dieser Nummer angemeldet sind, gleichzeitig klingeln.
Eine Erweiterung hinzufügen
- Öffnen Sie Erweiterungen (Kapitel 3) und drücken Sie Erweiterung hinzufügen. Die nächste freie Nummer und ein starkes SIP-Passwort werden automatisch ausgefüllt.
- Geben Sie den Namen der Person ein (Name, der auf anderen Telefonen angezeigt wird, wenn sie anrufen) und die E-Mail-Adresse (für Voicemail per E-Mail).
- Füllen Sie den 911-Standort aus: den Standort, die Etage und das Zimmer. Er wird mit Notrufen gesendet.
- Wählen Sie, was passiert, wenn niemand antwortet: Voicemail standardmäßig oder eine andere Erweiterung, eine Gruppe oder ein Menü.
- Speichern Sie. Die Erweiterung kann sich sofort anmelden.
Die Felder
| Feld | Was es tut |
|---|---|
| Nummer | 2 bis 8 Ziffern; keine andere Nebenstelle, Gruppe, Warteschleife, Raum oder Funktionscode darf diese Nummer haben |
| SIP-Passwort | mit dem sich das Telefon anmeldet; mindestens 12 Zeichen; Generieren erstellt ein neues |
| Klingeln für | Sekunden, bevor Wenn niemand antwortet eintritt (standardmäßig 25) |
| Außenkennung | die Nummer, die auf ausgehenden Anrufen angezeigt wird; leer verwendet die Kennung des Trunks |
| Kann externe Nummern anrufen | deaktiviert, um das Telefon auf interne Anrufe und Notrufnummern zu beschränken |
| Anrufe aufzeichnen | wenn die Einstellungen nur ausgewählte Nebenstellen aufzeichnen |
| Hot Desk | ein gemeinsam genutztes Telefon, das zu dem wird, der sich daran anmeldet |
| Anrufe an dieses Telefon verschlüsseln | Medienverschlüsselung (SRTP); verwenden Sie dies mit TLS, um die Schlüssel privat zu halten |
| Abteilung | gruppiert die Anrufkosten dieser Nebenstelle |
Follow-me, Pickup und Intercom
Jede Person hat ihre eigene Anrufbehandlung in ihrem eigenen Bereich auf der Nebenstelle:
- Follow-me lässt weitere Nummern klingeln, wenn die Telefone hier nicht beantwortet werden: ein Mobiltelefon, ein anderer Schreibtisch. Sie klingeln nacheinander oder gleichzeitig, für ihre eigene Klingelzeit. Mit Externe Nummern drücken 1, um den Anruf anzunehmen aktiviert, drückt der Anrufer auf seinem Mobiltelefon 1, bevor der Anruf angenommen wird, damit das Mobiltelefon nie den Anruf annimmt. Siehe Funktionscodes (Kapitel 32).
- Pickup-Gruppe: Jeder in der gleichen Gruppe kann die klingelnden Anrufe dieser Nebenstelle beantworten, indem er
*8wählt. - Intercom zulassen:
*80und diese Nummer beantwortet den Anruf automatisch über den Lautsprecher. Schalten Sie dies für Personen aus, die dies nie wollen. - Eigene Schnellwahlen: Kurzcodes nur für diese Person, die nach
*0gewählt werden.
Weiterleitung im Moment
Unter den Einstellungen zeigt Weiterleitung im Moment an und ändert, was die Person von ihrem Telefon oder dem Mitarbeiterportal aus eingestellt hat: nicht stören und Weiterleitung aller Anrufe, von Anrufen während der Beschäftigung und von Anrufen, die nicht beantwortet werden. Dies sind Live-Zustände, keine Konfiguration: Änderungen hier haben keine Revision zur Folge.
Was verbunden ist
- Telefon: ein Schreibtischtelefon, Softphone oder App.
- Türstation: ein Intercom an einer Tür. Der Anrufer drückt den Code oder Tür öffnen auf Live-Anrufen. Mit einer Türsteuerungsadresse ruft BitVoice diese Adresse auf (2N, Axis, Akuvox, Relaisplatten); ohne eine solche Adresse sendet der Code an die Station, die die Tür selbst öffnet.
- Lautsprecher: Anrufe an diesen werden sofort beantwortet und über den Lautsprecher gehört.
- Analogadapterport: ein altes Telefon, Fax oder Alarmpanel auf einem Adapter. Anrufe verwenden nur G.711, was Faxe benötigen.
Verbundene Geräte
Eine geöffnete Nebenstelle zeigt jedes Gerät an, das als diese angemeldet ist: die Marke und das Modell des Telefons, wie es verbunden ist (UDP, TCP, TLS oder Browser) und seit wann. Die Adresse und der Port, den ein Telefon benötigt, werden auch dort angezeigt.
Telefonanschluss
/phonesJedes SIP-Telefon oder jede App funktioniert: Richten Sie es auf die Adresse und den Port 5060 dieses Servers aus, mit der Nebenstellennummer als Benutzer und dem SIP-Passwort. Schreibtische von den vier großen Herstellern werden automatisch eingerichtet, sodass niemand ein Passwort in die Tastatur eines Telefons eingeben muss.
Automatische Einrichtung (Provisioning)
- Auf Telefone (Kapitel 4) drücken Sie Telefon hinzufügen und geben die MAC-Adresse des Telefons ein (auf einem Aufkleber auf der Unterseite) und die Erweiterung, zu der es gehört.
- Wählen Sie die Marke: Yealink, Poly, Grandstream (einschließlich der HT-Analog-Adapter), Snom, Fanvil, Cisco, Mitel, Sangoma, Algo oder CyberData.
- Informieren Sie das Telefon darüber, wo BitVoice ist: in Ihrem DHCP-Server setzen Sie Option 66 auf die auf dem Bildschirm angezeigte Provisionierungsadresse, damit jedes Telefon im Netzwerk es automatisch findet; oder geben Sie die gleiche Adresse auf der Web-Seite des Telefons unter Auto-Provisionierung ein.
- Starten Sie das Telefon neu. Es lädt seine Datei über HTTPS, meldet sich an und seine Leitungstasten zeigen, wer am Telefon ist.
HTTPS oder einfaches HTTP. Telefone laden ihre Datei über HTTPS, wenn sie können. Einige ältere Telefone können HTTPS überhaupt nicht verwenden und viele vertrauen dem Zertifikat, das BitVoice selbst erstellt hat, nicht; für diese zeigt der Bildschirm auch eine einfache http://-Adresse auf demselben Port an. Einfaches HTTP ist nur für diese Dateien: Jede andere Seite geht immer noch zu HTTPS. Über einfaches HTTP überquert das SIP-Passwort des Telefons das Netz unverschlüsselt, also halten Sie es in einem vertrauenswürdigen Büronetz oder installieren Sie ein Zertifikat von einer Behörde und schalten Sie HTTPS nur für Telefone ein.
Die Datei enthält die Nebenstelle, ihr Passwort, die Zeitzone, die Codecs, die Besetzt-Lampen-Tasten und die Adresse dieses Servers. Die Provisionierung ist durch einen Benutzernamen und ein Passwort geschützt, das den Telefonen einmal gegeben wird.
| Hersteller | Getestete Modelle | Was es erhält |
|---|---|---|
| Yealink | T3x, T4x, T5x | Konto, BLF-Tasten, Zeit, Codecs |
| Poly | VVX, Edge E | dasselbe, im eigenen Format von Poly |
| Grandstream | GRP, GXP, HT802/814 | Konto pro Port auf Adaptern |
| Snom | D7xx | Konto, Tasten, Zeit |
Diese Hersteller werden auch provisioniert, mit Dateien, die im Format jedes Herstellers erstellt werden, aber noch nicht auf ihren Geräten getestet wurden (der Bildschirm Telefone markiert sie als ungetestet):
| Hersteller | Modelle | Datei, die das Gerät anfordert |
|---|---|---|
| Fanvil | X- und V-Serie | seine MAC-Adresse .cfg |
| Cisco | 6800, 7800, 8800 Multiplatform (3PCC), SPA-Adapter | seine MAC-Adresse .xml (Unternehmens-Firmware benötigt zuerst die Multiplatform-Firmware) |
| Mitel (Aastra) | 6800, 6900 SIP | seine MAC-Adresse .cfg, in Großbuchstaben |
| Sangoma | S-Serie | die Fanvil-Format-Datei |
| Algo | Lautsprecher, Warngeräte, Adapter | algop und seine MAC-Adresse .conf |
| CyberData | Lautsprecher, Intercoms, Paging-Adapter | seine MAC-Adresse .xml |
Jedes erhält sein Konto, den Server (und den Backup-Server, bei mehreren Servern), den Transport und die Verschlüsselung sowie die Voicemail-Nummer, wenn vorhanden. Setzen Sie die Erweiterungen von Algo- und CyberData-Lautsprechern auf Lautsprecher , damit Anrufe sofort beantwortet werden.
Telefone ohne Provisioning
Softphones und andere Marken benötigen die gleichen drei Dinge: Server (die Adresse dieses Computers, Port 5060 oder 5061 mit TLS), Benutzer (die Erweiterungsnummer) und Passwort (das SIP-Passwort). Die Gesundheitsliste zeigt Telefone an, die ein falsches Passwort versucht haben; nach einigen Versuchen wird die Adresse für eine Weile gesperrt (siehe Sicherheit (Kapitel 60)).
Das Browser-Telefon
Das Telefon-Symbol am unteren Rand jedes Bildschirms macht diesen Browser zu einem Telefon für eine Erweiterung, mit Ihrem Mikrofon und Lautsprecher. Es verwendet WebRTC: der Ton ist Ende-zu-Ende verschlüsselt und funktioniert durch die meisten Firewalls ohne jegliche Einstellung.
Other WebRTC softphones (SIP over WebSocket)
Softphones and web apps built on JsSIP, SIP.js and similar libraries speak SIP over WebSocket (RFC 7118). Switch on SIP over WebSocket in Settings (Kapitel 14) and point them at wss://<this server's name>:<web port>/ws, with the extension number as the user and its SIP password. BitVoice ends their WebRTC sound itself (ICE, DTLS-SRTP, Opus or G.711), so they reach every phone, trunk and feature as desk phones do: calls both ways, keys pressed, hold, transfers by the other party, busy lamps and message-waiting. Settings shows how many are connected.
Das WebSocket benötigt keine eigene Anmeldung: das Softphone meldet sich mit SIP an, und fehlgeschlagene Anmeldungen und zu viele Anfragen werden für seine eigene Adresse gezählt, wie für jedes Telefon. Eine Softphone-Seite, die von einem anderen Standort bereitgestellt wird, muss das Zertifikat dieses Servers vertrauen (verwenden Sie Let's Encrypt), und der aktuelle Chrome fragt den Benutzer, bevor eine öffentliche Web-Seite einen Server im lokalen Netzwerk erreichen kann.
Getestet mit zwei unabhängigen Bibliotheken, JsSIP 3.13 und SIP.js 0.21: zwei Softphones von jedem registrieren, rufen einander an und hören einander durch BitVoice. Andere Softphones (Linphones Web-Client, Zoipers) sprechen das gleiche Protokoll, aber wurden nicht ausprobiert.
TURN, für Netzwerke, die UDP blockieren
Einige Netzwerke (Hotels, Gast-WiFi, strenge Firmen-Feuerwände) lassen kein UDP heraus oder verstecken Computer hinter NATs, die WebRTC nicht durchdringen kann. Für diese schalten Sie den TURN-Server in Einstellungen (Kapitel 14) ein: BitVoice führt dann seinen eigenen TURN-Server (RFC 8656) auf Port 3478 (UDP und TCP) und, mit diesem Server-Zertifikat, auf Port 5349 über TLS aus. Browser-Telefone, das Personal-Telefon und Anruf-Links erhalten kurzlebige Anmeldeinformationen für es und verwenden es, wenn sie die Medien-Ports nicht direkt erreichen können; der Sound ist immer noch verschlüsselt, und BitVoice leitet ihn nur an seine eigenen Adressen weiter, so dass niemand es verwenden kann, um etwas anderes zu erreichen.
Öffnen Sie den TURN-Port, den TLS-Port und die Relay-Ports (49152 bis 49407, es sei denn, Sie ändern sie) in der Firewall. TURN über TLS benötigt ein Zertifikat, das Browser für den Namen, den sie verwenden, vertrauen, wie z. B. eines von Let's Encrypt (Kapitel 14): bis ein solches vorliegt, bietet BitVoice es Browsern nicht an (sie würden es versuchen, fehlschlagen und warten), und bietet es an, sobald das Zertifikat eintrifft; setzen Sie seinen Port auf 443 auf einem Server mit einer freien Adresse, um durch Feuerwände zu gelangen, die nur HTTPS zulassen.
Netzwechsel während eines Anrufs
Ein Telefon, das während eines Anrufs in ein anderes Netz wechselt (z. B. vom Büro-WLAN in ein mobiles Netz oder von einem Laptop von einem WLAN zu einem anderen), erhält eine neue Adresse, und der alte Pfad hört auf, Ton zu übertragen. Browser-Telefone und die BitVoice-Apps erkennen dies automatisch: Wenn der Browser angibt, dass das Netzwerk gewechselt hat, oder der Pfad des Anrufs für zwei Sekunden nicht antwortet, startet das Telefon den ICE-Neustart (RFC 8445 9). Es bietet neue ICE-Anmeldeinformationen für den aktuellen Anruf an, BitVoice antwortet mit neuen eigenen und überprüft den neuen Pfad, und der Anruf wechselt ohne erneutes Wählen auf diesen. Die Verschlüsselung wird mit den gleichen Schlüsseln fortgesetzt. Währenddessen zeigt der Anruf Wiederverbinden… an; auf einem Pfad, der noch funktioniert, gibt es keine Lücke, da der alte Pfad den Anruf bis zum Eintreffen des Tons auf dem neuen Pfad aufrechterhält. SIP-Softphones über WebSocket (JsSIP, SIP.js) funktionieren auf die gleiche Weise durch eine erneute INVITE mit neuen ICE-Anmeldeinformationen. Mit BitVoice als ICE-lite oder hinter NAT muss nichts umgeschaltet werden.
BitVoice hinter NAT
Der oben erwähnte TURN-Server hilft Browsern in strengen Netzwerken, eine BitVoice-Instanz zu erreichen, die eine öffentliche Adresse hat. Wenn BitVoice selbst keine öffentliche Adresse hat (in einem Büro hinter einem Router ohne Portweiterleitung oder in einem Cloud-Netzwerk ohne öffentliche Adresse auf dem Computer), aktivieren Sie Dieser Server ist hinter NAT unter BitVoice hinter NAT in Einstellungen (Kapitel 14). BitVoice nimmt dann vollständig an ICE (RFC 8445) teil, anstatt auf eine Adresse zu antworten (ICE-lite):
- Es bietet Browsern seine eigenen Adressen, seine öffentliche Adresse, wie STUN-Server sie sehen, und Relais auf TURN-Servern, auf die es sich einwählt (UDP; ein Benutzername und ein Passwort pro Server), und überprüft jedes Adressenpaar mit dem Browser, wie der Browser es tut.
- Jeden Anruf über TURN weiterleiten sendet alle Browser-Medien durch die TURN-Server, für Netzwerke, die dies erfordern.
- Meine Adressen finden fragt die Server wie bei einem Anruf und listet auf, was BitVoice anbieten wird: seine eigenen Adressen, die öffentliche Adresse, wie sie durch STUN gesehen wird (ein STUN-Server, der nicht antwortet, wird entsprechend gekennzeichnet), und seine Relais.
- Es funktioniert für das Browser-Telefon, Anruf-Links, den Echo-Test und SIP-over-WebSocket-Softphones, in beiden Rollen: BitVoice antwortet auf ein Angebot eines Browsers und bietet einem Softphone an, das es anruft. Browser, die ihre Adressen hinter mDNS-Namen (
name.local) verstecken, werden im lokalen Netzwerk aufgelöst, und die Adresse des Browsers, wie der Webserver sie gesehen hat, wird von Anfang an durch die Relais weitergeleitet. - Standardmäßig deaktiviert; es fügt jedem Anruf einen Moment hinzu, während die Server antworten (maximal eineinhalb Sekunden). Anrufer-Videos verwenden ICE-lite auf jeden Fall.
Das Mitarbeiter-Telefon
Öffnen Sie #/phone auf jedem Computer oder mobilen Browser: Mitarbeiter melden sich mit ihrer Erweiterung und SIP-Passwort an, ohne ein Administratorkonto zu benötigen. Es ist ein vollständiges Telefon: Wählen, Annehmen, Halten, Weiterleiten und die Tastatur. Für ihre eigene Weiterleitung und Voicemail verwenden sie das Mitarbeiter-Portal unter #/me (siehe Das Mitarbeiter-Portal (Kapitel 33)).
Die mobilen Apps
Die BitVoice-Apps für iPhone und Android werden über die Erweiterungsseite mit einem QR-Code gepairt. Anrufe wecken die App durch die Push-Dienste von Apple und Google, sodass sie auch klingelt, wenn sie geschlossen ist (sobald die Push-Einrichtung abgeschlossen ist; siehe unten).
Skinny-Telefone und MGCP-Gateways
/desk-phonesTelefone und Gateways, die kein SIP sprechen, können dennoch verwendet werden. Skinny-Telefone und MGCP-Gateways (unter Anrufe) unterstützen zwei ältere Protokolle:
- Skinny (SCCP): Cisco-Schreibtischtelefone mit SCCP-Firmware (79xx, 69xx, 89xx). Fügen Sie jedes Telefon über seine MAC-Adresse hinzu und wählen Sie seine Nebenstelle; aktivieren Sie Skinny-Telefone akzeptieren und zeigen Sie dem Telefon den Weg zu BitVoice (TCP-Port 2000) in seiner TFTP-Einstellungsdatei oder im Menü.
- MGCP (RFC 3435): Gateways, deren Ports BitVoice einzeln steuert, wie z.B. Analog-Telefon-Adapter und Leitungskarten. Fügen Sie das Gateway über den Domännamen hinzu, den es in seinen Endpunktnamen verwendet (aaln/1@name), seine Adresse und die Nebenstelle jeder Leitung; setzen Sie den Gateway-Call-Agenten auf BitVoice (UDP-Port 2727).
Jedes Skinny-Telefon oder MGCP-Gerät ist ein weiteres Gerät seiner Nebenstelle: es klingelt mit den anderen Telefonen der Nebenstelle, ruft aus als die Nebenstelle und wird in den Geräten der Nebenstelle angezeigt. Die Seite zeigt den Zustand jedes Geräts an.
Was funktioniert
- Skinny: Registrierung, die Leitung und ihre Nummer auf dem Display, Wählton, Wählen (die Nummer wird nach einer Pause oder #, oder sofort von der Telefon-Tastatur aus, wenn nach dem Wählen gehoben wird, übertragen), Rückruf, Klingeln mit Anrufer-ID, Annehmen und Auflegen durch das Telefon, den Lautsprecher oder Soft-Tasten (NewCall, Redial, Answer, EndCall), Besetzt- und Reorderton.
- MGCP: Wählton, Ziffern, die vom Gateway mit einer Ziffern-Karte gesammelt werden, Klingeln mit Anrufer-ID (ohne Anrufer-ID, wenn das Gateway die Anrufer-ID ablehnt), Rückruf, Besetzt- und Reorderton und die Audio-Verbindung (CRCX, DLCX). Ein Gateway, das neu startet (RSIP), hat seine Ports wieder eingerichtet.
- Audio ist G.711 µ-law auf beiden; BitVoice wandelt in das Format um, das die andere Partei verwendet.
Halten, Übertragen und Konferenz werden derzeit von den anderen Telefonen der Nebenstelle durchgeführt, und eine zweite Leitung eines Skinny-Telefons wird nicht verwendet.
Sicherheit
Kein Protokoll verwendet Passwörter. Skinny-Telefone werden nur aus dem lokalen Netzwerk und nur dann akzeptiert, wenn sie aufgeführt sind; MGCP-Befehle werden nur von der Adresse des Gateways (oder ohne eine, vom lokalen Netzwerk) befolgt. Halten Sie beide Ports vom Internet fern.
Ein Gateway, das noch an einem Befehl arbeitet, antwortet möglicherweise zunächst mit "100 Trying": BitVoice wartet dann länger, bevor es den Befehl erneut sendet und die endgültige Antwort (000) bestätigt, wie es RFC 3435 verlangt. Ein Port, den das Gateway nicht überwacht, zeigt die Ablehnung des Gateways auf der Seite an, wie z.B. das Gateway hat abgelehnt, den Port zu überwachen: 507 Nicht unterstützte Funktionalität von einem Medien-Gateway ohne analoge Ports.
Wie sie getestet werden
- Skinny: Zwei Telefone, die aus einer separaten Skinny-Implementierung (die Open-Source-Bibliothek mwicat/sccp) erstellt wurden, registrieren sich, rufen sich gegenseitig an, nehmen ab und legen auf; ein nicht gelistetes Telefon wird abgelehnt. Der Skinny-Dissektor von Wireshark liest jede Nachricht, die BitVoice sendet, ohne Fehler, und die Nachrichten haben die gleichen Größen wie die, die Asterisk's chan_skinny an Cisco-Telefone sendet.
- MGCP: Gegen Yate's MGCP-Gateway (Neustart, vorläufige Antworten, Bestätigungen, Ablehnungen) und BitVoice's eigenes Test-Gateway für gesamte Anrufe. Yate's Gateway hat keine analogen Ports, daher wurde kein Anruf durch es hergestellt.
Telefonkarten
/cardsEine Telefonkarte im BitVoice-Computer (Digium, Sangoma, OpenVox und andere Karten mit Linux-DAHDI-Treibern) kann analoge Telefone und Telefonleitungen tragen. Ein separates Programm, bitvoice-dahdi, steuert die Karte und verbindet ihre Ports mit BitVoice über die Netzwerkverbindung des Computers, sodass BitVoice selbst nie den Kernel-Treiber berührt und ein Kartenproblem das Telefon-System nicht stoppen kann.
Einrichten
- Installieren Sie die DAHDI-Treiber und richten Sie die Ports wie üblich in /etc/dahdi/system.conf ein (
fxoks=1-4für Ports mit Telefonen,fxsks=5-8für Ports mit Leitungen und die Töne des Landes inloadzoneunddefaultzone), dann führen Siedahdi_cfgaus. - Unter Telefonkarten (unter Anrufe) schalten Sie Telefonkarten verwenden ein. Ein Token wird erstellt; kopieren Sie es in eine Datei, die nur root lesen kann, wie z.B. /etc/bitvoice/cards.token.
- Fügen Sie jeden Port nach seiner DAHDI-Kanalnummer hinzu: ein Telefon-Port (FXS, ein Telefon, Fax oder Tür-Telefon, das angeschlossen ist) mit seiner Nebenstelle, oder ein Leitungs-Port (FXO, eine Telefon-Leitung) mit der Leitungs-Nummer. Wählen Sie A-Gesetz für Europa und den größten Teil der Welt, µ-Gesetz für Nord-Amerika und Japan.
- Für Leitungen fügen Sie einen Trunk mit dem Protokoll Telefonkarten-Leitungen auf Trunks hinzu und leiten Zahlen darauf um, wie auf jeden Trunk; eingehende Routen entsprechen jeder Leitungs-Nummer.
- Starten Sie
bitvoice-dahdi -server https://127.0.0.1:8443 -token-file /etc/bitvoice/cards.tokenals Dienst-Benutzer, der /dev/dahdi öffnen darf. Es befindet sich im Linux-Download neben bitvoice. Die Seite zeigt, ob es läuft und den Zustand jedes Ports; Änderungen erreichen es innerhalb von zehn Sekunden. Ein Kanal, den ein anderes Programm noch hält (oder den dahdi_cfg noch nicht eingerichtet hat), wird alle zwei Sekunden erneut versucht, sodass die Reihenfolge, in der Dinge starten, keine Rolle spielt.
Was funktioniert
- Telefone: Wählton, Wählen (Ziffern werden von BitVoices eigenem Ton-Detektor gehört; die Nummer wird nach einer Pause oder # übertragen), Rückruf, Besetzt- und Überlastungston von der Karten-Ton-Zone, Klingeln für eingehende Anrufe und Tasten, die während eines Anrufs gedrückt werden (als RFC 4733-Ereignisse übertragen).
- Leitungen: eine klingelnde Leitung ruft ihre Nummer hier an und wird beantwortet, wenn der Anruf beantwortet wird; ausgehende Anrufe nehmen eine freie Leitung, warten auf den Wählton der Vermittlungsstelle und wählen die Nummer als Töne. Das Auflegen des fernenden Endes wird bemerkt, wenn die Leitung es meldet (Schleifstrom oder Polarität, je nach Leitung). Analoge Leitungen sagen nicht, wenn das fernende Ende antwortet, sodass ein ausgehender Anruf als beantwortet gilt, sobald die Nummer gewählt ist.
- Ton ist G.711 zu und von der Karte; BitVoice wandelt in das Format um, das die andere Partei verwendet.
Digitale Leitungen: T1 und E1 PRI
Eine T1- (23 Anrufe auf einmal) oder E1-Leitung (30) läuft als primäre ISDN-Rate und wird in eine digitale Karte (Digium/Sangoma TE-Serie, OpenVox D-Serie und ähnliche) gesteckt. BitVoice spricht das PRI selbst (Q.921 auf dem D-Kanal und Q.931-Anrufsteuerung), sodass jeder Anruf mit der gewählten Nummer und der Anrufer-ID hereinkommt, ausgeht mit der Anrufer-ID der Nebenstelle und die Vermittlungsstelle sagt, wenn das fernende Ende antwortet, klingelt oder besetzt ist.
- Richten Sie in /etc/dahdi/system.conf den Span für PRI wie üblich ein (
span=1,1,0,esf,b8zs,bchan=1-23,hardhdlc=24für eine T1;span=1,1,0,ccs,hdb3,crc4,bchan=1-15,17-31,hardhdlc=16für eine E1) und führen Siedahdi_cfgaus. - Unter Digitale Leitungen auf Telefonkarten (Kapitel 6) fügen Sie den Span hinzu: T1 oder E1, seine erste DAHDI-Kanalnummer, ob BitVoice die Nebenstelle auf der Leitung der Vermittlungsstelle ist (normalerweise) oder das Netzwerk (eine andere Nebenstelle verbindet sich mit BitVoice, als ob mit der Vermittlungsstelle), und die Schaltart, die die Vermittlungsstelle Ihnen gegeben hat.
- Fügen Sie den Karten-Trunk auf Trunks hinzu, wenn es noch keinen gibt, und eingehende Routen für die Zahlen (DIDs), die die Vermittlungsstelle sendet.
Ausgehende Anrufe nehmen ein PRI zuerst, die analogen Leitungen danach; eine besetzte Nummer, eine falsche Nummer oder kein freier Kanal kommt als besetzt, nicht gefunden oder nicht verfügbar zurück, wie das Netzwerk sagt. Die Seite zeigt, ob der D-Kanal jedes Spans auf ist und wie viele seiner Kanäle in Anrufen sind. T1-Kanäle, die mit robbed-bit-Signalisierung eingerichtet sind (fxsks, fxoks), funktionieren wie die analogen Ports oben.
Namen, Weiterleitungen und Übertragungen. Der Name des Anrufers wird mit dem Anruf übertragen (vom Display-Element oder bei National ISDN-2 vom Namen, den das Netzwerk als Einrichtung sendet) und auf den Telefonen angezeigt; ausgehende Anrufe senden den Namen der Nebenstelle auf die gleiche Weise. Die Nummer, von der ein Anruf weitergeleitet wurde, wird als Umleitungsnummer übertragen (BitVoice leitet sie als SIP-Diversion mit dem Grund weiter: besetzt, keine Antwort, bedingungslos), und wenn eine Nebenstelle eine Weiterleitung sendet, die einen Anruf auf dem PRI zurücksendet, wird die Nummer der Nebenstelle als Umleitungsnummer übertragen, damit die Gegenseite und die Telefonfirma wissen, wessen Anruf es ist. Wenn ein externer Anruf beantwortet wird, teilt BitVoice dem Netzwerk die Nummer mit, die den Anruf beantwortet hat (die verbundene Nummer).
Schalten Sie Weiterleitungen über die Telefonfirma auf einem Span (Benutzerseite, National ISDN-2, 5ESS, DMS-100 oder EuroISDN) ein und wenn jemand einen Anruf auf dieser Leitung an eine andere Nummer auf der gleichen Leitung weiterleitet, bittet BitVoice das Netzwerk, die beiden Anrufe selbst zu verbinden: Zwei B-Kanal-Weiterleitung auf National ISDN-2- und 5ESS-Leitungen, Release-Link-Trunk-Weiterleitung auf einer Nortel-DMS-100, explizite Anrufweiterleitung (der Anrufer wird gehalten und dann verbunden) auf EuroISDN. Ein DMS-100 gibt einen Weiterleitungsidentifikator nur für Anrufe aus, die BitVoice platziert, also muss einer der beiden Anrufe ein ausgehender Anruf sein (der übliche Fall: ein Anrufer, der an eine externe Nummer weitergeleitet oder übertragen wird). Beide Kanäle werden sofort freigegeben, sobald das Netzwerk sie verbunden hat. Die Leitung benötigt den Dienst (anfordern Sie bei der Telefonfirma "Zwei B-Kanal-Weiterleitung" oder "ECT"); wenn das Netzwerk ablehnt, funktioniert die Weiterleitung dennoch über BitVoice, wobei beide Kanäle wie zuvor verwendet werden. Auf einem Span, auf dem BitVoice die Netzseite ist, kann ein anderer PBX BitVoice auffordern, zwei seiner Anrufe zu verbinden; BitVoice lehnt ab (es ist kein Switch), und der PBX behält die Anrufe selbst.
Ausprobieren ohne Karte
DAHDI's eigene dynamische Spans können als Karte dienen: zwei Spans, die innerhalb des Kernels verbunden sind, BitVoice auf einem und ein anderer PBX (Asterisk's chan_dahdi, sagen wir) als die Telefonfirma auf dem anderen. Laden Sie dahdi, dahdi_dynamic und dahdi_dynamic_loc, und in /etc/dahdi/system.conf:
dynamic=loc,1:0,24,0 dynamic=loc,1:1,24,0 bchan=1-23 dchan=24 bchan=25-47 dchan=48
Lassen Sie die letzte Nummer (Zeit) auf 0 auf beiden: DAHDI's eigener Timer treibt sie dann an. Spans, die jeweils die Zeitquelle des anderen sind, ticken nur, wenn der andere sendet, und der D-Kanal kommt und geht. Fügen Sie Span 1 hier als T1 (erster Kanal 1) hinzu und stellen Sie den anderen PBX als Netzseite auf den Kanälen 25 bis 48 ein.
Basisrate-ISDN (BRI)
Ein BRI überträgt zwei Anrufe gleichzeitig (B1 und B2) und ist in Europa für kleine Büros verbreitet; es verbindet auch ISDN-Schreibtischtelefone. BRI-Karten (Digium B410P, die HFC-basierten Karten von OpenVox, Junghanns und anderen) funktionieren über DAHDI wie die PRI-Karten: in /etc/dahdi/system.conf ist der Span span=1,1,0,ccs,ami mit bchan=1-2 und hardhdlc=3. Fügen Sie es unter Digitale Leitungen mit BRI als Leitungstyp hinzu; seine Kanäle sind B1, B2 und dann der D-Kanal.
- BitVoice ist der PBX (Benutzerseite), Punkt-zu-Punkt: eine PBX-Leitung von der Telefonfirma (Deutschlands *Anlagenanschluss*): eingehende Anrufe übertragen die gewählte Nummer, ausgehende Anrufe die Nummer der Nebenstelle.
- Benutzerseite, Mehrpunkt: eine Leitung, die mit anderen Geräten geteilt wird (*Mehrgeräteanschluss*): BitVoice bittet das Netzwerk um seine eigene TEI (Terminalkennung) und beantwortet Anrufe auf der Leitung neben anderen Geräten auf ihr; die Telefonfirma sendet die gewählte Nummer (die MSN), die die eingehenden Routen entsprechen.
- BitVoice ist das Netz, Mehrpunkt: ISDN-Telefone werden in die S-Bus-Karte wie in eine Telefonleistung eingesteckt. Jedes bittet BitVoice um eine TEI; ein Anruf auf dem Bus läutet jedes Telefon auf ihm, das erste, das abnimmt, nimmt den Anruf an und die anderen hören auf zu läuten. Ziffern, die schrittweise gewählt werden (wie ISDN-Telefone wählen), werden gesammelt, bis das Telefon angibt, dass es vollständig ist, # gedrückt wird oder vier Sekunden lang keine Ziffer kommt. Richten Sie die Nummern zu und von dem Bus mit der Karten-Trunk wie für jede Leitung ein.
Namen, Weiterleitungen, Übertragungen auf EuroISDN (explizite Anrufweiterleitung) und Gebührenhinweise funktionieren auf einem BRI wie auf einem PRI.
E&M-Trunks auf einem T1
Ein T1, dessen Kanäle als E&M (gekappte-Bit-Signalisierung: e&m=1-24 in /etc/dahdi/system.conf) eingerichtet sind, bietet 24 Trunks, die jeweils auf ihrem eigenen signalisiert werden: Verbindungsleitungen zu einem anderen PBX, Kanalbanken und Ferngesprächsträger-Feature-Group-D-Trunks. Unter Digitale Leitungen fügen Sie einen T1 hinzu und setzen Signalisierung auf E&M, dann:
- Startsignal: Wink-Start (der übliche: die Gegenseite winkt, wenn sie bereit ist für die Nummer, und BitVoice winkt zurück, wenn ein Anruf eingeht), Sofortstart (die Nummer folgt der Besetzung sofort), Verzögertes Wählen (die Gegenseite geht vom Hörer, während sie sich bereit macht, und dann wieder auf den Hörer), oder Feature Group D (Wink-Start mit MF-Nummern, die Rufnummer des Anrufers wird zuerst gesendet: KP 00 ANI ST, dann KP-Nummer ST; die ANI wird zur Anruferkennung).
- Nummern, die gesendet werden: DTMF oder MF (MF R1, KP-Nummer ST) wie die meisten Carrier-Trunks es wollen.
- Nummer, wenn keine gesendet wird: was ein Anruf erreicht, wenn die Gegenseite den Trunk besetzt, ohne eine Nummer zu wählen (eine private Leitung direkt zum Empfang, sagen wir).
Ein Ausgangsruf belegt eine freie Trunk, nimmt sie in Anspruch, wartet auf das Startsignal (kein Wink innerhalb von fünf Sekunden ist "kein Wink" und der Anruf schlägt fehl), sendet die Nummer und wird beantwortet, wenn das entfernte Ende den Hörer abnimmt (Antwortüberwachung). Ein eingehender Anruf wird beantwortet, indem der Hörer abgenommen wird, wenn die Erweiterung antwortet.
CAMA-Trunks (911, Lab-Track). Ein PSAP, das noch von einem 911-Selektivrouten über CAMA-Trunks gespeist wird, setzt Startsignal auf CAMA (911-Trunk). Der Router nimmt die Trunk in Anspruch, BitVoice winkt und der Router sendet die Rufnummer des Anrufers (ANI) in MF: erweitertes CAMA als KP, zwei Informationsziffern und alle zehn Ziffern, ST; traditionelles CAMA als KP, eine Nummernplanziffer und sieben Ziffern, ST. Für traditionelles CAMA listen Sie unter Area-Codes für NPD 0 bis 3 den Area-Code auf, den jede Nummernplanziffer darstellt (die Konfigurationsseite Ihres Routers enthält diese Informationen); eine Ziffer über 3 bedeutet, dass der Router die Leitung nicht identifizieren konnte. Jeder Anruf geht an die Eingangsroute für 911 als 911-Anruf, mit der ANI als Rückrufnummer, und BitVoice sucht die Lage anhand dieser Nummer auf (siehe 911-Anrufe (Kapitel 77), Ortsabfrage (ALI)). Die Informationsziffern werden im Anruf als CAMA (II 00) angezeigt.
MFC-R2 auf einer E1
In Lateinamerika, Teilen Asiens und Afrikas sind E1-Leitungen oft MFC-R2 anstelle von ISDN: 30 Kreise, von denen jeder seine Leitungszeichen auf den A- und B-Bits des Timeslots 16 (ITU-T Q.421) und seine Nummer, die Kategorie des Anrufers und die Nummer des Anrufers in erzwungenen Mehrfrequenztönen (Q.441) austauscht, vorwärts und rückwärts. Richten Sie den Span auf CAS in /etc/dahdi/system.conf ein (span=1,1,0,cas,hdb3, cas=1-15:1101, cas=17-31:1101, dchan entfernt), dann fügen Sie unter Digitale Leitungen eine E1 hinzu, setzen Sie Signalisierung auf MFC-R2 und wählen Sie die Ländervariante: ITU-T, Argentinien, Brasilien, China, Kolumbien, Tschechische Republik, Ecuador, Mexiko, Philippinen oder Venezuela. Jedes Land weist einige Signale anders zu (was besetzt bedeutet, wie das Ende der Nummer angezeigt wird, Mexikos zusätzliche Gruppe C); die Variante enthält diese. China Nr. 1 fordert die Klasse des Anrufers (KA) und die Nummer nach der gewählten Nummer an, sendet den Anruftyp (KD: 3, ein lokaler Anruf) zuletzt, liest Besetzt und Inaktiv durch den gesendeten KD und setzt die C- und D-Bits beide auf 1: Dort schreiben Sie cas=1-15:1111 und cas=17-31:1111.
Jeder Kreis überträgt Anrufe in beide Richtungen. Ein eingehender Anruf erreicht die eingehenden Routen mit der gewählten Nummer und der Nummer des Anrufers (unterdrückte Nummern kommen als anonym herein); ein besetztes Telefon oder eine falsche Nummer wird als besetzt oder nicht zugewiesen signalisiert, wie die Variante angibt. Ein ausgehender Anruf sendet die Nummer und die Absenderkennung des Telefons oder das Signal "Nummer unterdrückt", wenn der Anrufer es versteckt.
Die MFC-R2-Signalisierung wird gegen OpenR2 (die R2-Bibliothek, die chan_dahdi von Asterisk verwendet) getestet, in jeder angebotenen Variante und in beiden Richtungen, einschließlich eines abgelehnten Anrufs als busy; E&M gegen BitVoices eigene simulierte Kanäle.
SS7
Ein Carrier kann T1s oder E1s übertragen, die durch SS7 und nicht durch ISDN signalisiert werden: die Sprachkreise führen Anrufe durch, von denen jeder durch einen Kreisidentifikationscode (CIC) benannt wird, und ein Timeslot führt die Signalisierungsverbindung zum Signaltransferpunkt oder Switch des Carriers über, über den ISUP die Anrufe einrichtet. BitVoice ist dann ein Signalisierungspunkt mit einem Punktkode, den der Carrier zuweist. Stellen Sie in /etc/dahdi/system.conf den Span als klare Kanäle mit dem Signalisierungstimeslot als mtp2 oder hardhdlc ein (Timeslot 16 auf einem E1, 24 auf einem T1). Fügen Sie unter Digitale Leitungen den Span hinzu, setzen Sie Signalisierung auf SS7 (ISUP) und geben Sie:
- SS7-Variante: ANSI (Nordamerika; Punktkodes Netz-Cluster-Mitglied, wie 245-16-1) oder ITU-T (meistens der Welt; Punktkodes Zonen-Bereich-Punkt, wie 1-10-2, oder eine einfache Nummer).
- Unser Punktkode und Angrenzender Punktkode, das Netz (national, normalerweise, oder international), den Signalisierungs-Link-Code (SLC, 0, sofern nicht anders angegeben) und den Ersten CIC: den Code des ersten Sprachkanals des Spans, die anderen folgen in der Reihenfolge. All diese Informationen stammen vom Carrier.
Link-Sätze mit mehreren Links. Spans mit der gleichen Variante, Punktkodes und Netz sind ein Link-Satz (bis zu 16 Links): Jeder Signalisierungslink des Spans ist ein Link, und benötigt seinen eigenen Link-Code, und alle Kreise jedes Spans gehören dazu (ihre CICs dürfen sich nicht überlappen). Der Verkehr wird zwischen den Links, die in Betrieb sind, durch die SLS-Nachrichten geteilt, sodass die Nachrichten eines Anrufs immer auf einem Link bleiben. Wenn ein Link ausfällt (der Link-Test bleibt unbeantwortet oder Nachrichten werden nicht bestätigt), ändert sich der Verkehr auf die anderen Links (Q.704: COO und COA, die Nachrichten, die das entfernte Ende nicht erhalten hat, werden auf einem anderen Link erneut gesendet; oder, wenn innerhalb der Zeit keine Antwort erfolgt, durch Zeit), die Anrufe auf jedem Span bleiben bestehen, und Telefonkarten zeigt, wie viele Links in Betrieb sind und wie dieser Span steht. Wenn der Link wieder verfügbar ist und getestet wurde, ändert sich der Verkehr zurück (CBD und CBA). Nur wenn alle Links ausfallen, ist der Link-Satz aus.
Wenn die Verbindung hergestellt ist, richtet BitVoice sie aus (MTP-Ebene 2, wobei die Notfallprüfungsperiode als einzelne Link-Link-Menge verwendet wird), testet sie mit dem Link-Test (SLTM/SLTA), tauscht den Verkehr neu zu und setzt jeden Kreis (GRS) zurück. Anrufe, die erreicht werden, gelangen zu den eingehenden Routen mit der gewählten Nummer, der Nummer des Anrufers (unterdrückte als anonym), der Nummer, von der der Anruf weitergeleitet wurde, und auf ANSI die Name des Anrufers; ausgehende Anrufe übertragen die Anruferkennung und den Namen der Nebenstelle. Die Sperrung oder Zurücksetzung von Kreisen durch den Träger wird beachtet. Bei doppelter Beschlagnahme behält das Ende mit dem höheren Punktkode die geraden Kreise, wie in Q.764 angegeben, und BitVoice nimmt die Kreise, die es zuerst behält.
SS7 wird gegen libss7 (die SS7-Bibliothek, die Asterisks chan_dahdi verwendet) getestet, ITU und ANSI: Ausrichtung, Link-Test, Verkehrswiederherstellung, Kreisrücksetzung, Anrufe in beide Richtungen mit Nummern und Namen, Freigabe, Besetzt und Sperrung; und BitVoice gegen sich selbst mit verlorenen Frames auf dem Link (durch MTP2-Fehlerkorrektur erneut gesendet) und einer doppelten Beschlagnahme. Signalübertragung (als STP für andere) und SCCP/TCAP (Nummernportabilitätsabfragen, gebührenfreie Übersetzung) werden nicht angeboten: Ein PBX ist ein Endpunkt, und diese sind die des Trägers.
Signalübertragungspunkt (STP). bitvoice-dahdi kann auch ein STP für seine ITU-SS7-Link-Sätze sein: Schalten Sie Signalübertragungspunkt (SS7) unter den digitalen Leitungen ein. Sein STP-Punktcode ist der eigene der Spans. Mit Nachrichten für andere Punktcodes weiterleiten wird eine Nachricht von einem Link-Satz für den benachbarten Punkt eines anderen an diesen Link-Satz gesendet, und eine für jeden anderen Punktcode wird an den IP-STP (M3UA) gesendet: Ein IP-STP oder Signalisierungs-Gateway bei Host:Port, das über M3UA (RFC 4666) über TCP erreicht wird, dessen Nachrichten für die Punktcodes der Link-Sätze auf dem gleichen Weg zurückkommen (BitVoice registriert seinen Punktcode und die dahinter liegenden, sofern kein Routing-Kontext angegeben ist). Global-Titel-Übersetzung sendet SCCP-Nachrichten, die an den STP durch Global-Titel adressiert sind, an den Punktcode und das Subsystem des längsten übereinstimmenden Präfixes, wie ein SCCP-Relay es tut. Eine Nachricht, die nicht zugestellt werden kann, kommt als UDTS oder XUDTS zurück, wenn sie dies angefordert hat: Keine Übersetzung, keine Route (MTP-Fehler), kein Subsystem hier oder sein Hop-Zähler ist abgelaufen. Der Status des STP zeigt den M3UA-Link und wie viele Nachrichten er weitergeleitet, übersetzt und zurückgegeben hat. Seine SCCP (UDT, XUDT, UDTS, XUDTS) und TCAP (Beginn, Fortsetzung, Ende, Abbruch, Dialoge und Komponenten) werden gegen Osmocom überprüft: OsmoSTP über M3UA, libosmo-sigtran's SCCP-Echo-Benutzer dahinter und libosmo-asn1-tcap's eigener TCAP-Coder in beide Richtungen. SCTP wird nicht angeboten (Go hat keines): M3UA läuft über TCP, was OsmoSTP und viele IP-STPs akzeptieren. Verbindungsbasiertes SCCP, ANSI-Link-Sätze und SCCP-Verwaltung (SST, SSA) werden nicht angeboten.
Kostenhinweis. Auf einer EuroISDN-Leitung schaltet man Kostenhinweis ein und BitVoice fragt das Telefonunternehmen bei jedem ausgehenden Anruf, was es kostet: während des Anrufs (AOC-D) und am Ende des Anrufs (AOC-E), in Geld oder in Abrechnungseinheiten. Der letzte Betrag wird auf dem Anrufszettel (1,50 EUR berechnet in der Historie und neben dem Anruf auf Kosten) aufgeführt; wenn er in der eigenen Währung (auf Kosten eingestellt) ist, ist es die Kosten des Anrufs, anstelle des Betrags aus den Tarifen des Trunking. Das Telefonunternehmen muss den Dienst auf der Leitung anbieten. SIP-Trunking kann denselben Hinweis senden, als 3GPP-AOC-XML in einem INFO- oder BYE, und BitVoice behält es auf dieselbe Weise.
Der PRI-Code wird gegen libpri (die ISDN-Bibliothek, die Asterisk verwendet) getestet, sowohl als Benutzerseite als auch als Netzseite, für National-ISDN-2- und EuroISDN-Anrufe, Namen, Umleitungen und verbundene Nummern, explizite Anrufweiterleitung, den Two-B-Channel-Transfer und DMS-100-Release-Link-Trunk-Anfragen Byte für Byte (mit libpri's PBX, die von BitVoice als DMS-100 verbunden ist) und Kostenhinweis in beide Richtungen; und auf BRI, Punkt-zu-Punkt und Mehrpunkt, als Terminal und als Netz (TEI-Zuweisung, Anrufe, die an den Bus gesendet werden, Zahlen, die Ziffer für Ziffer gewählt werden).
Noch nicht: Anruferkennung, die auf analogen Telefone angezeigt wird oder von analogen Leitungen gelesen wird, Klingelton und Echo-Unterdrückung über das, was die Karte selbst tut, hinaus.
Trunks
/trunksEin Trunk ist Ihr Konto bei einem Telefonanbieter. Er trägt Anrufe zu und von externen Nummern. Die meisten sind SIP-Trunks; ein Asterisk- oder FreePBX-Server oder ein IAX2-Anbieter kann mit IAX2 anstelle von SIP erreicht werden.
Eine SIP-Trunk hinzufügen
- Auf Trunks (Kapitel 7) drücken Sie Trunk hinzufügen.
- Geben Sie den Provider-Server ein, den Ihr Telefonanbieter Ihnen gegeben hat (
sip.provider.com), und den Port, wenn er nicht 5060 ist. - Geben Sie den Benutzernamen und das Passwort ein und schalten Sie Registrieren ein, wenn der Provider es sagt (die meisten tun dies).
- Speichern Sie. Innerhalb weniger Sekunden zeigt der Trunk registriert an; wenn nicht, wird der Grund neben ihm angezeigt.
Der Trunk-Gesundheits-Richter
Mit zwei oder mehr Trunks auf einer ausgehenden Route urteilt BitVoice alle 15 Sekunden, ob jeder Trunk an seinem Platz verwendet wird oder nach den anderen Trunks. Ein Trunk rückt hinter die anderen, wenn sein Provider die Keep-Alive-Abfragen nicht mehr beantwortet oder wenn seine letzten Anrufe aus auf der Provider-Seite fehlgeschlagen sind (Fehlanrufe in Folge innerhalb von Innerhalb (Minuten), Einstellungen, Trunk-Gesundheits-Richter), und ein anderer Trunk funktioniert. Er wird nicht verschoben, wenn nur die Keep-Alive-Abfrage fehlschlägt, während Anrufe durch ihn noch durchgehen; und wenn alle Trunks gleichzeitig fehlschlagen, ist die wahrscheinliche Ursache dieser Systems eigene Internet-Verbindung, so dass nichts verschoben wird. Eine Änderung benötigt zwei Urteile in Folge (30 Sekunden), so dass ein Trunk nie flattert. Ein Trunk wird nie vollständig entfernt: er wird immer noch versucht, wenn die anderen fehlschlagen, so dass ein Notruf immer jeden Weg nach außen hat. Die Trunk-Seite zeigt das Urteil und seine Gründe an; ein Anruf, der auf einem anderen Weg gegangen ist, sagt dies in seinem Protokoll an.
- Fügen Sie eine eingehende Route für Ihre Nummer und eine ausgehende Route hinzu, die diesen Trunk verwendet (Anruf-Weiterleitung (Kapitel 8)).
| Field | What it does |
|---|---|
| Transport | UDP (usual), TCP, or TLS for encrypted signalling |
| Register | sign in every few minutes, so the provider knows where to send calls |
| Authentication username | only when the provider gives a separate one |
| From domain | the domain in the caller's address, when the provider asks for one |
| Caller ID | the number shown on calls out; an extension's own caller ID wins |
| Also accept calls from | the provider's other addresses or networks that send calls in. Calls from this computer by phones registered here, and the built-in call generator's, are never taken as the trunk's, even when it allows 127.0.0.1 |
| Calls at once | the limit your plan allows; calls beyond it go to the next trunk in the route |
| Encrypt media | SRTP, for providers that support it. A provider that answers without it still gets the call, unencrypted, and Call history marks the call Not encrypted |
| Require encryption | (with Encrypt media) refuse what the provider will not encrypt: a call out it answers without SRTP is hung up, and a call in it sends without SRTP is refused; Call history says why |
| Codecs | leave it on *same as Settings*, or choose what this provider supports, best first |
| Rates | what calls cost by number prefix, for Costs (Kapitel 54) |
Cloud-Anbieter
Starten von füllt Microsoft Teams Direct Routing, Amazon Chime SDK Voice Connector oder Azure Communication Services aus, mit einer Notiz darüber, was auf deren Seite einzurichten ist. Teams wird in seinem eigenen Kapitel beschrieben (Microsoft Teams (Kapitel 67)).
IAX2-Trunks zu Asterisk und FreePBX
Wählen Sie IAX2 als Protokoll, um einen anderen Asterisk- oder FreePBX-Server oder einen IAX2-Anbieter zu verbinden. IAX2 überträgt Signalisierung und Sound auf einem UDP-Port, 4569, was es einfach durch Firewalls macht.
- Server-Adresse: der andere Server. Lassen Sie es leer, wenn der andere Server sich bei BitVoice registriert (eine Zweigstelle hinter einer wechselnden Adresse); dann sind Benutzername und Passwort das, mit dem er sich registriert.
- Benutzername und Passwort: dieselben auf beiden Seiten. BitVoice beantwortet und sendet MD5-Herausforderungen und behandelt Anruf-Tokens.
- Registrierung: Anmeldung beim anderen Server, damit er Anrufe hierher senden kann.
Auf der Asterisk-Seite reicht ein Peer wie dieser aus:
[bitvoice] type=friend host=dynamic secret=the shared password context=from-bitvoice
Der IAX2-Port 4569 wird nur geöffnet, wenn der erste IAX2-Trunk hinzugefügt wird, sodass ein auf demselben Computer laufender Asterisk-Server bis dahin wartet.
H.323-Trunks
Wählen Sie H.323 als Protokoll für ältere Gateways, PBX-Systeme und Videokonferenzsysteme, die H.323, aber nicht SIP sprechen. Geben Sie die Gateway-Adresse ein (Port 1720); Anrufe werden nur von diesem akzeptiert. Anrufe werden mit Fast Connect und G.711 (µ-law oder A-law; die Codec-Liste des Trunks kann es auf eines einschränken) aufgebaut, und der Sound geht direkt zwischen dem Gateway und den Medien-Ports von BitVoice. BitVoice wandelt es in das um, was die andere Partei verwendet.
H.323 hier ist absichtlich klein: kein Gatekeeper (RAS), kein H.245 (also erhält ein Gateway, das Fast Connect nicht verwenden wird, keinen Anruf und wird entsprechend informiert), kein Video, keine H.235-Sicherheit. Die Anruferkennung kommt aus der Q.931-Rufnummer oder dem Alias der gewählten Ziffern, der Name aus der Anzeige oder seiner H.323-ID. Die H.225.0- und H.245-Codierung von BitVoice wurde gegen einen unabhängigen ASN.1-Encoder überprüft, aber noch nicht gegen Gateway-Hardware.
Weitergeleitete Anrufe
Wenn ein Anruf bereits weitergeleitet wurde (jemandes Nummer an Ihre weitergeleitet oder ein Teams-Benutzer), teilt der Anbieter dies mit History-Info (RFC 7044) oder Diversion (RFC 5806) mit. BitVoice liest beides: Anrufliste (Kapitel 47) zeigt weitergeleitet von die Nummer an, die es weitergeleitet hat, mit der ursprünglich gewählten Nummer und dem Grund im Tooltip, der Anrufverlauf sagt es in Worten und der Anrufdatensatz speichert es (forwardedFrom, original, forwardReason). Wenn der Anbieter die Privatsphäre der Anrufhistorie verlangt, werden die Nummern nicht gespeichert.
Wenn eine Erweiterung einen Anruf über einen Trunk weiterleitet (alle Anrufe, wenn besetzt, wenn niemand antwortet), wird dem Anbieter mitgeteilt, welche Erweiterung den Anruf weitergeleitet hat und warum, damit er Ihre Nummer anzeigen und die richtige Rechnung stellen kann: standardmäßig mit beiden Headern und mit der Anrufhistorie, die beibehalten und der Weiterleitung hinzugefügt wird. Ein Anbieter, der von einem der Header verwirrt ist, kann unter Erweitert, Weitergeleitete Anrufe zeigen, wem sie gehören auf den anderen umgestellt werden. Bei einer T1/E1-Telefonkarte wird jeder Header zur Umleitungsnummer des Netzwerks.
Was der Status bedeutet
| Status | Bedeutung |
|---|---|
| registriert | angemeldet; Anrufe können eintreffen |
| bereit | meldet sich nicht an oder IAX2 wartet auf Anrufe |
| nicht erreichbar | der Servername ist nicht im DNS oder nichts antwortet |
| fehlgeschlagen | der Anbieter hat die Anmeldung abgelehnt; der Grund wird angezeigt |
| Bereitschaft | Server teilen sich diesen Trunk abwechselnd und ein anderer hält ihn |
Anrufweiterleitung
/routesDie Anrufweiterleitung entscheidet über zwei Dinge: wohin Anrufe von außen gehen, basierend auf der gewählten Nummer, und welchen Trunk Anrufe zu externen Nummern verwenden.
Eingehende Routen
Jede eingehende Route entspricht der gewählten Nummer (oder jeder Nummer) und leitet den Anruf an ein Ziel weiter: eine Erweiterung, eine Ringgruppe, eine Warteschleife, ein Menü, einen Zeitplan, ein Skript, einen Konferenzraum, einen AI-Empfang oder eine Voicemail. Nummern entsprechen in jeder Form: +1 212 555 0100, 2125550100 und 12125550100 sind gleich.
- Eine Route für eine Nummer gewinnt gegenüber einer Route für jede Nummer.
- Eine Route kann auf einen Trunk beschränkt werden, für Nummern, die zwei Anbieter senden.
- Mit Notfallmodus (Einstellungen) geht jeder eingehende Anruf an einen Ort, anstatt dem, was die Routen sagen: eine Evakuierung, eine Schließung, ein Ereignis.
Ausgehende Routen
Ausgehende Routen entsprechen dem, was die Leute wählen, basierend auf einem Muster, und leiten es an Trunks in der Reihenfolge weiter: wenn der erste down oder voll ist, wird der nächste versucht.
| Muster | Entsprechung |
|---|---|
X | jede Ziffer |
Z | 1 bis 9 |
N | 2 bis 9 |
[1-5] | eine von mehreren |
. am Ende | eine oder mehrere weitere Ziffern |
NXXNXXXXXX | eine zehnstellige nordamerikanische Nummer |
1NXXNXXXXXX | dieselbe mit 1 davor |
011. | ein internationaler Anruf aus den USA |
- Entfernen nimmt Ziffern von vorne (eine 9 für eine externe Leitung); Dann vorne hinzufügen fügt einige hinzu (eine Ländervorwahl).
- Die Reihenfolge ist wichtig: die erste Route, deren Muster entspricht, wird verwendet. Ziehen Sie Routen, um sie zu ändern.
- Premium-Nummern (900 und ähnliche) werden abgelehnt, es sei denn, eine Route nennt sie.
Notrufnummern
Notrufnummern funktionieren immer. Eine Route, die die Nummer genau nennt, wird zuerst verwendet; wenn keine vorhanden ist, wird jeder aktive Trunk nacheinander versucht. Ein Anruf bei ihnen wird nie abgelehnt, weil eine Erweiterung begrenzt ist, eine gehostete Organisation begrenzt ist oder eine Route fehlt. Der Gesundheitszustand warnt, wenn kein Trunk sie übertragen kann.
PIN-Sätze
/pin-setsEin PIN-Satz (Kapitel 9) ist eine Liste von PINs, die eine ausgehende Route vor dem Anrufen abfragt: um internationale oder Ferngespräche an Personen mit einem PIN zu beschränken oder Anrufe an Kunden und Projekte nach ihrem Code abzurechnen.
- PIN-Satz hinzufügen und die PINs auflisten (4 bis 10 Ziffern jede).
- Schalten Sie PIN im Anrufprotokoll speichern ein, um die verwendete PIN in jedes Anrufprotokoll als Kontokennzahl (die accountcode-Spalte der CSV-, Syslog- und PostgreSQL-Anrufprotokoll-Ausgaben und
accountin der API) zu schreiben. - Auf Anrufweiterleitung (Kapitel 8) einen ausgehenden Pfad öffnen und den Satz unter PIN abfragen auswählen.
Anrufer, die eine Nummer wählen, die dieser Pfad annimmt, hören „Bitte geben Sie Ihre PIN ein und drücken Sie die Raute“, geben sie ein und der Anruf wird durchgestellt. Drei falsche PINs beenden den Anruf und der Versuch wird als Sicherheitsereignis protokolliert. Notrufnummern fragen nie nach einer PIN, egal welchen Pfad sie nehmen, und weitergeleitete Anrufe und Follow-me-Nummern werden nicht gefragt: nur Personen, die von einem Telefon aus wählen.
Anruferkennung
/lookupsViele Telefonanbieter senden die Nummer des Anrufers, aber keinen Namen. BitVoice sucht zunächst in den Unternehmenskontakten (Kapitel 38); danach kann ein eingehender Pfad eine Anruferkennung (Kapitel 10) abfragen:
- Eine Web-Adresse: Ihre CRM oder jeder Dienst, der mit dem Namen antwortet. Setzen Sie
{number}ein, wo die Nummer hingeht (https://crm.example.com/api/callers?phone={number}). Eine einfache Textantwort gibt den Namen in der ersten Zeile; für JSON geben Sie das Name-Feld als einen punktierten Pfad an (data.contact.name; eine Zahl tritt in eine Liste ein, wie inresults.0.name). Basic-Authentifizierung ist optional. - OpenCNAM: die nordamerikanische Anrufer-Namen-Datenbank, mit Ihrer Account-SID und Authentifizierungstoken.
Wählen Sie die Abfrage auf einem eingehenden Pfad auf Anrufweiterleitung (Kapitel 8) (Anruferkennung). Telefone zeigen den Namen während des Klingelns an und er wird in das Anrufprotokoll aufgenommen.
Eine Abfrage hält einen Anruf nie auf: BitVoice wartet höchstens 1,5 Sekunden (sofern nicht geändert, maximal 5) und klingelt dann ohne Namen. Antworten werden für einen Tag (oder so lange, wie Sie einstellen, oder nie mit -1) gespeichert, sodass ein regelmäßiger Anrufer nicht bei jedem Anruf abgefragt wird; Nummern, die der Dienst nicht kennt, werden nach einer Stunde erneut abgefragt. Testen auf der Abfrage-Seite fragt sofort nach einer Nummer, mit den gespeicherten Einstellungen.
Notrufe
Notrufnummern werden immer durchgestellt, von jedem Anschluss, auch von solchen, die keine externen Nummern anrufen können. Dieses Kapitel behandelt Notrufe, die von den Telefonen getätigt werden, die von BitVoice gesteuert werden: ein Büro, das 911 anruft. Das Beantworten von 911-Anrufen ist das 911-Profil (Kapitel 77).
Was BitVoice bei jedem Notruf tut
- Leitet ihn weiter, immer: ein Pfad, der die Nummer zuerst nennt; wenn keiner vorhanden ist, jeder funktionierende Trunk nacheinander. Beschränkungen hindern dies nie: ein Anschluss, der keine externen Anrufe tätigen darf, eine gehostete Organisation, die ihre Anrufgrenze erreicht oder ausgesetzt hat, ein Trunk, der seine Kanalgrenze erreicht hat.
- Sendet den Standort des Anrufers: mit Senden des Anruferstandorts aktiviert (Einstellungen), überträgt der Anruf die zivile Adresse des Standorts, die Etage und den Raum an den Anbieter als PIDF-LO.
- Informiert Personen vor Ort (Kari's Law in den USA): die Anschlüsse unter Benachrichtigen erhalten eine Nachricht auf ihren Telefonen, jeder offene BitVoice-Bildschirm zeigt eine Warnung an und die Adressen unter E-Mail auch erhalten eine E-Mail mit dem Namen des Anrufers, dem Anschluss, dem Standort, der Etage und dem Raum, sodass jemand den Rettern an der Tür begegnen kann.
- Lässt den Rückruf zu: für eine Stunde nach einem Notruf werden eingehende Anrufe nie abgelehnt, sodass der Notrufpunkt immer zurückrufen kann.
Einrichten
- Überprüfen Sie die Notrufnummern in Einstellungen (Kapitel 14) (nach Ländern festgelegt: 911 und 933 in den USA).
- Fügen Sie jedes Gebäude unter Standorte (Kapitel 12) hinzu, mit seiner Straßenadresse und den Netzwerken, die seine Telefone verwenden.
- Geben Sie jedem Anschluss seinen Standort, seine Etage und seinen Raum.
- Stellen Sie sicher, dass ein ausgehender Pfad und ein Trunk Notrufe übertragen; Gesundheit (Kapitel 13) warnt, wenn keiner verfügbar ist.
- Füllen Sie Benachrichtigen und E-Mail auch aus.
- Wählen Sie
933(in den USA), um die Adresse zu hören, die Ihr Anbieter hat.
Remote-Arbeiter
Ein Telefon, das sich von außerhalb der Netzwerke seines Standorts anmeldet, ist ein Remote-Arbeiter: seine Telefonseite fragt nach seinem Standort und diese Adresse wird stattdessen verwendet. Warnungen sagen, wenn sie nicht bestätigt wurde.
Notfallmodus
Eine andere Sache: ein Schalter, der jeden eingehenden Anruf an einen Ort sendet (Evakuierung, Schließung, Vorfall). Legen Sie fest, wohin Anrufe gehen, einen optionalen Code wie *55 und die erlaubten Erweiterungen, um ihn in Einstellungen (Kapitel 14) zu wählen; schalten Sie es auf dem Dashboard (Kapitel 1), oder indem Sie den Code wählen (steigende Töne für Ein, ein tiefer Ton für Aus). Eine rote Leiste erscheint auf jedem Bildschirm, solange es eingeschaltet ist.
Standorte und Büro-911
/sitesEin Standort ist ein Gebäude: seine Straßenadresse und die Netzwerke, die seine Telefone verwenden. Standorte sind die Art und Weise, wie ein Notruf angibt, wo der Anrufer ist, bis hin zum Stockwerk und Raum. In den USA verlangen Kari's Law und RAY BAUM'S Act genau dies von Geschäftstelefonanlagen.
Hinzufügen eines Standorts
Auf Standorte (Kapitel 12) drücken Sie Hinzufügen:
| Feld | Was es ist |
|---|---|
| Name | wie es von den Menschen genannt wird: Hauptbüro |
| Straße, Stadt, Bundesland oder Provinz, Postleitzahl, Land | die zivile Adresse, an die die Rettungskräfte geschickt werden |
| Netzwerke | die Adressbereiche, die seine Telefone verwenden, wie z. B. 10.1.0.0/16; eine pro Zeile |
Dann geben Sie für jede Nebenstelle ihren Standort, Stockwerk und Raum an. Gesundheit (Kapitel 13) listet Nebenstellen ohne Standort auf.
Wie der Standort eines Telefons gefunden wird
- Ein Telefon, das sich von einem der Netzwerke eines Standorts anmeldet, befindet sich an diesem Standort, mit dem Stockwerk und Raum der Nebenstelle.
- Ein Hot Desk trägt den eigenen Standort, Stockwerk und Raum des Schreibtisches, nicht die Person, die angemeldet ist (Hot Desking (Kapitel 36)).
- Ein Telefon, das sich von außerhalb jedes Netzwerks eines Standorts anmeldet, ist ein Remote-Arbeiter. Bei der ersten Notruf-fähigen Anmeldung von einem neuen Ort wird der Benutzer aufgefordert, seine Adresse auf seiner Telefonseite zu bestätigen; Notrufe übermitteln dann diese Adresse.
- Wenn ein Remote-Arbeiter nie bestätigt hat, wird der Anruf dennoch getätigt, mit dem üblichen Standort der Nebenstelle, und Warnungen sagen, dass die Adresse nicht bestätigt wurde.
Standortwarnungen
Mit E-Mail, wenn jemand 911 anruft in den Einstellungen, erhalten die genannten Personen den Namen des Anrufers, die Nebenstelle, den Standort, das Stockwerk und den Raum, sobald ein Anruf bei einer Notrufnummer beginnt, damit jemand den Rettungskräften an der Tür begegnen kann. Benachrichtigen-Nebenstellen erhalten eine Nachricht auf ihren Telefonen, und jeder offene BitVoice-Bildschirm zeigt eine Warnung. Siehe Notrufe (Kapitel 11).
Gesundheit
/healthGesundheit sagt aus, ob das System für Anrufe bereit ist und wenn nicht, was zu tun ist. Jede Zeile sagt, was falsch ist, in einfachen Worten und verlinkt auf den Bildschirm, auf dem es behoben wird. Überprüfen Sie es nach jeder Änderung von einer bestimmten Größe.
Was es überprüft
| Überprüfung | Warum es wichtig ist |
|---|---|
| Notrufe können ausgehen | eine Route und ein funktionierender Trunk tragen die Notrufnummern |
| Extensions ohne Notrufort | ihre 911-Anrufe würden keinen Stock oder Raum übertragen |
| Der Telefondienst | SIP hört zu und auf welchem Port |
| Telefone nicht verbunden | Extensions, bei denen niemand angemeldet ist |
| Trunks | registriert oder der Grund, warum sie nicht registriert sind |
| Menüs ohne aufgezeichnete Ansage | Anrufer würden Stille hören |
| Die Zeitzone | Zeitpläne folgen ihr |
| Aufzeichnungen und ihre Aufbewahrung | Festplattenspeicher und wie lange Aufzeichnungen aufbewahrt werden |
| Zertifikate | wenn das TLS-Zertifikat abläuft |
| Schlüsselspeicher | Geheimnisse, die ein Speicher nicht lesen kann |
| Andere Server | wenn mehrere einen Datenbestand teilen, ob jeder läuft |
Probleme sind farblich gekennzeichnet: Rot stoppt Anrufe (keine Notruf-Route), Gelb sollte überprüft werden (ein Telefon ist nicht verbunden) und Grau ist für Informationen.
Einstellungen
/settingsEinstellungen enthält alles über das System als Ganzes. Jeder Abschnitt wird separat gespeichert und jeder Speichervorgang ist eine Revision auf Änderungen (Kapitel 61).
| Section | What is there |
|---|---|
| System | name, country, time zone, language, the public address phones and providers see |
| Numbers | the echo test, voicemail and park numbers, and the emergency numbers |
| Codecs | the codecs phones may use, best first (Codecs (Kapitel 66)) |
| Call recording | off, every call, or selected extensions; consent rules; how long recordings are kept |
| Sound | clean-up for voicemail and during calls |
| Protection | bans after failed sign-ins, trusted networks, calls per extension, premium numbers |
| Emergency | send the caller's address, who is notified, who is emailed, emergency mode |
| AI | the AI service, models, and which AI features are on (AI (Kapitel 28)) |
| Single sign-on | the identity provider (Single sign-on (Kapitel 58)) |
| Asterisk compatibility | AMI and ARI for programs written for Asterisk (Asterisk compatibility (Kapitel 70)) |
| AI assistants (MCP) | whether AI assistants such as Claude or ChatGPT may connect, and whether they may act (AI assistants (Kapitel 71)) |
| Microsoft 365 and Google Workspace | people and shared contacts into Contacts, and calendars for who is away (Contacts (Kapitel 38), Calendars (Kapitel 39)) |
| Mobile apps | the push service that wakes the apps |
| the mail server voicemail, faxes and alerts go through | |
| Key vaults | secrets kept in AWS Secrets Manager or Azure Key Vault |
| Configuration from Git | keep the configuration in step with a file in a repository |
| Database | SQLite or PostgreSQL (Database (Kapitel 64)) |
| Certificate | the certificate for this interface and SIP over TLS: from Let's Encrypt, installed by hand, or BitVoice's own |
Passwörter und Schlüssel werden nie wieder angezeigt, nachdem sie gespeichert wurden; lassen Sie sie leer, um sie beizubehalten. Viewer sehen Einstellungen mit allen Geheimnissen entfernt.
Das Zertifikat und Let's Encrypt
BitVoice startet mit einem Zertifikat, das es selbst erstellt hat, worüber Browser und Telefone warnen. Für einen Server mit einem öffentlichen Namen schalten Sie Let's Encrypt unter Zertifikat ein: Geben Sie die Namen (pbx.example.com) ein, optional eine E-Mail-Adresse, und wenden Sie sie an. BitVoice erhält ein kostenloses Zertifikat von Let's Encrypt, verwendet es sofort für die Web-Oberfläche, SIP über TLS und Teams und verlängert es etwa 30 Tage vor Ablauf (Let's-Encrypt-Zertifikate sind 90 Tage oder weniger gültig). Die Statuszeile sagt, wann es ausgestellt wurde, wann es verlängert wird und, wenn es fehlgeschlagen ist, warum; es versucht es nach einer Stunde erneut, dann weniger oft, innerhalb der Let's-Encrypt-Grenzen. Jetzt prüfen versucht es sofort.
Let's Encrypt muss den Server unter jedem Namen aus dem Internet erreichen, um zu beweisen, dass er Ihnen gehört:
- http-01 (die Standardwahl, es sei denn, die Web-Oberfläche läuft auf Port 443): eine Anfrage an Port 80. BitVoice antwortet selbst auf Port 80 (unter Linux benötigt es die Berechtigung, niedrige Ports zu öffnen, wie z.B.
setcap cap_net_bind_service=+ep bitvoice), oder leitet Port 80 auf dem Router zur Web-Oberflächen-Port weiter, der auch antwortet. Alles andere, was auf Port 80 ankommt, wird an HTTPS weitergeleitet, und zwar nur für die Namen des Zertifikats. Wenn BitVoice Port 80 nicht öffnen kann, sagt das Let's-Encrypt-Feld warum in Amber an und was es ermöglicht (die genauesetcap-Zeile für dieses Programm oder systemd'sAmbientCapabilities=CAP_NET_BIND_SERVICE; oder ein anderes Programm hält den Port bereits besetzt). Testen Sie die Namen, dann fragt es jeden Namen nach einer Testdatei über das Internet, wie Let's Encrypt es auch tun wird, und sagt für jeden an, ob es BitVoice erreicht hat, etwas anderes erreicht hat oder nicht in der DNS ist. Einige Router leiten ihre eigene öffentliche Adresse nicht zurück in das Innere (kein Hairpin-NAT): dort schlägt der Test aus dem Inneren aus, obwohl Let's Encrypt von außen erfolgreich ist. - tls-alpn-01: eine TLS-Verbindung zu Port 443, die auf dem eigenen Port der Web-Oberfläche beantwortet wird: für einen Server, dessen Web-Oberfläche auf 443 läuft.
Andere ACME-Behörden, die keine Kontobindung benötigen (eine eigene step-ca eines Unternehmens, Let's Encrypts Staging-Dienst für Tests), werden unter Behörde ausgewählt. Wildcard-Namen benötigen DNS-Beweise, die BitVoice nicht durchführt: installieren Sie diese Zertifikate manuell. Jeder Server eines Clusters erhält sein eigenes Zertifikat.
Die Bildschirme in Ihrer Sprache
Die Bildschirme von BitVoice sind in Englisch und in dreizehn anderen Sprachen verfügbar: Deutsch, Französisch, Spanisch, Italienisch, Portugiesisch, Niederländisch, Polnisch, Schwedisch, Dänisch, Norwegisch (Bokmål), Finnisch, Japanisch und Vereinfachtes Chinesisch.
Auswahl
Jeder Browser hat seine eigene Sprache: Wählen Sie diese im Menü (die Sprachliste neben den Designs), auf der Anmeldeseite oder auf der ersten Seite des Einrichtungsassistenten. Bis Sie eine Auswahl treffen, verwendet BitVoice die Sprache des Browsers, wenn diese eine der verfügbaren Sprachen ist, ansonsten Englisch. Die Auswahl wird nur in diesem Browser gespeichert: Zwei Personen auf einem Server können jeweils in ihrer eigenen Sprache arbeiten.
Alles auf den Bildschirmen ist übersetzt: das Menü, Überschriften, Schaltflächen, Hinweise, Nachrichten vom Server und die Namen, die Screen-Reader ansagen. Die Suche (⌘K) findet eine Seite nach ihrem Namen in Ihrer Sprache oder in Englisch. Unverändert bleiben: Was Benutzer eingeben (Namen, Zahlen, Notizen), Adressen, Codes, Skripte in den Editoren und die Namen von Produkten und Protokollen. Datum und Zahlen folgen den eigenen Einstellungen des Browsers.
Wie es übersetzt wird und wie gut
Die Übersetzungen werden von einer Maschine erstellt (einem großen Sprachmodell), für jeden Text, den die Bildschirme anzeigen, etwa 5.000 davon; keine davon wurde von einer Person überprüft. Einige Sätze, die die Bildschirme aus Teilen erstellen (eine Zahl und ein Wort), können unangenehm klingen, und ein Begriff kann auf zwei Arten in zwei Orten übersetzt werden. Alles, was keine Übersetzung hat, wie z.B. ein Bildschirm, der neuer ist als die Übersetzungen, bleibt Englisch.
Hilfe hält diese Anleitung in Englisch, wie geschrieben, mit einem Link am Anfang jedes Kapitels zu demselben Kapitel, das als Ganzes übersetzt wurde (auch von einer Maschine) auf bitvoice.org.
Die Telefonseite ist getrennt: Was Anrufer hören (Anweisungen, die Voicemail-Menü), ist in der Standard-Prompt-Sprache (Klänge (Kapitel 20)), sofern eine Nebenstelle oder eine Warteschleife ihre eigene Sprache hat.
Wohin Anrufe gehen
Die Bausteine, durch die Anrufer navigieren: Gruppen und Warteschleifen, Menüs und Zeitpläne, Skripte und der KI-Empfang, Voicemail und das Diagramm, das alles zeigt.
Anrufablauf
/flowÜberprüfen Sie jede Situation
Überprüfen Sie jede Situation, oben in Anrufablauf (Kapitel 16), versucht Ihren gesamten Anrufplan in jeder Situation, in der er sein kann, nicht nur eine Probe:
- jede Kombination von geöffnet und geschlossen, die Ihre Zeitpläne tatsächlich über das kommende Jahr erreichen (jeder Feiertag eingeschlossen), in 15-Minuten-Schritten gefunden;
- jede Kombination von Tag/Nacht-Umschaltern (oder, mit mehr als sechs, jeder einzelne Umschalter);
- jede eingehende Route und jede Taste, die ein Anrufer in jedem Menü drücken kann, jede "wenn niemand antwortet"- und jede Warteschleifen-Timeout entlang des Weges;
- jede Erweiterung, die jede Notrufnummer wählt.
It lists what it finds, the worst first: a call goes nowhere (a group with nobody to ring and nowhere to go next), a loop, works, but look at it (a queue with no agents), nothing routes to it (a menu or schedule no call reaches), a branch no situation takes (a schedule that is never closed, so its closed side is never used), and emergency calls rest on one trunk (if it fails, they cannot get out). Each finding names the situations that show it: the time and which schedules were open, the toggles switched over, and the path (a call to +12125550100 → Press 2 (Billing) → No answer). Try this call fills Try a call below with that exact situation and traces it.
Der gleiche Test läuft auf Änderungen, bevor sie vorgenommen werden: ein Vorschlag von Fragen in einfachen Worten und der Wiederherstellen dieser Revision listen auf, was die Änderung brechen würde, was heute funktioniert.
Testen Sie einen Anruf
Geben Sie ein, wer anruft (eine Nebenstelle oder eine externe Nummer), was gewählt wird und wann, und drücken Sie Testen. BitVoice verfolgt den Anruf genau so, wie es für echte Anrufe der Fall wäre, ohne etwas zu klingeln: die eingehende Route, die Schedules zu diesem Zeitpunkt, Routing-Skripte (sie werden ausgeführt, in ihrem Sandbox), Menüs, Gruppen und Warteschleifen und was passiert, wenn niemand antwortet. Der Pfad, den dieser Anruf nimmt, wird markiert; andere Wege (eine Menütaste, die andere Seite eines Schedules) können geöffnet werden. Grün bedeutet, dass es funktioniert, Bernstein bedeutet, dass man es überprüfen sollte (ein nicht verbundenes Telefon, ein Skript, das auf einen Standardwert zurückfällt), Rot bedeutet, dass der Anruf an dieser Stelle fehlschlägt. Aktivieren Sie Nehmen Sie an, jedes Telefon ist verbunden, um den Plan wie geplant und nicht wie er gerade ist zu sehen; Ankommen auf wählt die Trunk für Routen, die nur einen nehmen.
Das Diagramm
Das Diagramm zeigt, wohin Anrufe von außen gehen, Kasten für Kasten: jede eingehende Route, dann die Menüs, Gruppen, Warteschleifen, Schedules, Skripte und Personen, zu denen sie führen.
Klicken Sie auf einen Kasten (oder navigieren Sie mit Tab und drücken Enter), um zu ändern, wohin Anrufe von dort gehen: das Ziel einer Route, das Wenn niemand antwortet einer Nebenstelle oder Gruppe, die offenen und geschlossenen Ziele eines Schedules, die Tasten eines Menüs (hinzufügen oder entfernen Sie Tasten direkt), das Fallback eines Skripts oder die Person eines Empfangs. Das Speichern überprüft die Änderung wie jede andere und erstellt eine Revision. Öffnen Sie den vollständigen Editor geht zur eigenen Seite des Elements. Hinzufügen einer eingehenden Route fügt eine Route hinzu, ohne das Diagramm zu verlassen.
Ringgruppen
/ring-groupsEine Ringgruppe ist eine Nummer, die mehrere Erweiterungen klingelt: ein Vertriebsteam, die Rezeption und deren Ersatz, jeder im Workshop.
Klingelstrategien
- Alle gleichzeitig: jedes Mitglied klingelt gleichzeitig und das erste, das antwortet, nimmt den Anruf. Die anderen hören auf zu klingeln.
- Einer nach dem anderen: jedes Mitglied klingelt für die Klingelzeit der Gruppe, in der Reihenfolge, in der sie aufgeführt sind. Verschieben Sie Mitglieder mit den Pfeilen oder Alt+↑ und Alt+↓.
Mitglieder, die abwesend sind (in einem Meeting auf ihrem Kalender oder mit der Funktion 'Störung' aktiviert), werden übersprungen; die Gruppe klingelt die anderen. Mitglieder mit der mobilen App werden durch eine Push-Benachrichtigung geweckt und klingeln auch.
Wenn niemand antwortet
Wenn niemand innerhalb der Klingelzeit antwortet, geht der Anruf an Wenn niemand antwortet: die Voicemail eines Mitglieds, eine Warteschleife, ein Menü, eine andere Gruppe. Wenn nichts eingestellt ist, klingelt es, bis der Anrufer aufgibt.
Gruppen, Warteschleifen oder Abholen?
| Verwendung | Wenn |
|---|---|
| Eine Ringgruppe | einige Personen, von denen jede den Anruf annehmen kann, und der Anruf sollte jetzt klingeln |
| Eine Warteschleife | Anrufer müssen möglicherweise warten, bis jemand frei ist, und sollten ihren Platz hören |
| Eine Abholgruppe | jeder hat seine eigenen Anrufe, aber Kollegen können für sie antworten |
Warteschleifen
/queuesEine Warteschleife hält Anrufer in der Reihenfolge, mit Musik, und klingelt den nächsten freien Agenten. Sie ist das Herzstück eines Kontaktzentrums und nützlich in jedem Büro, in dem Anrufe schneller eintreffen, als Menschen sie annehmen können.
Wie Anrufe angeboten werden
| Strategie | Wer geläutet wird |
|---|---|
| Längste Pause | der freie Agent, der am längsten seit seinem letzten Anruf gewartet hat |
| Ringverfahren | jeder freie Agent abwechselnd, beginnend mit dem letzten |
| Alle läuten | jeder freie Agent gleichzeitig |
| Wenigste Anrufe | der freie Agent, der heute die wenigsten Anrufe entgegengenommen hat |
| In Reihenfolge (linear) | immer von oben in der Liste: der erste freie Agent |
| Zufällig | ein beliebiger freier Agent, per Zufall |
| Gewichteter Zufall | per Zufall, Agenten mit einer niedrigeren Strafe viel häufiger |
- Reihenfolge: Die Liste der Agenten ist in Reihenfolge; verschieben Sie sie nach oben und unten. In Reihenfolge und Ringverfahren wird sie befolgt.
- Strafen ordnen Agenten (0 bis 100, 0 wenn leer): Anrufe werden den freien Agenten mit der niedrigsten Strafe angeboten, und ein Agent mit einer höheren Strafe wird nur geläutet, wenn niemand mit einer niedrigeren Strafe frei ist. Verwenden Sie sie für eine erste und eine Überlauflinie in einer Warteschleife.
- Gewicht ordnet Warteschleifen, die Agenten teilen: Solange eine Warteschleife mit höherem Gewicht jemanden wartend hat, nehmen ihre Agenten ihre Anrufer zuerst.
- Nachbearbeitung gibt einem Agenten Zeit nach einem Anruf, bevor der nächste kommt.
- Längste Wartezeit: Anrufer, die länger warten, gehen zur Zeitüberschreitungsdestination der Warteschleife. 0 wartet für immer.
- Hintergrundmusik: Anrufer hören die Musik der Warteschleife (jede Klasse aus Klänge (Kapitel 20)), die des Systems oder den Warteton.
- Wartenden Anrufern mitteilen ihren Platz in der Warteschleife und die erwartete Wartezeit (die durchschnittliche Wartezeit der beantworteten Anrufer heute, in Minuten), alle paar Sekunden, in der Sprache der Warteschleife. Die Wörter stammen aus den Warteschleifenhinweisen in Klänge (Kapitel 20); bis diese aufgenommen sind, wird nichts gesagt.
Der Warteschleifen-Bildschirm ist eine Live-Tafel: Wer wartet, wie lange und der Zustand jedes Agenten.
Agenten
Agenten wählen *45, um sich in alle Warteschleifen einzuloggen oder auszuloggen, und *46, um eine Pause (eine Pause) zu machen und fortzufahren; pausierte und ausgeloggte Agenten werden keine Anrufe angeboten. Die Tafel hat die gleichen Schaltflächen und zeigt, warum ein Agent pausierte.
| Zustand | Bedeutung |
|---|---|
| verfügbar | frei; wird dem nächsten Anrufer angeboten |
| läutend | wird einem Anruf angeboten |
| beschäftigt | in einem Anruf |
| Nachbearbeitung | gerade beendet; die Nachbearbeitungszeit läuft |
| pausiert | in einer Pause, mit dem Grund angegeben |
| abwesend | in einer Besprechung oder im Urlaub, aus ihrem Kalender |
| ausgeloggt | nimmt keine Warteschleifenanrufe entgegen |
Vorgesetzte
Auf Aktuelle Anrufe (Kapitel 46) läutet Überwachen das Telefon eines Vorgesetzten; wenn er antwortet, kann er zuhören (von niemandem gehört), flüstern (nur vom Agenten gehört) oder eindringen (von beiden gehört) und kann zwischen ihnen während des Anrufs wechseln.
Haftende Warteschleifen und VIPs
Schalten Sie Haften in einer Warteschleife ein und ein wiederkehrender Anrufer (ein in den letzten 30 Tagen beantworteter Anrufer, oder so viele, wie Sie einstellen) wird zuerst dem Agenten angeboten, der ihn zuletzt beantwortet hat, wenn dieser Agent frei ist; wenn er nicht antwortet, geht die Warteschleife wie üblich weiter. VIP-Anrufer, am Fuß der Warteschleifen, gehen an die Spitze jeder Warteschleife, die sie anrufen, nach jedem bereits wartenden VIP, und sind auf der Tafel als VIP markiert.
Outbound-Dialer
/dialerDer Outbound-Dialer (Kapitel 19) ruft Listen von Kontakten für die Agenten einer Warteschleife (Kapitel 18) an: Verlängerungen, Erinnerungen an Termine, Inkassos, Umfragen. Jede Kampagne hat ihre Warteschleife, ihre Liste und ihre Art der Anrufe:
| Modus | Wie es anruft |
|---|---|
| Vorschau | ein Agent fragt nach dem nächsten Kontakt, sieht dessen Details und ruft dann an (sein Telefon klingelt zuerst) oder überspringt es |
| Progressiv | ein Anruf für jeden freien Agenten |
| Power | eine feste Anzahl von Anrufen für jeden freien Agenten (1 bis 3) |
| Vorhersage | BitVoice passt die Anrufe pro Agent an, indem es sich vorbeugt, wenn wenige Anrufe abgebrochen werden, und zurückhält, wenn die Abbruchrate nahe der Grenze liegt |
- Kampagne hinzufügen: ihre Warteschleife, ihre Anruferkennung (die Nummer, die die Kontakte sehen), die Stunden, in denen Anrufe in einer Zeitzone gemacht werden dürfen, wie lange das Telefon eines Kontakts klingelt, wie viele Versuche und wie weit auseinander.
- Öffnen Sie Kontakte und Liste hinzufügen: eine CSV-Datei mit einer Headerzeile und einer Spalte namens
number(oderphone);nameund andere Spalten werden dem Agenten in der Vorschau angezeigt. Doppelte und fehlerhafte Nummern werden übersprungen. - Aufnehmen Sie die Nachricht (in der Kampagne): wer anruft und warum, und "drücken Sie 9, wenn Sie diese Anrufe nicht erhalten möchten". Sie wird abgespielt, wenn eine Person beantwortet, wenn kein Agent frei ist, und, wenn Sie es wählen, nach dem Gruß einer Anrufbeantwortung.
- Starten Sie sie. Sie ruft nur innerhalb ihrer Stunden an und hört auf, anzurufen, wenn sie pausiert oder nichts mehr ansteht.
Menschen und Maschinen. BitVoice hört die ersten Sekunden nach der Aufnahme: Ein langer, ununterbrochener Gruß ist ein Anrufbeantworter; ein kurzes "Hallo?" und eine Pause ist eine Person. Ein Anrufbeantworter kann aufgelegt werden (und erneut versucht werden), eine Nachricht hinterlassen oder an einen Agenten wie jeden anderen weitergeleitet werden. Wenn man unsicher ist, nimmt man die Aufnahme für eine Person.
Aufgegebene Anrufe. Eine Person, die antwortet, wenn kein Agent in zwei Sekunden verfügbar ist, hört die Nachricht und wird als aufgegeben gezählt. Mit Power- und Predictive-Dialing wird, wenn der Anteil der aufgegebenen Anrufe an den letzten hundert Antworten die Kampagnen-Grenze (3%, sofern nicht geändert, die US-Regel) überschreitet, die Kampagne einen Anruf pro freiem Agenten tätigen, bis sie wieder unter dieser Grenze liegt. Die Kampagne zeigt ihre Aufgabequote, Anrufe im Klingelzustand und freie Agenten live.
Nicht-anrufen. Keine Kampagne ruft eine Nummer auf der Nicht-anrufen-Liste an, egal auf welcher Liste sie erschienen ist; jeder, der während der Nachricht die 9 drückt, wird sofort hinzugefügt. Fügen Sie Nummern manuell hinzu oder über die API (POST /api/dnc). Für das nationale Register (in den USA das National Do Not Call Registry der FTC: Laden Sie die Vorwahlen herunter, die Sie anrufen, als Flat-Datei), wählen Sie die Datei unter Nationales Register und Importieren: Jede Zeile mit einer Nummer zählt (212,5550100 wie die FTC sie schreibt, oder eine Nummer pro Zeile), Überschriften und fehlerhafte Zeilen werden übersprungen und gezählt. Mit Letzten Import ersetzen aktiviert, werden die Zahlen des vorherigen Imports zuerst entfernt, sodass eine Nummer, die das Register verlassen hat, wieder anrufbar ist; Nummern, die manuell oder durch Drücken der 9 hinzugefügt wurden, bleiben immer bestehen. Das Register muss mindestens alle 31 Tage aktualisiert werden (US-Regeln); die Seite zählt die Liste und wie viel davon aus dem Register stammt. Die API ist POST /api/dnc/import?replace=1 mit der Datei als Body.
Klänge: Hinweise, Sprachen und Hintergrundmusik
/soundsKlänge (Kapitel 20) enthält alles, was BitVoice zu Anrufern sagt oder abspielt, außer Begrüßungen und Menühinweisen, die dort aufgenommen werden, wo sie verwendet werden.
Hinweise, in jeder Sprache
Ein Hinweis ist eine Sache, die BitVoice sagt: "Bitte geben Sie Ihre PIN ein", "Ihr Platz in der Warteschleife ist", die Ziffern, die er vorliest. Das Namensverzeichnis, die Einwahlnummer, Weckrufe und Warteschleifenansagen sprechen mit ihnen. BitVoice hat die Wörter jedes Hinweises in Englisch, Spanisch, Französisch, Deutsch, Italienisch, Portugiesisch, Niederländisch und Polnisch; Zahlen werden Ziffer für Ziffer vorgelesen, was auf die gleiche Weise klingt.
- Anrufer hören legt die Sprache für jeden fest. Eine Warteschleife, eine Einwahlnummer, ein Verzeichnis oder eine Nebenstelle kann eine andere wählen.
- Jeder Hinweis kann im Browser aufgenommen, hochgeladen (jede Audio-Datei; sie wird in Telefon-Audio umgewandelt) oder vom Sprachdienst erstellt werden: Mit einem Sprachmodell, das in den Einstellungen, KI, mit einer Schaltfläche erstellt wird, werden alle Hinweise einer Sprache aus ihren Worten erstellt. Aufgenommene Hinweise werden beibehalten, es sei denn, Sie bitten um Ersetzung.
- Eine Sprache hinzufügen für jede andere Sprache (ein Code wie sv, ja oder pt-BR); ihre Hinweise werden aufgenommen oder hochgeladen, mit den englischen Worten als Leitfaden.
- Ein fehlender Hinweis in einer Sprache wird in der Standardsprache abgespielt, dann auf Englisch; wenn überhaupt keine aufgenommen sind, hören Anrufer einen kurzen Ton, damit jede Funktion funktioniert, bevor ein einziger Hinweis aufgenommen ist.
Hintergrundmusik
Hintergrundmusik ist in Klassen (Ruhig, Jazz, Verkaufsangebote…) gruppiert, jede eine Liste von Tracks, die nacheinander abgespielt werden, von Anfang an oder zufällig. Laden Sie Tracks von bis zu 15 Minuten in jedem Format, das der Browser liest; MP3- und WAV-Dateien können auch direkt an die API gesendet werden (PUT /api/music/{class}/{name}), und BitVoice decodiert MP3 selbst (MPEG-1, 2 und 2.5 Layer III, mit einem Decoder, der die gleichen Samples wie minimp3 liefert).
Internetradio. Eine Klasse kann anstelle ihrer Tracks einen Stream abspielen: Geben Sie die Adresse eines MP3-Streams (Icecast, Shoutcast, die meisten Internetradios) unter Internetradio ein. BitVoice verbindet sich, wenn der erste Anrufer in dieser Klasse in die Warteschleife gesetzt wird, spielt den Stream für alle Wartenden ab und trennt sich eine halbe Minute nach dem Verlassen des letzten Anrufers. Solange der Stream nicht erreichbar ist, spielen die Tracks der Klasse (oder der Warteton, wenn keine Tracks vorhanden sind) und die Klasse zeigt den Grund an.
| Wer hört es | Welche Musik |
|---|---|
| jemand, der in die Warteschleife gesetzt wurde | die Musik, die auf der Nebenstelle der Person, die den Anrufer in die Warteschleife gesetzt hat, ausgewählt wurde, ansonsten die Standardmusik |
| ein geparkter Anrufer | die Musik der Person, die den Anrufer geparkt hat, ansonsten die Standardmusik |
| ein Anrufer, der in einer Warteschleife wartet | die Musik der Warteschleife, ansonsten die Standardmusik |
| ein Anrufer, der auf den Leiter einer Konferenz wartet | die Standardmusik |
Standard für alle kann der Warteton sein, sodass sich nichts ändert, bis Sie Musik auswählen. Das Auswählen des Wartetons auf einer Warteschleife oder Nebenstelle behält den Ton dort bei.
Wähleintrichtung
/directoriesEin Wähleintrichtung (Kapitel 22) ermöglicht es Anrufern, jemanden zu erreichen, ohne dessen Nummer zu kennen: Sie geben die ersten Buchstaben des Namens auf der Tastatur ein (2 für ABC, 3 für DEF, bis 9 für WXYZ) und werden durchgestellt.
- Verzeichnis hinzufügen, benennen Sie es und geben Sie eine Nummer ein (z.B. 411) oder lassen Sie die Nummer leer und verwenden Sie es als Menüoption.
- Wählen Sie, was Anrufer eintippen: den Nachnamen (üblich), den Vornamen oder beides.
- Wählen Sie, wer aufgeführt ist, oder niemanden, um jeden mit einem Telefon aufzulisten.
Anrufer hören "Bitte geben Sie die ersten drei Buchstaben des Namens der Person ein". Ein Treffer wird sofort durchgestellt. Mehrere Treffer werden aufgeführt, jeweils acht auf einmal: der Name jeder Person, dann "um diese Person anzurufen, drücken Sie 1", 2 usw., mit 9 für weitere Namen. Kein Treffer: "Niemand entspricht", und sie versuchen es erneut (drei Versuche).
Ausgesprochene Namen: Aufnehmen Sie den Namen jeder Person auf ihrer Nebenstelle (Ausgesprochener Name: Aufnahme im Browser oder Hochladen einer Datei), und das Verzeichnis sagt ihn aus; bis dahin liest es die Nebenstellennummer aus. Die eigenen Wörter des Verzeichnisses stammen aus den Verzeichnisprompts in Klangen (Kapitel 20), in dessen Sprache.
Wahleingabe (DISA)
/dial-inEin Wahleingabe (Kapitel 23) (DISA, "direct inward system access") ermöglicht es jemandem, von außen anzurufen, sich zu identifizieren und erneut durch das Büro anzurufen: Der Anruf wird mit der Anruferkennung des Büros, seinen Routen und seinen Tarifen durchgestellt, als ob er am Schreibtisch wäre.
- Wahleingabe hinzufügen und ein PIN (4 bis 10 Ziffern) festlegen, die zulässigen Nummern (Nur von diesen Nummern) oder beides. Eines von beiden ist erforderlich.
- Wählen Sie die Nebenstelle, von der die Anrufe getätigt werden: Die Berechtigung für Ausgangsanrufe, die Anruferkennung und die Ausgangsrouten gelten. Sie muss Ausgangsanrufe zulassen.
- Geben Sie eine Nummer ein, die innerhalb des Büros gewählt werden kann, und senden Sie eine Telefonnummer an Anrufweiterleitung (Kapitel 8) (wählen Sie die Wahleingabe als Ziel).
Anrufer hören "Bitte geben Sie Ihren PIN ein, dann die Raute", dann "Bitte geben Sie die Nummer ein, die Sie anrufen möchten, dann die Raute" und werden durchgestellt. Die Wörter stammen aus den Wahleingabeprompts in Klangen (Kapitel 20).
Sprachbots (AudioSocket)
/voice-botsEin Sprachbot (Kapitel 24) ist ein eigenes Programm (ein AI-Agent, ein Spracherkennungs-IVR, ein Aufnahmegerät), das Anrufe über AudioSocket, das einfache Protokoll, das Asterisk verwendet, annimmt: BitVoice nimmt den Anruf an, öffnet eine TCP-Verbindung zum Bot und sendet die UUID des Anrufs, dann den Sound des Anrufers als 20 ms-Rahmen von 8 kHz 16-Bit-Linearaudio und jede gedrückte Taste; jeder Sound, den der Bot zurücksendet, wird dem Anrufer abgespielt. Bots und Sprachdienst-Connector, die für Asterisks AudioSocket geschrieben wurden, funktionieren mit BitVoice unverändert.
- Sprachbot hinzufügen: seinen Namen, die Adresse des Bots (
10.0.0.9:9092) und optional eine Nummer, um ihn zu wählen. - Wählen Sie, wohin der Anrufer geht, wenn der Bot den Anruf nicht annehmen kann oder abbricht (eine Person, eine Warteschleife, Voicemail): erforderlich, damit kein Anrufer jemals abgelegt wird, weil ein Bot down ist.
- Senden Sie Anrufe an ihn von Anruf-Weiterleitung (Kapitel 8), einer Menüoption, einem Zeitplan oder einem Toggle.
Wenn der Bot ein AudioSocket-Auflegen sendet, endet der Anruf; wenn der Anrufer auflegt, wird dem Bot ein Auflegen gesendet. Ein Bot, der innerhalb von drei Sekunden nicht erreicht werden kann oder dessen Verbindung ohne Auflegen abbricht, übergibt den Anrufer an den Fallback und der Fehler wird protokolliert.
Um ein Programm in einen bereits laufenden Anruf einzubringen (einen Transkriptions-Listener, einen Assistenten, der niemandem zuflüstert), verwenden Sie ARI's externes Medium: Siehe Asterisk-Kompatibilität (Kapitel 70).
Tag/Nacht-Toggle
/togglesEin Tag/Nacht-Toggle (Kapitel 25) ist ein Schalter für einen Anruf-Fluss (FreePBX nennt es Call-Flow-Control). Anrufe, die an ihn gesendet werden, gehen zu seinem normalen Ziel oder zum anderen, während jemand umschaltet: Das Büro schließt früh wegen eines Sturms, jemand wählt *281 auf dem Weg nach draußen und Anrufe gehen an die Voicemail, bis es am Morgen wieder umgeschaltet wird. Es bleibt so, wie es gelassen wurde, auch über Neustarts hinweg.
- Toggle hinzufügen, geben Sie einen Code ein (1 bis 3 Ziffern: gewählt nach
*28) und wählen Sie, wohin Anrufe normalerweise und wenn umgeschaltet gehen. Jede Seite kann ein Zeitplan sein, sodass ein Toggle vor den Öffnungszeiten sitzen und sie außer Kraft setzen kann. - Wählen Sie, wer es von einem Telefon aus umschalten kann (niemand ausgewählt lässt jeden Anschluss zu).
- Senden Sie Anrufe an ihn von Anruf-Weiterleitung (Kapitel 8), einer Menüoption oder einem Zeitplan, wie jedes andere Ziel.
Schalten Sie es um, indem Sie *28 und seinen Code wählen (ein ansteigendes Signal: umgeschaltet; ein abfallendes Signal: zurück zum Normalzustand), mit dem Schalter neben ihm auf der Toggle-Seite oder über die API (POST /api/toggles/{id}/state). Ein Busy-Lamp-Key, der *281 beobachtet, leuchtet, während dieser Toggle umgeschaltet ist, sodass die Person, die das Büro schließt, es von ihrem Schreibtisch aus sehen kann. Der Toggle-Code selbst befindet sich auf Feature-Codes (Kapitel 32).
Zeitpläne
/schedulesEin Zeitplan leitet Anrufe auf eine Weise, wenn Sie geöffnet sind, und auf eine andere Weise, wenn Sie geschlossen sind. Richten Sie eine eingehende Route auf einen Zeitplan aus und den Zeitplan auf das Menü (geöffnet) und die Voicemail (geschlossen).
Öffnungszeiten
Jede Zeile der Öffnungszeiten ist ein Satz von Tagen und einer Zeit von und bis. Mehrere Zeilen sind erlaubt: Montag bis Freitag 9:00 bis 17:00 und Samstag 10:00 bis 13:00. Öffnungszeiten können Mitternacht überschreiten (22:00 bis 06:00) für Nachtschichten.
Feiertage
Feiertage zählen als geschlossen den ganzen Tag, unabhängig von den Öffnungszeiten. Fügen Sie jedes Datum mit einem Namen hinzu; der Name wird auf Anrufablauf (Kapitel 16) angezeigt, wenn Sie einen Anruf an diesem Tag versuchen.
Zeitzone
Die Zeitzone ist die in Einstellungen. Wenn die Uhren sich ändern, folgen die Zeitpläne der lokalen Zeit.
Skripte (JavaScript und Lua)
/scriptsEin Skript entscheidet, wohin ein Anruf geht, wenn Menüs, Zeitpläne und Gruppen nicht ausreichen: Anrufer aus einem Bereich zu einem Büro, VIP-Nummern direkt zu einer Person, eine Entscheidung aus Ihren eigenen Daten. Oder, wenn es auf Den ganzen Anruf ausführen gesetzt ist, beantwortet es den Anruf und führt ihn aus, wie ein Asterisk-Dialplan oder ein AGI-Skript: Prompts und Sprache, Tasten, Aufnahmen, Klingeln von Personen, Weiterleiten (unten). Skripte werden in JavaScript oder Lua auf Skripte (Kapitel 27) geschrieben.
Sicher durch Konstruktion
- Ein Routing-Skript läuft für höchstens 200 ms. Wenn es fehlschlägt oder zu lange dauert, geht der Anruf zum Fallback des Skripts, sodass ein Fehler nie einen Anruf verliert. (Anruf-Skripte haben ihre eigenen Grenzen, unten.)
- Es läuft in einer Sandbox: es kann nicht auf das Netzwerk oder die Festplatte zugreifen. Ein Routing-Skript wählt nur; ein Anruf-Skript kann nur die Schritte ausführen, die unten aufgeführt sind, für seinen eigenen Anruf.
- Notrufe führen nie Skripte aus.
Was ein Skript sieht
call hat:
| Feld | Was es ist |
|---|---|
from, fromName | die Rufnummer und der Name des Anrufers |
to | die gewählte Nummer |
direction | inbound oder internal |
trunk | der Trunk, über den der Anruf hereingekommen ist |
weekday, hour, minute | die aktuelle Zeit (0 ist Sonntag) |
date | YYYY-MM-DD |
Was es zurückgibt
Ein Ziel, {type, target}: Typ ist extension, ringgroup, queue, menu, schedule, voicemail oder hangup, und Ziel ist seine Nummer. Wenn nichts zurückgegeben wird, wird der Fallback verwendet. log("text") schreibt in die Ausführungsliste des Skripts.
JavaScript
if (call.from.startsWith("212")) {
log("New York caller")
return { type: "ringgroup", target: "600" }
}
if (call.weekday === 0 || call.weekday === 6) return { type: "voicemail", target: "100" }
Lua
if string.sub(call.from, 1, 3) == "212" then
log("New York caller")
return { type = "ringgroup", target = "600" }
end
if call.weekday == 0 or call.weekday == 6 then
return { type = "voicemail", target = "100" }
end
Ein Skript verwenden
Weisen Sie eine eingehende Route, einen Menüschlüssel oder einen Zeitplan dem Skript zu, wie bei jedem Ziel. Test führt es mit einem Anruf aus, den Sie beschreiben, ohne einen Anruf zu tätigen; die Ausführungsliste zeigt jeden tatsächlichen Lauf mit seiner Entscheidung, der benötigten Zeit und möglichen Fehlern. Der Anrufablauf (Kapitel 16) führt Skripte auch aus, wenn Sie einen Anruf versuchen.
Skripte, die den gesamten Anruf ausführen
Wählen Sie Führt den gesamten Anruf aus. Das Skript beantwortet dann den Anruf und geht von oben nach unten, wobei jeder Schritt wartet, bis er abgeschlossen ist:
| Schritt | Was es tut |
|---|---|
play(name) | spielt eine Prompt aus Sounds (Kapitel 20) in der Sprache des Anrufers (goodbye, digit-5...), digits:1234 oder einen Ton: beep, confirm, error, off, hold. Eine Prompt, die noch nicht aufgenommen wurde, ist ein Piepton. |
say(text) | spricht die Wörter mit dem Sprachdienst in den Einstellungen, KI (ein Piepton ohne einen) |
collect({max, timeout, interDigit, end, say, prompt}) | sammelt Tasten: höchstens max (32), wartet timeout Sekunden auf die erste (5) und interDigit für jede weitere (3), bis end (#). say oder prompt fragt zuerst. Gibt die Tasten zurück, "" wenn keine. |
record({box, seconds, beep}) | nimmt eine Nachricht in das Postfach einer Erweiterung auf, bis # oder die Zeit; gibt die Sekunden zurück |
wait(seconds) | wartet, gibt eine gedrückte Taste zurück |
dial(destination, ringSeconds) | läutet es mit dem Anrufbeantworter des Anrufers. Beantwortet: Sie sprechen miteinander und das Skript ist fertig (true). Nicht beantwortet: false, und das Skript wird fortgesetzt. |
transfer(destination) | gibt den Anruf weiter; das Skript ist fertig |
hangup() | beendet den Anruf |
log(text) | schreibt in die Ausführungsliste |
Ein Ziel ist eine Nummer (eine Erweiterung, eine Ringgruppe oder eine Warteschlange hier, ansonsten eine externe Nummer über die ausgehenden Routen; niemals eine Notrufnummer) oder {type, target} wie oben. Eine während eines Tons gedrückte Taste stoppt ihn; play und say geben sie zurück und der nächste collect beginnt mit ihr. Die Rückgabe eines Ziels sendet den Anruf dorthin.
const k = collect({ max: 1, timeout: 5, say: "Press 1 for sales, 2 for support." })
if (k === "1") return { type: "ringgroup", target: "600" }
if (k === "2") {
if (dial("101", 20)) return
say("Nobody is free. Leave a message after the tone.")
record({ box: "101" })
hangup()
}
Lua hat die gleichen Schritte (collect{max = 1}). Geben Sie dem Skript eine Nummer zum Wählen, um es von einer Erweiterung aus anzurufen.
Seine Grenzen halten den Anruf sicher: Der eigene Code des Skripts darf höchstens ein Viertel einer Sekunde zwischen zwei Schritten laufen; ein Anruf nimmt höchstens 1.000 Schritte; und das gesamte Skript stoppt nach seinem Längsten Lauf (10 Minuten, sofern nicht anders angegeben, 60 maximal). Wenn es fehlschlägt, gestoppt wird oder ohne Auflegen oder Weiterleiten des Anrufs endet, geht der Anruf an seinen Fallback; ein Anrufer, der auflegt, stoppt es sofort. Ausprobieren führt das Skript mit den Tasten aus, die der Anrufer drückt, und listet jeden Schritt auf, ohne einen Anruf zu tätigen.
AI-Empfang, Voicemail-Triage und Anfragen
/receptionistsAI-Funktionen verwenden den AI-Service, der in Einstellungen (Kapitel 14) festgelegt ist: einen OpenAI-kompatiblen Service (OpenRouter standardmäßig) oder einen, den Sie selbst betreiben. Was sie benötigen, wird dorthin gesendet, sodass Sie einen Service auswählen sollten, dem Sie vertrauen, um Anrufe zu bearbeiten; für ein 911-Zentrum zählt sein eigener Regierungs-Cloud-Service als lokaler Service.
AI-Empfang
Wählen Sie einen Empfang als Ziel für Anrufe: eine Route, eine Menüoption oder eine Nebenstelle mit Wenn niemand antwortet. Es gibt an, dass es automatisiert ist, beantwortet nur von Genehmigte Informationen, nimmt eine Nachricht entgegen, bucht einen Rückruf (siehe Rückrufe (Kapitel 30)) oder leitet an Eine Person ist weiter. Das Drücken von 0 oder das Anfordern einer Person erreicht immer jemanden, und das gilt auch für Probleme mit dem AI-Service oder dem Sprachmodell: Anrufer stecken nie mit ihm fest.
Modelle
Modell erledigt die Textarbeit: Zusammenfassungen, die Antworten des Empfangs und das Anfragen in einfachen Worten. Die Umwandlung von Sprache in Text benötigt ein Modell, das Audio verarbeitet; setzen Sie es als Sprach-zu-Text-Modell (z. B. google/gemini-2.5-flash auf OpenRouter), um ein textbasiertes Modell für den Rest zu verwenden, wie meta-llama/llama-3.3-70b-instruct.
Spracherkennung im Gebäude
Sprache kann ohne Sprachmodell aufgeschrieben werden: ein Spracherkenner (whisper) hört das Audio und schreibt auf, was gesagt wurde, nichts mehr. Wer schreibt Sprache auf, in den AI-Einstellungen, hat drei Auswahlmöglichkeiten:
- Das Modell oben: das Audio geht zum AI-Service, dessen Modell Audio verarbeiten muss.
- Dieser Server: BitVoice führt whisper selbst aus. Wählen Sie ein Whisper-Modell und speichern Sie: BitVoice holt es einmal vom whisper.cpp-Projekt (
baseist 60 MB;small,mediumundlarge-v3-turbosind genauer und langsamer; alle verstehen etwa 100 Sprachen), überprüft es gegen seine veröffentlichte SHA-256 und startet whisper.cpp'swhisper-serverauf 127.0.0.1 neben ihm, neu startet es, wenn es stoppt. Die Audio-Daten der Anrufer verlassen nie den Computer und es fallen keine Kosten pro Anruf an.whisper-server(MIT-Lizenz) ist in BitVoices Downloads neben dem Programm enthalten, und die Installationsprogramme legen es neben BitVoice; BitVoice findet es auch, wenn es selbst installiert ist (brew install whisper.cpp). Die Einstellungen zeigen, wo es steht (Modell abrufen, starten, laufen oder warum es nicht läuft), und auch Health (Kapitel 13). Solange es nicht läuft, schlagen Transkripte fehl und sagen, warum: sie werden nie an anderer Stelle gesendet. - Ein Sprach-zu-Text-Service: whisper.cpp's
whisper-serverauf einem anderen Computer im Gebäude (http://192.168.1.20:8178/inference), für einen Computer mit GPU, der mehrere BitVoice-Server bedient, oder jeden OpenAI-kompatiblen…/audio/transcriptions(mit Sein Modell, wie whisper-1, und Seinem Schlüssel). Einfacheshttpwird nur zu diesem Computer oder einer privaten Netzwerkadresse akzeptiert; alles andere musshttpssein. Um einen auszuführen:whisper-server -m ggml-base-q5_1.bin --host 0.0.0.0 --port 8178 -l auto.
Whichever writes it down, every transcript goes there: voicemail, recorded calls, live 911 calls and receptionists hearing callers. Without the model, the Model may be left empty: transcripts are written, summaries are written from the facts the call said (below), and what needs a language model (action items, voicemail triage, call insight, receptionists' replies, asking in plain words) is left out. Notes a recogniser makes about what it heard, such as [BLANK_AUDIO] or (silence), are dropped, so a quiet stretch never reads as though something was said.
Fakten, die während des Anrufs besprochen wurden (kein Sprachmodell)
Jede Transkription wird auch von Regeln gelesen, ohne ein Sprachmodell, für die Fakten, die ein Anrufannahme-Operator notiert: was passiert ist, wo, wie viele verletzt sind (oder dass niemand verletzt ist), Zustände (Atmung, wach, blutend...), Gefahren (Feuer, Rauch, Gas, Waffen, Chemikalien, Treibstoff), Fahrzeuge, wer der Anrufer zum Bedürftigen ist und eine Rückrufnummer. Jede Tatsache wird mit dem Satz angezeigt, aus dem sie stammt, und der Seite, die sie gesagt hat, in der Transkription Fakten, die während des Anrufs besprochen wurden. Ohne ein Modell wird die Zusammenfassung nur aus diesen Fakten erstellt und sagt dies an.
- Nichts wird hinzugefügt, was niemand gesagt hat. "Niemand ist verletzt" ist eine Tatsache für sich; ein Anrufer, der die Worte eines anderen weitergibt ("sie sagt, er atmet nicht"), wird als gemeldet markiert; "24 Pine Lane. Nein, sorry, 42" behält 42 bei; ein bloßes "nein" beantwortet die Frage, die direkt davor gestellt wurde.
- Es ist treu, nicht vollständig: Wörter, die es nicht kennt, werden verpasst. In drei Sätzen von erfundenen 911-Anrufen (keine echten Wörter eines Anrufers) findet es:
| Satz | Gefundene Fakten | Gefundene Fakten, die niemand erwartet hat |
|---|---|---|
| Training (die Regeln wurden daraus erstellt) | 41 von 41 | 0 |
| Hold-out, kalt bewertet, bevor eine Regel daraus erstellt wurde | 27 von 40 (67%) | 2 |
| Hold-out, nach einer zweiten Runde von Regeln, die aus seinen Fehlern erstellt wurden | 40 von 40 | 0 |
| Versiegelt, kalt bewertet (keine Regel wird jemals daraus erstellt) | 23 von 43 (53%) | 3 |
Die versiegelte Punktzahl ist die, die auf Anrufe zu erwarten ist, die es nicht gesehen hat, und die drei Sätze wurden von denselben Personen erstellt, die die Regeln erstellten, sodass reale Anrufe wahrscheinlich schlechter abschneiden. Lesen Sie die Fakten neben der Transkription, nie anstelle davon.
Größere Modelle benötigen mehr Prozessor: ein Server, der viele Anrufe gleichzeitig transkribiert, sollte mit base beginnen oder einen Computer mit einer GPU als Sprach-zu-Text-Service für das Gebäude verwenden. Auf Apple-Computern verwendet whisper die GPU.
Voicemail-Triage
Mit Transkribieren und zusammenfassen von Voicemail aktiviert, wird jede Nachricht auch als dringend, normal oder niedrig priorisiert, mit ihrer Art (Verkauf, Support, Abrechnung...). Dringende Nachrichten lösen eine Warnung auf jedem Administratoren-Bildschirm aus.
Fragen in einfachen Worten
Auf Änderungen (Kapitel 61), beschreiben Sie eine Änderung ("Verkaufs-Anrufe nach 17 Uhr an die Voicemail weiterleiten"). Der KI-Algorithmus schlägt sie vor, BitVoice überprüft sie wie jede andere Änderung und zeigt genau an, was sich ändern würde. Nichts ändert sich, bis Sie Anwenden drücken, und es wird zu einer Revision, die Sie wiederherstellen können. Passwörter werden niemals an den KI-Algorithmus gesendet.
Voicemail
/voicemailJede Erweiterung kann ein Postfach haben. Anrufer, die nicht beantwortet werden, hören die Begrüßung und hinterlassen eine Nachricht; die Person hört sie auf ihrem Telefon, liest sie auf dem Bildschirm oder erhält sie per E-Mail.
Aktivieren
Auf der Erweiterung Voicemail aktivieren. Wenn niemand antwortet wird dann auf das Postfach gesetzt. Geben Sie ihm eine PIN (4 bis 10 Ziffern): Sie öffnet das Postfach von einem anderen Telefon aus und meldet die Person im Mitarbeiterportal und an Hotdesks an.
| Einstellung | Was es tut |
|---|---|
| Längste Nachricht | 10 bis 900 Sekunden (180 standardmäßig) |
| Neue Nachrichten per E-Mail senden | an die E-Mail-Adresse der Erweiterung, mit der Nachricht angehängt |
| Begrüßung | im Browser aufgenommen, hochgeladen oder vom Telefon aufgenommen; ohne eine hören Anrufer einen Piepton |
Hören
- Vom eigenen Telefon der Erweiterung: Wählen Sie
*97: Nachrichten werden abgespielt, beginnend mit den neuesten; Tasten spielen sie erneut ab, löschen oder behalten sie. - Von jedem anderen Telefon: Wählen Sie
*97, geben Sie die Postfachnummer und die PIN ein. - Auf Voicemail (Kapitel 29) (Administratoren) oder im Mitarbeiterportal (die Person): abspielen, als gehört markieren, löschen.
- Die Nachrichtenlampe des Telefons leuchtet, solange es neue Nachrichten gibt.
With AI
With Transcribe and summarise voicemail on (Settings, AI), each message is written out, summarised in a line, and marked urgent, normal or low priority with its kind (sales, support, billing). Urgent messages raise an alert on every administrator's screen. See AI (Kapitel 28).
Reinigung von Tönen
Tonreinigung (Einstellungen) entfernt konstanten Hintergrundlärm und gleicht Pegel aus, wenn Nachrichten gespeichert werden, sodass eine Nachricht aus einem Auto oder einer belebten Straße besser zu hören ist.
Rückrufe
/callbacksPersonen, die um einen Rückruf gebeten haben. Ein AI-Empfangsbereich bucht einen, wenn ein Anrufer darum bittet: es sammelt den Namen, die Nummer, die angerufen werden soll (und bietet die Nummer an, von der aus der Anrufer anruft), einen geeigneten Zeitpunkt und worum es geht, liest sie vor und bucht sie nur, wenn der Anrufer zustimmt. Es verspricht nie einen genauen Zeitpunkt. Administratoren können auch Rückrufe manuell hinzufügen.
Ein neuer Rückruf zeigt eine Warnung auf jedem offenen Bildschirm an und wird an den Besitzer des Nachrichten für-Postfachs des Empfangsbereichs per E-Mail gesendet, wenn diese Erweiterung eine E-Mail-Adresse hat und E-Mail in den Einstellungen eingerichtet ist.
Um zurückzurufen, wählen Sie Ihre Erweiterung und drücken Rückruf: Ihr Telefon klingelt zuerst, und wenn Sie abheben, ruft BitVoice die Nummer für Sie an, mit Ihren normalen Routen und Anrufer-ID. Dann fügen Sie eine Notiz hinzu, wenn Sie möchten, und drücken Fertig (oder Abbrechen). Abgeschlossene Rückrufe werden unter den offenen aufbewahrt und können erneut geöffnet werden.
Anruf-Links und Webanrufe
/call-linksEin Anruf-Link ist eine Web-Adresse, die Ihr Geschäft von jedem Browser aus anruft: keine Telefonnummer, keine App. Fügen Sie es in eine E-Mail-Signatur ein, drucken Sie den QR-Code auf einem Flyer oder einem Schaufenster aus oder fügen Sie die Web-Schaltfläche in Ihre Website ein.
Auf Anruf-Links (Kapitel 31) einen Link hinzufügen, wählen, wohin dessen Anrufe gehen (eine Nebenstelle, eine Gruppe, eine Warteschleife, ein Menü, der AI-Empfang, einen Zeitplan oder eine Voicemail), und speichern: die Seite zeigt dessen Adresse und QR-Code. Der Anrufer sieht den Titel und die Wörter, die Sie festgelegt haben, gibt seinen Namen an, wenn Sie danach fragen, erlaubt das Mikrofon und drückt Jetzt anrufen; die Tastatur funktioniert für Menüs. Werever antwortet, sieht Web: und den Namen des Anrufers.
Schalten Sie Öffnen aus, um die Leitung zu schließen (die Seite sagt es). Anrufe gleichzeitig begrenzt, wie viele Personen durch einen Link anrufen können (5, wenn nicht festgelegt). Die Adresse enthält einen langen zufälligen Teil, damit sie nicht erraten werden kann; wiederholte falsche Adressen werden wie fehlgeschlagene Anmeldungen blockiert. Die Mikrofone der Anrufer benötigen, dass die Seite über HTTPS bereitgestellt wird, also geben Sie die HTTPS-Adresse aus.
Tägliches Telefonieren
Was Menschen täglich auf ihren Telefonen tun und was sie für sich einstellen: Weiterleitung, Follow-me, Aufnahme, Konferenzräume, Durchsagen, Hotdesks, Faxe und Textnachrichten.
Funktionstasten, Weiterleitung und Schnellwahlen
/codesFunktionstasten sind die Tasten, die Menschen auf ihren Telefonen drücken, um ihre eigenen Einstellungen zu ändern und Funktionen zu erreichen. Sie funktionieren auf jedem Telefon, Festnetztelefon oder Softphone, ohne dass auf dem Telefon selbst etwas eingerichtet werden muss. Ein ansteigendes Signalton bedeutet, dass die Aktion abgeschlossen ist; ein abfallendes Signalton bedeutet, dass die Aktion abgelehnt wurde.
Die Codes auf einen Blick
| Code | Was es tut |
|---|---|
*72 | jede Anruf weiterleiten (dann die Nummer und #, oder die Nummer direkt danach: *722125550199) |
*73 | Weiterleitung jeder Anruf beenden |
*90 / *91 | Weiterleitung wenn man in einem Anruf ist / beenden |
*52 / *53 | Weiterleitung wenn nicht beantwortet / beenden |
*78 / *79 | Nicht stören ein / aus |
*76 | Nicht stören umschalten (aufsteigendes Signal: jetzt ein) |
*21 | Follow-me ein- und ausschalten |
*8 | Anruf in Ihrer Abholgruppe beantworten |
** und eine Erweiterung | Anruf beantworten, der an dieser Erweiterung klingelt |
*80 und eine Erweiterung | Intercom: das Telefon beantwortet auf seinem Lautsprecher |
*0 und ein Code | eine Schnellwahltaste |
*62 | Weckruf: hören, buchen oder stornieren (vier Ziffern, z.B. 0630) |
*68 und eine Ziffer | Raumstatus, für die Zimmerreinigung in Hotels |
*28 und ein Toggles-Code | einen Tag/Nacht-Toggle (Kapitel 25) umschalten oder zurücksetzen |
*32 | den letzten Anrufer blockieren: die letzte externe Nummer, die dieses Telefon angerufen hat, wird auf die Blockierungsliste gesetzt (Spamschutz (Kapitel 56)) |
*43 | den Echotest |
*97 | Ihre Voicemail |
70 | einen Anruf parken (weiterleiten); 71 bis 79 abholen |
*45 / *46 | Warteschlangen-Agenten: anmelden oder abmelden / pausieren oder fortsetzen |
*33 / *34 | sich an einem Heißarbeitsplatz anmelden oder abmelden |
*7 / *8 während eines Anrufs | Aufzeichnung pausieren und fortsetzen (Kartenzahlungen) |
Weiterleitung
*72leitet jeden Anruf weiter. Wählen Sie es, hören Sie ein Signalton, dann wählen Sie die Nummer und #. Oder wählen Sie die Nummer direkt nach dem Code.*90leitet Anrufe weiter, die während eines Gesprächs eintreffen.*52leitet Anrufe weiter, die nicht beantwortet werden.*73,*91und*53heben diese Weiterleitungen auf.
Die Weiterleitung an eine andere Erweiterung verwendet die eigenen Einstellungen dieser Erweiterung (ihre Voicemail, ihre follow-me), bis zu vier Sprünge, sodass zwei Personen, die sich gegenseitig weiterleiten, nicht in einer Schleife landen können. Die Weiterleitung an eine externe Nummer erfolgt über die ausgehenden Routen, als ob die Person die Nummer direkt gewählt hätte, und benötigt, dass die Erweiterung für ausgehende Anrufe freigegeben ist.
Die Weiterleitung ist ein Live-Zustand, keine Konfiguration: das Festlegen macht keine Revision und wird über Neustarts hinweg beibehalten. Erweiterungen (Kapitel 3) und das Mitarbeiter-Portal zeigen und ändern sie auch.
Nicht stören
*78 ein, *79 aus, *76 umschalten. Mit nicht stören eingeschaltet, gehen Anrufe an die Voicemail oder an das Ziel für nicht beantwortete Anrufe der Erweiterung. Manuell gesetztes nicht stören hat Vorrang vor dem Kalender (Kalender (Kapitel 39)). Notruf-Rückrufe klingeln dennoch.
Follow-me
*21 schaltet Follow-me ein und aus, für Extensions, die Follow-me-Nummern gesetzt haben (auf der Extension oder im Mitarbeiterportal). Das Desk-Telefon klingelt zuerst für seine Klingelzeit, dann die Follow-me-Nummern, eine nach der anderen oder alle zusammen. Bei einer externen Nummer mit Drücken Sie 1 hört die Person ein Signal und drückt 1, um den Anruf anzunehmen; eine Voicemail oder Stille tut dies nie, und nach 15 Sekunden wird der Anruf weitergeleitet.
Anruf von jemand anderem beantworten
*8beantwortet den ältesten Anruf, der bei jemandem in Ihrer Abholgruppe (auf jeder Extension einstellbar; Namen werden ohne Berücksichtigung von Groß- und Kleinschreibung verglichen) klingelt.**und eine Extension beantwortet einen Anruf, der bei dieser Extension klingelt:**101.
Intercom
*80 und eine Extension ruft sie mit Auto-Antwort: ihr Telefon antwortet über den Lautsprecher, und beide Seiten sprechen miteinander. Yealink, Grandstream und Snom lesen BitVoices Call-Info-Header, Poly liest Alert-Info; einige Telefone benötigen Intercom in ihren eigenen Einstellungen. Eine Extension kann Intercom ablehnen; dann klingelt der Anruf wie üblich. Türstationen nehmen nie Intercom an.
Schnellwahlen
*0 und ein Code wählt eine gespeicherte Nummer: *05. Die Schnellwahlen des Unternehmens sind auf dieser Seite; jeder Mitarbeiter kann seine eigenen auf seiner Extension oder im Mitarbeiterportal haben, und seine Schnellwahlen haben Vorrang vor denen des Unternehmens mit dem gleichen Code. Codes sind 1 bis 3 Ziffern.
Ändern der Codes
Jeder Code kann auf Funktionencodes (Kapitel 32) geändert oder mit dem Wort off deaktiviert werden. Zwei Funktionen können nicht den gleichen Code verwenden, und kein Code darf die Nummer einer Extension oder einer Gruppe sein: BitVoice zeigt an, welcher Code in Konflikt steht. Die Echo-, Voicemail- und Parknummern sind in Einstellungen (Kapitel 14).
Das Mitarbeiter-Portal
Das Mitarbeiter-Portal ermöglicht es jedem, seine eigenen Anrufe ohne Administrator zu verwalten: nicht stören, Weiterleiten, Folgen, Schnellwahlen, Voicemail und dessen Begrüßung, sein PIN, und eine Liste seiner eigenen Anrufe. Es ist unter #/me auf der Adresse dieses Servers zu finden und vom Anmeldebildschirm verlinkt.
Anmelden
Personen melden sich mit ihrer Erweiterungsnummer und ihrem Voicemail-PIN an: demselben PIN, der ihre Voicemail vom Telefon aus und ihre Anmeldung an Hotdesks öffnet. Eine Erweiterung ohne PIN kann sich nicht anmelden; ein Administrator legt einen PIN für die Erweiterung fest.
Wiederholte falsche Versuche von einer Adresse aus sperren diese für zehn Minuten. Eine Portal-Sitzung erreicht nur die Einstellungen der Person: nie eine andere Erweiterung, die Konfiguration oder die Aufzeichnungen einer anderen Person.
Was Personen tun können
| Registerkarte | Was sich dort befindet |
|---|---|
| Wohin Anrufe gehen | nicht stören; Weiterleiten jedes Anrufs, wenn beschäftigt und wenn nicht beantwortet; Folgen-Nummern; eigene Schnellwahlen |
| Voicemail | Nachrichten zum Abspielen und Löschen, mit Transkripten und Zusammenfassungen, wenn AI aktiviert ist; Begrüßung aufzeichnen oder hochladen |
| Ihre Anrufe | die eigenen Anrufe der Person, neueste zuerst, ohne Aufzeichnungen |
| PIN | PIN ändern, unter Angabe des aktuellen PIN |
Weiterleiten und nicht stören, die hier eingestellt werden, sind dieselben wie die, die vom Telefon aus mit Funktionscodes (Funktionscodes (Kapitel 32)) eingestellt werden: die zuletzt eingestellte Einstellung gilt. Folgen-Nummern und Schnellwahlen sind Teil der Konfiguration der Erweiterung, daher erstellt eine Änderung eine Revision auf Änderungen (Kapitel 61), die als Änderung der Person aufgezeichnet wird.
Weiterleiten an eine externe Nummer funktioniert nur für Erweiterungen, die berechtigt sind, externe Nummern anzurufen. Das Portal teilt dies mit, anstatt eine Weiterleitung zu speichern, die nie klingeln könnte.
Chat und Anwesenheit
Das Portal zeigt im Reiter Chat Kollegen mit ihrem aktuellen Status an: verfügbar, in einem Gespräch, klingelt, abwesend (nicht stören, ein Meeting oder Abwesenheit aus dem Kalender, mit Grund) oder offline (kein Telefon verbunden), und den Status, den sie eingegeben haben ("Bei der Mittagspause, zurück um 14 Uhr"). Wählen Sie jemanden, um ihm eine Nachricht zu senden; Nachrichten werden sofort zugestellt, und eine Zahl neben einem Namen zeigt die ungelesenen Nachrichten an. Teamräume (Einstellungen, Mitarbeiter-Chat) sind Konversationen für eine Gruppe oder für alle, wenn ein Raum keine Mitglieder auflistet.
Nachrichten sind nur für die Personen in der Konversation sichtbar: Administratoren verwalten die Räume, lesen sie jedoch nie. Einstellungen, Mitarbeiter-Chat schaltet den Chat aus und legt fest, wie lange Nachrichten aufbewahrt werden (0 bewahrt die neuesten Tausend jeder Konversation).
Konferenzräume
/conferencesEin Konferenzraum ist eine Nummer, die Menschen wählen, um alle zusammen zu sprechen. Mitarbeiter wählen sie von ihren Schreibtischen; externe Anrufer erreichen sie über eine eingehende Route oder eine Menüoption, die auf den Raum verweist.
Einrichten eines Raums
- Öffnen Sie Konferenzräume (Kapitel 34) und drücken Sie Konferenzraum hinzufügen.
- Geben Sie ihm eine Nummer (jede freie Nummer, standardmäßig 500) und einen Namen.
- Legen Sie optional ein PIN fest. Anrufer hören ein Signal, geben das PIN ein und drücken #. Drei falsche PINs und das Gespräch endet.
- Legen Sie optional ein Leiter-PIN fest, das sich von dem PIN unterscheidet. Wer es eingibt, tritt als Leiter bei.
- Um externe Anrufer zuzulassen, verweisen Sie eine eingehende Route (oder eine Menüschlüssel) auf den Raum.
Auswahlmöglichkeiten
| Auswahl | Was es tut |
|---|---|
| Warten auf den Leiter | alle anderen hören den Warteton, bis ein Leiter beitritt; wenn der letzte Leiter den Raum verlässt, schließt sich der Raum und alle werden aufgelegt. Benötigt ein Leiter-PIN. |
| Mitglieder beitreten stumm | für Briefings und Vorträge: Leiter sprechen, Mitglieder hören zu. Ein Mitglied drückt 1, um um das Wort zu bitten, und ein Leiter schaltet es frei. |
| Raum aufzeichnen | der gesamte Raum wird als eine Aufzeichnung in Anrufliste (Kapitel 47) aufbewahrt, sofern die Aufzeichnung nicht für das gesamte System deaktiviert ist |
| Signaltöne, wenn Personen beitreten und verlassen | standardmäßig aktiviert |
| Meiste Personen auf einmal | standardmäßig 50, bis zu 200 |
Tasten während eines Anrufs
1stummschaltet und schaltet Sie selbst frei (in einem Raum, in dem Mitglieder stumm sind, bittet es um das Wort).2, für einen Leiter, sperrt den Raum, so dass niemand neu beitreten kann, und entsperrt ihn.
Während ein Raum genutzt wird
Die Seite zeigt jeden genutzten Raum an: wer drin ist, wer spricht (das grüne Licht), wer stummgeschaltet ist, wer um das Wort gebeten hat und wer noch auf den Leiter wartet. Ein Administrator kann jeden stumm- oder freischalten, jemanden entfernen und den Raum sperren oder entsperren.
Jeder in einem Raum hört jeden anderen, der nicht stummgeschaltet ist, gemischt von BitVoice; jedes Telefon kann seinen eigenen Codec verwenden. Eine Anrufliste wird für jeden Anruf aufbewahrt, und eine für den Raum selbst mit seiner Dauer und Aufzeichnung.
HD-Audio
Schalten Sie HD-Audio in einem Raum ein (neue Räume haben es standardmäßig eingeschaltet) und es wird mit 16 kHz anstelle von 8 kHz gemischt: Personen mit Breitbandtelefonen (G.722, Opus, Browser-Telefon) hören sich gegenseitig in HD, mit der Klarheit eines modernen Anrufs, während Personen mit herkömmlichen Telefonen (G.711, Mobiltelefone über einen Anbieter) den gleichen Raum wie gewohnt hören. Die Live-Ansicht markiert den Raum und jedes Mitglied, das in HD ist. HD benötigt G.722 unter den Codecs, die die Telefone verwenden (es ist an erster Stelle in der Systemliste, Einstellungen, Codecs). Aufzeichnungen des Raums bleiben in Telefonqualität.
Videoräume
Setzen Sie Video auf einem Raum und Videotelefone (und Softphones), die beitreten, senden ihre Kamera und sehen ein Bild, das umgeschaltet wird, wenn Personen sprechen, wie in Asterisks ConfBridge:
- Folgen Sie dem Sprecher: jeder sieht, wer in den letzten Sekunden gesprochen hat, sobald der aktuell auf dem Bildschirm befindliche Person eine Sekunde lang ruhig war; die Person auf dem Bildschirm sieht den vorherigen Sprecher.
- Zeigen Sie den Leiter: jeder sieht den Leiter (der mit dem Leiter-PIN beitritt); der Leiter sieht den letzten Sprecher.
- Gitter: jeder sieht jeden auf einmal, nebeneinander (ein Bild füllt den Bildschirm, zwei nebeneinander, dann 2x2 und 3x3, bis zu neun), jeder an seinem eigenen Platz in der Reihenfolge, in der er beigetreten ist, einschließlich sich selbst.
BitVoice schaltet die Bilder ohne Dekodierung, sodass es fast nichts kostet, und es bittet jedes neue Bild-Telefon um ein vollständiges Bild (RTCP PLI und FIR und das SIP INFO picture-fast-update, das die meisten Schreibtischtelefone beantworten), sodass der Wechsel sofort sichtbar ist. Jedes Mitglied-Video verwendet den Video-Codec des Raums (H.264, sofern nicht VP8 gewählt wird); ein Telefon ohne diesen Codec tritt mit Ton bei. Jeder Zuschauer erhält einen stabilen Stream (eine Quelle, seinen eigenen Payload-Typ), wer auch immer auf dem Bildschirm ist. Die Live-Ansicht markiert, wer Video hat und wer auf dem Bildschirm ist.
Ein Raster wird anders erstellt: BitVoice gibt jedes Bild an ffmpeg auf dem Server, das es decodiert, in ein 1280 x 720 Bild mit 15 Bildern pro Sekunde einfügt und es einmal für alle codiert. Installieren Sie ffmpeg (Einstellungen, Video-Umwandlung, es wird angezeigt, ob es gefunden wurde); ohne es folgt ein Raster-Raum dem Sprecher und der Raum-Bildschirm sagt es. Jedes Bild kostet Prozessorzeit: auf einem kleinen Server sollten Sie Raster auf einige Räume gleichzeitig beschränken. Nur Mitglieder, deren Kamera sendet, werden angezeigt: jemand, der ohne Video beitritt oder dessen Kamera stoppt, verlässt das Raster (es friert nie auf einem stillen Bild ein), und das Raster wird innerhalb von ein paar Sekunden neu erstellt, wenn sich das ändert, mit einer kurzen Pause im Bild. Die zehnte Person und später werden gehört, aber nicht angezeigt. Die Live-Ansicht markiert die Größe des Rasters und wer im Raster ist.
Jedes Video aller (Browser)
Wählen Sie Jedes Video aller und der Raum erhält seine eigene Seite (Konferenzräume, Video-Raum öffnen, oder #/video-room/NUMBER). Jede Person dort drückt Mit meiner Kamera beitreten: der Browser sendet seine Kamera einmal, in drei Größen (Simulcast), und erhält jedes andere Bild in seinem eigenen Bild. BitVoice leitet die Bilder weiter, wie sie hereinkommen, ohne sie jemals zu decodieren (eine selektive Weiterleitungseinheit, SFU), sodass es wenig Prozessorzeit kostet; der Upload jedes Browsers und der Download jedes Betrachters sind es, was einen Raum begrenzt, sodass bis zu 16 Kameras möglich sind.
- Das große Bild erhält die volle Größe dieser Kamera, die kleinen Bilder die kleine Größe; Größe ändern tauscht sie aus, und der Wechsel erfolgt beim nächsten vollständigen Bild der neuen Größe, das BitVoice sofort anfordert (RTCP PLI).
- Ein Browser, der Upload-Probleme hat, hört auf, seine größte Größe zu senden; Betrachter erhalten dann die größte Größe, die noch hereinkommt.
- Der Ton ist die Konferenz des Raums wie immer: dem Raum beitreten ruft den Raum auf dem Browser-Telefon an, und jeder, der den Raum von einem Telefon aus anruft, hört und hört jeden. Video-Telefone, die einwählen, sehen, wer spricht.
- Ein Raum mit einer PIN fordert diese auf der Seite an. Die Seite benötigt eine Anmeldung bei BitVoice.
Bildschirm teilen: Drücken Sie Mein Bildschirm teilen und wählen Sie einen Bildschirm, ein Fenster oder einen Browser-Tab im Browser-eigenen Picker. Jeder im Raum sieht es als großes Bild unter Ihrem Namen mit scharfem Text (die Bildrate verringert sich stattdessen, wenn das Netzwerk knapp ist). Sie müssen sich nicht zuerst mit Ihrer Kamera verbinden. Teilen beenden oder die Browser-eigene Teilen beenden-Leiste beendet es.
- Ein Raum zeigt einen geteilten Bildschirm gleichzeitig: Während jemand teilt, wartet die Schaltfläche der anderen und sagt, wer teilt. Ein geteilter Bildschirm zählt nicht zu den 16 Kameras.
- Jemand anderes kann mit Als groß machen zum großen Bild gemacht werden, wie bei Kameras; der Bildschirm bleibt im Raum.
- Das Bild des Bildschirms, nie sein Ton: Der Ton des Raums bleibt seine Konferenz.
- Telefone, die keinen Bildschirm teilen können (die meisten Telefon-Browser), zeigen die Schaltfläche grau. Schreibtischtelefone und andere Videotelefone, die den Raum wählen, sehen geteilte Bildschirme nicht; sie sehen, wer spricht.
Lautsprecher und Überkopflautsprecher
/pagingLautsprecher sprechen durch viele Telefone auf einmal: wählen Sie eine Lautsprecher-Nummer, und jedes Telefon in der Gruppe antwortet automatisch über den Lautsprecher. Verwenden Sie es für Ankündigungen in einem Lager, einer Schule, einem Shop-Floor.
Einrichten einer Lautsprechergruppe
- Auf Lautsprecher (Kapitel 35) drücken Sie Lautsprechergruppe hinzufügen und geben ihr eine Nummer (standardmäßig 800) und einen Namen.
- Wählen Sie die Telefone aus. Lautsprecher, die als Anschlüsse (Typ Lautsprecher) eingerichtet sind, können auch Mitglieder sein.
- Optional können eine Multicast-Adresse und ein Port angegeben werden.
Multicast
Multicast sendet die Durchsage auch an eine Multicast-Adresse und einen Port (239.0.1.10:5000), im G.711-µ-law-Format, das von Lautsprechern und vielen Telefonen ohne separate Anrufe empfangen werden kann. Eine Gruppe kann nur eine Multicast-Adresse haben. Es funktioniert nur in einem Netzwerk: Router leiten Multicast nicht weiter, es sei denn, sie sind dafür konfiguriert.
Lautsprecher- und Intercom-Funktion
| Lautsprecher | Intercom | |
|---|---|---|
| Wer hört zu | jeder in der Gruppe | ein Anschluss |
| Rückmeldung | nein, einweg | ja, zweigleisig |
| Wie | Wählen der Gruppennummer | *80 und der Anschluss |
Telefone, die nicht innerhalb weniger Sekunden auf eine Durchsage antworten, werden ausgelassen, sodass ein Telefon ohne Auto-Antwort nie eine Durchsage blockiert. Einige Telefone benötigen die Erlaubnis zur Auto-Antwort (Intercom) in ihren eigenen Einstellungen.
Hot Desking
/phonesEin Hot Desk ist ein geteilter Telefonanschluss, der zu dem wird, der sich daran anmeldet: für Büros, in denen die Menschen keine festen Schreibtische haben. Erstellen Sie einen, indem Sie Hot Desk in der Erweiterung aktivieren, die das Telefon verwendet (die eigene Erweiterung des Schreibtisches, wie z. B. 900 Schreibtisch 3).
Anmelden und Abmelden
- Wählen Sie am Telefon
*33und warten Sie auf den Ton. - Geben Sie Ihre Erweiterung und # ein und warten Sie auf den Ton.
- Geben Sie Ihre Voicemail-PIN und # ein. Ein ansteigender Ton bedeutet, dass Sie angemeldet sind; ein abfallender Ton bedeutet, dass die Anmeldung abgelehnt wurde.
Von diesem Zeitpunkt an klingeln Anrufe an Ihrer Erweiterung an diesem Schreibtisch sowie an Ihren anderen Telefonen, und Anrufe, die Sie von hier aus tätigen, zeigen Ihre Nummer und Ihren Namen und werden auf Kosten als Ihre Anrufe gezählt. Die Anmeldung an einem anderen Schreibtisch versetzt Sie dorthin. *34 meldet Sie ab. Fünf falsche Versuche sperren den Schreibtisch für zehn Minuten.
Verwaltung von Hot Desks
Auf Telefonen (Kapitel 4) zeigt Hot Desks, wer wo angemeldet ist; Administratoren können jemanden anmelden (ohne PIN) oder abmelden. Die Codes und eine Zeit jeden Tages, an der jeder abgemeldet ist, befinden sich in den Einstellungen. Anmeldungen werden über Neustarts hinweg beibehalten.
Hotel- und Weckanrufe
/hotelWeckanrufe
Jeder kann einen Weckanruf buchen: Gäste, Nachtschichten, Personen im Dienst. Von ihrem eigenen Telefon aus wählen sie *62: BitVoice sagt die eingestellte Zeit an (wenn vorhanden), dann geben sie die Zeit als vier Ziffern ein (0630) oder drücken die Stern-Taste, um abzubestellen. Auf Hotel (Kapitel 37) kann ein Administrator einen Weckanruf für jeden Anschluss buchen, einmalig oder jeden Tag.
Zu diesem Zeitpunkt klingelt das Telefon mit dem Namen des Systems; wenn es beantwortet wird, hört man "Guten Morgen. Dies ist Ihr Weckruf." (den Weckruf-Prompt in Klänge (Kapitel 20), in der Sprache des Gastes oder der Nebenstelle). Wenn es nicht beantwortet wird, wird es erneut versucht (3 Versuche, 5 Minuten auseinander, beide unter Einstellungen auf der Seite), und nach dem letzten kann die Rezeption-Nebenstelle angerufen werden. Mit mehreren Servern macht nur einer Weckrufe.
Gästezimmer
Schalten Sie Gästezimmer auf der Nebenstelle jedes Zimmertelefons ein. Im Hotel zeigt jedes Zimmer seinen Gast, Weckruf und Zimmstatus mit Einchecken- und Auschecken-Schaltflächen.
- Bar vakante Zimmer: Zimmer ohne eingecheckten Gast rufen nur Nebenstellen und Notrufnummern an. Notrufe funktionieren immer.
- Löschen bei Auschecken: löscht die Voicemail des Zimmers und storniert seinen Weckruf, Weiterleitung und Nicht-stören, bereit für den nächsten Gast.
- Die Sprache eines Gastes (von der Eincheckung) ist die Sprache, in der die Zimmer-Prompts ausgesprochen werden.
- Zimmstatus: Hausdienst wählt
*68und eine Ziffer von dem Zimmertelefon (*683); das Hotelsystem entscheidet, was jede Ziffer bedeutet.
Das Hotelsystem (PMS)
- FIAS: BitVoice verbindet sich mit der FIAS-Schnittstelle des Hotelsystems (Oracle Opera und vielen Systemen, die FIAS sprechen) unter dessen Adresse und Port. Es erhält Check-ins, Zimmerwechsel, Check-outs und Weckerbuchungen und sendet Weckerergebnisse, Zimmernachrichten und Gesprächsgebühren. Wenn die Verbindung unterbrochen ist, wartet das, was gesendet werden soll, und wird gesendet, wenn die Verbindung wiederhergestellt ist; die Seite zeigt, ob eine Verbindung besteht. Die Aufzeichnungen entsprechen der Oracle-FIAS-2.20.23-Spezifikation: BitVoice beschreibt sich selbst als Telefonanlage (IF PB), Gesprächsgebühren sind direkte Gebühren (PT C) mit dem Betrag in der kleinsten Einheit der Währung und den gewählten Ziffern ohne + oder Leerzeichen, und ein Weckerergebnis wiederholt die gebuchte Zeit bis zur Sekunde, damit das Hotelsystem es seiner Anfrage zuordnen kann.
- REST-API: Das Hotelsystem ruft
POST /api/hotel/rooms/<room>/checkin(Name, Konto, Sprache),/checkoutundPUT /api/wakeups/<room>auf, mit einem API-Schlüssel aus Einstellungen, Automatisierung. Gebühren werden als JSON an die von Ihnen angegebene Adresse gesendet. - Gebührenanrufe: angenommene Anrufe von außerhalb aus bewohnten Zimmern werden auf die Rechnung des Gastes gesetzt, zu den Tarifen des Trunks (aus Kosten (Kapitel 54)) plus dem Aufschlag.
Kontakte auf jedem Telefon
/contactsKontakte ist das Firmenverzeichnis: die Lieferanten, Kunden und anderen Büros, die die Leute anrufen. Jedes Telefon listet es neben den Erweiterungen auf, und wenn eine dieser Nummern hereinkommt, zeigen die Telefone und die Anruferkarte den Kontaktnamen (wenn der Anbieter keinen gesendet hat). Eine Nummer wird unabhängig von der Schreibweise erkannt: +1 212 555 0100 und 2125550100 sind dieselbe Leitung.
Hinzufügen von Kontakten
Kontakt hinzufügen für einen nach dem anderen, mit so vielen Nummern (Arbeit, Mobil, Zuhause, andere), wie sie haben. Importieren übernimmt eine Tabelle, die als CSV gespeichert wurde, deren erste Zeile die Spaltennamen enthält: Name, Firma, Arbeit (oder Telefon), Mobil, Zuhause, andere, E-Mail, Notizen. BitVoice überprüft die gesamte Datei zuerst und sagt, welche Zeilen falsch sind; ein Kontakt mit demselben Namen wie einer, der bereits vorhanden ist, wird aktualisiert, anstatt zweimal hinzugefügt zu werden, und Ersetzen Sie jeden Kontakt beginnt die Liste von vorne.
Auf Schreibtischtelefonen
Telefone, die von Telefonen (Kapitel 4) (Bereitstellung) eingerichtet werden, erhalten das Verzeichnis ohne weitere Einrichtung:
- Yealink: ein Remote-Telefonbuch namens Firma, alle Stunden aktualisiert.
- Grandstream: das Telefonbuch-Download, alle Stunden.
- Polycom: die Verzeichnisdatei, beim Start des Telefons gelesen.
- Snom: die Liste wird in die Einstellungen des Telefons geschrieben, sodass sie aktualisiert wird, wenn das Telefon die Einstellungen überprüft.
Im Browser-Telefon
Kontakte unter der Tastatur findet einen Namen oder eine Nummer und bereitet ihn zum Anrufen vor.
Von Microsoft 365 oder Google Workspace
BitVoice kann Kontakte mit Ihrem Unternehmensverzeichnis synchronisieren: alle Personen darin, die eine Telefonnummer haben, und die gemeinsamen Kontakte (Exchanges Organisationenkontakte oder Google Shared Domain-Kontakte). In Einstellungen (Kapitel 14), Microsoft 365 und Google Workspace, wählen Sie den Dienst aus, geben Sie die erforderlichen Informationen ein und drücken Sie Jetzt überprüfen: Es meldet sich an, zählt die Personen und sagt, welche Extensions einer Person per E-Mail entsprechen. Speichern und Kontakte füllen sich innerhalb von 30 Sekunden; dann alle 30 Minuten oder sofort mit Kontakte jetzt synchronisieren.
Microsoft 365 (eine App-Registrierung; Sie müssen admin-Zustimmung erteilen können):
- Im Entra-Admin-Center, App-Registrierungen, Neue Registrierung: Benennen Sie es BitVoice, Single-Tenant, keine Umleitungs-Adresse.
- API-Berechtigungen, Berechtigung hinzufügen, Microsoft Graph, Anwendungsberechtigungen:
User.Read.All,OrgContact.Read.AllundCalendars.ReadBasic. Dann Admin-Zustimmung erteilen. - Zertifikate & Geheimnisse, Neues Client-Geheimnis: Kopieren Sie den Wert (wird nur einmal angezeigt).
- In BitVoice: Die Verzeichnis-(Mandanten-)ID, die Anwendungs-(Client-)ID und das Geheimnis. Ein Geheimnis läuft ab (Microsoft bietet bis zu zwei Jahre): Wenn es abläuft, sagt die Karte, dass das Geheimnis abgelehnt wurde; erstellen Sie ein neues und fügen Sie es ein.
Google Workspace (ein Dienstkonto; Sie müssen Super-Administrator sein):
- In Google Cloud, in einem Ihrer Projekte: Aktivieren Sie die People API und die Google Calendar API, erstellen Sie ein Dienstkonto und fügen Sie einen Schlüssel (JSON) hinzu.
- In der Google Admin-Konsole, Sicherheit, Zugriff und Datenkontrolle, API-Steuerung, Domain-weite Delegation, Neu hinzufügen: Die Client-ID des Dienstkontos mit den Bereichen
https://www.googleapis.com/auth/directory.readonly,https://www.googleapis.com/auth/calendar.freebusy. - In BitVoice: Die Schlüsseldatei und die E-Mail-Adresse eines Administrators, als den das Dienstkonto agieren soll.
Was hereinkommt:
- Eine Person's Arbeits- und Mobilnummern, Name, E-Mail-Adresse und ihre Job-Position und Abteilung als Notiz des Kontakts; der Name des Unternehmens als ihr Unternehmen. Personen ohne Nummer werden ausgelassen (ein Kontakt benötigt eine); Konten, die deaktiviert sind, werden ausgelassen.
- Kontakte aus dem Dienst werden mit dessen Namen markiert und können dort geändert werden: Änderungen oder Entfernungen hier werden abgelehnt, da die nächste Synchronisierung sie rückgängig machen würde. Hier erstellte Kontakte oder solche, die aus einer Tabelle importiert wurden, werden ignoriert.
- BitVoice liest nur. Der Zugriff erfolgt über die oben genannten Leseberechtigungen, und das Geheimnis oder der Schlüssel wird mit den anderen Geheimnissen gespeichert: Betrachter sehen es nie, und Exporte für Git lassen es aus.
Kalender und "Nicht stören"
/extensionsEine Erweiterung kann dem Kalender einer Person folgen: während Meetings und Auszeiten werden die Anrufe an die Voicemail weitergeleitet oder an eine andere Erweiterung oder ein Mobiltelefon weitergeleitet, anstatt ein Telefon anzuklingeln, das niemand beantworten wird. Ringgruppen klingeln in der Zwischenzeit und in Warteschleifen wird der Agent als Abwesend angezeigt.
In der Erweiterung Kalender und "Nicht stören" fügen Sie die private Adresse des Kalenders ein:
- Outlook: Einstellungen, Kalender, Freigegebene Kalender, Kalender veröffentlichen; wählen Sie den Kalender und "Alle Details anzeigen können", dann kopieren Sie den ICS-Link.
- Google Kalender: Einstellungen, das Kalender auf der linken Seite, dann Geheimer iCal-Format-Link.
Überprüfen liest es sofort aus und listet die nächsten besetzten Zeiten auf. BitVoice liest jedes Kalender alle fünf Minuten. Auszeiten (ganztägige Ereignisse und Outlooks "Außerhalb des Büros") werden immer gezählt; Meetings werden gezählt, wenn Meetings als besetzt zählen** aktiviert ist; Ereignisse, die als frei markiert sind, werden nie gezählt, noch abgesagte. Wiederkehrende Meetings mit übersprungenen und verschobenen Vorkommen werden verstanden. Wenn ein Kalender nicht gelesen werden kann, sagt die Gesundheitsseite es.
Nicht stören jetzt stoppt das Klingeln der Erweiterung, bis es deaktiviert wird, unabhängig von dem, was der Kalender sagt. Die Erweiterungsliste zeigt an, wer abwesend ist und bis wann.
Die private Adresse funktioniert wie ein Passwort: jeder, der sie hat, kann diesen Kalender lesen, also wird sie mit den anderen Geheimnissen aufbewahrt.
Jeder Kalender auf einmal: Microsoft 365 und Google Workspace
Anstatt einer privaten Adresse pro Anschluss kann BitVoice den Kalender jeder Person aus Microsoft 365 oder Google Workspace lesen: Konfigurieren Sie es einmal in Einstellungen (Kapitel 14), Microsoft 365 und Google Workspace (siehe Kontakte (Kapitel 38) für die Schritte), mit Kalender zeigen, wer abwesend ist aktiviert. Jeder Anschluss wird seinem Benutzer zugeordnet, indem seine E-Mail-Adresse verwendet wird; ein Anschluss mit einer privaten Adresse verwendet diese stattdessen. Die Einstellungen des Anschlusses hier (Besprechungen zählen als beschäftigt, Während der Beschäftigung, Anrufe) gelten wie bei einer privaten Adresse.
- Microsoft 365 unterscheidet zwischen Meetings und Abwesenheit: Ein Meeting, das als „außerhalb des Büros“ markiert ist, zählt als Abwesenheit; tentative Meetings und Zeiten, die als „frei“ oder „an einem anderen Ort“ markiert sind, verhindern nicht, dass das Telefon klingelt. Ein privates Meeting wird als „In einem Meeting“ angezeigt, ohne dessen Titel.
- Google Workspace gibt beschäftigte Zeiten ohne Angabe von Gründen an, sodass sie immer als Meetings zählen.
- Die Kalender werden alle fünf Minuten und sofort nach Änderungen der Einstellungen gelesen. Ein Anschluss, dessen E-Mail-Adresse der Dienst nicht kennt, zeigt dies in seinem Kalenderabschnitt an.
Mobile Apps
Die BitVoice-Apps für iPhone und Android machen ein mobiles Telefon zu einem der Telefone einer Erweiterung. Es klingelt wie ein Büro-Telefon, auf dem eigenen Anrufbildschirm des Telefons, auch wenn die App geschlossen ist.
Push einrichten
Eine geschlossene App wird durch eine Push-Nachricht für Anrufe geweckt. In Einstellungen (Kapitel 14), Mobile Apps, wählen Sie eines:
| Push | Was Sie benötigen |
|---|---|
| Push-Relay | BioDreams Relay (mit Hosting oder Support) oder Ihr eigenes bvpush: seine Relay-Adresse, Schlüssel-ID und Geheimnis |
| Eigene Apps | Ihre eigenen Builds: für Apple, die Team-ID, Bundle-ID, Schlüssel-ID und Schlüssel (.p8); für Google, das Firebase-Dienstkonto (JSON) |
Setzen Sie Adresse, die die Apps verwenden auf die https-Adresse dieses Servers, wie sie von überall aus erreichbar ist, nicht nur vom Büro aus.
Ein Telefon pairen
- Öffnen Sie die Erweiterung und drücken Sie Ein Telefon hinzufügen.
- Scannen Sie den QR-Code in der App. Der Code ist einmalig und gültig für zehn Minuten.
Wenn ein Anruf eingeht
BitVoice weckt die App; sie verbindet sich, klingelt auf dem eigenen Anrufbildschirm des Telefons und wird wie jedes andere Telefon der Erweiterung beantwortet: Ringgruppen und Warteschleifen klingeln es mit den anderen Telefonen der Erweiterung. Die Erweiterungsseite listet die gepaarten Telefone auf, ob jedes Für Anrufe geweckt werden kann, wann es zuletzt gesehen und zuletzt geweckt wurde und ob ein Push-Problem vorliegt. Entpairen stoppt ein Telefon sofort, für ein verlorenes Telefon.
Während eines Anrufs
Die App ist eine vollständige Erweiterung, nicht nur ein Wähler:
- Verbinden eines Anrufers mit einer anderen Erweiterung oder einer externen Nummer (die eigene Transfer-Taste auf dem Anrufsbildschirm oder die App-Schaltfläche). An die Parknummer, parkt sie den Anruf.
- Halten und wieder aufnehmen, vom Anrufsbildschirm oder der App; gehaltene Anrufer hören die Haltemusik, wo sie eingestellt ist.
- Ein zweiter Anruf: Während des ersten Anrufs wählbar und zwischen ihnen wechseln.
- Wähltöne (DTMF) während des Anrufs und Stummschalten.
Die anderen Registerkarten
- Letzte Anrufe: Anrufe von und zu dieser Erweiterung, neueste zuerst, Tippen, um zurückzurufen (verpasste Anrufe sind hervorgehoben).
- Voicemail: Jede Nachricht mit ihrer Transkription (Kapitel 29), wo die KI eine schreibt, abspielen, zurückrufen oder löschen.
- Team: Wer frei, in einem Anruf, klingelt oder abwesend ist (eine Besetztanzeige), um sie zu wählen oder den aktuellen Anruf an sie zu verbinden.
- Kontakte: Das Firmenverzeichnis, um einen Namen zu finden und anzurufen.
- Chat: Der Mitarbeiter-Chat (Chat und Anwesenheit), Kollegen mit ihrer Anwesenheit und direkten Nachrichten und Teamräume, innerhalb des Telefons. Eine neue Nachricht, während die App im Hintergrund läuft, wird als Benachrichtigung angezeigt, und das Tippen darauf öffnet den Chat; wenn die App geschlossen ist, kommt sie durch die gleiche Push-Benachrichtigung wie Anrufe.
- Ein Video-Raum beitreten: Wählen Sie einen der Video-Räume (Kapitel 34) (er listet sie auf, mit der Anzahl der Personen, die sich gerade darin befinden). Es öffnet sich über dem Telefon, das weiterhin im Hintergrund läuft, und Sie treten als Ihre Erweiterung bei: Kein Administratoren-Anmeldeprozess. Beim ersten Mal fragt das Telefon nach der Kamera. Verlassen oder Zurück auf Android kehrt zum Telefon zurück; der Ton des Raums bleibt ein Anruf darauf, bis Sie auflegen. Das Telefon zeigt den Raum als Videoanruf auf seinem eigenen Anrufsbildschirm an, während Sie sich darin befinden.
- Anrufe, die Sie tätigen, werden auch auf dem Telefonsystem des Telefons selbst (CallKit auf iPhone, Android-Telecom) angezeigt, sodass Bluetooth, ein Auto oder eine Uhr sie anzeigen, und ein eingehender Mobilanruf erkennt sie währenddessen.
Live-Transkript während eines Anrufs
Mit Anrufe live aufschreiben ein (in den Einstellungen (Kapitel 14), KI), wird jede Seite eines Anrufs während des Sprechens aufgeschrieben und auf dem Telefon während des Anrufs angezeigt. Der Audio geht an den Sprach-in-Text-Dienst (auf Ihrem eigenen Computer, wo dies eingestellt ist) oder den KI-Dienst, solange der Anruf andauert. Es ist die gleiche Aufschreibung wie 911-Live-Transkripte (Kapitel 13), für normale Anrufe.
Videotelefonate
/settingsWenn beide Telefone in einem Anruf Video senden (Videotelefone, Softphones, Video-Türsprechanlagen), wird das Bild zwischen ihnen durch BitVoice weitergeleitet. Nichts zu konfigurieren: es ist aktiv, es sei denn, Einstellungen → Videotelefonate ist deaktiviert.
- BitVoice leitet das Video wie es ist weiter, auf einem eigenen Port für jedes Telefon, sodass die Telefone nie die Adressen des anderen erfahren. Mit einem gemeinsamen Codec (fast jedes Videotelefon hat H.264) wird das Video nie decodiert; ohne einen kann es konvertiert werden (siehe unten). Wenn sie den gleichen Codec unterschiedlich nummerieren, nummeriert BitVoice ihn auf dem Weg um.
- Das Bild ist verschlüsselt (SRTP) für jedes Telefon, das seinen Ton verschlüsselt.
- Eine Anfrage eines Telefons nach einem neuen Bild (nach verlorenen Paketen) erreicht das andere Telefon, sodass das Bild sich in einem Moment erholen kann.
- Eine während eines Anrufs eingeschaltete Kamera (die Videotaste eines Softphones) funktioniert auch: das andere Telefon wird zuerst gefragt, und das Bild beginnt, wenn es ja sagt.
- Ein Telefon ohne Video oder ein Anruf an eine externe Nummer erhält nur Ton. Während des Halts oder des Parkens pausiert das Bild und kehrt zurück, wenn der Anruf fortgesetzt wird. Nach einer Weiterleitung wird es nur fortgesetzt, wenn die neue Partei auch Video sendet.
- Video verwendet viel mehr Netzwerkressourcen als Ton (etwa 0,5 bis 2 Mbit/s pro Anruf und Richtung): berücksichtigen Sie dies bei langsamen Verbindungen und im Medien-Port-Bereich.
Umwandlung von Video
Telefone und Apps, die einen gemeinsamen Video-Codec teilen (die meisten verwenden H.264), erhalten das Video des anderen wie es ist. Wenn zwei Parteien keinen gemeinsamen Codec haben (ein Videotelefon mit nur H.264 und ein Browser mit nur VP8), aktivieren Sie Video zwischen H.264 und VP8 umwandeln in den Einstellungen: BitVoice bietet dann beide Codecs an, antwortet jeder Partei in ihrem eigenen und konvertiert jede Richtung mit ffmpeg, das auf dem Server installiert sein muss (apt install ffmpeg, brew install ffmpeg; oder geben Sie den Pfad an). Die Umwandlung kostet etwa einen Prozessor-Kern pro Anruf und fügt eine kleine Verzögerung hinzu, sodass sie standardmäßig deaktiviert ist und nur verwendet wird, wenn sie benötigt wird. Die Einstellungen sagen, ob ffmpeg gefunden wurde.
Fax: Senden und Empfangen, Faxgeräte und analoge Telefone
/faxesFaxgeräte, analoge Telefone, Türsprechanlagen und alte Leitungen verbinden sich über ein SIP-Gateway (oder eine Telefoniekarte im BitVoice-Computer: siehe Telefoniekarten (Kapitel 6)): ein ATA (Grandstream HT-Serie, für ein oder zwei analoge Telefone oder ein Fax), oder ein größeres Gateway (Patton SmartNode, AudioCodes MediaPack und Mediant) für viele analoge Ports, eine ISDN-Leitung (BRI/PRI) oder alte analoge Leitungen (FXO). Jeder Port registriert sich bei BitVoice als Erweiterung, wie ein Telefon.
Empfangen von Faxes ohne Faxgerät. Auf Faxes fügen Sie eine Faxnummer hinzu (z.B. 300), mit den E-Mail-Adressen, an die jedes Fax gesendet wird. Dann leiten Sie in Anrufweiterleitung (Kapitel 8) die Anrufe einer Telefonnummer an diese weiter. BitVoice antwortet wie ein Faxgerät, schaltet auf T.38 um und empfängt das Fax; jedes Fax wird zu einem PDF, das auf Faxes (Anzeigen, PDF) gespeichert und per E-Mail gesendet wird. Ein Fax, das unterbrochen wird, behält die erhaltenen Seiten und zeigt dies an. Jedes Fax in der Liste zeigt die Identität des sendenden oder empfangenden Geräts an, wenn diese von der Nummer abweicht, sowie die Geschwindigkeit, mit der die Seiten übertragen wurden (14.400 Bit/s ist die höchste; ein Gerät, dessen Faxes häufig bei einer niedrigen Geschwindigkeit fehlschlagen, hat in der Regel eine schlechte Leitung). Dazu benötigen Sie einen Anbieter, der T.38 unterstützt (die meisten tun dies); ein als Ton gesendetes Fax kann nicht auf diese Weise empfangen werden. Getestet mit T38Fax, einem Fax-Anbieter: Registrieren Sie den Trunk mit Benutzername und Passwort bei sip.t38fax.com, Port 5080 (UDP); erlauben Sie UDP von dessen Netzwerken (8.34.182.0/24 und 8.20.91.0/24) durch jede Firewall vor BitVoice.
Ein Fax senden. Auf Faxen, Ein Fax senden: wählen Sie die Faxnummer, von der es gesendet wird, geben Sie die Nummer ein, an die es gesendet werden soll, schreiben Sie eine Notiz, wenn Sie möchten (sie wird zur ersten Seite), und fügen Sie Dokumente hinzu. Textdateien und Bilder (PNG, JPEG, GIF) funktionieren überall. PDF benötigt poppler auf dem Server (apt install poppler-utils, apk add poppler-utils, brew install poppler); Word, Excel, OpenDocument und RTF benötigen LibreOffice ebenfalls. Die Seite sagt, was der Server kann. Jede Seite erhält eine Kopfzeile, wie Faxgeräte sie drucken: die Zeit, den Namen der Faxnummer, ihre Identität und die Seitenzahl. Der Anruf wird von der Identität der Ziffern aus (+1 212 555 0300 ruft von +12125550300) oder von der Faxnummer selbst, wenn die Identität keine Nummer ist. Seiten sind US-Letter in Nordamerika und A4 anderswo, abhängig vom Land in den Einstellungen.
BitVoice ruft die Nummer über Ihre ausgehenden Routen an, wie eine Erweiterung es auch tun würde, und sendet mit der schnellsten Rate, die die Leitung trägt (14.400 Bit/s, langsamer, wenn die Leitung schlecht ist). Faxen von einer Faxnummer werden nacheinander gesendet. Eine besetzte Nummer oder eine, die nicht antwortet, wird fünf Minuten später noch einmal versucht, insgesamt dreimal. Gesendete Faxen werden mit den empfangenen Faxen aufgelistet: Gesendet, Warten auf Senden, Fehlgeschlagen (mit Noch einmal versuchen), oder Teilweise gesendet, wenn die Leitung nach einigen Seiten unterbrochen wurde.
E-Mail zu Fax. Unten in der Liste können Sie ein Postfach einrichten, das BitVoice lesen kann (IMAP über TLS, Port 993; für Google- und Microsoft-Postfächer verwenden Sie ein App-Passwort), dann Testen und Speichern. Jeder, der berechtigt ist, Faxen zu senden, schreibt an dieses Postfach mit der Faxnummer im Betreff (Fax 212 555 0199), oder an eine Plus-Adresse (fax+2125550199@example.com), wenn der Mail-Server diese akzeptiert. Anlagen werden zu den Seiten, und die eigenen Wörter der E-Mail werden zur Umschlagseite (die Signatur und zitierte E-Mails werden weggelassen). Es wird von der Faxnummer gesendet, die den Absender auflistet: ihre E-Mail-Adresse für jedes Fax kann immer senden, und Kann auch Faxen per E-Mail senden fügt weitere hinzu (ganze Adressen oder @example.com für eine Domäne). Der Absender erhält eine E-Mail, wenn das Fax gesendet wurde, oder warum es nicht gesendet werden konnte.
E-Mail ist leicht zu fälschen, daher sendet BitVoice ein Fax nur, wenn Ihr Mail-Server festgestellt hat, dass es wirklich vom Absender-Domain stammt (DKIM, SPF oder DMARC, in der Authentication-Results-Zeile, die es hinzufügt). Andere Nachrichten werden ohne Antwort abgelehnt. Schalten Sie E-Mails akzeptieren, die die Absender-Domäne nicht bestätigt hat nur für ein Postfach, das keine externe E-Mail erreichen kann.
Faxgeräte auf Gateways. BitVoice überträgt Fax über T.38, dem Faxstandard für das Internet: Wenn das Gateway ein Fax-Signal hört, schaltet es den Anruf auf T.38 um, BitVoice bittet die andere Seite (Ihren Anbieter oder ein anderes Gateway) um Umschaltung und leitet das Fax zwischen ihnen weiter. Wenn die andere Seite T.38 nicht unterstützt, bleibt der Anruf auf G.711 und das Fax wird als Ton übertragen, was in einem guten Netzwerk funktioniert. Aktive Anrufe zeigen Fax (T.38), während ein Fax übertragen wird.
Für zuverlässige Faxe:
- Verwenden Sie T.38 auf dem Gateway und wählen Sie einen Anbieter, der es unterstützt.
- Machen Sie die Erweiterung des Ports zu einem Analogadapter-Port (Erweiterungen, Art): BitVoice bietet dann nur G.711 an, was Faxe benötigen, die als Ton gesendet werden.
- Auf dem Fax-Port des Gateways: Fax-Modus T.38, nur PCMU oder PCMA, Line-Echo-Unterdrückung aus, Anrufbeantworter aus und einen festen, hohen Jitter-Puffer.
Posteingang: Web-Chat, WhatsApp und Messenger
/inboxDer Posteingang (Kapitel 43) enthält jede geschriebene Konversation in einer Liste: die Chat-Box auf Ihrer Website, WhatsApp, Facebook Messenger und Textnachrichten (Kapitel 44). Jeder, der bei der Web-Oberfläche angemeldet ist, kann antworten; der Erste, der antwortet, übernimmt die Konversation (jeder kann sie mit Beantwortet von weitergeben), und Schließen legt sie weg, bis die Person wieder schreibt. Ungelesene Konversationen werden gezählt und die Liste aktualisiert sich automatisch.
Die Chat-Box auf Ihrer Website
Unter Kanäle, aktivieren Sie Web-Chat, wählen Sie dessen Titel, Farbe und erste Zeile und setzen Sie die Zeile, die es auf den Seiten Ihrer Website anzeigen soll:
<script src="https://pbx.example.com:8443/webchat.js" async></script>
Es zeichnet eine Chat-Schaltfläche in die Ecke jeder Seite; Besucher schreiben (mit ihrem Namen, wenn sie möchten) und sehen Ihre Antworten, sobald sie eintreffen. Die Konversation bleibt im Browser des Besuchers, sodass sie weitergeht, wenn er zwischen Seiten wechselt. Listen Sie Ihre Websites unter Nur auf diesen Seiten auf, damit die Box nirgendwo anders läuft. Besucher müssen diese Server-Adresse aus dem Internet erreichen, mit einem Zertifikat, das Browser vertrauen (Let's Encrypt (Kapitel 14)). Zehn neue Chats von einer Adresse in zehn Minuten sind das Maximum, das BitVoice akzeptiert.
WhatsApp-Geschäftsnummern auf Metas Cloud-API. Erstellen Sie auf der Entwickler-Website von Meta eine App mit WhatsApp, fügen Sie Ihre Nummer hinzu und erstellen Sie einen Systembenutzer mit einem dauerhaften Zugriffstoken. Aktivieren Sie unter Kanäle WhatsApp und geben Sie die Telefonnummer-ID und die Geschäfts-Kontoid (beide aus der API-Konfiguration), das Zugriffstoken und das App-Geheimnis der App ein, dann speichern. Konfigurieren Sie in der WhatsApp-Konfiguration der App den Webhook: die Callback-Adresse und den Überprüfungstoken, den BitVoice zeigt, abonniert für *Nachrichten*.
WhatsApp ermöglicht es Ihnen, innerhalb von 24 Stunden nach der letzten Nachricht des Kunden frei zu antworten; danach akzeptiert es nur Nachrichtenvorlagen, die in WhatsApp Manager genehmigt wurden. Das Antwortfeld wird dann zu einem Vorlagen-Auswahlfeld: Wählen Sie eine Vorlage (es listet die Vorlagen Ihres Kontos auf, mit ihrer Sprache und Art), füllen Sie ihre Werte aus ({{1}}, {{2}} ...), überprüfen Sie die Vorschau, die der Kunde lesen wird, und Vorlage senden. Vorlagen, die der Posteingang nicht ausfüllen kann, werden grau aufgeführt mit dem Grund: Eine mit Bild-, Video- oder Dokumentkopfzeile, einer Variable in der Kopfzeile oder einem Link eines Schaltflächen, benannte Parameter oder ein Code-Schaltflächen; und solche, die noch nicht genehmigt sind. Erstellen Sie Vorlagen in WhatsApp Manager; Meta überprüft jede innerhalb von Minuten.
Facebook Messenger
Für eine Facebook-Seite: Fügen Sie in der Meta-App Messenger hinzu, verbinden Sie die Seite und erstellen Sie einen Seiten-Zugriffstoken. Geben Sie unter Kanäle die Seiten-ID, den Seiten-Zugriffstoken und das App-Geheimnis ein; dann konfigurieren Sie den Webhook (die Adresse und den Überprüfungstoken, den BitVoice zeigt), abonniert für *Nachrichten* und *messaging_postbacks*. Antworten sind innerhalb von 24 Stunden nach der letzten Nachricht der Person erlaubt. Von da an bis zu 7 Tagen akzeptiert Messenger Antworten, die von einer Person geschrieben werden (gesendet mit Metas *human agent*-Tag: Die App benötigt Metas Human Agent-Berechtigung, die im App-Review angefordert wird); die automatische Begrüßung wird dann nicht gesendet. Nach 7 Tagen akzeptiert der Posteingang keine Antwort, bis die Person wieder schreibt.
Jeder Webhook wird mit dem App-Geheimnis (Metas Signatur) überprüft, bevor BitVoice ihm glaubt, und eine Nachricht, die Meta zweimal sendet, wird einmal gespeichert. Bilder, Sprachnachrichten und andere Anhänge werden als solche angezeigt ("[Bild]"); öffnen Sie sie in Metas eigenen Apps.
Automatische Begrüßung, wenn eingerichtet, beantwortet die erste Nachricht jeder neuen Konversation sofort.
Geschäftliche Textnachrichten (SMS)
/textsSenden und Empfangen von Textnachrichten von Ihren Geschäftsnummern auf Textnachrichten. Textnachrichten werden über einen Textnachrichten-Anbieter gesendet. Vorhanden: TextMagic, Twilio, SignalWire, Telnyx, Bandwidth, Vonage, Plivo, Flowroute und VoIP.ms, plus Ihr eigener Webhook für jeden anderen Dienst oder ein eigenes Gateway. Es können beliebig viele Anbieterkonten gleichzeitig verwendet werden: Jede Nummer gibt an, welcher Anbieter sie trägt.
Einrichten
- Finden Sie im Portal des Anbieters die API-Details des Kontos. Das Formular fragt nach genau dem, was der Anbieter damit bezeichnet (Twilio: Account-SID und Authentifizierungstoken; Telnyx: ein API-Schlüssel; Bandwidth: API-Benutzer, Passwort, Konto-ID und Messaging-Anwendungs-ID; SignalWire: auch Ihre Raum-Adresse) und sagt, wo Sie sie finden.
- Auf Textnachrichten, Textnachrichten-Einrichtung, fügen Sie den Anbieter mit ihnen hinzu und speichern. BitVoice zeigt eine Adresse für empfangene Textnachrichten an: Stellen Sie sie im Anbieter als die Adresse ein, an die empfangene Nachrichten gesendet werden (sein Callback, Webhook oder Nachrichten-URL). Für VoIP.ms fügen Sie
?from={FROM}&to={TO}&message={MESSAGE}&id={ID}ans Ende hinzu. Lieferbestätigungen, die an dieselbe Adresse gesendet werden, werden ignoriert. BitVoice muss von dort aus über das Internet erreichbar sein. - Fügen Sie jede Nummer hinzu, von der aus Sie Textnachrichten senden (mit ihrer Ländervorwahl), den Anbieter, der sie trägt, und die Erweiterungen, um per E-Mail zu benachrichtigen, wenn eine Textnachricht eingeht.
US 10DLC
US-Anbieter blockieren Texte von gewöhnlichen Geschäftsnummern, die nicht registriert sind. Registrieren Sie Ihre Marke und dann eine Kampagne bei Ihrem Textanbieter; die Checkliste bei Texts verfolgt, wo sie stehen, und warnt, wenn Ihre Beispielmitteilung die Abbestellwörter fehlt, die die Anbieter erwarten.
Gespräche
Jedes Gespräch zeigt, wer es ist (aus Kontakten), ungelesene Texte und den Thread. Eingabe sendet; der Zähler zeigt, wie viele Texte eine lange Nachricht enthält. Wenn jemand STOP antwortet, kann nichts mehr an diese Nummer gesendet werden, bis sie START antworten. Erhaltene Texte erscheinen auch als Benachrichtigung in BitVoice.
Übertragung von Informationen
/settingsDamit ein Anrufer sich nie wiederholen muss: Wenn Jeden briefen, an den ein Anruf weitergeleitet wird in den Einstellungen (Einstellungen, KI) aktiviert ist, schreibt BitVoice eine zweisätzige Zusammenfassung des Anrufs bislang (wer anruft, was er will, was bereits zugesagt wurde) für die Person, an die er weitergeleitet wird. Sie erscheint auf ihrem Browser-Telefon mit dem klingelnden Anruf, auf Aktuelle Anrufe (Kapitel 46) und als Text auf dem Bildschirm ihres Schreibtischtelefons (für Telefone, die SIP-Nachrichten anzeigen).
Es funktioniert gleich, wenn der KI-Rezeptionist einen Anrufer an eine Person übergibt: Die Information stammt von dem, was der Anrufer dem Assistenten gesagt hat.
Es benötigt den KI-Service und ein Sprach-zu-Text-Modell (Einstellungen, KI), und die Audio des Anrufs bislang (bis zu fünf Minuten) wird an diesen Service gesendet, um ausgeschrieben zu werden. Eine Zusammenfassung dauert einige Sekunden, daher kann sie erst nach dem Klingeln des Telefons erscheinen.
Kunden und Einblicke
Wissen, wer angerufen hat und wie es gelaufen ist: die aktuellen Anrufe und die Historie, die Kundenzeitachse, CRMs, Aufzeichnungen und Zustimmung, Qualität, Kosten und Rufnummern-Ruf.
Aktive Anrufe
/callsAktive Anrufe zeigt jeden laufenden Anruf an, aktualisiert, wie es passiert: wer wen angerufen hat, wie lange es schon läuft, seine Codecs und seine Qualität.
Was Administratoren tun können
| Aktion | Was es tut |
|---|---|
| Auflegen | beendet den Anruf für beide Seiten |
| Tür öffnen | für einen Anruf von einem Türstation |
| Aufzeichnung pausieren | für eine Kartennummer: der pausierte Teil ist stumm in der Aufzeichnung und markiert in der Historie (Anrufaufzeichnung (Kapitel 51)) |
| Zuhören | hören Sie den Anruf still |
| Flüstern | sprechen Sie mit dem Agenten; der Anrufer hört nicht |
| Eindringen | treten Sie dem Anruf bei; jeder hört Sie |
Um zuzuhören, zu flüstern oder einzudringen, drücken Sie Beaufsichtigen, wählen Sie das Telefon unter Von Telefon und drücken Sie Klingeln: Ihr Telefon klingelt, und wenn Sie antworten, treten Sie dem Anruf bei. Sie können zwischen Zuhören, Flüstern und Eindringen wechseln, während Sie im Anruf sind.
Was noch angezeigt wird
- Eine Anruferkarte, während ein externer Anruf klingelt (aus Ihrem CRM oder vergangenen Anrufen; siehe CRM (Kapitel 49)).
- Die für die Person, an die der Anruf weitergeleitet wurde, geschriebene Zusammenfassung (Weiterleitungs-Zusammenfassungen (Kapitel 45)).
- Das Anrufer-ID-Urteil: Verifiziert, Teilweise verifiziert oder Nicht verifiziert (Spamschutz (Kapitel 56)).
- Mit mehreren Servern auch Anrufe auf anderen Servern, nur lesbar: Auflegen oder Zuhören auf dem Server, der den Anruf hat.
Wenn ein Anruf endet, wird er zu Anrufhistorie (Kapitel 47) verschoben.
Anrufhistorie
/historyJeder abgeschlossene Anruf: wer wen angerufen hat, wann, wie lange und wie er endete. Sortieren Sie die Spalten, spielen Sie Aufzeichnungen ab (eine Pause für Kartennummern ist markiert) und laden Sie die Liste als CSV herunter. Wie lange die Aufzeichnungen aufbewahrt werden, wird in den Einstellungen, Anrufaufzeichnung, festgelegt; ein Rechtsanspruch (Kapitel 73) bewahrt sie länger.
Wie es geroutet wurde
Unter jedem Anrufsergebnis listet Wie es geroutet wurde in einfachen Worten und in der Reihenfolge auf, was entschied, wohin der Anruf ging: die eingehende Route, die ihn annahm, ob ein Zeitplan geöffnet oder geschlossen und die Uhrzeit war, eine Umschalterseite, was ein Routing-Skript ausgewählt hat (oder dass sein Fallback den Anruf annahm), die in einem Menü gedrückten Tasten, wer abwesend war, wer kein Telefon verbunden hatte, wer nicht geantwortet hat, die ausgehende Route und die verwendeten Trunks (und einen Trunk, den der Gesundheitsrichter hinter die anderen verschob) und das Urteil des Betrugs-Schutzes, und, für einen aufgezeichneten Anruf, dessen Parteien unter verschiedenen Zustimmungsregeln stehen, welche Regel angewendet wurde.
Qualität, Klang und Verschlüsselung
Die Qualität-Spalte zeigt den Score (MOS, von 1 bis 5) jedes angenommenen Anrufs und zwei Markierungen, wenn sie zutreffen:
- Kein Klang von einer Seite: der Anruf wurde hergestellt, aber nie etwas von diesem Telefon oder Anbieter angekommen (Anrufe kürzer als 5 Sekunden, Faxe, Halten und Paging werden ausgelassen). Siehe Anrufqualität (Kapitel 53) für das, was zu überprüfen ist.
- Nicht verschlüsselt: BitVoice hat Verschlüsselung (SRTP) angefordert und diese Seite hat ohne sie geantwortet. Verschlüsselt bedeutet, dass der Klang mit jeder Seite, die etwas gesendet hat, verschlüsselt war. Um unverschlüsselte Anrufe von einem Anbieter abzulehnen, schalten Sie Verschlüsselung erforderlich auf seinem Trunk ein.
Transkripte und Suche
Mit aktiviertem KI und Aufgezeichnete Anrufe transkribieren (Einstellungen, KI) wird jeder aufgezeichnete Anruf mit einer kurzen Zusammenfassung und seinen Aufgaben transkribiert: was jemand vereinbart oder aufgefordert wurde zu tun. Jede Seite des Anrufs wird getrennt von der Aufzeichnung transkribiert, sodass das Transkript zeigt, wer was gesagt hat und wann. Der Transkript-Button neben einer Aufzeichnung öffnet es; Administratoren können auch einen einzelnen Anruf transkribieren oder einen erneut transkribieren.
Suche nach gesagten Worten findet Anrufe durch Wörter aus ihren Transkripten, Zusammenfassungen und Aufgaben. Nur aufgezeichnete Anrufe werden transkribiert. Ein Transkript wird mit seiner Aufzeichnung gelöscht und das Lesen oder Suchen von Transkripten wird im Überwachungsprotokoll vermerkt, wie das Abspielen einer Aufzeichnung.
Kundentimeline
/timelineDie Kundentimeline zeigt alles mit einer Telefonnummer über das letzte Jahr an, von neu bis alt, damit derjenige, der abnimmt, die ganze Geschichte kennt.
Was es zeigt
| Element | Mit |
|---|---|
| Anrufe | wer sie angenommen hat, wie lange sie gedauert haben und mit einer Transkript, einer Zusammenfassung, der Aufzeichnung und der Transkript |
| Voicemails | ihre Zusammenfassungen |
| Textnachrichten | in beide Richtungen |
| Rückrufe | angefordert und ob durchgeführt |
| Notizen | die eigenen Notizen des Teams |
Eine Nummer passt unabhängig von der Schreibweise: +1 212 555 0100 und 2125550100 sind dieselbe.
Öffnen
Von einer Anruferkarte (Zeitachse), von Kontakten, von einem eingehenden Anruf in der Anrufliste, von einer Textkonversation oder indem Sie eine Nummer oben in der Zeitachse (Kapitel 48) eingeben.
Notizen
Administratoren können Eine Notiz für das Team hinzufügen: Sie wird auf der Zeitachse für jeden angezeigt, mit Angabe, wer sie geschrieben hat und wann, und kann entfernt werden.
CRM: Anruferkarten und Anrufliste
/settingsVerbinden Sie ein Kunden-System in Einstellungen (Kapitel 14), CRM. Es funktioniert mit jedem System, das eine Web-Adresse hat, ohne dass Code für jedes Produkt geschrieben werden muss.
Anruferkarten
Während ein Anruf von außerhalb klingelt, zeigt Live-Anrufe eine Karte an: Wer es ist (aus Ihrem CRM oder dem Namen der Nebenstelle), wie oft sie in den letzten 90 Tagen angerufen haben, auf welche Rückrufe (Kapitel 30) sie warten, und die Zusammenfassung ihres letzten transkribierten Anrufs. Das Browser-Telefon zeigt eine kürzere Karte an die Person, die den Anruf annimmt: Wer es ist, vorherige Anrufe und wartende Rückrufe, aber nicht die Zusammenfassungen von Anrufen anderer Personen.
Für den Namen legen Sie Adress-Suche fest: BitVoice fragt es (GET) mit der Rufnummer des Anrufers anstelle von {number}, sendet Such-Header mit seinem Wert (ein Verweis auf ein Vault-Wert funktioniert) und erwartet JSON mit Name, Unternehmen, URL und Notizen; 404 bedeutet unbekannt. Antworten werden fünf Minuten lang gespeichert. Öffnen im CRM-Link fügt einen Link zum Anrufer auf der Karte hinzu. Verwenden Sie Nachschlagen, um eine Nummer zu testen, bevor Sie sie speichern.
Eine CRM-eigene Antwort
Die meisten CRMs beantworten eine Suche in ihrer eigenen Form, normalerweise eine Liste von Übereinstimmungen, nicht BitVoices {"name": ...}. Öffnen Sie Antwortfelder und sagen Sie, wo jedes Teil ist, als gepunkteter Pfad: ein Name tritt in ein Objekt ein und eine Zahl in eine Liste, also ist list.0.name der Name des ersten Treffers. Verknüpfung mit dem Kontakt kann ein Pfad zu einem Link sein, den die CRM bereitstellt, oder eine Web-Adresse mit Pfaden in Klammern, wie z.B. https://crm.example.com/#Contact/view/{list.0.id}. Ein leeres Feld liest BitVoices eigenen Namen dafür. Eine Suche, die niemanden findet, ist dasselbe wie 404: die Karte sagt, dass der Anrufer nicht bekannt ist. Versuchen Sie, eine Nummer mit Nachschlagen zu überprüfen, bevor Sie speichern.
Zum Beispiel EspoCRM (getestet gegen ein reales EspoCRM): erstellen Sie einen API-Benutzer (Verwaltung, API-Benutzer, Authentifizierung durch API-Schlüssel) mit einer Rolle, die Kontakte und Konten lesen darf, und setzen Sie dann:
- Suchadresse:
https://crm.example.com/api/v1/Contact?select=name,accountName,description&maxSize=1&where%5B0%5D%5Btype%5D=equals&where%5B0%5D%5Battribute%5D=phoneNumber&where%5B0%5D%5Bvalue%5D={number} - Suchheader
X-Api-Key, sein Wert ist der API-Schlüssel des Benutzers - Antwortfelder: Name
list.0.name, Firmalist.0.accountName, Notizenlist.0.description, Linkhttps://crm.example.com/#Contact/view/{list.0.id}
EspoCRM speichert Nummern in internationaler Form (+15405550117), wie BitVoice sie übermittelt. Andere CRMs funktionieren auf die gleiche Weise mit ihrer eigenen Suchadresse und Feldnamen; überprüfen Sie die Form ihrer Antwort in ihrer API-Dokumentation oder mit Nachschlagen, deren Nachricht benennt, was sie gefunden hat.
Anruf-Protokollierung
Setzen Sie Anruf-Protokoll-Adresse und Signierungsgeheimnis, und jeder Anruf wird dorthin gesendet, wenn er beendet ist (Ereignis call.ended), erneut mit seiner Zusammenfassung, Aktionselementen und Transkript, sobald es transkribiert wurde (call.summarized), und jeder gebuchte Rückruf (callback.new). Jeder POST enthält X-BitVoice-Ereignis, X-BitVoice-Timestamp und X-BitVoice-Signatur: sha256= gefolgt von der HMAC-SHA256, mit dem Geheimnis, des Zeitstempels, eines Punktes und des Textkörpers. Eine fehlgeschlagene Lieferung wird viermal über etwa eine Minute hinweg versucht; wenn sie immer noch fehlschlägt, teilt Health dies mit. Ein Testereignis senden überprüft die Adresse und das Geheimnis.
Anruf-Einblick für Vorgesetzte
/qualityFür Kontaktcenter: Beweise darüber, wie Anrufe verlaufen sind, für einen Vorgesetzten, der zuhören kann, nie eine automatische Bewertung.
Im Transkript eines Anrufs zeigt Wie es lief an, gemessen allein anhand des Klanges der Aufzeichnung: wie viel jede Seite gesprochen hat, die längste Redezeit jeder Seite, wie oft jede Seite über die andere gesprochen hat, wie lange beide gleichzeitig gesprochen haben und die Stille (eine lange Stille ist oft ein Halten oder tote Luft).
Mit Notieren, wie jedes transkribierte Gespräch lief aktiviert (Einstellungen, KI), liest die KI auch das Transkript und sagt, wie der Anrufer am Anfang und am Ende erschien und listet bis zu sechs Momente auf: Lief gut, Ansehen (über den Anrufer sprechen, ein langes Halten, eine unklare Antwort) und Versprochen (etwas, das jemand sagte, er würde tun), jedes mit der Zeit und den gesprochenen Worten, damit Sie direkt dazu gehen können. Ein Administrator kann es für jeden transkribierten Anruf mit Ansehen dieses Anrufs anfordern.
Bei Anrufqualität (Kapitel 50) summiert Gespräche, nachdem sie angenommen wurden die transkribierten Anrufe des Zeitraums pro Person: ihren Anteil am Sprechen, ihre längste Rede, wie oft sie über den Anrufer hinweggesprochen haben, stille Zeit, Anrufe, die damit endeten, dass der Anrufer verärgert war, und die markierten Momente. Verwenden Sie es, um Anrufe zum Anhören auszuwählen, nicht um Menschen zu bewerten.
Coaching-Notizen sind Ihre eigenen Worte zu einem Anruf, im Moment, an dem sie relevant sind: unter Wie es lief, schreiben Sie das Moment (1:05, oder lassen Sie es leer für den Anfang) und die Coaching-Notiz, und drücken Sie Notiz hinzufügen. Notizen werden in der Reihenfolge des Anrufs mit dem, der sie geschrieben hat, und wann, aufgelistet; Administratoren schreiben und entfernen sie, Zuschauer lesen sie mit dem Transkript, und das Hinzufügen oder Entfernen einer Notiz wird im Überwachungsprotokoll vermerkt. Sie gehen mit der Aufzeichnung, also decken sie auch die Aufbewahrung und rechtlichen Haltefristen ab. Coaching-Notizen auf Anrufqualität zählen sie pro Person.
Anrufaufzeichnung und Kartenzahlungen
Die Aufzeichnung ist in Einstellungen (Kapitel 14), Anrufaufzeichnung aktiviert: aus, jeder Anruf oder nur die Anrufe von Erweiterungen, die mit Anrufe aufzeichnen markiert sind. Aufzeichnungen können von Anrufliste (Kapitel 47) abgespielt werden, und mit aktivierter KI werden sie aufgeschrieben und zusammengefasst.
Informieren der Teilnehmer
An einigen Orten muss allen Teilnehmern einer Konferenz mitgeteilt werden, dass die Konferenz aufgezeichnet wird: Ansage, Piepton und regionale Vorschriften finden Sie unter Aufzeichnungsrecht (Kapitel 52).
Kartenzahlungen (PCI DSS)
Kartennummern dürfen nicht in Aufzeichnungen gespeichert werden. Bevor ein Anrufer eine Nummer vorliest, drückt die Person auf der Nebenstelle *7; *8 setzt die Aufzeichnung fort. Aufzeichnung pausieren unter Aktive Anrufe (Kapitel 46) funktioniert genauso. Der pausierte Teil ist in der Aufzeichnung stumm und in der Anrufliste aufgeführt, sodass ein Auditor sehen kann, wo und wie lange die Aufzeichnung pausiert wurde.
Konferenzräume
Ein Raum mit aktivierter Raumaufzeichnung wird als eine einzige Aufzeichnung des gesamten Raums gespeichert (Konferenzräume (Kapitel 34)).
Aufbewahrungsfrist
In den Einstellungen wird festgelegt, wie viele Tage Aufzeichnungen, Anruflisten und Voicemails gespeichert werden; ältere werden innerhalb einer Stunde gelöscht. Alles unter einer rechtlichen Sperrung (Kapitel 73) wird unabhängig von seinem Alter gespeichert. Das Archiv (Kapitel 72) kann Kopien an anderer Stelle speichern.
Administratoren und Betrachter können Aufzeichnungen abspielen und Transkripte lesen; nur Administratoren können einen Anruf transkribieren oder erneut transkribieren. Das Abspielen einer Aufzeichnung oder das Lesen ihres Transkripts wird im Überwachungsprotokoll vermerkt.
Aufzeichnungsrecht
/settingsEinige Orte erlauben die Aufzeichnung eines Anrufs, wenn eine Person darauf hingewiesen wird; andere benötigen, dass alle informiert oder zustimmen. In den Einstellungen unter Anrufaufzeichnung können Sie wählen, wie Personen in einer aufgezeichneten Anruf informiert werden:
- Keine Mitteilung.
- Ansage: Wenn der Anruf beantwortet wird, hören beide Seiten die Mitteilung (aufzeichnen Sie sie an gleicher Stelle, z. B. "Dieser Anruf wird für Schulung und Qualität aufgezeichnet"), und die Aufzeichnung beginnt erst nach dem Abspielen. Bis eine aufgezeichnet wird, werden drei Töne abgespielt und Health sagt es an.
- Ton: Ein kurzer Ton für beide Seiten alle 15 Sekunden, während der Anruf aufgezeichnet wird.
Regeln wählen nach der Außenummer (der Anrufer bei eingehenden Anrufen, die gewählte Nummer bei ausgehenden Anrufen), längster Treffer zuerst: Zum Beispiel Nummern, die mit 1415 (Kalifornien) beginnen, Ansage, 49 (Deutschland) Niemals aufzeichnen, alles andere wie oben. Eine Regel ohne Keine Mitteilung zeichnet ohne Mitteilung auf; Niemals aufzeichnen lässt diese Anrufe ganz aus der Aufzeichnung aus. Anrufe zwischen Nebenstellen folgen der Haupt-Einstellung.
Ihre eigene Nummer wird auch gezählt: die Regeln werden sowohl gegen die externe Nummer als auch gegen Ihre Nummer (die angerufene Nummer bei eingehenden Anrufen, Ihre Anruferkennung bei ausgehenden Anrufen) gematched, und die schützendste von ihnen gewinnt (Niemals aufzeichnen vor Ankündigen vor Piepton vor Keine Ankündigung). Ein Büro in einem Ort, das die Zustimmung aller Parteien benötigt, kündigt also an, wen es anruft, wo immer es sich befindet. Wenn die Parteien unter verschiedenen Regeln fallen, sagt der Anrufverlauf in Anrufverlauf (Kapitel 47), welche Regel angewendet wurde und warum.
Die Aufzeichnung kann auch während eines Anrufs mit dem Pausencode (Kartenzahlungen) pausiert werden. Keine dieser Informationen ist Rechtsberatung: prüfen Sie die Gesetze, wo Sie und Ihre Anrufer sind.
Anrufqualität
/qualityWie die Anrufe im Laufe des letzten Tages, der Woche, des Monats oder 90 Tage geklungen haben, basierend auf dem Klang, den BitVoice selbst auf jeder Seite jedes Anrufs empfangen hat. Telefone werden nach ihrem Standort (Kapitel 12) (oder "kein Standort") gruppiert, und Anrufe von außerhalb nach der Leitung des Anbieters, auf der sie hereingekommen sind.
Jeder Standort zeigt seine Anrufe, seine durchschnittliche Bewertung (MOS, von 1 bis 5: über 4 ist gut, unter 3,6 klingt schlecht), den Anteil der Sound-Pakete, die nie angekommen sind, und Jitter (unevene Verzögerung). Darunter sagt BitVoice in einfachen Worten, was falsch ist, zum Beispiel „Paketverlust im Netzwerk des Hauptbüros: 3,2% des Sounds sind nie angekommen, meistens zwischen 14:00 und 16:00“, mit Hinweisen darauf, was zu überprüfen ist. Das Balkendiagramm zeigt den verlorenen Sound pro Stunde des Tages.
The diagnosis compares the two halves of the same calls: the sound from the site's phones and the sound from the provider the same calls went through. When the other half arrived clean, the loss is on this place's side, and it says so; when both halves lost sound, the place is not to blame alone and it points at what the calls share, this system's own internet link. If every place loses sound at once, the cause is likewise what they share. How this was worked out lists the reasons, step by step (the call-quality rulebook, see Security (Kapitel 60), "How BitVoice decides"). Places with fewer than three calls are not judged. Per-call quality is also in Call history (Kapitel 47) (the Quality column) and, while calls are live, on Live calls (Kapitel 46).
Ein Anruf, der verbunden wurde, aber überhaupt keinen Sound von einer Seite erhalten hat, wird separat unter ohne Sound gezählt und zuerst angezeigt: es handelt sich nicht um schlechten Sound, sondern um Sound, der nie angekommen ist, fast immer ein Firewall- oder NAT-Router, der SIP durchlässt und die Medien blockiert. Die Empfehlung des Standorts sagt, was zu überprüfen ist (für einen Anbieter, seine Medien-Adressbereiche).
Kosten und Budgets
/costsBitVoice berechnet den Preis jedes Anrufs basierend auf dem, was Ihr Anbieter berechnet, und zeigt den monatlichen Aufwand nach Abteilung, Person und Trunk, mit den teuersten Anrufen.
Preise
Auf Trunks (Kapitel 7) öffnen Sie einen Trunk und dessen Anrufpreise. Jeder Preis deckt Nummern ab, die mit einigen Ziffern beginnen, wie die Nummer an den Anbieter gesendet wird (nur Ziffern, also 44 für Großbritannien, 1900 für US-Vorrang); der längste Treffer gewinnt, und ein Preis ohne Ziffern deckt jede andere Nummer ab. Geben Sie den Preis pro Minute, eventuelle Gebühren pro angenommenem Anruf, den Abrechnungsschritt (60 Sekunden für ganze Minuten, 6 oder 1 für feinere) und eventuelle Mindestbeträge an. Anrufe herein, pro Minute ist für kostenlose Nummern, die Sie für den Empfang bezahlen. Was würde es kosten überprüft eine Nummer, bevor jemand sie wählt. Die Währung wird auf Kosten festgelegt.
Die Kosten eines Anrufs sind festgelegt, wenn er endet, mit den Preisen der Zeit; die Änderung eines Preises ändert nicht die vorherigen Anrufe. Kosten sagt, wie viele angenommene Anrufe ausgegangen sind, ohne dass ein Preis vorhanden war.
Abteilungen und Budgets
Geben Sie den Erweiterungen eine Abteilung (in der Erweiterung). Auf Kosten fügen Sie ein Budget für jeden Anruf oder für eine Abteilung hinzu: eine Warnung erscheint in BitVoice und wird an die Budget-Adresse und die Warnungsadresse per E-Mail gesendet, bei 80 % und erneut bei 100 % des Monats.
Der Alarm
Anrufe ausgehen kosten mehr als dies in einer Stunde löst einen Alarm aus, wenn ausgehende Anrufe diesen Betrag innerhalb einer Stunde überschreiten. Ein plötzlicher Anstieg teurer Anrufe ist das übliche Zeichen für Abrechnungsbetrug (ein gestohlenes Telefonkennwort): überprüfen Sie den Anrufverlauf, dann deaktivieren Sie die Erweiterung oder den Trunk.
Anrufer-ID-Reputation und markierte Anrufe
/reputationTelefonunternehmen betreiben Spam-Filter, die eine Geschäftsnummer als "Spam wahrscheinlich" kennzeichnen oder blockieren können, und dann antwortet fast niemand. Anrufer-ID-Reputation überwacht jede Nummer, von der aus Sie anrufen, aus Ihren eigenen Anrufen, und sagt in einfachen Worten, wie es läuft:
- Beantwortet: der Anteil der beantworteten Anrufe und was er im vorherigen Zeitraum war. Ein Rückgang um die Hälfte oder unter 20% ist das übliche Zeichen für eine neue Kennzeichnung.
- Sofort aufgelegt: beantwortete Anrufe, die innerhalb von 10 Sekunden endeten.
- Als Spam abgelehnt: Anrufe, die ein Carrierverschleiern filterte (SIP 608) oder die die Person als unerwünscht markierte (607). Ein 608 bedeutet, dass die Nummer gekennzeichnet ist.
- Schwere Nutzung: mehr als etwa 150 Anrufe pro Tag von einer Nummer ist das, was Robocaller tun, und Filter bemerken es.
Nummern mit weniger als 20 Anrufen werden als zu wenige zum Beurteilen angezeigt.
Ihre ausgehenden Rufnummern geben jeder Nummer einen Namen (wird als Anrufername gesendet), einen Anrufgrund und ein Logo (ein https://-Bild). Auf einer Trunk-Verbindung mit Senden von markiertem Anrufer-ID aktiviert, werden das Logo und der Anrufgrund als reiche Anrufdaten (RFC 9796 Call-Info) gesendet; Anbieter, die markiertes Anrufen unterstützen, zeigen sie auf dem angerufenen Telefon an. Die meisten Telefone zeigen den Namen aus der Caller-Name-(CNAM)-Datenbank an, die Ihr Anbieter festlegt: fragen Sie ihn. Beobachten setzt eine Warnung auf der Gesundheitsseite, wenn eine beobachtete Nummer anfängt, markiert zu werden.
Die Seite sagt auch, was zu tun ist, wenn eine Nummer markiert wird.
Spamschutz und STIR/SHAKEN
/settingsIn den USA und Kanada signiert der Anbieter, mit dem ein Anruf beginnt, seine Anruferkennung (STIR/SHAKEN): A, wenn er weiß, dass der Anrufer die Nummer nutzen darf, B, wenn er den Anrufer kennt, aber nicht die Nummer, C, wenn er den Anruf nur weitergeleitet hat. Ihr Anbieter teilt BitVoice entweder sein Urteil (Verstat) mit oder übermittelt den signierten Identity-Header, den BitVoice dann selbst überprüft: die Signatur, dass sie nicht älter als eine Minute ist und dass sie die Nummern dieses Anrufs nennt. Das Urteil wird als Verifiziert, Teilweise verifiziert, Nicht verifiziert oder Nicht überprüft auf Aktuelle Anrufe und im Anrufverlauf angezeigt.
In den Einstellungen unter Spamschutz können Sie wählen, was passiert, wenn eine Anruferkennung die Verifizierung nicht besteht (klingeln, gekennzeichnetes Klingeln oder Ablehnen), wenn sie nicht verifiziert ist und wenn die Nummer unterdrückt wird. Ein gekennzeichneter Anruf klingelt mit Spam? (oder Ihrem eigenen Label) vor dem Namen des Anrufers. Blockierte Nummern werden abgelehnt; ein Eintrag, der mit * endet, blockiert einen Bereich (+1900* ist jede US-Premiumrate-Nummer). Immer erlaubte Nummern werden nie abgelehnt oder gekennzeichnet. Im Anrufverlauf fügt der Blockierungsbutton neben einem Anrufer ihn zur Liste hinzu; abgelehnte Anrufe werden als Blockiert aufgeführt.
Innerhalb einer Stunde nach einem Notruf von jedem Anschluss wird kein Anruf abgelehnt (blockierte Anrufe klingeln stattdessen mit Kennzeichnung), falls es sich um den Rückruf des Notrufdienstes handelt. Ein 911-Anruf (vom ESInet oder einem CAMA-Trunk) wird niemals abgelehnt oder verzögert.
Anrufer, die BitVoice nicht kennt
Ein Anrufer gilt als bekannt, wenn die Nummer immer erlaubt ist, in den Kontakten (Kapitel 38) steht, von hier aus in den letzten 12 Monaten angerufen wurde oder den Roboter-Test in den letzten 90 Tagen bestanden hat. Nummern werden unabhängig von ihrer Schreibweise (mit oder ohne Ländercode, 1, 0 oder +) abgeglichen. Unter Anrufer, die BitVoice nicht kennt, wählen Sie, was mit allen anderen passiert:
| Auswahl | Was der Anrufer erhält |
|---|---|
| Wie üblich klingeln | der Anruf klingelt wie jeder andere (Standard) |
| Roboter-Test zuerst | BitVoice nimmt den Anruf an und sagt „Um verbunden zu werden, drücken Sie bitte“ und eine Ziffer, die sich bei jedem Anruf ändert. Die richtige Taste leitet den Anruf an den ursprünglich bestimmten Ort weiter; jede andere Taste oder keine Taste (zweimal) leitet den Anruf an den Ort weiter, der unter Anrufer, die den Test nicht bestehen, gehen zu gewählt wurde, oder der Anrufer hört eine Absage. Robocaller drücken die Taste nicht |
| An einen anderen Ort weiterleiten | nichts klingelt: der Anruf wird direkt an den gewählten Ort weitergeleitet, z. B. an eine Voicemail-Box |
Der Roboter-Test benötigt seine Wörter: In Klangdateien (Kapitel 20) aufnehmen oder erstellen (mit einem Sprachdienst) die Screening-Prompts und die Zahlen 1 bis 9 in der Sprache der Anrufer. Bis diese aufgenommen sind, klingeln solche Anrufe wie üblich (ein Anrufer kann einen Test, den er nicht hören kann, nicht bestehen), und der Health-Bereich zeigt dies an. Ein Anrufer, der den Test besteht, gilt für 90 Tage als bekannt. Der Test nimmt den Anruf an, sodass der Anbieter des Anrufers ab diesem Moment Gebühren berechnet, wie bei jedem angenommenen Anruf. Die Anrufliste zeigt das Ergebnis jedes Anrufs (bestanden, nicht bestanden, weitergeleitet) und der Warum-Pfad zeigt, was passiert ist.
Eine Spam-Datenbank
BitVoice kann vor dem Klingeln eines Anrufs einen Rufzeichen-Dienst über jeden unbekannten Anrufer befragen. Nomorobo über Twilio verwenden füllt Twilio Lookup mit dem Nomorobo-Spam-Score aus (installieren Sie das Nomorobo-Add-on in Ihrem Twilio-Konto und geben Sie dann dessen Konto-SID und Authentifizierungstoken ein); jeder andere Dienst, der in JSON antwortet, funktioniert auch: Geben Sie seine Adresse mit {e164} (+12125550142) oder {number} (wie der Anbieter sie gesendet hat) an, wo sein Urteil ist (Urteilsfeld, ein punktierter Pfad), und wenn es Spam bedeutet (ein Score von oder über Spam bei Score, true oder der Text in Oder Spam, wenn der Text, wie z. B. BLOCK). Wählen Sie, was mit einem Anrufer passiert, den es als Spam einstuft: klingeln mit Kennzeichnung, Roboter-Test oder ablehnen.
- Diese Dienste berechnen pro Abfrage. Bekannte Anrufer werden nie abgefragt, und jede Antwort wird für einen Tag (Antworten aufbewahren) gespeichert.
- Ein langsamer oder defekter Dienst hält einen Anruf nie auf: Nach Warten höchstens (1,5 Sekunden, sofern nicht geändert) klingelt der Anruf, als wäre die Antwort „nicht Spam“.
- Test fragt den Dienst über eine Nummer jetzt ab (und wird wie jede Abfrage berechnet).
Den letzten Anrufer blockieren
Direkt nach einem unerwünschten Anruf wählen Sie *32* (Funktionstasten (Kapitel 32)) auf dem Telefon, das geklingelt hat: Die letzte externe Nummer, die in den letzten 24 Stunden bei diesem Anschluss geklingelt hat, wird auf die Blockierungsliste gesetzt, und das Telefon gibt die Nummer zurück. Eine immer erlaubte Nummer wird nicht blockiert, und das Telefon sagt dies an. Jede Blockierung ist im Audit-Log mit Angabe, wer sie blockiert hat.
Vorgeschlagen aus Ihren Anrufen
BitVoice liest die letzten 30 Tage der Anrufe von außerhalb, um Nummern zu finden, die immer wieder anrufen und sofort beendet werden: drei Anrufe oder mehr, fast alle innerhalb von 10 Sekunden beendet, oder zwei Roboter-Tests nicht bestanden, und nie ein echtes Gespräch (jemand spricht 30 Sekunden oder länger). Bekannte Nummern werden ausgelassen. Jede kommt mit einer Begründung; Blockieren setzt sie auf die Blockierungsliste, und Kein Spam bedeutet, dass sie nie wieder vorgeschlagen wird. Nichts wird blockiert, bis eine Person dies bestätigt.
Um Zertifikate gegen die STI-Behörden zu überprüfen, fügen Sie ihre Zertifikate unter STI-Zertifizierungsbehörden hinzu; ohne sie überprüft BitVoice, dass der Anruf mit dem Zertifikat signiert wurde, das er nennt, aber nicht, wer dieses Zertifikat ausgestellt hat.
Signieren Ihrer eigenen Anrufe
Die meisten Anbieter signieren die Anrufe ihrer Kunden selbst. Wenn Ihr Anbieter das Signieren erlaubt (oder Sie ein Anbieter sind, der BitVoice ausführt), schalten Sie Anruferkennung signieren auf dem Trunk (Trunks (Kapitel 7)) ein und geben Sie Ihr STI-Zertifikat (von einer STI-Zertifizierungsbehörde mit Ihrem Dienstleister-Code-Token) und den privaten Schlüssel (P-256) ein. Jeder Anruf, der über den Trunk ausgeht, enthält dann einen signierten Identity-Header (ES256, wie SHAKEN erfordert).
- Zertifikatsadresse (x5u) ist der Ort, an dem die angerufene Seite das Zertifikat abruft. Lassen Sie es leer und BitVoice veröffentlicht es unter
/stir/<trunk>.pemauf seiner öffentlichen Adresse (Einstellungen), die dann über HTTPS von Internet aus erreichbar sein muss. - Beglaubigung: Automatisch gibt A, wenn eine Nebenstelle mit einer dieser Systemnummern anruft (eine eingeroutete Nummer oder eine Anruferkennung, die auf dem Trunk oder der Nebenstelle festgelegt ist), B, wenn eine Nebenstelle mit einer anderen Nummer anruft, und C für Anrufe, die von außen weitergeleitet werden (ein weitergeleiteter Anrufer). Oder fixieren Sie es auf A, B oder C.
- Der Anrufverlauf kennzeichnet jeden signierten Anruf mit signiert A, B oder C. Ein Anruf wird nie gestoppt, weil er nicht signiert werden konnte; der Grund ist im Logbuch angegeben.
BitVoice ausführen
Sicherheit und Betrieb: Administratoren und Anmeldung, Sicherheit, Änderungen und Updates, mehrere Server, gehostete Organisationen, Codecs, Teams, Import und Automatisierung sowie Werkzeuge für die Fehlersuche.
Administratoren
/usersAdministratoren sind die Personen, die sich in dieser Web-Oberfläche anmelden. Mitarbeiter, die nur ihre eigenen Anrufe betreuen, verwenden das Mitarbeiter-Portal und benötigen kein Konto hier (Das Mitarbeiter-Portal (Kapitel 33)).
Rollen
| Rolle | Kann |
|---|---|
| Administrator | alles ändern, Aufzeichnungen abspielen, jede geheime Feld-Existenz sehen (nie den Wert) |
| Viewer | alles sehen, nichts ändern; Geheimnisse sind versteckt |
Eine Änderung der Rolle oder des Passworts meldet die Person überall gleichzeitig ab.
Zwei-Schritt-Anmeldung
Jede Person aktiviert die Zwei-Schritt-Anmeldung für sich selbst: Einrichten zeigt einen Schlüssel für eine Authentifizierungs-App an; die Eingabe des Codes, den sie anzeigt, aktiviert sie. Ab dann fordert die Anmeldung einen Code zusätzlich zum Passwort. Die Deaktivierung benötigt das Passwort.
Single-Sign-On
Mit Single-Sign-On (Einstellungen) melden sich Personen mit dem Konto der Organisation an (Microsoft Entra, Google, Okta, jeder OpenID-Connect-Anbieter) und ein Konto wird für sie das erste Mal erstellt. Siehe Single-Sign-On (Kapitel 58).
API-Tokens
Programme (Terraform, Skripte) verwenden API-Tokens anstelle eines Passworts: Erstellt auf dieser Seite, einmalig angezeigt und jederzeit widerrufen. Jedes Token ist ein Administrator oder ein Viewer. Ein Token, das mit Benennt die Person, für die es handelt (für ein CAD) erstellt wurde, kann X-BitVoice-On-Behalf-Of mit dem Namen der Person senden und die Aufzeichnungen benennen dann diese Person neben dem Token (Notrufe (Kapitel 77)).
Single-Sign-On
Single-Sign-On ermöglicht es Personen, sich mit ihrem Arbeitskonto bei BitVoice anzumelden, durch jeden OpenID Connect-Anbieter: Microsoft Entra ID, Google, Okta, Keycloak und andere. Wenn eine Person die Organisation verlässt, wird auch der Zugriff hier entfernt.
Einrichten
In Einstellungen (Kapitel 14), Single-Sign-On:
- Registrieren Sie eine Anwendung beim Anbieter mit der hier angezeigten Umleitungsadresse.
- Anbieter ausfüllen setzt den Issuer für die gängigsten Anbieter; kopieren Sie die Client-ID und das Client-Geheimnis vom Anbieter.
- Benennen Sie die Administratorgruppen und Betrachtergruppen des Anbieters. Gruppenanspruch ist der Ort, an dem der Anbieter sie platziert (
groups, sofern nicht anders angegeben). - Ändern Sie optional den Button-Text auf der Anmeldeseite.
- Aktivieren Sie Single-Sign-On verwenden.
Funktionsweise
- Das Konto wird hier bei der ersten Anmeldung erstellt; die Gruppen bestimmen die Rolle bei jeder Anmeldung, sodass das Verschieben einer Person zwischen Gruppen beim Anbieter ihre Rolle hier ändert.
- Jemand, der nicht in einer dieser Gruppen ist, wird abgelehnt, und die Ablehnung wird im Audit-Log aufgezeichnet.
- Wenn Auch Passwörter zulassen deaktiviert ist, funktionieren Passwörter nur auf diesem Computer, sodass ein Ausfall des Anbieters Sie nie aussperrt.
Unternehmensverzeichnis (Active Directory und LDAP)
BitVoice kann Ihr Unternehmensverzeichnis lesen, Active Directory oder einen anderen LDAP-Server (OpenLDAP, Samba, 389 Directory Server, FreeIPA): Personen mit einer Telefonnummer werden zu Erweiterungen, Verzeichnisgruppen füllen Rufgruppen und Personen melden sich mit ihrem Verzeichnispasswort bei der Web-Oberfläche an. BitVoice liest nur das Verzeichnis; es schreibt nie darin.
Verbindung herstellen
In Einstellungen (Kapitel 14), Unternehmensverzeichnis:
- Wählen Sie Active Directory oder OpenLDAP oder einen anderen LDAP-Server: Es legt fest, welche Attribute gelesen werden (sAMAccountName oder uid für den Anmeldenamen, displayName oder cn, mail, telephoneNumber). Ändern Sie diese in ihrem Feld.
- Server:
ldaps://dc1.example.com(Port 636) oderldap://...mit StartTLS aktiviert. Plain LDAP wird abgelehnt, sofern der Server nicht dieser Computer ist, da Passwörter dann unverschlüsselt über das Netzwerk übertragen würden. Wenn das Zertifikat des Servers von Ihrer eigenen Zertifizierungsstelle stammt, fügen Sie die Zertifizierungsstelle in Unternehmenszertifizierungsstelle ein. - Lesekonto und Passwort: Ein Konto, das zum Lesen von Personen und Gruppen berechtigt ist (
reader@example.combei Active Directory). Das Passwort kann ein Verweis auf einen Schlüsseltresor sein (Einstellungen, Schlüsseltresore). - Basis-DN: Wo sich Personen und Gruppen befinden (
dc=example,dc=com). Welche Personen begrenzt sie mit einem LDAP-Filter; bei Active Directory werden deaktivierte Konten immer ausgeschlossen. - Test meldet sich mit dem Lesekonto an und liest jeden, ohne etwas zu ändern: Es zeigt an, wie viele Personen es gefunden hat, wie viele eine Nummer haben und welche Erweiterung jede erhalten würde.
Erweiterungen und Rufgruppen
- Wenn Erweiterungen erstellen und aktualisieren aktiviert ist, erhält jede Person mit einer Nummer eine Erweiterung: Die letzten Ziffern behalten (4 von
+1 212 555 0123sind 0123; 0 behält alle Ziffern, die dann 2 bis 8 sein müssen). Neue Erweiterungen erhalten ein SIP-Passwort und eine Voicemail mit einem zufälligen PIN; der Name und die E-Mail der Person stammen aus dem Verzeichnis. - Das Verzeichnis besitzt eine Erweiterung, die es erstellt hat: Die Nummer, der Name und die E-Mail folgen dem Verzeichnis bei jeder Synchronisierung. Alles andere (Geräte, Weiterleitung, Voicemail-Einstellungen) gehört Ihnen.
- Eine von Hand erstellte Erweiterung wird nie übernommen, es sei denn, sie hat den Namen oder die E-Mail dieser Person. Zwei Personen mit der gleichen Nummer, eine Nummer, die eine andere Erweiterung bereits hat, oder eine Nummer mit falscher Länge wird unter Überprüfen aufgeführt, und nichts wird für sie geändert.
- Wenn Erweiterungen von Personen, die gegangen sind, deaktivieren aktiviert ist, wird eine vom Verzeichnis erstellte Erweiterung deaktiviert, wenn die Person geht, deaktiviert wird oder ihre Nummer verliert, und wieder aktiviert, wenn sie zurückkehrt.
- Rufgruppen, die aus Verzeichnisgruppen gefüllt werden: Jede Zeile fügt die Erweiterungen der Mitglieder einer Gruppe in eine Rufgruppe ein (bei Active Directory zählen verschachtelte Gruppen). Eine Gruppe ohne Mitglieder mit einer Erweiterung lässt die Rufgruppe unverändert.
- Das Verzeichnis wird alle Lesen alle Minuten (standardmäßig 60) gelesen und sofort mit Jetzt synchronisieren. Jede Synchronisierung, die etwas ändert, ist eine Revision (Kapitel 61) namens "Unternehmensverzeichnis-Synchronisierung", die rückgängig gemacht werden kann; der Bericht der letzten Synchronisierung wird unter dem Button angezeigt.
Anmelden
Wenn Personen melden sich hier mit ihrem Verzeichnisnamen und Passwort an aktiviert ist, akzeptiert die Anmeldeseite Verzeichnisnamen und Passwörter sowie die eigenen Konten von BitVoice:
- Mitglieder von Administratorgruppen melden sich als Administratoren an, von Betrachtergruppen als Betrachter (ohne Betrachtergruppen kann jeder andere im Verzeichnis). Gruppen werden durch ihren Namen (cn) oder DN benannt; bei Active Directory zählen verschachtelte Gruppen. Jemand, der nicht in einer solchen Gruppe ist, wird abgelehnt.
- Das Konto wird hier bei der ersten Anmeldung erstellt, und seine Rolle folgt den Gruppen bei jeder Anmeldung. Es übernimmt nie ein BitVoice-Konto mit dem gleichen Namen.
- Ein leeres Passwort wird immer abgelehnt (LDAP würde es sonst als anonyme Anmeldung interpretieren), ein deaktiviertes Konto kann sich nicht anmelden, und Namen werden vor dem Erreichen des Verzeichnisses maskiert.
- Zwei-Schritt-Anmelden kann diesen Konten hinzugefügt werden, wie jedem anderen.
Sicherheit
/securityEin TelefonSystem im Internet wird innerhalb weniger Stunden angegriffen: Scanner versuchen Passwörter auf jedem SIP-Port und ein gehacktes System verursacht Anrufe zu Premium-Nummern. BitVoice ist standardmäßig so konzipiert, dass es diesen Angriffen standhält, in mehreren Schichten.
Gegen Passworterraten
- Adressen, die immer wieder nicht einloggen können, werden für eine Weile gesperrt (Einstellungen, Schutz): standardmäßig werden zehn Fehlversuche in einer Minute die Adresse für eine Stunde sperren. Gesperrte Adressen sind auf Sicherheit (Kapitel 60) aufgeführt und können entsperrt werden.
- Vertrauenswürdige Netzwerke werden niemals gesperrt: Ihr Büronetzwerk.
- SIP-Passwörter werden generiert, mindestens 12 Zeichen, eines pro Erweiterung. Ein Telefon, das sich als eine Erweiterung anmeldet, kann sich niemals als eine andere Erweiterung anmelden.
- Ein Scanner, der gesperrt ist, erhält keine Antwort, sodass er nichts lernt.
Gegen Betrug
- Erweiterungen können nur dann externe Nummern anrufen, wenn dies erlaubt ist.
- Premium-Nummern werden abgelehnt, es sei denn, eine Route nennt sie.
- Der Schutz vor Abrechnungsbetrug (unten) beurteilt jeden Anruf ins Ausland, bevor er durchgestellt wird.
- Kosten (Kapitel 54) warnen vor Budgets und vor unkontrollierten Ausgaben: viele Anrufe zu einer Nummer in einer Stunde.
- Jede Erweiterung darf höchstens vier Anrufe gleichzeitig haben (Einstellungen, Schutz).
Der Schutz vor Abrechnungsbetrug
Schalten Sie es in den Einstellungen ein, Schutz vor Abrechnungsbetrug. Jeder Anruf ins Ausland (durch +, 00 oder 011 und die Orte, die +1 mit Nordamerika teilen, aber andere Länder sind, wie z.B. Jamaika, ein klassisches Ziel für Abrechnungsbetrug) wird dann beurteilt, bevor er durchgestellt wird:
| Situation | Was es tut |
|---|---|
| Ein Anruf ins Ausland in ein Land, das diese Erweiterung in den letzten 90 Tagen angerufen hat | lässt es durch |
| Ein erster Anruf in dieses Land in 90 Tagen | lässt es durch und meldet es |
| Ein erster Anruf dorthin außerhalb der Geschäftszeiten, oder von außerhalb (ein Dial-in, eine Weiterleitung) | fordert den PIN (ohne einen gewählten PIN lehnt es ab) |
| Mehr als Anrufe ins Ausland in 10 Minuten von einer Erweiterung | lehnt es ab |
| Ein erster Anruf ins Ausland, während jemand Passwörter errät (drei Fehlversuche in Folge von einer Adresse oder eine Sperre in der letzten Stunde) | lehnt es ab |
| Eine Notrufnummer | lässt es immer durch |
Länder, die immer erlaubt sind (Wählcodes, wie z.B. 44) und Ausnahmen (eine Erweiterung, die für eine Reise entschuldigt wird, bis zu einem Tag) nehmen "erster Anruf" und "außerhalb der Geschäftszeiten" weg; sie entschuldigen niemals viele Anrufe in kurzer Zeit oder einen Angriff, da ein gestohlenes Passwort als genehmigt erscheint. Wenn die Anrufliste nicht gelesen werden kann, weiß der Schutz nicht, ob ein Anruf der erste ist, und etwas, das nicht gemessen wird, wird niemals als sicher angesehen: es fordert den PIN. Jede Beurteilung wird auf Sicherheit (Kapitel 60) mit ihren Gründen aufgeführt und ist im Anrufverlauf in Anrufhistorie (Kapitel 47) zu finden.
Wie BitVoice entscheidet
BitVoices Richter (der Schutz vor Abrechnungsbetrug, der Trunk-Gesundheitsrichter, die Anrufqualitätsdiagnose und der 911-Anruferstandortprüfer) folgen jeweils einem Regelbuch: Fakten, die gemessen werden, Schlussfolgerungen, die sie unterstützen, die Ausnahmen, die eine Schlussfolgerung aufheben, und die Auswahlmöglichkeiten. Wie BitVoice entscheidet, auf Sicherheit (Kapitel 60), zeigt jedes Regelbuch. Die Regeln, die die Richter einhalten:
- Jede Antwort kommt mit ihren Gründen: was gehalten wurde, was dagegen gesprochen wurde und was es aufhob.
- Etwas, das niemand gemessen hat, ist unbekannt, niemals "nein". Wenn ein Unbekanntes die Antwort ändern könnte, wählt der Richter seine vorsichtige Wahl und sagt, was es nicht messen konnte.
- "Kann nicht bestimmen" ist eine Antwort: wenn die Regeln eine Situation unentschieden lassen, wählt der Richter seine vorsichtige Wahl und sagt so.
- Jedes Regelbuch wird in jeder Kombination seiner Fakten überprüft, bevor es verwendet wird (wenn BitVoice startet und durch seine Tests): niemals zwei Auswahlmöglichkeiten auf einmal und jede Regel erreichbar. Der Bildschirm zeigt, wie viele Situationen jedes überprüft wurde.
Verschlüsselung
- TLS verschlüsselt die Signalisierung (Port 5061), sodass Passwörter und Nummern im Netzwerk nicht lesbar sind.
- SRTP verschlüsselt den Klang der Anrufe; das Browser-Telefon und Apps verwenden es immer.
- Die Web-Oberfläche hat HTTPS auf Port 8443 mit seinem eigenen Zertifikat oder einem, das Sie installieren.
Wer was tun kann
- Administratoren können alles ändern; Betrachter können alles sehen, aber nichts ändern; Mitarbeiter verwenden das Portal nur für ihre eigenen Anrufe.
- Aktivieren Sie Zwei-Faktor-Authentifizierung für jeden Administrator (Administratoren (Kapitel 57)): einen Code von einer Authentifizierungs-App.
- Single-Sign-On (Kapitel 58) meldet Personen mit ihrem Arbeitskonto an, durch Ihren Identitätsanbieter.
- Das Audit-Log protokolliert jede administrative Aktion und wer sie durchgeführt hat und kann nicht bearbeitet werden.
Änderungen, Backups und Import
/changesJede gespeicherte Änderung ist eine Revision: nummeriert, mit Angabe, wer sie vorgenommen hat, wann und einer kurzen Zusammenfassung. Nichts in der Konfiguration geht jemals verloren.
Vergleichen und Wiederherstellen
- Was geändert wurde zeigt den Unterschied zwischen einer Revision und der vorherigen, Feld für Feld.
- Wiederherstellen zeigt, was das Wiederherstellen ändern würde, und fragt vorher. Das Wiederherstellen ist selbst eine neue Revision, sodass es auch rückgängig gemacht werden kann.
Export und Import
- Export lädt die gesamte Konfiguration als eine Datei herunter (Geheimnisse werden ausgelassen, es sei denn, Sie fordern sie an).
- Import zeigt eine Vorschau der Änderungen in einer Datei, bevor sie angewendet werden.
- Import (Kapitel 68) liest auch FreePBX- und Asterisk-Konfigurationen, 3CX-Benutzerlisten und die CSV-Exporte von Cisco Unified CM, Avaya und Mitel.
- Archiv (Kapitel 72) kopiert Backups, Aufzeichnungen und Voicemail zu Amazon S3 oder Azure.
Änderungen, die gleichzeitig vorgenommen werden
Zwei Administratoren können nicht gleichzeitig dieselbe Sache bearbeiten, ohne sich gegenseitig zu überschreiben: das zweite Speichern wird mit einer Meldung abgelehnt, die zum Neuladen auffordert, und nichts geht verloren.
Aktualisierungen
/updatesDas Aktualisieren von BitVoice ist ein Klick und sicher: Es überprüft die neue Version, installiert sie neben der alten und kehrt auf seine eigene Initiative zurück, wenn die neue Version nicht aktiv bleibt.
Installation einer Aktualisierung
- Laden Sie die neue Version herunter und entpacken Sie sie. Neben dem Programm befindet sich seine Signatur von BioDream:
bitvoice.sigoderbitvoice.exe.sigunter Windows. - Auf Aktualisierungen (Kapitel 62) laden Sie das Programm und seine
.sig-Datei hoch. - Drücken Sie Installieren. Standardmäßig wartet BitVoice, bis keine Anrufe im Gange sind; Sie können es auch sofort installieren.
- BitVoice startet mit der neuen Version. Bei mehreren Servern werden Anrufe, die im Gange sind, an einen anderen Server übergeben und fortgesetzt.
Zurückgehen
Die Version, die Sie verlassen haben, wird beibehalten: Zurückgehen kehrt in einem Klick zurück. Eine neue Version, die zweimal nicht startet oder nicht für eine Minute aktiv bleibt, wird durch die vorherige Version ersetzt.
Signaturen
Jede Version ab v0.1.3 enthält den Release-Schlüssel von BioDream. Ein solcher Build installiert nur Programme, die mit diesem Schlüssel signiert sind: Ein nicht signiertes Programm, eines, das von jemand anderem signiert wurde, oder eines, das durch einen einzelnen Byte geändert wurde, wird mit die Signatur stimmt nicht überein abgelehnt. Die Seite sagt, ob dieser Build überprüft (Erforderlich) oder nicht.
| Sie führen | Updates akzeptiert |
|---|---|
| eine Veröffentlichung, v0.1.3 oder später | nur Programme, die von BioDream signiert sind |
| v0.1.2 oder früher, oder einen eigenen Build | jedes Programm: ohne Schlüssel kann eine .sig-Datei nicht überprüft werden und wird ignoriert |
Mehrere Server als ein Telefonnetz
/serversZwei oder mehr BitVoice-Server, die eine PostgreSQL-Datenbank gemeinsam nutzen, arbeiten als ein Telefonnetz:
- Ein Anruf erreicht ein Telefon unabhängig vom Server, bei dem es registriert ist: Anrufrufgruppen, Warteschleifen, Übertragungen an eine Nebenstelle und Anrufe von Anbieterleitungen klingeln bei allen Telefonen auf jedem Server.
- Einstellungen, die auf einem Server geändert werden, gelten auf allen innerhalb von fünf Sekunden; Benutzer, Kontakte, Anrufliste, Transkripte von Aufzeichnungen und Texte werden gemeinsam genutzt.
- Besetztlampen (BLF) zeigen Telefone auf jedem Server, die klingeln und besetzt sind; Parkplätze werden gemeinsam genutzt, sodass ein Anruf, der auf einem Server geparkt wird, von einem Telefon auf einem anderen Server abgeholt werden kann; Lautsprecherdurchsagen erreichen Telefone auf jedem Server; Texte erreichen Schreibtischtelefone, unabhängig davon, wo sie registriert sind.
- Ein Warteschleifenagent, der in einem Anruf auf einem Server ist, gilt als besetzt auf den anderen, und die Kanallimitierung einer Anbieterleitung zählt Anrufe auf jedem Server.
- Aktive Anrufe auf jedem Server listen auch die Anrufe auf den anderen auf (nur lesbar: Auflegen oder Mithören auf dem Server, der den Anruf hat).
- Der Anrufdatensatz wird einmal geschrieben, vom Server, der den Anrufer hat, und ein Anruf wird dort auch aufgezeichnet.
Einrichten
- Verschieben Sie die Daten des ersten Servers in die PostgreSQL-Datenbank: Einstellungen, Datenbank.
- Starten Sie jeden anderen Server mit der gleichen Datenbank:
bitvoice -database postgres://…(oder die Umgebungsvariable BITVOICE_DATABASE). Er schließt sich sofort an; Server listet ihn auf. - Überprüfen Sie auf Server, wo jeder Server erreicht wird (seine Adresse und SIP-Port auf dem Netzwerk, das die Server gemeinsam nutzen), und geben Sie jedem einen Namen. Server, die jeweils aus dem Internet an einer eigenen Adresse erreicht werden (Cloud-Server mit öffentlichen IPs, keine gemeinsame Adresse), erhalten auch eine eigene öffentliche Adresse: Anbieter und Telefone außerhalb werden darüber informiert, sodass wenn ein Server einen Anruf übernimmt, der Anbieter den Ton folgt. Wenn leer gelassen, verwendet ein Server die öffentliche Adresse in den Einstellungen.
- Informieren Sie die Telefone, wie sie die Server finden (unten).
- Anbieterleitungen (unten).
Wie Telefone die Server finden. Telefone, die BitVoice einrichtet (Yealink, Polycom, Grandstream), erhalten automatisch einen anderen laufenden Server als Backup. Für die anderen, Snom und von Hand eingerichtete Telefone, verwenden Sie eines der folgenden auf Server:
- Ein DNS-Name für jeden Server: ein Name wie pbx.example.com mit SRV-Einträgen (_sip._udp, _sip._tcp, _sips._tcp), die jeden Server auflisten. Telefone, die BitVoice einrichtet, erhalten den Namen, und Server überprüft die Einträge gegen die laufenden Server, listet auf, was fehlt, und gibt die Einträge zum Erstellen bereit, um sie zu kopieren.
- Eine gemeinsame Adresse: eine ungenutzte Adresse im Netzwerk der Server, wie 192.168.1.50/24. Ein laufender Server hält sie zu einem Zeitpunkt und teilt dem Netzwerk sofort mit (gratuitous ARP); wenn er stoppt, übernimmt der nächste Server die Adresse innerhalb von Sekunden, setzt seine Anrufe fort und beantwortet seine Telefone an der gleichen Adresse, ohne dass sie sich erneut registrieren müssen. Es benötigt Linux und die Berechtigungen NET_ADMIN und NET_RAW (in einem Container:
--cap-add NET_ADMIN --cap-add NET_RAW), und die Server müssen im gleichen Netzwerk sein. Starten Sie jeden Server nach der Konfiguration neu.
Anbieterleitungen. In jeder Trunk-Konfiguration gibt Zwischen Servern gemeinsam genutzt an, wie:
- Jeder Server nutzt sie: jeder Server registriert sich und tätigt seine eigenen Anrufe. Für Anbieter, die mehrere Registrierungen auf einem Konto zulassen oder keine.
- Ein Server zur Zeit: ein Server registriert sich und nutzt die Leitung; die anderen Server zeigen sie als In Bereitschaft, gehalten von diesem Server an und leiten ihre Anrufe durch ihn. Wenn er stoppt, registriert sich der nächste Server innerhalb von Sekunden. Für Anbieter, die eine Registrierung pro Konto zulassen.
Wenn ein Server stoppt
- Anrufe werden fortgesetzt. Jeder Server hält eine Notiz seiner Anrufe in der Datenbank; wenn einer stoppt, übernimmt ein laufender Server jeden Anruf innerhalb von Sekunden, verschiebt den Ton zu sich selbst und teilt beiden Enden mit (eine erneute INVITE). Es gibt eine Lücke von einigen Sekunden im Ton. Ein geplanter Stopp (ein Upgrade, ein Neustart) übergibt Anrufe sofort, ohne Lücke.
- Ein Anruf, dessen Telefon mit dem Server registriert ist, der die Übernahme durchführt, wird dort fortgesetzt, ohne dass das Telefon gestört wird: nur die andere Partei wird verschoben.
- Seine Telefone setzen ihre Anrufe über ihren Backup-Server, den DNS-Namen oder die gemeinsame Adresse fort.
- Ein Server, der nur neu startet (ein Upgrade, ein Neustart), kennt immer noch, wo seine eigenen Telefone registriert sind: er hält sie in seinem Datenordner (
registrations.json), sodass Anrufe sie erreichen, bevor sie sich erneut registrieren. - Health und Server zeigen ihn als gestoppt an; wenn er zurückkehrt, übernimmt er nichts von dem Server, der die Übernahme durchgeführt hat.
Zwischen Servern. Die Server erreichen sich gegenseitig an ihrem SIP-Port über TCP oder TLS, wenn sie ein Zertifikat haben (jeder akzeptiert nur das Zertifikat, das der andere veröffentlicht hat, und der Ton zwischen ihnen ist dann mit SRTP verschlüsselt), und senden Ton an die Medien-Ports des jeweils anderen (UDP, der Bereich in Einstellungen). Anrufe zwischen Servern sind mit einem geheimen Schlüssel signiert, den sie in der Datenbank teilen, und werden nur von einem laufenden Mitglied an seiner eigenen Adresse akzeptiert. Eine Firewall zwischen ihnen muss diese Ports durchlassen.
Probieren Sie es zunächst aus: das Labor. BitVoice kommt mit einem Labor, das zwei Server, ihre Datenbank und Test-Telefone auf einem Computer mit Docker ausführt, jeweils mit einer eigenen Adresse: deploy/lab/run.sh up baut und startet es und setzt die gemeinsame Adresse; run.sh call ruft zwischen Telefone auf verschiedenen Servern an; run.sh failover tötet den Server, der einen Anruf über die gemeinsame Adresse durchführt, und überprüft, ob der Anruf fortgesetzt wird (der Ton kommt in etwa fünf Sekunden zurück); run.sh impaired ruft von einem Telefon mit einer schlechten Verbindung (Verzögerung, Jitter und 5% Verlust) an und überprüft die Anrufqualität, die BitVoice meldet; run.sh down entfernt es. Die Serverseiten sind unter https://127.0.0.1:18501 und :18502 (Benutzer admin) zu finden.
Wo die Daten gespeichert werden (SQLite oder PostgreSQL)
/settingsBitVoice speichert seine Einstellungen und ihre gespeicherten Versionen, Benutzer, Kontakte, Anrufprotokolle, das Audit-Log, Texte, Notizen und Transkripte in einer Datenbank. Aufnahmen und Voicemail bleiben als Tondateien im Datenordner.
Diese Serverdatei (SQLite, Standard): eine einzelne Datei, bitvoice.db im Datenordner, ohne Installation. Sichern Sie den Datenordner, und Sie haben alles.
PostgreSQL: für mehrere BitVoice-Server, die eine gemeinsame Datenmenge teilen, oder für Berichte in Tools wie Power BI, Grafana oder Metabase. In Einstellungen, Datenbank, Daten in PostgreSQL verschieben: erstellen Sie eine leere Datenbank und einen Benutzer, der sie besitzt, geben Sie ihre Adresse ein (postgres://Benutzer:Passwort@Host:5432/Datenbank), drücken Sie Testen, dann Daten kopieren und neu starten auf PostgreSQL. Alles wird in einem Schritt kopiert (alles oder nichts), und BitVoice startet neu auf ihm; die alte Datei bleibt, wo sie war. Das Verschieben zurück in die Serverdatei funktioniert genauso. Verschiebungen werden abgelehnt, während Anrufe im Gange sind.
Server, die eine gemeinsame PostgreSQL-Datenbank teilen, sehen Änderungen an den Einstellungen innerhalb von fünf Sekunden. Jeder beantwortet immer noch seine eigenen Telefone und Anrufe; damit ein zweiter Server die Telefone eines ersten Servers übernehmen kann, benötigen die Telefone beide Adressen (oder eine Adresse, die sich ändert).
Die Datenbank kann auch beim Start von BitVoice benannt werden, mit -database postgres://… oder der Umgebungsvariable BITVOICE_DATABASE; sie wird dann dort geändert, nicht in Einstellungen.
Ältere Installationen: beim ersten Start dieser Version kopiert BitVoice seine alten JSON-Dateien in die Datenbank und verschiebt sie in pre-database im Datenordner.
Andere Organisationen hosten
/tenantsEin BitVoice kann mehrere Organisationen hosten. Jede Organisation ist ein eigenes Telefonnetz: ihre eigenen Extensions, Nummern, Trunks, Routen, Administratoren, Voicemail, Aufnahmen und Anrufhistorie. Keine Organisation kann die Daten einer anderen sehen. Sie teilen nur den SIP-Port, IAX2-Port und die Medienports dieses Servers.
Wann es verwenden
- Ein Anbieter oder ein IT-Unternehmen, das Telefonnetze für viele kleine Kunden auf einem Server betreibt.
- Eine Gruppe von Büros oder Kliniken, die separate Systeme haben möchten, die getrennt verwaltet werden, auf gemeinsamer Hardware.
- Mehrere Antwortpunkte, die ein System teilen, jedes mit seinen eigenen Anrufnehmern und Aufzeichnungen.
Das Hauptsystem ist auch eine Organisation: die, für die dieser Server eingerichtet wurde. Ihre Administratoren verwalten die anderen Organisationen.
Eine Organisation hinzufügen
- Öffnen Sie Organisationen (Kapitel 65) und drücken Sie Organisation hinzufügen.
- Geben Sie ihren Namen und einen Kurznamen (kleine Buchstaben, Ziffern und Bindestriche) ein. Der Kurzname ist Teil ihrer Webadresse,
/t/acme/, und ihres Telefonanmeldecodes,acme.100. Er kann später nicht geändert werden. - Geben Sie optional ihre eigene Domäne ein, wie z.B.
pbx.acme.example, die auf diesen Server verweist. Telefone melden sich bei dieser Domäne an, und ihre Administratoren öffnen sie in einem Browser. - Legen Sie ihren ersten Administrator fest: einen Benutzernamen und ein Passwort mit mindestens 12 Zeichen, sowie ihr Land.
- Legen Sie optional Einschränkungen fest.
Die Organisation beginnt sofort mit einem leeren Telefonnetz, das bereit ist, von ihrem Administrator wie in Erste Schritte (Kapitel 1) beschrieben eingerichtet zu werden.
Wie Anrufe die richtige Organisation finden
| Eine Anfrage | geht zu |
|---|---|
von einem Telefon, das sich bei pbx.acme.example anmeldet | der Organisation mit dieser Domäne |
von einem Telefon, das sich als acme.100 anmeldet | Acme, Extension 100 |
| von einem Anbieter, für eine Nummer | der Organisation, deren Trunk es ist und deren Eingangsroute diese Nummer hat |
| alles andere | dem Hauptsystem |
So können zwei Organisationen beide die Extension 100 haben, und mehrere können ein gemeinsames Anbieterkonto mit verschiedenen Nummern teilen.
Wo ihre Daten sind
Bei SQLite hat jede Organisation ihren eigenen Ordner unter tenants/ im Datenordner, mit ihrer eigenen Datenbankdatei. Bei PostgreSQL hat jede Organisation ihr eigenes Schema in der gleichen Datenbank (tenant_acme). Backups, Archive und Exporte sind pro Organisation.
Einschränkungen
| Einschränkung | Was passiert, wenn sie erreicht wird |
|---|---|
| Extensions | das Hinzufügen einer weiteren Extension wird mit einer Meldung abgelehnt |
| Anrufe gleichzeitig | neue Anrufe werden abgelehnt (503), bis einer endet |
| Speicher | neue Aufnahmen und Voicemail werden nicht gespeichert |
| AI-Anfragen pro Tag | Transkripte, Zusammenfassungen und der AI-Rezeptionist stoppen, bis Mitternacht UTC |
0 ist keine Einschränkung. Notrufe werden nie abgelehnt: eine Organisation, die ihre Anrufbegrenzung erreicht hat oder suspendiert ist, kann immer noch 911 anrufen und zurückgerufen werden.
Eine Organisation öffnen
Öffnen meldet Sie als Anbieter in ihrer Web-Oberfläche an, ohne ein eigenes Konto zu benötigen; es wird in ihrem Audit-Log als Anbieter angezeigt. Ihre Administratoren melden sich bei ihrer eigenen Adresse mit ihren eigenen Konten an. Jede Organisation hat ihr eigenes Anmelde-Cookie, so dass die Anmeldung bei einer Organisation niemals jemanden bei einer anderen anmeldet.
Organisationen sehen nie die eigenen Bildschirme dieses Servers: Updates, die Datenbank, die anderen Server, das Zertifikat, die SIP-Spur (die alle Nachrichten jeder Organisation zeigt), den Anrufgenerator oder diese Liste.
Suspendieren und entfernen
Suspendiert stoppt Anmeldungen und jeden Anruf, außer Notrufen; nichts wird gelöscht. Entfernen stoppt die Organisation und verschiebt ihren Ordner zur Seite (tenants/.removed-<name>-<time>), so dass ein Fehler manuell korrigiert werden kann.
Codecs und Ton
Ein Codec ist die Art und Weise, wie Ton in Daten auf einem Anruf umgewandelt wird. Telefone, Browser und Carrier unterstützen jeweils einige; BitVoice wandelt zwischen zwei beliebigen Codecs um, wenn zwei Parteien unterschiedlich sind, damit jeder mit jedem sprechen kann. Wenn beide dieselben Codecs verwenden, wird der Ton unverändert weitergeleitet.
Die Codecs
| Codec | Ton | Bandbreite | Verwendet von |
|---|---|---|---|
| G.722 | HD (Breitband) | 64 kbit/s | die meisten Tischtelefone: die beste Wahl zwischen ihnen |
| G.711 µ-law | Telefon | 64 kbit/s | Nordamerika und Japan; jeder Carrier |
| G.711 A-law | Telefon | 64 kbit/s | der Rest der Welt |
| Opus | HD, verträgt Verlust | 24 kbit/s | Browser und mobile Apps |
| G.729 | Telefon, ein bisschen rauher | 8 kbit/s | dünne Verbindungen, einige Carrier |
| G.726 (40 kbit/s) | Telefon; überträgt Modem-Töne am besten der G.726-Raten | 40 kbit/s | Gateways, einige DECT-Systeme |
| G.726 (32 kbit/s) | nahe Telefon | 32 kbit/s | DECT-Basen, ältere Gateways |
| G.726 (24 kbit/s) | zwischen 32 und 16 | 24 kbit/s | einige DECT-Systeme |
| G.726 (16 kbit/s) | rau | 16 kbit/s | sehr dünne Verbindungen |
| AMR-WB (G.722.2) | HD | 6,6 bis 23,85 kbit/s | mobile Netzwerke, HD-Stimme, VoLTE-Verbindungen |
| AMR | Telefon, mobil | 4,75 bis 12,2 kbit/s | mobile Netzwerke, einige Carrier und Gateways |
| iLBC | Telefon, verträgt Verlust | 13,3 oder 15,2 kbit/s | ältere Softphones und Apps |
| Speex | Telefon | 15 kbit/s (2,15 bis 24,6) | ältere Softphones, Verbindungen zu anderen Asterisk-Systemen |
| GSM | rauher | 13 kbit/s | ältere Softphones und Gateways |
| G.723.1 | rau; nur mit ffmpeg umgewandelt | 5,3 oder 6,3 kbit/s | sehr alte Videotelefone und Gateways |
| G.722.1 (Siren 7) | Breitband, unverändert übertragen | 24 oder 32 kbit/s | Polycom-Telefone, Videotelefone und Konferenztelefone |
| G.722.1C (Siren 14) | Super-Breitband, unverändert übertragen | 24 bis 48 kbit/s | Konferenztelefone, Raumsysteme |
| G.719 | Vollband, unverändert übertragen | 32 bis 128 kbit/s | Telepräsenz-Raumsysteme |
| Codec2 | sehr geringe Bandbreite, unverändert übertragen | 0,7 bis 3,2 kbit/s | Funkverbindungen, Amateurfunk-Gateways |
Einstellungen listen die Codecs auf, die Telefone verwenden dürfen, am besten zuerst; jeder Trunk kann seine eigene Liste haben. Analog-Adapter-Ports verwenden immer G.711, das Faxe, Modems und Alarm-Panel benötigen.
G.722.1, G.722.1C, G.719 und Codec2 werden unverändert zwischen zwei Parteien übertragen, die sie beide verwenden, mit ihrer Bitrate oder ihrem Modus, der im Angebot beibehalten wird (BitVoice wandelt sie nicht um, daher verwendet ein Anruf zwischen einem dieser Codecs und einem Telefon ohne ihn einen anderen Codec, den beide haben). Setzen Sie sie in eine Liste, über G.711, wo Raumsysteme oder Konferenztelefone ihren Tonbereich beibehalten sollten, wenn sie einander anrufen.
G.723.1 wird unverändert zwischen zwei Parteien übertragen, die es beide verwenden. Um ein G.723.1-geräte mit jedem anderen Gerät sprechen zu lassen, schalten Sie G.723.1 mit ffmpeg umwandeln in den Einstellungen ein und installieren Sie ffmpeg (apt install ffmpeg, brew install ffmpeg): BitVoice führt dann ffmpeg als separates Programm für jede Richtung aus, die umgewandelt werden muss (entweder Rate gehört, 6,3 kbit/s gesendet, die Rate, die der ffmpeg-Encoder erzeugt), etwa 60 ms später als andere Codecs, und stoppt es einige Sekunden nach dem Anruf. BitVoice enthält keinen G.723.1-Code: der ITU-Referenzcode hat keine Lizenz, die es erlaubt, ihn einzuschließen, und ffmpeg wird separat installiert und ausgeführt.
Was die Umwandlung kostet
Die Umwandlung benötigt Prozessorzeit, nur bei Anrufen, bei denen sich die beiden Seiten unterscheiden. Pro Anruf etwa 0,3 ms eines Kerns alle 20 ms für Opus und 0,12 ms für G.729 (etwa 60 und 170 umgewandelte Anrufe pro Kern); G.726 und GSM kosten weniger als G.729; G.711 und G.722 fast nichts. G.729 wird ohne Anhang B (keine Stilleframes) gesendet.
Reinigung des Klangs
Reinigung des Klangs (Einstellungen) dämpft ständiges Hintergrundrauschen und gleicht Pegel aus, für Voicemail und, wenn Sie möchten, während Anrufen.
Microsoft Teams (Direct Routing)
/trunksBitVoice kann der Sitzungs-Edge-Controller (SBC) für einen Microsoft Teams-Mandanten sein, sodass Teams-Benutzer BitVoice-Extensionen und Ihre Telefonleitungen anrufen und BitVoice Teams-Benutzer klingelt.
Was Sie benötigen: einen öffentlichen Namen für diesen Server in einer Domäne, die Ihr Microsoft 365-Mandant verifiziert hat (sbc.example.com), Port 5061, der in beide Richtungen zu Microsofts Netzwerken 52.112.0.0/14 und 52.120.0.0/14 geöffnet ist, und ein Zertifikat für diesen Namen von einer öffentlichen Behörde. Teams-Benutzer benötigen eine Phone System-Lizenz.
Schritte
- Einstellungen, Zertifikat: installieren Sie das Zertifikat und seinen privaten Schlüssel (PEM). Es wird sofort verwendet, für diese Schnittstelle und für SIP über TLS, und BitVoice präsentiert es Microsoft.
- Trunks, Hinzufügen, starten Sie mit Microsoft Teams: geben Sie den öffentlichen Namen des Servers ein. Die Schublade sagt, ob das Zertifikat ihn abdeckt.
- Kopieren Sie die PowerShell-Befehle, die die Schublade anzeigt, und führen Sie sie als Teams-Administrator aus: es fügt die SBC (New-CsOnlinePSTNGateway) hinzu, eine Sprachroute und Richtlinie und eine Wähleinstellungsregel, damit kurze Nebenstellennummern BitVoice wie gewählt erreichen; dann geben Sie jedem Teams-Benutzer die Richtlinie und seine Nummer.
- Um Teams-Benutzer von BitVoice aus anzurufen, fügen Sie eine ausgehende Route für ihre Nummern über den Teams-Trunk hinzu. Teams findet seine Benutzer nur durch Nummern mit + und der Ländervorwahl: wenn die Leute sie ohne + und Ländervorwahl wählen, setzen Sie + und die Ländervorwahl in die Vorwahlen der Route (die Spur des Anrufs sagt so, wenn einer ausgeht, ohne).
Wenn ein Teams-Benutzer einen Anruf weiterleitet, bittet Microsoft BitVoice, den Anruf zu tätigen (ein REFER mit seinem eigenen Proxy, mit der Nummer oder der ID des Teams-Benutzers): BitVoice ruft genau zurück, was Microsoft genannt hat, mit dem Referred-By, den Microsoft gegeben hat, sodass eine Weiterleitung an einen anderen Teams-Benutzer genauso funktioniert wie eine an eine Telefonnummer. BitVoice sendet Teams niemals einen Replaces-Header, den Microsoft ablehnt.
BitVoice sendet Microsoft alle Minuten OPTIONS mit dem SBC-Namen in Contact, wie Microsoft es erfordert, und versucht sip, sip2 und sip3.pstnhub.microsoft.com nacheinander. Medien sind immer verschlüsselt (SRTP). Health warnt, wenn das Zertifikat den Namen nicht abdeckt, selbstsigniert ist oder bald abläuft, und wenn Microsoft aufhört zu antworten.
Dies entspricht Microsofts veröffentlichten SBC-Anforderungen und wird gegen einen simulierten Microsoft-Proxy getestet; BitVoice ist nicht in Microsofts Liste der zertifizierten SBCs.
Importieren
/importÜberträgt Erweiterungen, Ringgruppen, Warteschleifen und Trunks von FreePBX, Asterisk oder 3CX; sowie Personen, Jagd- und Ringgruppen, SIP-Trunks, eingehende Nummern und Wählmuster von Cisco, Avaya und Mitel. Laden Sie die exportierten Dateien hoch, mehrere auf einmal (auch ein .zip- oder .tar-Archiv davon); BitVoice zeigt genau an, was geändert werden würde, bevor etwas angewendet wird, und der Import wird zu einer Revision, die Sie auf Änderungen (Kapitel 61) rückgängig machen können.
Umzug von FreePBX
Die beste Datei ist ein FreePBX-Backup: es enthält alles, einschließlich SIP-Passwörter.
- In FreePBX: Admin → Backup & Restore → Add Backup. Aktivieren Sie mindestens Core, Ring Groups, Queues und Voicemail (alle Module sind in Ordnung), speichern und Ausführen.
- Laden Sie das Backup von seiner Zeile herunter (die Datei heißt z. B.
20261001-100000-1790000000-17.0.19-1234567.tar.gz). - Installieren Sie BitVoice auf dem neuen Server und beenden Sie die Einrichtung mit einer Erweiterung, die FreePBX nicht verwendet (z. B. 199), und ohne Telefonleitung: der Import bringt die Leitungen mit.
- Auf Import (Kapitel 68) die .tar.gz-Datei wie sie ist ablegen. Lesen Sie die Vorschau: die Warnungen listen alles auf, was nicht übernommen werden kann.
- Wählen Sie Hinzufügen. Es ist eine Revision auf Änderungen (Kapitel 61): machen Sie es dort rückgängig, wenn etwas falsch aussieht, und importieren Sie erneut.
- Verschieben Sie die Telefone: zeigen Sie jedes auf BitVoice (oder konfigurieren Sie es von Telefonen (Kapitel 4)) mit der gleichen Erweiterungsnummer und dem gleichen SIP-Passwort, das es hatte.
- Testen Sie Anrufe ein- und ausgehend, dann verschieben Sie die Registrierung des Carriers (oder die Nummernportierung) zuletzt.
Auf einem echten System getestet: ein FreePBX 17.0.33 (die offizielle Debian 12-Installation) mit vier Erweiterungen und Voicemail, einem PJSIP-Trunk, der registriert, zwei ausgehenden Routen (eine mit einem Wählprefix), einer Ringgruppe, einer Warteschleife mit Strafen und drei DIDs, die mit Backup & Restore gesichert wurden, wobei jedes Modul aktiviert war. Das Backup ist 70 MB groß, fast alles davon sind Sounddateien und Anrufliste: BitVoice liest es, wie es kommt, und behält nur die Konfiguration, sodass ein Backup von bis zu 512 MB hochgeladen werden kann. Alles oben genannte wurde übernommen: die Passwörter, die Voicemail-PINs und -E-Mail, die Registrierung und Codecs des Trunks, die Routen mit ihren Prefixen, die Ringgruppe mit Voicemail bei nicht beantworteten Anrufen, die Warteschleife mit Strafen und die DIDs zur Gruppe, zur Warteschleife und zur Erweiterung.
Was übernommen wird:
- Erweiterungen: die Nummer, der Name, die ausgehende Anruferkennung, die Klingelzeit und das SIP-Passwort (BitVoice erstellt ein neues, wenn das FreePBX-Passwort kürzer als 12 Zeichen ist: geben Sie es in diesem Telefon erneut ein). Voicemail mit PIN und E-Mail-Adresse (und ob Nachrichten angehängt werden).
- Trunks: PJSIP- und chan_sip-Carrier-Konten: Server, Port, Benutzername, Passwort, Registrierung, von-Domain, Codecs, Anruferkennung, Kanallimit. Deaktivierte Trunks bleiben deaktiviert. DAHDI-Trunks werden zum Telefontrunk der Karten.
- Ausgehende Routen, in der Reihenfolge von FreePBX: jedes Musters Prefix wird zu den weggelassenen Ziffern, seine Vorsatz-Ziffern werden hinzugefügt. Eine Route, deren Muster unterschiedliche Ziffern weglässt oder hinzufügt, wird zu einer BitVoice-Route für jede.
- Ringgruppen: Mitglieder, Klingelzeit, Klingel-alle oder einer-nach-dem-anderen (Jagd, Speicherjagd, erster verfügbarer), und wohin nicht beantwortete Anrufe gehen.
- Warteschleifen: Mitglieder mit ihren Strafen, Strategie (Klingel-alle, zuletzt angerufen, wenige Anrufe, Round-Robin, linear, zufällig), Klingelzeit, Nachbearbeitungszeit und längste Wartezeit.
- Eingehende Routen: jede DID zu ihrer Erweiterung, Ringgruppe, Warteschleife, Voicemail-Box oder Auflegen.
Was nicht übernommen wird und im Vorschau-Text genannt wird: IVRs, Zeitbedingungen, Ankündigungen, Follow-me, benutzerdefinierte Trunks und Kontexte, Anruferkennung auf Routen und externe Nummern in Ringgruppen. Bauen Sie diese auf Menüs (Kapitel 21), Zeitpläne (Kapitel 26) und der Erweiterung Follow me. Ältere Backups (FreePBX 13 und früher) und ein einfaches mysqldump asterisk der FreePBX-Datenbank werden auf die gleiche Weise gelesen.
Andere Systeme
Wo jeder Export wie folgt ist:
- FreePBX (nur Erweiterungen): Admin → Bulk Handler → Export → Erweiterungen (CSV).
- Asterisk: pjsip.conf oder sip.conf.
- 3CX: Benutzer → Export (CSV).
- Cisco Unified CM: Bulk Administration → Telefone → Export Telefone, alle Details; oder Benutzer → Export Benutzer. Die erste Zeile des Telefons wird zur Erweiterung, mit dem Alerting-Namen oder -Label als Name.
- Avaya IP Office: Manager → Datei → Import/Export → Export, Benutzer.
- Avaya Communication Manager:
list stationals CSV gespeichert; virtuelle Stationen und VDNs werden ausgelassen. - Mitel MiVoice Business: System-Daten-Verwaltung → Benutzer- und Geräte-Konfiguration → Export.
Gruppen und Routen. Laden Sie sie mit der Personen-Datei hoch, damit jedes Gruppenmitglied nach Nummer oder Name gefunden werden kann:
- Cisco Unified CM: Bulk Administration → Import/Export → Export, mit Line Group, Hunt List, Hunt Pilot, SIP-Trunk und Route Pattern aktiviert; laden Sie die .tar-Datei wie sie ist. Jeder Hunt-Pilot wird zu einer Ringgruppe mit den Mitgliedern seiner Hunt-Liste-Line-Gruppen, Top Down und Circular als einer nach dem anderen, Broadcast als alle auf einmal, die RNA-Rückkehr-Timeout als Klingelzeit. Route-Muster werden zu ausgehenden Routen:
9.[2-9]XXXXXXmit PreDot ist Muster9[2-9]XXXXXXohne die 9;!wird zu einem abschließenden Punkt. Muster, die@(den nationalen Plan) verwenden, werden für die manuelle Eingabe aufgelistet. - Avaya IP Office: Exportieren Sie Hunt-Gruppe sowie Benutzer (beide sind CSV ohne Header-Zeile). Gruppenmodus ist alle auf einmal; Hunt, Rotary und Longest Waiting klingeln einer nach dem anderen.
- Avaya Communication Manager:
list hunt-groupals CSV gespeichert, mit den Mitgliedern in einer Mitglieder-Spalte oder einer separaten Mitglieder-Datei. - Mitel MiVoice Business: Ring-Gruppen und Ring-Gruppen-Zuweisung (Cascade ist einer nach dem anderen, Ring All alle auf einmal), und Hunt-Gruppen.
Trunks aus diesen Exporten kommen deaktiviert und ohne Passwörter, da die Exporte sie nicht enthalten. Routen gehen auf dem importierten Trunk mit dem gleichen Namen aus; eine Route, deren Trunk nicht hier ist, wird ausgelassen und angezeigt. Rotierendes und längstes Leerlauf-Klingeln ist eher einer Warteschleife als einer Ringgruppe ähnlich: die Vorschau sagt es, damit Sie es in eine Warteschleife umwandeln können.
Diese Exporte (alle außer einer FreePBX-Sicherung) enthalten keine SIP-Passwörter, sodass jede Erweiterung ein neues Passwort erhält; Voicemail-PINs, Namen und E-Mail-Adressen werden übernommen, wenn der Export sie enthält. Cisco-, Avaya-H.323/DCP- und Mitel-Telefone verwenden die Software ihres Herstellers und können nicht von BitVoice konfiguriert werden: der Import sagt, wie viele aufgelistet wurden. Cisco-Telefone können mit Ciscos Multi-Plattform-(SIP)-Firmware neu geflasht werden; Avaya-J100- und Mitel-6800/6900-Telefone können sich in SIP-Modus manuell bei BitVoice registrieren.
Konfiguration als Code
Alles, was die Bildschirme tun, geht durch die REST-API von BitVoice, sodass alles skriptgesteuert, in Git gespeichert oder mit Terraform verwaltet werden kann. Die API wird für Tools unter /api/openapi.json (/api/openapi.json) beschrieben.
API-Tokens
Erstellt auf Administratoren (Kapitel 57): eines pro Programm, nur lesbar oder in der Lage, alles zu ändern. Senden Sie es als Authorization: Bearer bv_.... Es wird einmal angezeigt; widerrufen Sie es, wenn es nicht mehr benötigt wird. Die Änderungen eines Tokens werden in Änderungen und im Überwachungsprotokoll unter seinem Namen angezeigt.
curl -H "Authorization: Bearer bv_..." https://pbx.example.com/api/extensions
Terraform oder OpenTofu
Das Repository deploy/terraform zeigt Erweiterungen, Ringgruppen und Routen, die mit dem generischen REST-Provider verwaltet werden: Plan zeigt, was geändert werden würde, Anwenden führt die Änderung durch. Der Provider überprüft das Zertifikat von BitVoice; solange BitVoice noch sein eigenes selbstsigniertes Zertifikat verwendet, können Sie entweder eines von Let's Encrypt (Einstellungen, Zertifikate) erhalten oder bitvoice_insecure = true auf einem Netzwerk setzen, dem Sie vertrauen (unter Linux funktioniert auch SSL_CERT_FILE, das auf das Zertifikat von BitVoice zeigt). Ressourcen werden durch die ID identifiziert, die BitVoice ihnen zuweist, sodass ein zweiter Plan keine Änderungen zeigt, bis die Datei oder die Bildschirme etwas ändern.
Konfiguration aus Git
In Einstellungen (Kapitel 14), Konfiguration aus Git, liest BitVoice die Konfiguration aus einer Datei in einem Repository alle paar Minuten und zeigt entweder, was sich unterscheidet, oder führt die Änderungen durch. Beginnen Sie die Datei mit Export für Git, die Passwörter auslässt; BitVoice behält seine eigenen, sodass Geheimnisse nie in das Repository gelangen.
Asterisk-Kompatibilität (AMI, ARI und AGI)
Tools, die für Asterisk geschrieben wurden, können BitVoice steuern: CRM-Systeme, Wallboards, Click-to-Dial-Schaltflächen, Call-Recorder-Controller. Aktivieren Sie es in Einstellungen (Kapitel 14), Asterisk-Kompatibilität. Tools sehen Anrufe als Kanäle an, die wie PJSIP/100-... benannt sind, wie bei Asterisk.
AMI
Das Manager-Interface auf TCP-Port 5038 (AMI hört auf: standardmäßig nur auf diesem Computer). Unterstützt:
| Art | Namen |
|---|---|
| Aktionen | Login (plain oder MD5-Challenge), Ping, Events, Filter, ListCommands, CoreShowChannels, Status, CoreStatus, CoreSettings, PJSIPShowEndpoints, ExtensionState, ExtensionStateList, DeviceStateList, Getvar, Originate, Redirect, BlindTransfer, Hangup, Logoff |
| Warteschleifen | QueueStatus, QueueSummary, QueuePause, QueueAdd und QueueRemove (diese melden einen Agenten in allen Warteschleifen an oder ab), Agents |
| Andere | ParkedCalls; ConfbridgeListRooms, ConfbridgeList, ConfbridgeKick, ConfbridgeMute, ConfbridgeUnmute, ConfbridgeLock, ConfbridgeUnlock; MailboxCount, MailboxStatus; PauseMonitor, UnpauseMonitor; UserEvent; Reload (es gibt nichts zum Neuladen: Änderungen werden sofort angewendet) |
| Ereignisse | Newchannel, Newstate, Hangup, DialBegin, DialEnd, Hold, Unhold, PeerStatus, ContactStatus, MessageWaiting, ConfbridgeJoin, ConfbridgeLeave, ConfbridgeEnd, UserEvent |
Filter behält nur die Ereignisse, die einem regulären Ausdruck entsprechen (Event: Newchannel), oder verwerfen sie mit ! am Anfang, wie bei Asterisk. Es gibt keine Asterisk-Kommandozeile: Command antwortet mit einem Fehler.
ARI
Bei /ari/, mit Basis-Authentifizierung oder ?api_key=user:secret:
| Anfrage | Was es tut |
|---|---|
GET /ari/channels | die laufenden Anrufe |
POST /ari/channels?endpoint=PJSIP/100&extension=5551234 | 100 klingeln, dann die Nummer anrufen |
DELETE /ari/channels/{id} | Anruf beenden |
POST /ari/channels/{id}/redirect?endpoint=PJSIP/102 | Anruf an 102 weiterleiten |
/ari/endpoints, /ari/bridges, /ari/asterisk/info | Telefone, Bridges, Version |
/ari/events | ein WebSocket von Ereignissen |
POST /ari/channels/externalMedia?external_host=host:port&encapsulation=rtp&format=ulaw | ein Kanal, der Ton an ein Programm über RTP (ulaw oder alaw über UDP) sendet; der lokale Port ist im Kanal's UNICASTRTP_LOCAL_PORT |
POST /ari/channels/externalMedia?external_host=host:port&encapsulation=audiosocket&transport=tcp&format=slin&data=<uuid> | dasselbe über AudioSocket |
POST /ari/bridges/{call}/addChannel?channel={id} | der externe Medienkanal tritt einem Anruf bei: er hört beide Parteien und beide hören ihn; mit role=listener hört ihn niemand (für Live-Transkription) |
POST /ari/bridges/{call}/removeChannel?channel={id} | er verlässt den Anruf; die beiden Parteien sprechen direkt miteinander |
Ein externer Medienkanal, der nicht innerhalb einer Minute einem Anruf hinzugefügt wird, wird geschlossen.
ARI-Anwendungen
Eine ARI-Anwendung (Asterisk's Stasis()) führt Anrufe von Ihrem eigenen Programm aus. Fügen Sie es unter ARI-Anwendungen in den Einstellungen, Asterisk-Kompatibilität, hinzu: ein Name, eine optionale Nummer Erweiterungen, die gewählt werden, und ein Fallback. Dann senden Sie Anrufe an es wie an jedes andere Ziel: eine eingehende Route, eine Menütaste, einen Zeitplan.
Ihr Programm verbindet sich mit /ari/events?app=NAME (einem WebSocket, mit dem Login in ?api_key=user:secret). Jeder Anruf, der die Anwendung erreicht, wird beantwortet und als StasisStart mit dem Kanal angekommen; das Programm führt es dann aus:
| Anfrage | Was es tut |
|---|---|
POST /ari/channels/{id}/play?media=sound:goodbye,digits:42 | spielt Prompts von Sounds (sound:), digits:, number:, tone:beep oder eine gespeicherte Aufnahme (recording:); PlaybackStarted und PlaybackFinished folgen. DELETE /ari/playbacks/{id} stoppt es. |
POST /ari/channels/{id}/record?name=msg1&maxDurationSeconds=60&maxSilenceSeconds=5&beep=true&terminateOn=%23 | zeichnet (wav) in die gespeicherten Aufnahmen auf; RecordingStarted und RecordingFinished. POST /ari/recordings/live/{name}/stop beendet es, DELETE verwerfen es. |
GET /ari/recordings/stored, .../{name}, .../{name}/file, DELETE .../{name} | die gespeicherten Aufnahmen |
POST /ari/channels/{id}/dtmf?dtmf=123 | sendet Tasten an den Anrufer |
GET/POST /ari/channels/{id}/variable?variable=X&value=Y | die Variablen des Kanals |
POST /ari/bridges?bridgeId=room1, .../addChannel?channel=a,b, .../removeChannel, .../play, DELETE | Mischbrücken: jeder in einem hört jeden anderen |
POST /ari/channels/{id}/continue?extension=101 | gibt den Anruf frei: an diese Erweiterung, Klingelgruppe oder Warteschleife, sonst den Fallback |
DELETE /ari/channels/{id} | legt auf |
POST /ari/channels?endpoint=PJSIP/101&app=NAME | ruft 101 an; beantwortet, tritt es der Anwendung bei |
GET /ari/applications | die Anwendungen, ob ein Programm verbunden ist, und ihre Kanäle |
POST /ari/channels/{id}/mute?direction=in, DELETE .../mute | stummschaltet, was der Anrufer sagt (in), was er hört (out) oder beides |
POST/DELETE /ari/channels/{id}/hold, .../moh, POST .../silence | Wartemusik für den Anrufer (ChannelHold, ChannelUnhold), oder Stille |
GET/POST /ari/channels/{id}/variables | mehrere Variablen auf einmal (ChannelVarset) |
POST /ari/channels/{id}/move?app=other | übergibt den Kanal an eine andere Anwendung (StasisEnd, dann StasisStart dort; ApplicationMoveFailed wenn kein Programm es ausführt) |
POST /ari/channels/{id}/snoop?spy=in&app=NAME | ein Snoop-Kanal in einer Anwendung, der hört, was der Anrufer sagt, um es aufzuzeichnen (POST /ari/channels/{snoop}/record) |
POST /ari/channels/create?endpoint=PJSIP/101&app=NAME, dann POST .../dial | ein Kanal, der wartet, bis er gewählt wird; Dial-Ereignisse berichten, wie das Klingeln verläuft, und er tritt der Anwendung bei, wenn beantwortet |
GET /ari/channels/{id}/rtp_statistics | Pakete und Bytes, die gesendet und empfangen werden, Verlust und Jitter |
POST /ari/playbacks/{id}/control?operation=pause | pausiert, unpausiert, startet neu, zurück und vorwärts (drei Sekunden) |
POST /ari/bridges/{id}/moh, .../record, .../variable, .../play/{playbackId} | Wartemusik für eine Brücke, Aufnahme ihrer Mischung, ihre Variablen |
POST /ari/recordings/stored/{name}/copy, POST/DELETE /ari/recordings/live/{name}/pause, .../mute | kopiert eine Aufnahme; pausiert oder stummschaltet eine Live-Aufnahme |
POST /ari/applications/{app}/subscription?eventSource=deviceState:Custom:lamp, PUT .../eventFilter | Abonnements (channel:, bridge:, endpoint:PJSIP/100, deviceState:) und Ereignisfilter ({"disallowed": [{"type": "ChannelVarset"}]}) |
GET /ari/deviceStates, PUT /ari/deviceStates/Custom:lamp?deviceState=INUSE | Zustände der Telefone (PJSIP/100: NOT_INUSE, INUSE, RINGING, UNAVAILABLE) und benutzerdefinierte Zustände, die Programme beibehalten (DeviceStateChanged); Telefonzustand kommt auch als EndpointStateChange |
GET /ari/mailboxes, PUT /ari/mailboxes/{name}?newMessages=1&oldMessages=0 | Anzahl der Voicemails der Erweiterungen (100@default), und Mailboxen, die ein Programm selbst beibehält |
GET /ari/sounds | die Prompts von Sounds, in den Sprachen, in denen sie aufgezeichnet sind, und die Sounds, die für AGI-Skripte hochgeladen werden |
PUT /ari/endpoints/sendMessage?to=pjsip:100&body=Hi | ein Text auf dem Telefon der Erweiterung 100 |
POST /ari/events/user/{name}?application=NAME | ein Benutzerereignis an eine Anwendung (ChannelUserevent) |
GET /ari/asterisk/ping, GET/POST /ari/asterisk/variable, GET /ari/asterisk/modules | ping, globale Variablen und BitVoice-Teile, benannt nach den Modulen, für die sie stehen |
BitVoice beantwortet jeden Vorgang von Asterisks veröffentlichter ARI (sein Testsuite ruft jeden davon auf und überprüft, ob das Zurückgegebene die Felder enthält, die Asterisks Beschreibung erfordert). Einige haben hier nichts zu tun und beantworten 501 mit dem Grund: ladbare Module (BitVoice ist ein Programm), Sorcerys dynamische Konfiguration (BitVoice wird im Webinterface eingerichtet), Logkanäle, Videquellen von Brücken (ARI-Brücken übertragen Ton), das Senden von REFER an Telefone und das Anfordern von Rundfunkanrufen. Ein Lauscher hört nur den Anrufer (spy=in) und Flüstern wird nicht angeboten: Brücke einen Kanal mit ihrem, um mit ihnen zu sprechen. Kanalereignisse für jeden Anruf (ChannelCreated, ChannelStateChange, ChannelDestroyed) gehen an jedes Programm, wie bei Asterisks subscribeAll=true. ARI-Bibliotheken, die die Schnittstelle vom Server lesen (ari-client und andere), finden sie unter /ari/api-docs/resources.json. Welche Programme jetzt beibehalten, unter ARI-Anwendungen in Einstellungen, zeigt die Anwendungen, benutzerdefinierten Gerätestatus, Mailboxen, globale Variablen und Brücken, die Programme eingerichtet haben.
Gedrückte Tasten werden als ChannelDtmfReceived übertragen; ein Anrufer, der auflegt, wird als StasisEnd gekennzeichnet. Wenn kein Programm verbunden ist, geht der Anruf an die Fallback-Route; wenn die letzte Verbindung eines Programms geschlossen wird, gehen dessen Anrufe auch dorthin, nach fünf Sekunden (Zeit zum erneuten Verbinden). Für die Anruflogik ohne eigenes Programm verwenden Sie Skripte (Kapitel 27), die den gesamten Anruf ausführen; um den Audio-Stream an ein Programm zu übergeben, Sprachbots (Kapitel 24).
AGI-Skripte
Ein AGI-Skript (Asterisks AGI() und EAGI()) führt einen Anruf Befehl für Befehl aus, sodass IVRs und Integrationen, die für Asterisk geschrieben wurden (phpagi, pyst2, Asterisk-Java, jeder FastAGI-Server), weiterhin funktionieren. Fügen Sie es unter AGI-Skripte in den Einstellungen, Asterisk-Kompatibilität, hinzu:
| Feld | Was es ist |
|---|---|
| Skriptname | wie Ziele es nennen |
| Adresse | ein FastAGI-Server, agi://host:4573/script?x=1 (Port 4573, wenn keiner angegeben ist), hagi://domain/script für die Server in den SRV-Einträgen _agi._tcp der Domäne, die in Prioritätsreihenfolge versucht werden, oder der Dateiname eines Programms im Ordner AGI-Programme |
| Argumente | als agi_arg_1, agi_arg_2 … übergeben |
| Nummer zum Wählen | optional: Erweiterungen wählen es wie jede andere Nummer |
| Fallback | wohin der Anruf geht, wenn das Skript ohne Auswahl einer Nummer endet oder nicht erreicht werden kann |
| Längste Ausführung | ein Skript, das länger läuft, wird beendet (Standardmäßig eine Stunde) |
| EAGI | für ein Programm: der Audiostream des Anrufers (8 kHz, signiertes 16-Bit, little-endian) auf Dateideskriptor 3. Linux und macOS |
Test verbindet sich mit dem Server (oder überprüft, ob das Programm vorhanden und ausführbar ist), ohne einen Anruf zu senden. Senden Sie dann Anrufe an es wie an jedes andere Ziel.
BitVoice beantwortet den Anruf, sendet die agi_-Variablen (agi_network_script, agi_callerid, agi_dnid, agi_extension, agi_language …) und führt die Befehle aus, wie Asterisk 20 es tut (die Testsuite vergleicht jede Antwort mit einer Aufnahme von Asterisks):
| Befehle | Hinweise |
|---|---|
| ANSWER, HANGUP, CHANNEL STATUS, NOOP, VERBOSE | HANGUP mit einem Kanalnamen beendet nur den Anruf des Skripts |
| STREAM FILE, CONTROL STREAM FILE, GET OPTION, GET DATA, WAIT FOR DIGIT | Escape-Tasten, Stichproben-Offsets und Endpositionen wie bei Asterisk; Fast-Forward, Rewind und Pause in CONTROL STREAM FILE |
| SAY DIGITS, SAY NUMBER, SAY ALPHA, SAY PHONETIC, SAY DATE, SAY TIME, SAY DATETIME | mit einem Sprachdienst in Einstellungen, KI, werden sie gesprochen; ohne, werden die Ziffern aus Sounds gesagt |
| RECORD FILE | s=N Stille, ein Piepton, Escape-Tasten; die Datei landet in der Sound-Bibliothek |
| SET VARIABLE, GET VARIABLE, GET FULL VARIABLE | CALLERID(num), CALLERID(name), EXTEN, UNIQUEID, CHANNEL … und ${NAME}-Ausdrücke |
| DATABASE GET, PUT, DEL, DELTREE | Asterisks Datenbank (AstDB), die von BitVoice beibehalten wird und unter AGI-Datenbank angezeigt wird |
| SET CALLERID, SET EXTENSION, SET CONTEXT, SET PRIORITY, SET AUTOHANGUP, SET MUSIC | SET EXTENSION ist, wohin der Anruf geht, wenn das Skript endet |
| SPEECH CREATE … SPEECH RECOGNIZE | verwendet die Sprache-zu-Text-Funktion von Einstellungen, KI: das Ergebnis ist, was der Anrufer gesagt hat, als text0, für das Skript zum Vergleichen; Grammatiken werden akzeptiert und nicht verwendet |
| EXEC | Answer, Hangup, Playback, Background, Set, MSet, SayDigits, SayNumber, SayAlpha, Wait, Dial (klingelt jede Nummer nacheinander; DIALSTATUS), Goto, VoiceMail, Queue, MusicOnHold, Record, NoOp, Verbose, Log. Andere beantworten -2, wie Asterisk es für eine fehlende Anwendung tut |
BitVoice hat keine Wähldatenbank: wohin ein Skript in Asterisks Wähldatenbank weitergehen würde (SET EXTENSION, EXEC Goto), geht der Anruf an diese Nummer hier (eine Erweiterung, eine Rufgruppe, eine Warteschleife, ein Menü oder eine externe Nummer über die ausgehenden Routen), wenn das Skript endet. Skripte rufen nie Notrufnummern an. Wenn der Anrufer auflegt, erhält ein FastAGI-Skript HANGUP und ein Programm SIGHUP; nur Befehle, die auf einem toten Kanal zulässig sind, können dann ausgeführt werden (511 für die anderen), und die Verbindung wird 30 Sekunden später geschlossen, wenn das Skript weiterläuft. Jede Ausführung wird unter Letzte Ausführungen mit ihren VERBOSE-Zeilen angezeigt und geht in den Ereignisstrom als agi.ran.
Sounds für AGI-Skripte. Skripte spielen Sounds ab, indem sie die Namen verwenden, die sie bei Asterisk verwenden: Laden Sie sie unter Sounds für AGI-Skripte mit einem Ordner (custom/welcome; es/custom/welcome für Anrufer in spanischer Sprache) hoch. WAV, MP3 und Asterisks .gsm, .ulaw, .alaw, .sln und .sln16 werden akzeptiert; ein Pfad wie /var/lib/asterisk/sounds/en/custom/welcome.gsm findet custom/welcome. Asterisks digits/0–digits/9, beep, silence/N und einige andere (vm-goodbye, invalid, please-hold) spielen BitVoices eigene Prompts und Töne ab. Was Skripte aufzeichnen, wird in der gleichen Bibliothek aufbewahrt, markiert als von einem Skript aufgezeichnet, für die Anzahl der Tage, die Sie wählen (30 Standard). Die Bibliothek kann bis zu 1 GB fassen.
Programme. Ein Programm läuft auf diesem Server mit den Rechten von BitVoice, es wird also nie über das Web hochgeladen: Kopieren Sie es in den Ordner AGI-Programme (auf dem Bildschirm angezeigt: DATA/agi-bin) und machen Sie es ausführbar. Es erhält nur PATH und AST_AGI_DIR aus der Umgebung, läuft in diesem Ordner und was es in die Standardfehlerausgabe schreibt, geht an das Server-Log. FastAGI sendet Befehle in plain TCP: Halten Sie den Server auf diesem Computer oder einem privaten Netzwerk.
Anmeldungen
Jede Anmeldung hat einen Benutzernamen und ein Geheimnis. Anmeldungen sind nur lesbar, es sei denn, sie sind als Anrufe ändern markiert. Halten Sie AMI auf diesem Computer, es sei denn, das Tool läuft woanders: AMI ist plain, unverschlüsseltes TCP.
Künstliche Intelligenz-Assistenten (MCP)
Ein künstlicher Intelligenz-Assistent wie Claude, ChatGPT, Gemini oder Cursor kann BitVoice über das Model-Context-Protokoll (MCP) verwenden, den Standardweg, den Assistenten andere Programme erreichen. Fragen Sie es in einfachen Worten: Wer hat heute Morgen angerufen und hat jemand zurückgerufen, was hat der Anrufer von der Zahnarztpraxis gesagt, warum ist der 9-Uhr-Anruf auf die Voicemail gegangen, ist die Anbieterlinie down. Mit Ihrer Erlaubnis kann es auch einen Anruf tätigen, eine Textnachricht senden oder einen Anruf beenden.
BitVoice ist der MCP-Server, unter https://YOUR-SERVER/mcp (Streamable HTTP; die Adresse wird in den Einstellungen angezeigt). Keine Informationen werden an einen KI-Dienst weitergegeben, es sei denn, ein von Ihnen verbundener Assistent fragt danach, und dann nur die Informationen, die er angefordert hat.
Aktivierung
In Einstellungen (Kapitel 14), Künstliche Intelligenz-Assistenten (MCP):
- Künstliche Intelligenz-Assistenten zulassen: standardmäßig aus. Aus,
/mcpantwortet mit nichts als dass es aus ist. - Assistenten handeln lassen: standardmäßig aus. Aus, Assistenten können nur lesen, egal welchen Token. Ein, ein Assistent, dessen Token Dinge ändern darf, erhält auch die Werkzeuge, die handeln.
Die Karte zeigt die Adresse und die bereiten Einstellungen für die gängigen Assistenten an und listet jedes Werkzeug auf.
Was ein Assistent tun kann
Lesen (jeder Token):
- calls_now: die derzeit laufenden Anrufe.
- call_history: vergangene Anrufe, durchsucht nach Nummer oder Name, nach Richtung und von einem Zeitpunkt, mit dem Grund, warum jeder dorthin ging, wo er hinging.
- extensions: Namen, Nummern, Abteilungen, E-Mail; nie ein Telefonpasswort.
- phones_connected: welche Telefone registriert sind, von wo aus.
- voicemail, search_transcripts: Nachrichten und was auf aufgezeichneten Anrufen gesagt wurde.
- queues, trunks, health: Warteschlangen jetzt, die Anbieterlinien, BitVoices eigene Überprüfungen.
- directory, text_messages: das Firmen-Telefonbuch und Textkonversationen.
Handeln (mit Assistenten handeln lassen und einem Token, der Dinge ändern darf):
- place_call: klicken, um anzurufen. Das Telefon der Erweiterung klingelt zuerst; wenn jemand dort abnimmt, ruft BitVoice die Nummer für sie an, als ob sie sie selbst gewählt hätten, so dass ihre Routen, die Anruferkennung und die Einschränkungen gelten.
- send_text: eine Textnachricht von einer der Textnummern der Organisation.
- hang_up_call: beendet einen laufenden Anruf.
Jedes Werkzeug ist eine der eigenen Routen der API, die als Assistent ausgeführt wird: es sieht und ändert genau das, was sein Token darf, die gleichen Überprüfungen gelten, und seine Änderungen werden im Überwachungsprotokoll unter seinem Namen aufgezeichnet. Eine Antwort wird auf etwa 60.000 Zeichen begrenzt; der Assistent wird aufgefordert, seine Suche zu verfeinern, wenn eine Antwort abgeschnitten wird.
Verbindung eines Assistenten
Assistenten, die sich anmelden (Claude.ai und ChatGPT benutzerdefinierte Konnektoren und andere): Fügen Sie einen Konnektor mit der Adresse von BitVoice hinzu. Der Assistent öffnet die Anmeldeseite von BitVoice in Ihrem Browser; melden Sie sich wie gewohnt an (Passwort, Zwei-Faktor-Authentifizierung, Single-Sign-On), und die Seite sagt, welcher Assistent fragt und wohin er zurückkehrt. Ein Administrator kann es entweder zulassen oder Nur lesen lassen; der Assistent eines Betrachters kann nur lesen. Nicht zulassen sendet es mit nichts weg. Sein Zugriff ist dann auf Administratoren (Kapitel 57) auf, API-Tokens, als KI-Assistent, angemeldet: Es funktioniert nur unter /mcp und nie für den Rest der API, dauert eine Stunde und erneuert sich für bis zu 30 Tage, wenn es nicht verwendet wird. Widerrufen beendet es sofort. Diese Assistenten erreichen BitVoice von ihren eigenen Servern, daher benötigt es eine Adresse, die von Internet aus erreichbar ist, und ein Zertifikat, dem sie vertrauen (Let's Encrypt, in Zertifikat (Kapitel 14)).
Assistenten, die ein Token erhalten (Claude Code, Cursor, VS Code und andere Tools, die eine Adresse und einen Header akzeptieren): Erstellen Sie ein API-Token auf Administratoren (Kapitel 57), nur lesen, es sei denn, es sollte handeln, und geben Sie es als Authorization: Bearer bv_...:
claude mcp add --transport http bitvoice https://pbx.example.com:8443/mcp --header "Authorization: Bearer bv_..."
Assistenten, die ein Programm starten (Claude Desktop und andere, die einen Befehl akzeptieren): Das BitVoice-Programm enthält eine Brücke, bitvoice mcp, die jede Nachricht an den Server über HTTPS weiterleitet. Geben Sie ihm die Serveradresse und das Token:
{ "mcpServers": { "bitvoice": { "command": "bitvoice", "args": ["mcp", "-url", "https://pbx.example.com:8443"], "env": { "BITVOICE_TOKEN": "bv_..." } } } }
Mit dem eigenen Zertifikat von BitVoice (nicht von einer Autorität), weigert sich die Brücke und gibt den SHA-256 aus: Überprüfen Sie, ob es sich um das Zertifikat Ihres Servers handelt, und fügen Sie dann "-pin", "THAT-SHA256" zu den Argumenten hinzu. Nur dieses Zertifikat wird dann akzeptiert.
Sicher, um es aktiv zu lassen
- Nur Token: Eine Anmeldung bei BitVoice über einen Browser erreicht nie
/mcp, und eine Seite auf einer anderen Website wird abgelehnt (Ursprung), sodass eine Web-Seite keine Assistenten-Verbindung verwenden kann. - Assistenten können falsch sein. Geben Sie ihnen ein Token mit Leseberechtigung, es sei denn, sie müssen handeln; alles, was sie getan haben, ist im Überwachungsprotokoll, und das Tätigen eines Anrufs klingelt immer zuerst das Telefon einer Person.
- Anmeldung über OAuth 2.1, wie in MCP angegeben: Der Assistent registriert sich selbst (nur öffentliche Clients mit PKCE), gibt nur an die registrierten Adressen zurück (https oder http an seinen eigenen Computer) und ein Code ist nur einmal gültig, für eine Minute.
- Eine in einem anderen BitVoice-System gehostete Organisation gibt ihren Assistenten Token; die Anmeldung über OAuth dort wurde noch nicht ausprobiert.
Archiv
/archiveDas Archiv speichert Kopien von Aufzeichnungen, Voicemails und der Konfiguration an einem anderen Ort: einem Amazon S3-Bucket (oder einem kompatiblen Speicher) oder einem Azure Blob Storage-Container. Wenn die Festplatte dieses Servers verloren geht, hat das Archiv sie immer noch.
Einrichten
- Wählen Sie auf Archiv (Kapitel 72) Wohin archivieren: Amazon S3 oder Azure.
- Für S3: den Bucket, seine Region, einen optionalen Ordner im Bucket und Endpoint (für S3-kompatible Speicher), sowie eine Zugriffsschlüssel-ID und Geheimschlüssel. Richtlinie kopieren gibt die erforderliche Berechtigung, um sie dem Benutzer oder der Rolle zuzuordnen.
- Für Azure: eine Container-SAS-URL mit Schreibberechtigung und einen optionalen Ordner im Container.
- Wählen Sie aus, was neben der Konfiguration kopiert werden soll: Anrufaufzeichnungen, Voicemail oder beides.
Was passiert
Alle zehn Minuten kopiert BitVoice neue Aufzeichnungen und Nachrichten, die noch nicht im Archiv sind, und einmal täglich eine datierte Kopie der Konfiguration (config/2026-10-13.json). Die Seite zeigt den letzten Lauf, den letzten Erfolg und etwaige Fehler.
Das Löschen von etwas hier (durch Aufbewahrungsfrist oder manuell) löscht nicht die Kopie im Archiv: Legen Sie die eigenen Lebenszyklusregeln für den Bucket oder den Container fest, um zu bestimmen, wie lange das Archiv die Elemente aufbewahrt.
Rechtliche Aufbewahrungen
/holdsEine rechtliche Aufbewahrung bewahrt Anrufprotokolle, Aufzeichnungen und Voicemails auf, die für eine Angelegenheit relevant sein können, und verhindert, dass jemand sie löscht, bis sie freigegeben wird. Verwenden Sie sie, wenn ein Anwalt um Aufbewahrung von Protokollen bittet.
Hinzufügen einer Aufbewahrung
Auf Rechtliche Aufbewahrungen (Kapitel 73) Hinzufügen drücken:
| Feld | Was es ist |
|---|---|
| Name | was die Angelegenheit heißt |
| Grund | warum, für die Akte |
| Nummern | die Erweiterungen und externen Nummern, die sie abdeckt (101, +15551234567), oder Alles |
| Von, Bis | die Daten, die sie abdeckt; leer für keine Begrenzung |
Während eine Aufbewahrung aktiv ist
- Die Aufbewahrung lässt das, was sie abdeckt, unberührt, unabhängig von seinem Alter.
- Niemand kann einen aufbewahrten Anruf, eine Aufzeichnung oder ein Voicemail löschen, auch Administratoren nicht.
- Aufbewahrte Anrufe zeigen ein Schloss in Anrufhistorie (Kapitel 47).
Freigeben
Freigeben macht das, was die Aufbewahrung aufbewahrt hat, wieder den Aufbewahrungs-Einstellungen unterworfen: Dinge, die älter sind als die Aufbewahrung, werden beim nächsten Reinigungslauf gelöscht. Freigegebene Aufbewahrungen bleiben aufgelistet, mit Datum und Uhrzeit, und das Hinzufügen und Freigeben von Aufbewahrungen wird im Audit-Log aufgezeichnet.
Metriken: Prometheus, OpenTelemetry, Grafana, SNMP und Anruflisten
/settingsPrometheus liest /metrics auf der Web-Adresse. Erstellen Sie ein API-Token unter Administratoren (ein Betrachter-Token reicht aus) und geben Sie es Prometheus als Trägertoken:
scrape_configs:
- job_name: bitvoice
scheme: https
authorization: { credentials: bv_... }
static_configs: [{ targets: ['pbx.example.com'] }]
Es liest Anrufe im Gang (nach Status), beendete Anrufe (nach Richtung und Ergebnis), Sprechzeit, registrierte Telefone, den Status und die Round-Trip-Zeit jedes Trunks, wartende Anrufer und Agenten in jeder Warteschleife, empfangene und verlorene Audio-Pakete, ein Histogramm der Anrufqualitätswerte (MOS) und gebuchte Rückrufe. Zähler beginnen wieder von Null, wenn BitVoice neu startet, wie Prometheus es erwartet.
OpenTelemetry: Geben Sie in den Einstellungen, Metriken, die OTLP/HTTP-Adresse eines Collectors ein (und einen Header wie Autorisierung mit seinem Wert), um die gleichen Messungen alle Minute (oder so oft, wie Sie es einstellen, ab 15 Sekunden) zu übertragen. Jetzt pushen überprüft die gespeicherten Einstellungen.
Grafana-Dashboard lädt ein fertiges Dashboard herunter: Importieren Sie es in Grafana und wählen Sie Ihre Prometheus-Datenquelle.
SNMP
Für Überwachungssysteme, die SNMP sprechen (Zabbix, PRTG, LibreNMS, Nagios, SolarWinds), schalten Sie den SNMP-Agent in den Einstellungen ein. Er antwortet auf SNMPv2c-GET-, GETNEXT- und GETBULK-Anfragen, nur lesbar, auf UDP-Port 161 (oder einem anderen, den Sie wählen: Port 161 benötigt die Berechtigung, niedrige Ports auf Linux zu öffnen) und nur von den Netzwerken, die Sie auflisten. Wählen Sie eine Community, die nicht öffentlich oder privat ist: Es ist ein Passwort, das im Klartext über das Netzwerk übertragen wird.
Er dient der Standard-System-Gruppe (sysDescr, sysUpTime, sysContact, sysName, sysLocation) und den eigenen Werten von BitVoice unter der Basis-OID: Anrufe im Gang und klingelnd, registrierte Telefone, Trunks hoch und eingerichtet, wartende Anrufer, beendete Anrufe, Sprechsekunden, verlorene Pakete, durchschnittliche Anrufqualität, eine Trunk-Tabelle (Name, hoch oder runter, Latenz) und eine Warteschleifen-Tabelle (wartend, Agenten, beantwortet, aufgegeben). Laden Sie BITVOICE-MIB neben den Einstellungen für Ihre Überwachung herunter, um es zu laden. BioDream LLC hat noch keine Unternehmensnummer, daher ist die Standard-Basis-OID im experimentellen Raum von Net-SNMP; legen Sie eine unter Ihrer eigenen Unternehmensnummer, um sie stabil zu halten.
Fallen (SNMPv2) gehen an jeden Empfänger, den Sie auflisten, wenn ein Trunk herunterfällt oder wieder hochkommt, ein Notruf gemacht wird oder ein Server eines Clusters aufhört zu antworten. SNMPv3 wird noch nicht unterstützt.
Anruflisten an anderer Stelle
Neben der Anrufliste kann jeder Eintrag, wenn der Anruf endet, an folgende Orte gesendet werden:
- Syslog (RFC 5424, als JSON) über UDP, TCP oder TLS, für einen Log-Server oder ein SIEM.
- Eine CSV-Datei pro Tag, mit den Spalten von Asterisks Master.csv, sodass die Berichte und Abrechnungstools, die für Asterisk erstellt wurden, sie lesen können. Laden Sie die Dateien am Fuß von Anrufliste (Kapitel 47) herunter. Zellen, die ein Tabellenkalkulationsprogramm als Formel ausführen würde, werden sicher geschrieben.
- Eine PostgreSQL-Tabelle in einer anderen Datenbank, die das erste Mal mit den Spalten von Asterisks
cdrerstellt wird (calldate, clid, src, dst, duration, billsec, disposition, uniqueid…) plus BitVoices Richtung, Trunk, Kosten und MOS. Jeder Anruf wird einmal geschrieben.
Testeintrag senden testet den Syslog-Server und die Datenbank mit den gespeicherten Einstellungen.
Anrufergenerator
/loadtestDer Anrufergenerator platziert echte Anrufe mit echtem Audio in BitVoice von diesem Computer aus: Um zu sehen, wie viele Anrufe ein Server bewältigt und wie gut, oder um nach einer Änderung zu überprüfen, ob Anrufe noch dorthin gelangen, wo sie sollen.
Testlauf
| Einstellung | Was es ist |
|---|---|
| Zu wählende Nummer | eine Nummer innerhalb von BitVoice: eine Nebenstelle, eine Gruppe, eine Warteschleife, ein Menü |
| Anrufe kommen von | die Anrufernummer, die die Anrufe anzeigen |
| Als beantworten | eine Nebenstelle, die der Generator selbst beantwortet; oder niemand, wenn die Nummer selbst beantwortet wird (ein Menü, der Echo-Test) |
| Anrufe | wie viele insgesamt |
| Gleichzeitig | die meisten gleichzeitig im Gange, bis zu 2.000. Jeder weitergeleitete Anruf benötigt Medienports von Medien von und Medien zu (Einstellungen): der Standard 10000-20000 fasst etwa 1.800, also erweitern Sie es für mehr |
| Neue pro Sekunde | wie schnell sie starten |
| Jeder dauert (s) | wie lange jeder spricht |
Lesen der Ergebnisse
| Ergebnis | Was es sagt |
|---|---|
| Beantwortet, Fehlgeschlagen | und Warum Anrufe fehlgeschlagen sind, nach Grund |
| Anrufzeit, Median und 95% | wie lange Anrufer gewartet haben |
| Audioverlust | der Anteil der Audiopaketes, die nie angekommen sind |
| Audio-Bewertung | eine Schätzung der Tonqualität (MOS): 4 und höher ist gut, unter 3,6 ist schlecht |
| Jitter, 95% der Anrufe | wie ungleichmäßig der Ton zurückkam (RFC 3550 Interarrival-Jitter, gemittelt über jeden Anruf); Telefone glätten bis zu etwa 20 ms |
| Längste Lücke, schlechtester Anruf | die längste Wartezeit zwischen zwei Audiopaketes in einem Anruf; sie kommen alle 20 ms, also zeigt sich hier eine Blockierung des Servers |
| Speicherpausen, längste Pause | wie oft und wie lange die Go-Laufzeit alles angehalten hat, um den Speicher während des Laufs aufzuräumen |
| Anrufe in Bearbeitung im Zeitverlauf | ein Diagramm der Last |
SIP-Spur
/traceDie SIP-Spur zeigt die Nachrichten an, die BitVoice sendet und empfängt, live: der erste Ort, an dem zu suchen ist, wenn ein Telefon sich nicht anmelden lässt oder ein Anruf fehlschlägt, und was ein Support-Team eines Anbieters anfordern wird.
Eine Nachricht finden
BitVoice speichert die letzten 2.000 Nachrichten im Speicher (nichts wird auf die Festplatte geschrieben und sie sind nach einem Neustart verschwunden). Geben Sie einen Teil einer Nummer, einer Adresse oder einer Call-ID in den Filter ein. Drücken Sie Aktualisieren für die neuesten.
Wählen Sie eine Nachricht, um sie vollständig zu sehen und, neben ihr, den Anruf-Fluss: jede Nachricht desselben Anrufs in der Reihenfolge, zwischen dem Telefon, BitVoice und dem Anbieter, wie in der Abbildung.
Lesen einer Spur
| Sie sehen | Es bedeutet normalerweise |
|---|---|
| REGISTER antwortet 401, dann nichts | das Telefon hat kein Passwort oder ein falsches Passwort |
| REGISTER antwortet 403 | die Adresse ist gesperrt oder das Telefon meldet sich als eine andere Erweiterung an |
| INVITE antwortet 404 | keine Route entspricht der gewählten Nummer (Anrufweiterleitung (Kapitel 8)) |
| INVITE antwortet 403 durch den Anbieter | der Anbieter lehnt die Anruferkennung oder die Nummer ab |
| 486 | die andere Seite ist beschäftigt |
| 488 | die beiden Seiten haben keinen gemeinsamen Codec (Codecs (Kapitel 66)) |
| 200 OK, dann BYE nach etwa 30 Sekunden | das ACK ist nie angekommen: ein Router dazwischen ändert oder löscht Nachrichten (schalten Sie seine "SIP ALG" aus) |
| Ein Anruf wird hergestellt, aber niemand hört etwas | der Klang wird blockiert: überprüfen Sie die öffentliche Adresse in den Einstellungen und die Medien-Ports in der Firewall |
Öffentliche Sicherheit: der Labortrack
Das 911-Notrufprofil, die Funkleitkonsole und die NG911-Core-Dienste. Sie sind ein Labortrack und Design-Partner: erstellt und getestet mit aufgezeichneten Aufnahmen, Beispiel-Daten und Platzhaltern, aber nicht zertifiziert für den Live-Notruf oder die Funkleitkonsole und noch nicht mit einem Live-ESInet, P25-System oder CAD getestet. Sie sind aus dem Menü ausgeschlossen, bis sie in den Einstellungen aktiviert werden. Notrufe von Ihren eigenen Telefonen (Erste Schritte) sind nicht Teil dieses Tracks: sie sind Teil jedes TelefonSystems.
Notrufe (das 911-Profil)
/psapBitVoice beantwortet Notrufe als das Anruf-Handhabungssystem einer PSAP: Anrufe aus dem Notruf-Netzwerk (dem ESInet, NENA i3) kommen mit dem Standort des Anrufers und den Netzwerk-Daten an, der Anruf-Entgegner sieht sie sofort, und CAD wird informiert, wenn der Anruf beantwortet wird.
Einrichten.
- Unter Trunks (Kapitel 7) den Trunk von Ihrem ESInet-Anbieter (oder dem NG911-Kern-ESRP) hinzufügen und Von ESInet aktivieren.
- In Anrufweiterleitung (Kapitel 8) die Anrufe an Ihre Call-Taker weiterleiten: eine Warteschleife oder eine Rufgruppe.
- Unter 911-Anrufe Ihre Agentur-ID (eine Domäne, wie
psap.county.example.gov) und die CAD-Informationen eingeben: die Adresse und den Port des ALI-Listeners und die EIDO-Adresse.
Wenn ein 911-Anruf eintrifft, wird er auf 911-Anrufe mit angezeigt:
- der Adresse, die das Netzwerk gesendet hat (civile Lage), und der Position mit der Unsicherheit (innerhalb von so vielen Metern), auf der Karte mit einem Unsicherheitskreis (sobald eine Karte festgelegt ist, siehe unten) und einem Link zu OpenStreetMap;
- dem Anbieter, der Art des Dienstes (drahtlos, VoIP, Wohnsitz, Geschäft), dem Gerät und dem Abonnenten, wenn der Anruf diese Informationen mitgeliefert hat (Zusätzliche Daten, RFC 7852);
- alles, was beim Lesen schiefgelaufen ist.
Die Lage wird im Anruf (als Wert) oder als Referenz übermittelt, die BitVoice mit HELD abruft. Ein Anruf mit einer Referenz hat Rebid-Lage: BitVoice fragt erneut an, für einen Anrufer, der sich bewegt oder dessen erste Fixierung ungenau war.
Wenn ein Rebid die Lage ändert, sagt die Lage-Überprüfung aus, welche Lage zuerst angezeigt werden soll und warum: die neue Lage als Regel; die erste Lage, wenn sie eine genaue Geräte-Fixierung (GPS, innerhalb von 100 m) war, die weniger als zwei Minuten alt ist und die neue Lage ungenauer ist; und beide, wenn zwei Lagen um mehr als ihre Unsicherheit voneinander abweichen, so dass der Call-Taker den Anrufer fragt. Die erste Lage bleibt auf dem Anruf, egal was passiert.
Wenn ein Call-Taker den Anruf annimmt, erhält CAD, jedes auf eigene Faust, damit ein CAD, das down ist, den Anruf nicht behindert:
- den ALI-Spill: den Textblock, den CAD-Systeme lesen (Rückrufnummer, Dienstklasse, Adresse, Position und Unsicherheit, Anbieter), über TCP gesendet;
- die EIDO, das Ereignisdokument von NENA-STA-024, per HTTPS-POST (mit einem Bearer-Token, wenn gesetzt). EIDO auf einem Anruf zeigt es an. Die Adresse muss
httpssein oder nurhttpan einen CAD auf diesem Computer (http://127.0.0.1:…): eine EIDO enthält die Lage des Anrufers und den Token, also darf sie nie unverschlüsselt über ein Netzwerk gesendet werden, auch nicht über ein privates. Das gleiche gilt für Sende Radio-Ereignisse an CAD. Das Speichern einer anderen unverschlüsseltenhttp-Adresse wird abgelehnt; eine von einer älteren Version gespeicherte Adresse bleibt bestehen, damit BitVoice immer noch startet und andere Änderungen immer noch gespeichert werden, aber nichts wird an sie gesendet und Gesundheit (Kapitel 13) zeigt sie in rot an, bis sie geändert wird.
Der ALI-Spill selbst ist einfaches TCP, da herkömmliche CAD-Listener es akzeptieren, also kann es nicht erforderlich sein, dass es verschlüsselt wird. Wenn er an einen anderen Computer gesendet wird, warnt Gesundheit: halten Sie diesen Pfad von jedem gemeinsam genutzten Netzwerk fern, mit einer direkten Seriell-Verbindung (serial:/dev/…) oder einem VPN oder einem privaten Kreis zu CAD. Legen Sie auch Agentur-ID fest: EIDOs und der i3-Log nennen die Agentur danach, und Gesundheit (Kapitel 13) warnt, solange sie leer ist.
Ein 911-Anruf wird nie abgelehnt. Ein Sprachanruf vom ESInet (oder einem CAMA-Trunk), dessen eingehender Pfad ihn ablehnen würde, weil der Pfad auflegt, eine Gruppe mit niemandem darin anruft oder nicht existiert, oder dass niemand antwortet, ruft stattdessen jeden Call-Taker an: jede aktivierte Erweiterung und jedes Telefon, das während des Anrufens verbunden ist, bis jemand antwortet oder der Anrufer auflegt. Ein Textanruf wartet auf diesem Bildschirm auf die gleiche Weise. Der Anruf zeigt Wie er geroutet wurde an, was passiert ist, und Gesundheit (Kapitel 13) warnt vor einem solchen Pfad, damit er korrigiert werden kann. Nur Testanrufe (urn:service:test.sos) und Anrufe, die keine 911-Anrufe sind, behalten ihre Ablehnung bei.
Nicht durch eine Weiterleitung abgebrochen. Wenn ein Call-Taker einen 911-Anruf weiterleitet und die Weiterleitung nicht verbinden kann, weil die Erweiterung kein Telefon hat oder niemand antwortet, geht der Anruf zurück an den Call-Taker, solange er noch online ist. Wenn er bereits aufgelegt hat (die meisten Tischtelefone tun dies sofort nach einer blinden Weiterleitung), ruft stattdessen jeder Call-Taker an, bis einer antwortet. Ein 911-Anruf wird nie an die Voicemail oder ein anderes Ziel ohne Antwort weitergeleitet, und seine Routing-Spur zeigt an, was passiert ist. Bei jedem Anruf gibt ein Telefon, das sofort nach einer Weiterleitungsanfrage auflegt, nur sich selbst frei: die Weiterleitung geht weiter.
Ein verschwundener Anrufer. Wenn eine Seite eines Anrufs aufhört, Ton zu senden, während die andere Seite immer noch sendet (ein Telefon, das den Strom oder das Signal verloren hat, sendet kein Auflegen), wird der Anruf mit dem Grund *der Anrufers Ton hat aufgehört* (oder wessen es war) beendet, im Anrufverlauf und im call.ended-Ereignis, das CAD hört (cause, endedBy). Eine Seite auf Halten, Faxen oder die gesagt hat, dass sie nichts sendet (ein Lautsprecher für die Ansage), wird nie auf diese Weise beendet. Stille sendet immer noch Pakete, also hält ein Anrufer, der nicht sprechen kann, den Anruf auf.
Live transcripts. With Write out 911 calls live on (Settings, AI), each side of an answered 911 call is written out as it is spoken, by the speech-to-text service when one is set (so the audio stays in the building (Kapitel 28)), else by the AI service, cut where the speaker pauses, and shown under the call as Live transcript. CAD gets each piece as a call.transcript event: {"call": id, "lines": [{"speaker": "Caller", "side": "caller", "text": "…", "second": 12.4}]}. The calls' audio goes to the AI service while they last, recorded or not. The recording's own transcript still comes when the call ends.
CAD dispatchers by name. A CAD acting through one API token can name the dispatcher behind each request: make the token with Names the person it acts for (Administrators, API tokens) and send X-BitVoice-On-Behalf-Of: <the person's name>. The exposure log, text calls taken, calls ended and the audit log then name that person with the token (*Dana Ruiz via bitdispatcher CAD*). From any other token the header is ignored.
Anrufer-Video und -Fotos. Bei einem 911-Anruf erstellt Sende dem Anrufer einen Video-Link einen Link, der nur für diesen Anruf geöffnet wird: per Text an den Anrufer von der unter Texten Sie den Link von angegebenen Nummer oder vorgetragen. Wenn dies nicht möglich ist (keine Textnummer ist angegeben oder der Anrufer hat keine Nummer angegeben), teilt die Anzeige und die API's problem mit, warum. Der Anrufer öffnet den Link im Browser seines Telefons (keine App): Teilen Sie Live-Video sendet die Live-Aufnahme der Rückkamera (WebRTC, WHIP: RFC 9725) und Sende Fotos oder Videos sendet bereits aufgenommene Dateien, einschließlich Dashcam- und Action-Cam-Dateien. Während des Anrufs:
- Live-Video zeigt LIVE an; Ansehen des Anrufers-Video spielt es unscharf ab und Enthüllen (kann belastend sein) zeigt es an; Verbergen versteckt es;
- jede Datei zeigt ihre Größe, den Zeitpunkt der Aufnahme (nach der Uhr des Kameras), den Ort (aus den GPS-Daten, wenn vorhanden) und ihren SHA-256, der bei der Ankunft erfasst wird, damit eine Kopie später als identisch nachgewiesen werden kann; Enthüllen öffnet die Datei; Als Beweis festhalten hält die Dateien des Anrufs über den Aufbewahrungszeitraum hinaus;
- der unter ihr angezeigte Verweislink (WHEP) ermöglicht es CAD, einem Einheitenscreen oder einer anderen Position, dasselbe Live-Video anzusehen, ohne sich anzumelden: Behandeln Sie es als Schlüssel.
Video wird nie von den Anrufen genommen: Jedes Live-Video hat seine eigenen Ports, dieser Server nimmt höchstens Live-Videos gleichzeitig davon (4, sofern nicht angegeben), jedes wird aufgefordert, unter Video-Bitrate zu bleiben, und Video, das für zehn Sekunden unterbrochen wird, wird beendet. Die Telefone der Anrufer müssen diesen Server unter Link-Adresse (https) und dessen Medien-Ports (UDP) erreichen. Dateien werden Dateien und Expositionsprotokoll aufbewahren Tage (leer: bis zur Löschung) aufbewahrt, abgesehen von festgehaltenen Anrufen.
Aufzeichnen des Live-Videos. Mit Aufzeichnen des Live-Videos der Anrufer aktiviert, wird das Live-Video des Anrufers zusammen mit den Fotos und Clips als eine Datei pro Videoabschnitt aufgezeichnet: dieselben Bilder, die das Telefon gesendet hat, nicht konvertiert, in einer IVF-Datei (H.264 oder VP8 mit der eigenen Zeit jedes Bildes), gehasht, wie es geschrieben wird. Ein durch einen verlorenen Paket beschädigtes Bild wird weggelassen, anstatt es fehlerhaft zu speichern, und das Telefon wird aufgefordert, ein vollständiges Bild zu senden, um fortzufahren. Enthüllen spielt es ab (aus einer Kopie in WebM oder MP4, die ffmpeg erstellt, dieselben Bilder in einem anderen Container; ohne ffmpeg nur die ursprüngliche Datei herunterladen); Ursprüngliche Datei herunterladen gibt die Datei aus, die der Hash ist.
In CAD. Die an CAD gesendete EIDO (NENA-STA-021) benennt jedes Foto, jeden Clip und jede Aufzeichnung sowie das Live-Video, solange es läuft, als zusätzliche Daten per Verweis: urlPurpose ist caller-photo, caller-video, caller-video-recording oder caller-video-live und additionalDataByReferenceUrl ist die Datei unter /m/{viewToken}/{n} oder das Live-Video unter /whep/{viewToken}. BitVoice sendet CAD die EIDO erneut, wenn eine Datei ankommt oder Live-Video startet oder stoppt. Die Links verwenden Link-Adresse (oder die öffentliche Adresse dieses Servers); ohne eine davon benennt die EIDO keine Medien. Jeder Abruf über sie wird im Expositionsprotokoll aufgezeichnet. Der Ereignisstrom sagt dasselbe (GET /api/events: call.media, call.video). Die EIDOs von BitVoice werden gegen das veröffentlichte EIDO-Schema von NENA überprüft.
Links, die nicht existieren, werden nicht schneller als Anmeldungen geraten: Eine Adresse, die weiterhin versucht, wird für eine Weile abgewiesen. Dateien von Anrufern werden in einer Sandbox bereitgestellt, niemals als Seite dieses Servers.
Exposition. Jede Anzeige eines Live-Videos und jede Öffnung eines Fotos oder Clips wird unter Exposition bei 911-Anrufen gezählt: Wer, wie oft, über wie viele Anrufe. Es dient Supervisoren und dem Wellness-Programm des Zentrums.
Video, das ein Telefon in dem 911-Anruf selbst sendet (SIP-Video über das ESInet), kann auf die gleiche Weise angesehen werden: Ansehen nimmt es als Quelle, wenn kein Link-Video live ist.
Anrufe mit nur einer Nummer. Ein 911-Anruf, der eine Rückrufnummer und keinen Standort (von einem CAMA-Trunk oder einem ESInet-Anruf, dessen Standort nicht übermittelt wurde) bringt, kann abgefragt werden: Geben Sie Standortabfrage (ALI) die Adresse der HELD-Schnittstelle Ihres ALI-Datenbestands oder Standortservers (RFC 5985, wie in RFC 6155 angegeben) an. BitVoice fragt ohne den Anruf zu behindern ab, und der Standort erscheint im Anruf, wenn die Antwort eintrifft; der Anruf teilt mit, wenn die Abfrage fehlgeschlagen ist und warum.
Der legacy-ALI-Link. Ohne einen HELD-Server kann BitVoice einen ALI-Controller oder den Datenlink der ALI-Datenbank auf die alte Weise ansprechen: Es sendet eine Anfrage und liest die Antwort als Text über das Netzwerk (ALI-Link-Adresse Host:Port) oder aus einer Seriellen Schnittstelle (serial:/dev/ttyUSB0?baud=9600&parity=none, mit bits und stop auch; ein USB-Seriell-Adapter funktioniert; unter Linux und macOS, nicht jedoch unter Windows: dort verwenden Sie einen Seriell-zu-Netzwerk-Konverter und dessen Adresse). Anfrage ist das zu sendende: {ani10} die zehnstellige Rückrufnummer, {ani7} die letzten sieben, {pos2} die Position, STX und ETX ({ani10} wenn leer). Die Antwort wird bis zum ETX gelesen. ALI-Layouts unterscheiden sich zwischen Anbietern und Bundesstaaten, daher platzieren Sie jedes Feld: seine Zeile, seine Spalte und seine Länge (0: bis zum Ende der Zeile), aus einer Ausgabe eines ALI-Bildschirms; Straße (ganze Zeile) teilt eine Straßenzeile in ihre Teile auf, oder platzieren Sie die Teile einzeln. Fügen Sie eine Beispiel-Aufzeichnung hinzu und Lesen Sie die Beispiel-Aufzeichnung, um die Zeilen mit einem Spaltenraster und was jedes Feld liest, zu sehen; Anfragen fragt den Link selbst nach einer Nummer. Die Adresse und Position der Aufzeichnung werden zur Standortangabe des Anrufs, der Name zur Anrufername und die Klasse des Dienstes wird im Anruf angezeigt. Protokolle, die kein Anfrage- und Text-Antwort-Protokoll sind (PAM, E2 und andere Hersteller-eigene), werden nicht unterstützt: sie benötigen ein Gateway.
ALI-Überlauf über eine Serielle Schnittstelle. ALI-Überlauf zu nimmt auch eine Serielle Schnittstelle (serial:/dev/ttyS0?baud=9600), für ein CAD, das den Überlauf aus einem Seriellen Kabel liest.
Die Karte. Unter Karte in den 911-Einstellungen geben Sie BitVoice seine Kartenkacheln: eine .mbtiles-Datei von Rasterkacheln (PNG, JPEG oder WebP) auf diesem Server, für eine Karte, die ohne Internet funktioniert (Ihr GIS-Team, TileMill, gdal2tiles oder ein Kachelanbieter erstellt eine für Ihr Gebiet), oder einen Kachelservice mit {z}, {x} und {y} in seiner Adresse (Ihrer Grafschaft oder ein kommerzieller: beachten Sie dessen Bedingungen; die öffentlichen OpenStreetMap-Server sind nicht für diesen Zweck gedacht). Auf jeden Fall holen die Browser der Anrufer die Kacheln von BitVoice: es liest die Datei oder holt von dem Kachelservice und behält die letzten Kacheln im Speicher. Die gleiche Karte zeigt Radiopositionen auf der Radiokonsole an. Vektor-Kacheln werden nicht unterstützt.
Das i3-Log speichert die NENA-i3-Ereignisse jedes Anrufs (Anrufbeginn, Antwort, Standort, EIDO gesendet), eine Datei pro Tag. Antwortzeiten zeigt, wie viele Anrufe innerhalb Ihres Ziels beantwortet wurden (NENA: 90% innerhalb von 15 Sekunden, 95% innerhalb von 20), die aufgegebenen Anrufe und den Durchschnittswert jedes Anrufnehmers. Eine Zeile pro Tag (CSV) lädt die Zählungen herunter, die staatliche 911-Büros normalerweise anfordern (Anrufe, beantwortet, aufgegeben, innerhalb des Ziels und innerhalb von 20 Sekunden, Durchschnitt und längste Wartezeit) für die ausgewählten Tage; Eine Zeile pro Anruf (CSV) listet jeden 911-Anruf mit dem Zeitpunkt, an dem er beantwortet wurde, von wem und ob es ein Textanruf war. Jeder Staat hat sein eigenes Formular: legen Sie Ihres unter Berichts-Layouts aus. Ein Textanruf, der auf diesem Bildschirm oder durch ein CAD entgegengenommen wird, zählt unter der Person, die ihn entgegengenommen hat; ein Anruf, den niemand vor dem Anrufer aufgegeben hat, zählt als aufgegeben.
Berichts-Layouts. Neues Berichts-Layout legt einen Bericht so aus, wie Ihr Staat oder Ihre Grafschaft es hat: was jede Zeile ist (ein Tag, eine Woche, ein Monat, eine Stunde des Tages, ein Anrufnehmer oder eine Zeile für alle), eine Gesamtzeile und die Spalten, in der Reihenfolge, jede mit ihrem eigenen Kopf, wenn das Formular es anders bezeichnet: Anrufe, beantwortet, aufgegeben (eine Zählung oder ein Anteil), beantwortet innerhalb von so vielen Sekunden (eine Zählung oder ein Anteil; die Sekunden sind Ihre, also 10 und 20 für ein Formular und 15 und 40 für ein anderes), beantwortet nach mehr als so vielen Sekunden, die durchschnittliche und längste Wartezeit, die Zeit, innerhalb derer 90% beantwortet wurden, die durchschnittliche Anrufdauer und Textanrufe (TTY, Echtzeit-Text, Text an 911). Eine Wartezeit zählt von der Ankunft des Anrufs bis zur Antwort eines Anrufnehmers. Wählen Sie ein Layout und ein Datum und Führen Sie es aus, um es hier zu lesen, Tabellenblatt (CSV), um es herunterzuladen, oder Seite zum Drucken für eine einfache Seite zum Drucken oder Speichern als PDF. Layouts werden mit den Einstellungen gespeichert, daher gehen sie mit einer Sicherung und in Git.
TTY-Anrufe. Gehörlose und schwerhörige Anrufer können 911 mit einem TTY (einem Texttelefon, Baudot mit 45,45 Bit/s) anrufen. BitVoice hört auf jedem 911-Anruf auf ein TTY, vom ersten Moment an: was der Anrufer tippt, erscheint auf dem Anruf, während er tippt, unter Text, mit einer Pause oder einer neuen Zeile, die eine neue Zeile beginnt. Ein stummer Anruf kann ein TTY sein, das auf Sie wartet: sobald Sie antworten, sendet TTY-Antwort Text, auch bevor irgendetwas hereingekommen ist. Tippen Sie die Antwort und drücken Sie Senden: sie geht an den Anrufer als TTY-Töne (die Stimme des Anrufnehmers wird stummgeschaltet, während sie abgespielt wird, da TTYs abwechselnd senden), in Großbuchstaben, und TTY-Etikette gilt: beenden Sie jede Runde mit GA ("weiter"), und SK beim Abschließen. Zeichen, die ein TTY nicht anzeigen kann, werden weggelassen. Sprache, Musik und Touch-Töne werden nie als TTY-Text erkannt: ein Zeichen zählt nur, wenn jedes Bit davon ein sauberes TTY-Signal ist. Das Gespräch wird mit dem Anruf in der Anrufhistorie und im i3-Log (ein MessageLogEvent pro Runde) gespeichert. Entfernen Sie das Häkchen bei TTYs auf 911-Anrufen hören in den 911-Einstellungen, um das Hören zu stoppen.
Weiterleitungen. Ein 911-Anruf, der an eine andere PSAP weitergeleitet wird, behält seine Position: die PIDF-LO geht mit dem Anruf.
Echtzeit-Text (RTT). Ein Telefon, das Text neben seiner Stimme sendet (RFC 4103, wie VoLTE-Telefone und NG911-Anrufe), erhält seine Textantwort von BitVoice selbst, da Desktop-Telefone keinen Text anzeigen: Jedes Zeichen erscheint auf dem Anruf, während der Anrufer tippt, und Ihre Antwort wird als Text zurückgesendet. Verlorene Pakete werden durch die Redundanz von RTT wiederhergestellt; verlorener Text, der über diese Redundanz hinausgeht, wird als angezeigt.
Text an 911. Ein Text-Kontrollzentrum (TCC) sendet Texte an die PSAP als eine Sitzung ohne Stimme (MSRP, RFC 4975, über den ESInet-Stamm). BitVoice antwortet darauf und wartet auf 911-Anrufe, die als Text an 911 markiert sind, mit den Texten, die eingegangen sind; kein Telefon klingelt. Diese Text übernehmen macht Sie zum Anrufannahmezentrum (die Antwortzeit wird dann gezählt und CAD erhält die ALI-Spills und die EIDO dann); antworten Sie im Feld unter dem Gespräch und Gespräch beenden, wenn Sie fertig sind. Das Schließen der Sitzung durch das TCC beendet es auch. Ein SIP-MESSAGE, der innerhalb eines 911-Anrufs gesendet wird, wird auf die gleiche Weise als Text des Anrufers behandelt und Antworten werden per SIP-MESSAGE gesendet. Texte werden nur von Stämmen akzeptiert, die als Vom ESInet markiert sind.
Ein TCC, das die Sitzung über TLS anbietet (TCP/TLS/MSRP, msrps: Pfade, RFC 4975 Abschnitt 14), erhält es über TLS, mit dem Zertifikat dieses Servers (Einstellungen › Zertifikate; ohne ein solches Zertifikat wird das Angebot abgelehnt). Das Zertifikat des TCC muss das sein, das sein Angebot nennt (a=fingerprint, SHA-256); wenn es keines nennt, muss es den PSAP-Credentialing-Agency-Wurzeln zugeordnet werden, die unter Core-Diensten festgelegt sind, wenn solche festgelegt sind. Die Antwort von BitVoice nennt sein eigenes Zertifikat auf die gleiche Weise.
Das gesamte Gespräch, egal wie es hereinkam, wird mit dem Anruf in der Anrufhistorie und im i3-Log aufbewahrt.
Was hier noch nicht vorhanden ist: das Weiterleiten einer Textsitzung durch den NG911-Kern (der ESRP leitet die Stimme weiter; eine Textsitzung wird dort beantwortet, wo sie ankommt); die eigenen Abonnements des EIDO-Übertragungsstandards (NENA-STA-024 WebSocket): BitVoice sendet EIDOs an eine Adresse.
Funk-Dispatch-Konsole
/radioDispatchers sprechen über Funkkanäle von demselben Headset wie ihre Telefonanrufe. BitVoice erreicht die Funkgeräte über Funk-über-IP-(RoIP)-Gateways; das Funknetz selbst bleibt bei dem, der es betreibt.
Einrichten. Wählen Sie unter Konsole einrichten eine Konsolenummer (800, sagen wir) und fügen Sie jeden Kanal hinzu: seinen Namen, den Port auf diesem Server, an den das Gateway den Kanalton sendet, und die Adresse und den Port des Gateways für den ausgehenden Ton. Auf dem Gateway: RTP, G.711 µ-law, an die Adresse und den Port dieses Servers; schalten Sie das Funkgerät auf Sprache (VOX). Jeder Kanal verwendet seinen Port und den nächsten, außerhalb des Bereichs, den Telefonanrufe verwenden.
Beitreten. Ein Dispatcher wählt die Konsolenummer von seinem Schreibtischtelefon oder drückt Beitreten mit dem Browser-Telefon. Er hört dann den gesamten Kanalverkehr gemischt; Hören / Stumm auf einem Kanal nimmt ihn aus seinem Headset. Die Lampe auf einem Kanal leuchtet, während er empfängt.
Sprechen. Halten Sie die Halten, um zu sprechen-Taste eines Kanals (oder fokussieren Sie ihn und halten die Leertaste): Ihre Stimme geht nur an diesen Kanal, und der Kanal zeigt TX mit Ihrer Erweiterung an. Ein Dispatcher spricht auf einem Kanal gleichzeitig; die Taste ist für die anderen grau, während jemand spricht. Nichts wird an einen Kanal gesendet, während niemand spricht, daher wird ein sprachgesteuertes Funkgerät nie auf Senden gehalten.
Verbinden. Drücken Sie Verbinden auf einem Kanal, dann Hier verbinden auf einem anderen: Die beiden hören einander (ein Feuerkanal und ein gegenseitiger-Hilfe-Kanal, sagen wir) bis Sie Trennen drücken.
P25-Sprechgruppen. Ein Kanal kann auch eine P25-Sprechgruppe sein, die direkt über das ISSI (TIA-102.BACA, die Schnittstelle zwischen P25-Subsystemen; mit Senden des CSSI-Konsole-PTT-Worts aktiviert, fügt BitVoice dem Konsolesubsystem das Wort zu jedem Antrag hinzu) beitreten wird. Wählen Sie Eine P25-Sprechgruppe (ISSI), geben Sie die Sprechgruppen-ID, die SIP-Adresse und die ID des RFSS, das die Sprechgruppe beheimatet, und einen Port für seine Stimme an. Unter Diese Konsole im P25-System, geben Sie die WACN und die System-ID, die RFSS-ID, die Ihrem P25-Administrator diese Konsole gegeben hat, die Geräte-ID, die Dispatchers übertragen, und den SIP-Port, den das ISSI hier verwendet; das P25-System muss diesen Server als RFSS mit dieser Adresse kennen. Das Kacheln zeigt P25 an, während der Gruppenanruf aktiv ist (P25 nicht verfügbar und der Grund, wenn er nicht aktiv ist), und die Geräte-ID des Funkgeräts, das spricht, in rot mit NOTFALL, wenn es ein Notfallanruf ist. Halten, um zu sprechen fragt das Heim-RFSS nach dem Kanal (Kanal anfordern...); Ihre Stimme geht, sobald es den Kanal gewährt, und wenn es ablehnt (jemand mit höherer Priorität hat ihn), sagt das Kacheln das an. Die Stimme wird in BitVoice in und aus IMBE, dem P25-Vocoder, umgewandelt.
Verschlüsselte Funkgruppen. Unter Verschlüsselungsschlüssel fügen Sie jeden Verkehrsschlüssel hinzu, den Ihr Funkgeschäft Ihnen gibt: einen Namen, den Algorithmus (AES-256, DES-OFB oder dreifach DES), die Schlüssel-ID und den Schlüssel selbst in Hex (TIA-102.AAAD). Ein Schlüssel wird nie wieder angezeigt, nachdem er gespeichert wurde, nicht einmal für Administratoren, und das Leerlassen des Feldes bewahrt ihn. Die Konsole hört eine verschlüsselte Übertragung, wenn sie den Schlüssel mit dem Algorithmus und der Schlüssel-ID hat: die Kachel zeigt ein Schloss und den Algorithmus neben der sprechenden Einheit. Ohne den Schlüssel wird die Übertragung stummgeschaltet, wird nie als Rauschen abgespielt und die Kachel sagt kein Schlüssel: stummgeschaltet. Um verschlüsselt auf einer Funkgruppe zu senden, wählen Sie einen Schlüssel unter Senden für diesen Kanal; die Kachel zeigt dann TX AES-256 (oder den Algorithmus, den Sie gewählt haben). Eine vollständige Konfigurationsexportierung (Einstellungen, Sicherung eines Administrators) enthält die Schlüssel, daher sollten Sie diese Dateien so sicher aufbewahren wie die Schlüssel.
Private Anrufe. Mit der Konsole in einem P25-System ruft Ein Funkgerät anrufen in Ihrer Positionsleiste ein Funkgerät über seine Geräte-ID an (schalten Sie Notfall ein, um es als Notfall anzurufen). Der Anruf wird zu einer eigenen Kachel, Privater Anruf: Gerät 197, mit Halten, um zu sprechen wie bei jedem Kanal und Auflegen. Funkgeräte können die Konsole auch anrufen, unter der Geräte-ID, mit der die Dispatchers senden: der Anruf erscheint als Kachel mit angefangen (in Rot mit NOTFALL, wenn das Funkgerät als Notfall angerufen wurde), jeder Dispatcher hört es und es endet, wenn eine der beiden Seiten auflegt. Unter Private Anrufe in den P25-Einstellungen der Konsole geben Sie die SIP-Adresse und die ID des RFSS ein, der die Heimat der Funkgeräte ist (leer verwendet die Heimat der ersten Funkgruppe), und, wenn private Anrufe verschlüsselt werden sollen, den Schlüssel, mit dem sie gesendet werden sollen.
Alarmtöne. Einen Alarmton senden... auf einem Kanal sendet einen von: Alarm 1, einen konstanten Ton von 1000 Hz für 3 Sekunden; Alarm 2, ein Warble zwischen 1000 und 1500 Hz; Alarm 3, 1000-Hz-Impulse; oder ein kurzes Piepsen. Der Ton hält den Kanal, während er abgespielt wird (die Kachel zeigt Ton und Ihre Erweiterung), jeder Dispatcher, der den Kanal überwacht, hört ihn, und auf einer P25-Funkgruppe wird er einmal gesendet, nachdem die Heimat-RFSS den Kanal freigegeben hat.
Notfälle. Wenn ein Funkgerät als Notfall sendet (seine Notfalltaste), wird seine Kachel rot mit NOTFALL und der Geräte-ID, der Server-Log vermerkt es und CAD wird sofort informiert (siehe unten). Der Notfall bleibt auf jeder Konsole nach dem Senden des Funkgeräts bestehen, bis ein Dispatcher Bestätigen drückt: die Kachel sagt dann, wer ihn bestätigt hat und wann, und CAD erhält ein radio.emergency.ack-Ereignis. Das Bestätigen benennt die angezeigte Einheit: wenn ein anderer Einheitsnotfall einen Moment vorher ersetzt wurde, lehnt BitVoice ab und die Kachel zeigt die neue, sodass ein zweiter Notfall nie versehentlich stillgelegt wird. CAD kann durch die API dasselbe tun: POST /api/radio/channels/{id}/ack mit {"unit": "bee07.1d5.00044d"} (oder der Funkgeräte-ID, "1101") antwortet 409, wenn der Notfall des Kanals jetzt einer anderen Einheit ist; ohne einen Textkörper bestätigt es die aktuelle Einheit.
Simulselect. Um auf mehreren Kanälen gleichzeitig etwas zu sagen, aktivieren Sie Auswählen auf jedem Kanal, dann halten Sie Sprechen auf N Kanälen in der Leiste über den Kacheln. Es ist alles oder nichts: wenn ein anderer Dispatcher auf einem von ihnen spricht, wird keiner aktiviert und Sie werden informiert, welcher.
Funkgerätepositionen. Funkgeräte melden ihre Position über die Daten-Seite des Funknetzwerks, nicht über die Sprach-Seite, der die Konsole beitritt: P25-Ortungsdienst, Motorola-LRRP oder einen eigenen Dienst eines Anbieters, der von dem Daten- oder AVL-Gateway des Funkgeschäfts gesammelt wird. Konfigurieren Sie das Gateway (oder ein kleines Skript daneben), um jeden Bericht an BitVoice mit einem API-Token zu senden: POST /api/radio/locations mit {"unit": 1205, "lat": 40.2633, "lon": -76.8823, "speed": 42, "heading": 90, "accuracy": 8, "at": "2026-10-15T14:05:00Z"}, oder eine Liste von bis zu 500 (Geschwindigkeit in km/h, Richtung in Grad, Genauigkeit in Metern; alle drei und die Zeit sind optional). Funkgerätepositionen auf der Konsole listen dann jede letzte Position eines Funkgeräts mit seinem Namen auf, und CAD erhält jede Position als radio.location-Ereignis. BitVoice decodiert LRRP oder den P25-Ortungsdienst selbst nicht.
Funkgerätenamen. Unter Funkgerätenamen benennen Sie Funkgeräte nach ihrer P25-Geräte-ID (1205 ist "Engine 5", sagen wir): die Kachel zeigt den Namen neben der Geräte-ID, während es spricht, und der Funkgeräte-Log und die Ereignisse von CAD enthalten es.
Funkgeräte-Log und Aufzeichnung. Aktivieren Sie Jede Übertragung aufzeichnen unter Aufzeichnung und CAD: jede Übertragung auf jedem Kanal, gehört oder gesendet, wird als Aufzeichnung mit einer Zeile im Funkgeräte-Log gespeichert: wann, der Kanal, wer (die Geräte-ID des Funkgeräts oder die Erweiterung des Dispatchers), wie lange und ob es ein Notfall, ein Alarmton, verschlüsselt oder ein privater Anruf war. Eine gehörte Übertragung beginnt mit dem ersten Wort und endet 1,5 Sekunden nach dem letzten Wort. Suchen Sie ein Gerät, einen Dispatcher oder einen Kanal mit der Suchleiste und drücken Sie Wiedergabe, um zu hören. Aufzeichnungen werden so lange aufbewahrt, wie Anrufaufzeichnungen (Einstellungen, Aufzeichnung).
Funkdaten an CAD. Geben Sie die Adresse von CAD unter Funkereignisse an CAD senden ein (und ein gemeinsames Geheimnis, wenn CAD eines wünscht; es wird als Bearer-Token gesendet und nicht mehr angezeigt). BitVoice sendet dann jedes Ereignis (radio.unit, radio.emergency, radio.emergency.ack, radio.transmission und radio.location) als JSON, {"type": ..., "agency": ..., "data": {...}}: radio.unit wenn ein Funkgerät auf einem Kanal zu sprechen beginnt (seine Unit-ID, WACN, System, den Kanal, Notfall, Verschlüsselung), radio.emergency für einen Notfall (dreimal versucht, wenn CAD nicht antwortet) und radio.transmission für jede abgeschlossene Übertragung, wie sie im Funklog erscheint. CAD kann auch das Log selbst mit GET /api/radio/log lesen (Filter: channel, q, since, until). Ein CAD, das down ist, behindert die Konsole nie.
Noch nicht hier: P25-Phase-2-(TDMA)-Sprachübertragung in ihrem eigenen Halbratenvocoder. Ein Phase-2-System funktioniert mit der Konsole, wenn seine ISSI-Sprechgruppen volle Rate (Phase 1) übertragen oder sein Transcoder sie umwandelt, was häufig vorkommt: fragen Sie Ihren P25-Administrator. Eine Sprechgruppe, deren Sprache in Blöcken ankommt, die diese Konsole nicht decodiert (Halbratensprache, die uncodiert gesendet wird, wahrscheinlich), zeigt Stumm hier auf ihrer Kachel, während ein Funkgerät spricht, damit niemand die Stille für einen stillen Kanal hält. Die Decodierung benötigt zwei Dinge, die BitVoice nicht hat: den Halbratenvocoder (AMBE+2, patentiert bis 2028: eine Lizenz vom Eigentümer oder ein lizenzierter Hardwarevocoder-Chip) und das ISSI-Halbraten-Sprachblockformat (TIA-102.BACA-B, verkauft von TIA, nicht öffentlich).
**NG911-Kern-Dienste (ECRF, ESRP, LVF, BCF, LIS, Protokollierung)**
/coreFür eine staatliche oder regionale 911-Behörde, die ihren eigenen NG911-Kern betreibt: BitVoice antwortet als ECRF auf LoST und leitet jeden 911-Anruf als ESRP an die PSAP weiter, die dem Anrufer dient.
Dienstbereiche. Exportieren Sie Ihre Grenzen aus GIS als GeoJSON-Polygone (PSAP-Grenzen für urn:service:sos; Polizei-, Feuer- oder Rettungsbereiche für urn:service:sos.police und die anderen) und laden Sie sie auf Core-Dienste hoch. Die Eigenschaften name, uri und number eines Polygons werden gelesen; geben Sie eine Standard-PSAP-URI für diejenigen ohne eine solche an. Bearbeiten Sie einen Bereich, um die Städte oder Grafschaften hinzuzufügen, die er bedient, für Anrufer, deren Standort eine zivile Adresse ist. Testen Sie einen Ort zeigt, welcher Bereich einen Standort oder eine Stadt beantwortet, wie eine LoST-Abfrage.
Der ECRF. Schalten Sie LoST-Abfragen beantworten ein und listen Sie die Adressen auf, die fragen dürfen (Ihr ESInet): andere Elemente senden findService an /lost (RFC 5222) und erhalten die PSAP-URI. Ein bestimmter Dienst (sos.police) wird aus seinen eigenen Bereichen zuerst und dann aus sos beantwortet. Ein Ort, den keiner Ihrer Bereiche abdeckt, kann zum Wald-Führer (RFC 5582: das nationale Verzeichnis von ECRFs) gehen: eine rekursive Abfrage wird auf behalf des Fragenden gestellt und die Antwort zurückgegeben (beide Server in der Antwortpfad aufgelistet), jede andere Abfrage wird zu ihm umgeleitet und eine Abfrage, die bereits durch diesen ECRF gegangen ist, wird als Schleife abgelehnt.
Der ESRP. Listen Sie die PSAPs auf: Jede mit ihrer URI (wie sie von den Gebieten genannt wird), dem Trunk, der sie erreicht, und ihrem Überlauf-PSAP, und wählen Sie den Standard-PSAP. Senden Sie dann die eingehenden Notrufe des ESInet an ESRP in Anrufweiterleitung (Kapitel 8). Jeder Anruf geht zum PSAP für seinen Standort (von diesem Server aus, oder einem externen ECRF via LoST), mit seinem Standort und dem Dienst, den er angefordert hat, weitergeleitet; wenn das PSAP den Anruf nicht annimmt, an sein Überlauf-PSAP; ohne Standort, oder von einem Ort, den kein Gebiet abdeckt, an den Standard. Jede Entscheidung ist im i3-Log auf Notrufe (Kapitel 77) zu finden.
Richtlinien-Regeln. Sobald der ECRF eine PSAP ausgewählt hat, werden die Regeln unter Richtlinien-Regeln in der Reihenfolge überprüft und die erste Regel, deren Bedingungen alle erfüllt sind, entscheidet: senden Sie den Anruf an eine andere PSAP oder lehnen Sie ihn als beschäftigt ab. Eine Regel kann den Dienst (nur Feueranrufe, sagen wir), die PSAP, die der ECRF ausgewählt hat, einen Zeitplan (während das Nacht-Schicht-Zentrum geschlossen ist), Anrufe ohne Standort, Anrufe, die der BCF als verdächtig markiert hat, und den Stamm, über den der Anruf hereinkam, überprüfen. Jede Entscheidung ist im i3-Log als RouteLogEvent aufgeführt, der die Regel nennt.
Grenzkontrolle (BCF). Mit Überprüfe Anrufe aus dem ESInet aktiviert, wird jeder Anruf von einem ESInet-Trunk überprüft: Adressen unter Immer ablehnen werden abgelehnt, und auch eine Adresse, die mehr Anrufe pro Minute startet oder gleichzeitig hält, als erlaubt (ein Telefondienst-Verweigerungsangriff sendet Fluten von Anrufen von wenigen Quellen). Abgelehnte Anrufe erhalten 503 mit Retry-After. Aktivieren Sie Lassen Sie den Anruf mit dem Verdacht durch , um solche Anrufe stattdessen zu senden und eine Richtlinienregel entscheiden zu lassen (an ein Zentrum, das sie filtert, oder abgelehnt); ein echter Anrufer in einem Flut ist dann nicht verloren. Grenzkontrolle: Letzte listet ab, was abgelehnt oder markiert wurde. Überprüfe STIR/SHAKEN-Signaturen überprüft die signierte Anruferkennung (den Identity-Header) jedes Anrufs, der eine solche enthält, gegen die STI-Wurzeln, die unter Anruferfilterung in Einstellungen festgelegt sind: Ein Anruf, dessen Signatur fehlschlägt, wird markiert und als verdächtig gekennzeichnet, für eine Richtlinienregel, um ihn woanders hinzusenden, und wird in der BCF-Protokollliste aufgeführt; ein 911-Anruf wird niemals abgelehnt, und unsignierte Anrufe (die meisten heute) werden ignoriert. Jeder Anruf verlässt BitVoice als neue Anfrage seiner eigenen (BitVoice ist ein Back-to-Back-Agent), die nur die Header und Körper enthält, die BitVoice versteht und weiterleitet: den Standort, die zusätzlichen Daten und die Sitzung. Überprüfe Medien überprüft jedes RTP-Paket eines ESInet-Anrufs, bevor es verwendet oder weitergeleitet wird: Pakete von einer Adresse, die nicht derjenigen entspricht, die der Anrufsdienst-SDP angegeben hat, mit einem Payload-Typ, der nicht im Angebot genannt wurde, mit Headerlängen (CSRCs, Erweiterung, Padding), die nicht zum Paket passen, größer als Größtes Paket (1.500 Byte, wenn leer) oder nach Pakete pro Sekunde (150, wenn leer; G.711 bei 20 ms sendet 50) werden abgelehnt und gezählt. Das erste von jedem Typ, dann das 10., 100. und so weiter, wird in Grenzkontrolle: Letzte (als *Medien abgelehnt*) und in den Anmerkungen des Anrufs aufgeführt. Der Anruf wird niemals beendet, weil sein Medium nicht verfügbar ist: Der Anrufer behält die guten Pakete. Anrufe von CAMA-Trunks kommen vom lokalen Kartenprogramm und werden nicht überprüft.
Adressvalidierung (LVF). Laden Sie Ihre 911-GIS-Adressendaten im GeoJSON-Format hoch, im NENA-GIS-Datenmodell (NENA-STA-006): Straßenmitte-Linien mit FromAddr_L, ToAddr_L, Parity_L, IncMuni_L und dem Rest, und Standort-/Adresspunkte mit Add_Number, St_Name, Inc_Muni. Eine LoST-Abfrage mit validateLocation="true" erhält dann die gültigen, ungültigen und nicht überprüften Teile der Adresse in ihrer Antwort (RFC 5222), sodass Träger und Standortserver eine Adresse vor einem 911-Anruf korrigieren können. Überprüfe eine Adresse macht dasselbe hier: Ein exakter Adresspunkt ist die beste Übereinstimmung, dann ein Straßenabschnitt, dessen Bereich auf der rechten Straßenseite die Nummer enthält (ungleiche und gerade Seiten werden respektiert); Schreibweisen wie Street und St, North und N werden gleichbehandelt.
Der i3-Protokollservice. Schalten Sie Führe einen i3-Protokollservice aus: Die anderen Elemente Ihres Kerns (ESRPs, BCFs, PSAPs) senden ihre Protokollereignisse (NENA-STA-010), jedes signiert als JWS mit dem Zertifikat des Elements in seinem x5c-Header, per POST an /i3log/LogEvents von den zugelassenen Adressen. Jedes kommt als JWS im flachen JSON-Format (signiert oder unsigniert mit dem Algorithmus none, den ein Protokollservice akzeptieren kann: als nicht nachverfolgt zum PCA markiert); es wird überprüft und gespeichert, und die Antwort ist die ID des Protokollereignisses. Lesen Sie es mit GET /i3log/LogEvents/{logEventId}; listen Sie mit GET /i3log/LogEvents (startTime, endTime, logEventType, limit, start); finden Sie die IDs eines Anrufs oder eines Vorfalls mit /i3log/LogEventIds, /CallIds, /IncidentIds und /AgencyIds; und lesen Sie das Textgespräch eines Anrufs mit /i3log/Conversations?callId=. GET /i3log/Versions sagt, was dieser Dienst spricht. Empfangene Protokollereignisse listet die Ereignisse eines Tages mit dem Unterzeichner jedes auf. Jede Antwort wird gegen die veröffentlichte OpenAPI-Definition des Dienstes von NENA überprüft; der Dienst wurde noch nicht mit Elementen eines anderen Herstellers getestet.
PSAP-Zertifizierungsagentur. Fügen Sie die Root-Zertifikate der PCA unter PSAP-Zertifizierungsagentur-Roots hinzu: Ein signiertes Protokollereignis wird dann nur akzeptiert, wenn das Zertifikat des Unterzeichners zu einem davon kettenartig verknüpft ist (und nicht abgelaufen ist) und als PCA angezeigt wird. Ohne sie wird nur die Signatur überprüft, und das Ereignis wird als nicht zum PCA nachverfolgt angezeigt.
Ortssuche (LIS). Aktivieren Sie Ortssuche-Anfragen beantworten (LIS) und laden Sie eine Tabelle (CSV) mit Ortssuchen-Datensätzen hoch: eine Kopfzeile und in jeder Zeile entweder eine Nummer (die ALI-Daten, exportiert), ein Netzwerk (einen Adressbereich wie 10.20.3.0/24 oder eine einzelne Adresse: ein Gebäude, ein Stockwerk, ein VLAN, ein Wi-Fi-Netzwerk) oder eine MAC-Adresse (ein Gerät: ein Tischtelefon, ein Wandsteckdosen-Schalter), dann die Adresse als Hausnummer, Straße, Ort, Einheit, Stockwerk (oder Etage), Stadt, Bundesland, PLZ und Land, mit Breite, Länge und Radius, wenn bekannt (andere Namen, wie Telefon, Straße, PLZ, Subnetz und IP, werden auch verstanden). PSAPs, Legacy-Netzwerkgateways und Telefone fragen dann /held (HELD, RFC 5985) von den erlaubten Adressen an und erhalten ein PIDF-LO. Eine Anfrage benennt ihr Gerät durch die Telefonnummer, IP-Adresse oder MAC-Adresse (RFC 6155); eine Anfrage, die keine Angabe macht, wird für die Adresse beantwortet, von der sie stammt, wie ein LIS in einem Büro- oder Campusnetzwerk. Eine Adresse wird durch das engste Netzwerk gefunden, das sie enthält, also gewinnt ein Stockwerks-/24 über ein Campus-/16. Ein Gerät ohne Datensatz erhält HELD's locationUnknown; eine Identität einer anderen Art (eine NAI, ein Port) erhält notLocatable. Ein BitVoice-PSAP zeigt seine Ortssuche (ALI) hier hin. Suchen Sie eine Nummer, Adresse oder MAC-Adresse überprüft einen Datensatz und sagt, welches Netzwerk sie stammt. Eine erneut aufgeführte Nummer, Netzwerk oder MAC-Adresse ersetzt ihren alten Datensatz; Ersetzen Sie jeden Datensatz beginnt von vorne. Nur die erlaubten Adressen werden beantwortet: ein LIS, das für jede Adresse antwortet, die es gefragt wird, darf nicht für jeden zugänglich sein.
The i3 web services. Under NENA i3 web services, switch on what this core offers the other elements of your ESInet, at /i3/<service>/v1, for the addresses under May ask only. Each answers as NENA's published OpenAPI definitions say (NENA-STA-010.3, the NENA911 repositories), and each has a tab under i3 web services:
- Policy Store (
/i3/PolicyStore/v1/Policies,/PolicyEnums): agencies store, update and delete their routing policies (Policy Routing Rules), each a JWS signed by the agency that owns it (the signer's certificate must name the owner, and come from the PCA when its roots are set). A policy is kept byte for byte as it came. The ESRP runs them: the OriginationRoutePolicy for This ESRP's incoming queue first, else the NormalNextHopRoutePolicy of the PSAP the ECRF chose. Of the rules whose conditions hold, the highest priority acts; when its route fails (busy, no answer within its rnaTimer, 20 seconds when it gives none), the next one does; a BusyAction answers 600 Busy Everywhere. Conditions taken: time periods, SIP headers, Additional Data, body types, location (circle or civic), call suspicion, queue state (BitVoice's own PSAPs), LoST service URN and Normal-NextHop, call source, request URI, incoming queue, and the SDP offer's media and languages; service state and security posture are taken as unknown (Unreachable and Green, as the standard says). Body-part, CAP and calling-number-verification conditions are not run: they count as false. Without a stored policy, the Policy rules above decide. The tab lists what is stored and lets you paste one, or sign one with this server's certificate. - Discrepancy reports (
/i3/DiscrepancyReports/v1): other agencies report problems with this server's services; each shows on the tab, where you answer it with a resolution, sent to the reporter. File a report sends one to another agency's DR service; its answer and later resolution show under Reports this server filed. - Bad actors (
/i3/BadActor/v1/BadActors, with the BCF): each call the BCF passes on carries its source's ID (Call-Info: <sip:ID>;purpose=emergency-source); a PSAP that finds that source attacking reports the ID, and the BCF refuses its calls, or raises their suspicion score for the policies, for A report lasts hours. Lift ends a report early. - Geocode and MSAG conversion (
/i3/Gcs/v1,/i3/Mcs/v1): civic address to position and back from the LVF's address points (the nearest within 150 m), and civic address to MSAG address (120 N MARKET STREET, HARRISBURG CITY, PA) and back, from the centerlines'MSAGComm_L/MSAGComm_Rfields. Answers are JSON objects, or XML when the asker asks for it. - Additional Data (
/i3/Adr/v1/AdditionalData?callerUri=): blocks you keep by caller (RFC 7852 XML), served by value, or by reference for an asker that wants JSON. One block per caller is served by value: the first kept. - Locator (
/i3/ServiceAgencyLocator/v1): this agency's own record (its ID from the 911 calls page, with its logging and discrepancy addresses) and the agencies you add. - Dequeue (
/i3/DequeueRegistration/v1/Registrations): positions or PSAPs sign up to take a queue's calls (this ESRP's queue, or a PSAP's URI); the ESRP sends calls for that queue to them, the most preferred first (preference 5 before 1), over the PSAP's trunk. - Test calls: a PSAP asks this core to send it test calls (
/i3/TestCall/v1/SendTestCalls/{agency ID}: every so many minutes, five at least, between two dates, with a location); BitVoice places each tourn:service:test.sosover the PSAP's trunk and keeps what came back. Place one now tries one. - PSAP states (SIP, not REST): Subscribe to each PSAP's queue and service state has the ESRP SUBSCRIBE (RFC 6665) to every PSAP listed, over its trunk, for
emergency-QueueStateandemergency-ServiceState(NENA-STA-010.3 4.2.1.3 and 2.4.2), for an hour at a time, renewed before it ends. What the PSAPs NOTIFY shows under PSAP states and is what the policy rules' queue state, service state and security posture conditions read. A PSAP whose queue says Inactive, Disabled, Full or ResourceExhausted (or holds its most calls), or whose service says Unstaffed, ScheduledMaintenanceDown, Overloaded, GoingDown or Down, is passed over for its overflow, and the call's notes say so; when every PSAP in the chain says it cannot take calls, the call is sent as listed anyway, never left with nowhere to go. A PSAP that does not answer the SUBSCRIBE is Unreachable (as the standard says a subscriber must assume) and is tried again each minute; one that refuses it (489, 603 ...) is tried again in ten minutes. - This server's states: Tell other elements this server's element, service and queue state answers SUBSCRIBEs for
emergency-ElementState,emergency-ServiceStateandemergency-QueueStatefrom the addresses under May ask (others get 603 Decline; a queue that is not this server's incoming queue, 488). The queue's length is the 911 calls not yet answered here, and it says Full at Most calls waiting in the queue (20 when blank); the service says Overloaded at this server's call limit, else Normal. NOTIFYs go out when the state changes, at most one a second, and once a minute regardless (the standard's default rates); their bodies are checked against NENA's notify-body schemas.
Testanrufe bei einem PSAP. Ein BitVoice-PSAP beantwortet einen Testanruf vom ESInet (urn:service:test.sos, NENA-STA-010.3 Abschnitt 9, RFC 6881) selbst: Die Antwort gibt den Namen des PSAP, den Dienst und den Ort des Anrufs an, die ersten drei Pakete mit Ton werden zurückgesendet und dann aufgelegt. Ein zweiter Test von demselben Ort innerhalb von zwei Minuten wird abgelehnt (486), ebenso wie ein fünfter auf einmal. Ein ESRP leitet einen Testanruf wie einen echten Anruf weiter, immer noch als Test gekennzeichnet. Schalten Sie Testanrufe beantworten auf der 911-Anrufseite aus, um sie abzulehnen (404).
JWS-Algorithmen: NENA-STA-010.3 fordert EdDSA mit Ed448. Die Standardbibliothek von Go, die BitVoice für jeden kryptografischen Schritt verwendet, hat Ed25519, aber nicht Ed448, daher werden EdDSA-Signaturen mit Ed25519-Schlüsseln überprüft und ECDSA- und RSA-Signaturen werden auch akzeptiert; ein Ed448-Zertifikat wird abgelehnt.
Haben Sie gemeint. Eine Adresse, die nicht gültig ist, erhält bis zu fünf Vorschläge aus denselben Daten, jeweils mit der Angabe, warum: Eine Straße, die ein oder zwei Buchstaben entfernt ist (ein vertauschtes Buchstabenzahl wird als eines gezählt), dieselbe Straße in der nächsten Stadt oder die nächste Nummer, die die Straße hat, auf derselben Seite, wenn möglich (gerade Zahlen bleiben gerade). Verwenden füllt einen Vorschlag aus. Eine Position mit der Adresse. Geben Sie eine Breite und Länge (und den Radius der Position, wenn bekannt) mit der Adresse an: Die Position wird gegen den eigenen Adressenpunkt der Adresse überprüft, unter Berücksichtigung seines Radius und 100 m mehr (die Größe eines Grundstücks und GIS-Fehler). Die Antwort gibt den Abstand und ob die beiden übereinstimmen an, und wenn sie nicht übereinstimmen, den nächsten Adressenpunkt zur Position. Eine Adresse, die nur aus Straßenmittelpunkten bekannt ist, hat keinen Punkt, gegen den sie überprüft werden kann, und die Antwort sagt das an. LoSTs validateLocation hat keinen Platz für beides, daher erhalten Anbieter, die über LoST anfragen, nur die Überprüfung.