Schnittstelle (HTTP), Konsole und Plugins
Technische Referenz für Administratoren und Integratoren. Die Beispiele verwenden 192.168.10.5 als CallerHub-Server, Port 8080 und den Platzhalter API-KEY.
Namensabfrage /lookup
| Parameter | Bedeutung | Beispiel |
|---|---|---|
number | Rufnummer des Anrufers in beliebiger Schreibweise | 0711 1234567, %2B497111234567 |
apikey oder Header X-Api-Key | API-Key der Schnittstelle; der Header wird bevorzugt, weil er nicht in Proxy-Protokollen erscheint | zufällig erzeugt |
format | Antwortformat: text, json, xml, yealink, snom | json |
called, user | angerufene Nummer und Benutzer für Statistik und Anrufanalyse (optional) | 200 |
GET /lookup?number=+4930123456 Header X-Api-Key: <Schlüssel>
→ 200, Text: "Musterfirma AG - Frau Beispiel" (leer, wenn unbekannt)
GET /lookup?number=…&format=json
→ {"found":true,"name":"…","phone":"+4930123456","url":"…","source":"CRM"}
GET /lookup?number=…&format=xml
→ <lookup found="true"><name>…</name><phone>…</phone></lookup>
GET /lookup?number=…&format=yealink|snom → XML-Telefonbuch
curl -H "X-Api-Key: API-KEY" "http://192.168.10.5:8080/lookup?format=json&number=%2B49301234560"
Jede Schnittstelle hat einen eigenen API-Key; CallerHub beantwortet die Anfrage mit den Datenquellen dieser Schnittstelle. Antworten sind UTF-8.
Alle Adressen
| Adresse | Zweck | Anmeldung | Modul |
|---|---|---|---|
GET /lookup | Name zur Telefonnummer | API-Key | Kern |
GET /health | Erreichbarkeit; antwortet OK, zählt nicht in der Statistik | keine | Kern |
GET|POST /event | Anrufereignis melden (Beginn, angenommen, beendet …) | API-Key | Anrufanalyse, Anrufereignisse |
POST /cdr | Verbindungsdaten anliefern (format=3cx, mitel, openscape, callerhub; innovaphone-XML automatisch) | API-Key | Anrufanalyse |
GET /phonebook | Telefonbuch als yealink, fritzbox, vcard oder csv | Zugangsschlüssel | Browser-Zugang, Telefonbuch |
GET /stats, /stats/data | Statistik im Browser | Zugangsschlüssel | Browser-Zugang |
GET /calls | Anrufanalyse im Browser | Zugangsschlüssel | Browser-Zugang, Anrufanalyse |
GET /open?number=…&key=… | Weiterleitung zum CRM-Datensatz (CTI-Popup) | Zugangsschlüssel | Browser-Zugang |
GET /check | Prüfung für Nagios, Icinga, Checkmk | Monitoring-Schlüssel | Monitoring |
GET /prtg | Sensor für PRTG | Monitoring-Schlüssel | Monitoring |
GET /status | Zustand als JSON (z. B. Zabbix) | Monitoring-Schlüssel | Monitoring |
GET /metrics | Kennzahlen im Prometheus-Textformat | Monitoring-Schlüssel | Monitoring |
| LDAP, Port 389/636 | schreibgeschütztes Telefonbuch, Base DN ou=callerhub | anonym oder Benutzer/Kennwort | Telefonbuch |
Monitoring-Schlüssel werden als Parameter key, Header X-Monitoring-Key oder Authorization: Bearer … übergeben.
Anrufe melden: /event und /cdr
…/event?apikey=API-KEY&event=incoming&callid=4711&number=07111234567&called=0711999200
…/event?apikey=API-KEY&event=answered&callid=4711&extension=201
…/event?apikey=API-KEY&event=ended&callid=4711&duration=95
Ereignisse mit derselben callid bilden einen Anruf. Parameter: event (auch type, direction oder die Buchstaben I, O, R, C, A, E), number, called, extension, user, name. GET und POST mit Formulardaten werden angenommen; die Antwort lautet 200 OK. Es gelten die erlaubten IP-Adressen der Schnittstelle.
CSV-Aufbau der Verbindungsdaten
Start;Direction;From;To;Extension;Answered;Wait;Duration
2026-10-16 09:12:05;incoming;+49711456789;200;201;yes;8;00:03:41
2026-10-16 09:15:40;incoming;+4930123456;200;;no;35;0
Antwortcodes
| Code | Bedeutung |
|---|---|
200 | Name gefunden (bei unbekannter Nummer leer) |
401 | API-Key bzw. Schlüssel falsch oder fehlend |
403 | IP-Adresse für diese Schnittstelle nicht erlaubt |
404 | unbekannter Pfad oder Modul ausgeschaltet |
405 | falsche HTTP-Methode |
429 | nach zu vielen falschen Schlüsseln vorübergehend gesperrt (Vorgabe: 20 je Minute, Sperre 5 Minuten) |
503 | keine Datenquelle bereit bzw. Telefonnummernliste noch nicht geladen |
Netzwerkverbindungen und Ports
CallerHub baut nur die Verbindungen auf, die Sie einrichten. Es gibt keine Verbindung zum Anbieter.
| Verbindung | Richtung | Port (Beispiel) | Inhalt | Wann |
|---|---|---|---|---|
| Telefonanlage → CallerHub | eingehend | 8080 HTTP / 8443 HTTPS | Telefonnummer, optional angerufene Nummer und Benutzer, API-Key → Name, optional Link | je Anruf |
| CallerHub → SQL-Datenbank | ausgehend | 1433, 1521, 3306, 5432 | Anmeldung, SELECT | Liste im Intervall bzw. je Anruf |
| CallerHub → LDAP/AD | ausgehend | 389 / 636 | Anmeldung, Suche | im Intervall |
| CallerHub → Microsoft 365, EWS, REST | ausgehend | 443 | Token-Anfrage, Abruf der Kontakte | im Intervall bzw. je Anruf |
| CallerHub → SMTP / Webhook | ausgehend | 587 / 465 / 25, 443 | Störung und Behebung, Berichte; ohne Telefonnummern | bei Störung bzw. nach Plan |
| Browser / Überwachung → CallerHub | eingehend | wie Schnittstelle | /stats, /calls, /open, /metrics u. a. mit Zugangsschlüssel | bei Aufruf |
| Telefone → LDAP-Telefonbuch | eingehend | 389 / 636 | Namens- und Rückwärtssuche | je Suche |
| Live-Empfang Verbindungsdaten | eingehend oder ausgehend | 5100, 5101, 5038, 1080, 1012 bzw. 443 | Verbindungsdaten je Anruf | laufend bzw. im Abstand |
| CallerHub → nuget.org | ausgehend | 443 | Download des Oracle-Treibers | nur wenn der Treiber fehlt und Sie bestätigen |
| Netzwerk-Discovery | ausgehend | u. a. 1433, 1521, 3306, 5432, 389, 636, 5060, 1012; UDP 1434, 1900 | Verbindungsversuch ohne Anmeldung | nur nach ausdrücklichem Start |
Konsolenbefehle
| Befehl | Wirkung |
|---|---|
CallerHub.exe | Oberfläche (bzw. Dienst, wenn Windows das Programm als Dienst startet) |
CallerHub.exe minimized | Oberfläche im Infobereich (Autostart) |
CallerHub.exe check | Verbindung und Abfrage aller aktiven Quellen prüfen |
CallerHub.exe test 07114567890 | eine Telefonnummer abfragen |
CallerHub.exe templates MYSQL | SQL-Vorlagen ausgeben (ORACLE, SQLSERVER, MYSQL, POSTGRESQL, ODBC) |
CallerHub.exe console | Schnittstelle ohne Oberfläche (Enter beendet sie) |
CallerHub.exe simulator | Telefonanlagen-Simulator |
Rückgabewerte: 0 = Erfolg, 1 = Laufzeitfehler, 2 = Bedien- oder Konfigurationsfehler.
Plugin-Schnittstelle
Ein Plugin ist eine .NET-Klassenbibliothek für netstandard2.0 mit einem Verweis auf Plugins\CallerHub.Plugins.dll. Sie implementiert ICallerHubPlugin mit den Eigenschaften id, name, description, settingsExample und den Methoden configure und process.
| Typ | Felder |
|---|---|
PluginCall (Eingabe) | phoneNumberE164, phoneNumberNational, countryIso, countryCode, calledNumber, displayName, sourceLabel, found, isVip, localTime |
PluginResult (Ausgabe) | u. a. displayName, note; Nothing bzw. null lässt den Namen unverändert |
' MeinPlugin.vb – dotnet new classlib -lang VB -f netstandard2.0 -n MeinPlugin
Public Function process(callInfo As PluginCall) As PluginResult Implements ICallerHubPlugin.process
If callInfo.calledNumber <> "200" OrElse String.IsNullOrEmpty(callInfo.displayName) Then Return Nothing
Return New PluginResult With {.displayName = callInfo.displayName & suffix, .note = "Zentrale"}
End Function
Die DLL kommt in den Ordner Plugins; danach unter Administration → Modul: Plugins „Neu laden“ wählen und das Plugin einschalten. Optional lädt CallerHub nur Plugins mit gültiger Authenticode-Signatur. Das vollständige Beispiel steht in der Hilfe.
Dateien im Programmordner
| Pfad | Inhalt | Wer schreibt |
|---|---|---|
CallerHub.exe | Programm mit eingebetteter .NET-10-Laufzeit und Komponenten für SQL Server und ODBC | nur Sie (Update) |
Drivers\ | Oracle.ManagedDataAccess.dll, Microsoft.Data.SqlClient.SNI.dll, msalruntime.dll | nur Sie |
Plugins\ | CallerHub.Plugins.dll (Schnittstelle), CallerHub.Sample.dll (Beispiele) | nur Sie |
Samples\ | customers.csv, CRM-Lookup_v3.sfm | nur Sie |
Languages\ | weitere Sprachen der Oberfläche (lang_xx.txt) | nur Sie |
Licenses\ | Lizenzen der Fremdkomponenten (OVERVIEW.txt) | nur Sie |
CallerHub.settings.xml | Einstellungen; Passwörter und Schlüssel mit DPAPI verschlüsselt | CallerHub |
Logs\ | lookup-YYYYMMDD.log, trace-*.log (Standard 90 Tage) | CallerHub |
Statistics\ | statistik-YYYY-MM.csv (Standard 24 Monate) | CallerHub |
CallData\ | Verbindungsdaten der Anrufanalyse, ein Unterordner je Anlage | Sie bzw. CallerHub (Live-Empfang) |
Backups\ | Sicherung der Einstellungen vor jedem Speichern (höchstens 20) | CallerHub |
Help\, Temp\, Branding\ | Hilfeseiten, Ergebnisdateien, Logo beim Rebranding | CallerHub |