CallerHub Download

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

ParameterBedeutungBeispiel
numberRufnummer des Anrufers in beliebiger Schreibweise0711 1234567, %2B497111234567
apikey oder Header X-Api-KeyAPI-Key der Schnittstelle; der Header wird bevorzugt, weil er nicht in Proxy-Protokollen erscheintzufällig erzeugt
formatAntwortformat: text, json, xml, yealink, snomjson
called, userangerufene 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

AdresseZweckAnmeldungModul
GET /lookupName zur TelefonnummerAPI-KeyKern
GET /healthErreichbarkeit; antwortet OK, zählt nicht in der StatistikkeineKern
GET|POST /eventAnrufereignis melden (Beginn, angenommen, beendet …)API-KeyAnrufanalyse, Anrufereignisse
POST /cdrVerbindungsdaten anliefern (format=3cx, mitel, openscape, callerhub; innovaphone-XML automatisch)API-KeyAnrufanalyse
GET /phonebookTelefonbuch als yealink, fritzbox, vcard oder csvZugangsschlüsselBrowser-Zugang, Telefonbuch
GET /stats, /stats/dataStatistik im BrowserZugangsschlüsselBrowser-Zugang
GET /callsAnrufanalyse im BrowserZugangsschlüsselBrowser-Zugang, Anrufanalyse
GET /open?number=…&key=…Weiterleitung zum CRM-Datensatz (CTI-Popup)ZugangsschlüsselBrowser-Zugang
GET /checkPrüfung für Nagios, Icinga, CheckmkMonitoring-SchlüsselMonitoring
GET /prtgSensor für PRTGMonitoring-SchlüsselMonitoring
GET /statusZustand als JSON (z. B. Zabbix)Monitoring-SchlüsselMonitoring
GET /metricsKennzahlen im Prometheus-TextformatMonitoring-SchlüsselMonitoring
LDAP, Port 389/636schreibgeschütztes Telefonbuch, Base DN ou=callerhubanonym oder Benutzer/KennwortTelefonbuch

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

CodeBedeutung
200Name gefunden (bei unbekannter Nummer leer)
401API-Key bzw. Schlüssel falsch oder fehlend
403IP-Adresse für diese Schnittstelle nicht erlaubt
404unbekannter Pfad oder Modul ausgeschaltet
405falsche HTTP-Methode
429nach zu vielen falschen Schlüsseln vorübergehend gesperrt (Vorgabe: 20 je Minute, Sperre 5 Minuten)
503keine 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.

VerbindungRichtungPort (Beispiel)InhaltWann
Telefonanlage → CallerHubeingehend8080 HTTP / 8443 HTTPSTelefonnummer, optional angerufene Nummer und Benutzer, API-Key → Name, optional Linkje Anruf
CallerHub → SQL-Datenbankausgehend1433, 1521, 3306, 5432Anmeldung, SELECTListe im Intervall bzw. je Anruf
CallerHub → LDAP/ADausgehend389 / 636Anmeldung, Sucheim Intervall
CallerHub → Microsoft 365, EWS, RESTausgehend443Token-Anfrage, Abruf der Kontakteim Intervall bzw. je Anruf
CallerHub → SMTP / Webhookausgehend587 / 465 / 25, 443Störung und Behebung, Berichte; ohne Telefonnummernbei Störung bzw. nach Plan
Browser / Überwachung → CallerHubeingehendwie Schnittstelle/stats, /calls, /open, /metrics u. a. mit Zugangsschlüsselbei Aufruf
Telefone → LDAP-Telefonbucheingehend389 / 636Namens- und Rückwärtssucheje Suche
Live-Empfang Verbindungsdateneingehend oder ausgehend5100, 5101, 5038, 1080, 1012 bzw. 443Verbindungsdaten je Anruflaufend bzw. im Abstand
CallerHub → nuget.orgausgehend443Download des Oracle-Treibersnur wenn der Treiber fehlt und Sie bestätigen
Netzwerk-Discoveryausgehendu. a. 1433, 1521, 3306, 5432, 389, 636, 5060, 1012; UDP 1434, 1900Verbindungsversuch ohne Anmeldungnur nach ausdrücklichem Start
Schema: STARFACE Cloud erreicht CallerHub über die Firewall per HTTPS 8443, CallerHub liest den SQL Server im eigenen Netz.
Beispiel A: STARFACE Cloud, Datenbank im eigenen Netz. Eingehend nur Port 8443 von der STARFACE.
Schema: 3CX oder Asterisk im eigenen Netz fragt CallerHub per HTTP 8080, CallerHub liest Active Directory per LDAPS und eine CSV-Datei per SMB.
Beispiel B: Telefonanlage im eigenen Netz mit Active Directory und CSV-Datei.
Schema: CallerHub fragt Microsoft 365 und HubSpot/Salesforce per HTTPS ab und sendet Störungen per SMTP oder Webhook; Browser und Überwachung greifen mit Zugangsschlüssel zu.
Beispiel C: Cloud-Quellen, Benachrichtigungen, Browser und Überwachung.

Konsolenbefehle

BefehlWirkung
CallerHub.exeOberfläche (bzw. Dienst, wenn Windows das Programm als Dienst startet)
CallerHub.exe minimizedOberfläche im Infobereich (Autostart)
CallerHub.exe checkVerbindung und Abfrage aller aktiven Quellen prüfen
CallerHub.exe test 07114567890eine Telefonnummer abfragen
CallerHub.exe templates MYSQLSQL-Vorlagen ausgeben (ORACLE, SQLSERVER, MYSQL, POSTGRESQL, ODBC)
CallerHub.exe consoleSchnittstelle ohne Oberfläche (Enter beendet sie)
CallerHub.exe simulatorTelefonanlagen-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.

TypFelder
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

PfadInhaltWer schreibt
CallerHub.exeProgramm mit eingebetteter .NET-10-Laufzeit und Komponenten für SQL Server und ODBCnur Sie (Update)
Drivers\Oracle.ManagedDataAccess.dll, Microsoft.Data.SqlClient.SNI.dll, msalruntime.dllnur Sie
Plugins\CallerHub.Plugins.dll (Schnittstelle), CallerHub.Sample.dll (Beispiele)nur Sie
Samples\customers.csv, CRM-Lookup_v3.sfmnur Sie
Languages\weitere Sprachen der Oberfläche (lang_xx.txt)nur Sie
Licenses\Lizenzen der Fremdkomponenten (OVERVIEW.txt)nur Sie
CallerHub.settings.xmlEinstellungen; Passwörter und Schlüssel mit DPAPI verschlüsseltCallerHub
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 AnlageSie bzw. CallerHub (Live-Empfang)
Backups\Sicherung der Einstellungen vor jedem Speichern (höchstens 20)CallerHub
Help\, Temp\, Branding\Hilfeseiten, Ergebnisdateien, Logo beim RebrandingCallerHub