131 lines
4.4 KiB
Markdown
131 lines
4.4 KiB
Markdown
# Starface Modulcreator – Busylight Integration
|
||
|
||
## Übersicht
|
||
|
||
Dieses Modul sendet bei jedem Anruf-Event einen HTTP-Request an den Busylight-Server,
|
||
damit die Türschilder automatisch den Telefonstatus anzeigen.
|
||
|
||
## Voraussetzungen
|
||
|
||
- Starface Telefonanlage mit Modulcreator-Lizenz
|
||
- Busylight-Server erreichbar unter `http://BUSYLIGHT-IP:8081`
|
||
- Durchwahlen der Mitarbeiter im Busylight-Portal eingetragen
|
||
|
||
## Modul im Modulcreator erstellen
|
||
|
||
### Schritt 1: Neues Modul anlegen
|
||
|
||
1. Starface Admin-Oberfläche öffnen
|
||
2. **Admin** → **Modulcreator** (oder **Module** → **Modulcreator**)
|
||
3. **Neues Modul erstellen**
|
||
4. Modulinformationen:
|
||
- **Name**: `Busylight`
|
||
- **Beschreibung**: `Sendet Telefonstatus an Busylight Türschilder`
|
||
- **Vendor**: `cynfo GmbH`
|
||
- **Version**: `1.0.0`
|
||
|
||
### Schritt 2: Modulkonfiguration (Instanz-Variablen)
|
||
|
||
Unter **Modulkonfiguration** folgende Variablen anlegen:
|
||
|
||
| Variable | Typ | Standardwert | Beschreibung |
|
||
|----------|-----|-------------|-------------|
|
||
| `busylight_url` | String | `http://100.95.224.14:8081` | URL des Busylight Webhook-Servers |
|
||
|
||
### Schritt 3: Trigger konfigurieren
|
||
|
||
1. **Trigger hinzufügen**: `Anruf-Trigger` (Call Trigger)
|
||
2. **Trigger-Typ**: `Bei jedem Anruf` oder `Call State Changed`
|
||
3. **Richtung**: Eingehend + Ausgehend (beide)
|
||
|
||
### Schritt 4: Funktionsablauf erstellen
|
||
|
||
Der Ablauf hat zwei Zweige:
|
||
|
||
#### Zweig A: Anruf beginnt (callstart)
|
||
|
||
1. **Bedingung**: Anrufstatus = `CONNECTED` (Anruf angenommen)
|
||
2. **Aktion**: HTTP Request
|
||
- **Methode**: GET
|
||
- **URL**: `{busylight_url}/{called_number}/callstart`
|
||
- `{called_number}` = Die Durchwahl des angerufenen Benutzers
|
||
|
||
#### Zweig B: Anruf endet (callend)
|
||
|
||
1. **Bedingung**: Anrufstatus = `HANGUP` (Anruf beendet)
|
||
2. **Aktion**: HTTP Request
|
||
- **Methode**: GET
|
||
- **URL**: `{busylight_url}/{called_number}/callend`
|
||
|
||
### Schritt 5: Variablen-Mapping
|
||
|
||
Die Starface-Variablen müssen auf die URL gemappt werden:
|
||
|
||
| Starface-Variable | Beschreibung | Verwendung |
|
||
|-------------------|-------------|-----------|
|
||
| `${call.calledNumber}` | Durchwahl des Angerufenen | In URL als Durchwahl |
|
||
| `${call.callingNumber}` | Nummer des Anrufers | Optional für Logging |
|
||
| `${call.state}` | Aktueller Anrufstatus | Für Bedingung |
|
||
|
||
**Hinweis:** Die genauen Variablennamen können je nach Starface-Version variieren.
|
||
Im Modulcreator werden die verfügbaren Variablen als Dropdown angeboten.
|
||
|
||
### Schritt 6: Modul speichern und aktivieren
|
||
|
||
1. **Speichern** klicken
|
||
2. **Modul exportieren** als `.sfm` Datei (für Backup)
|
||
3. Unter **Module** → **Modulinstanzen** eine neue Instanz anlegen
|
||
4. `busylight_url` auf die IP des Busylight-Servers setzen: `http://100.95.224.14:8081`
|
||
5. **Aktivieren**
|
||
|
||
## Testen
|
||
|
||
### Von der Kommandozeile testen
|
||
|
||
```bash
|
||
# Anruf simulieren (Durchwahl 222 = Nicklas Janzen)
|
||
curl http://100.95.224.14:8081/222/callstart
|
||
# → Türschild sollte rot werden
|
||
|
||
# Anruf beenden
|
||
curl http://100.95.224.14:8081/222/callend
|
||
# → Türschild sollte auf Zeiterfassungs-Status zurückspringen
|
||
```
|
||
|
||
### Im Busylight-Portal prüfen
|
||
|
||
- **Dashboard**: Telefon-Badge sollte "Telefoniert" anzeigen
|
||
- **Protokoll**: Einträge mit `phone_active` und `phone_end` sollten erscheinen
|
||
|
||
## Alternative: Starface Rufnummernaktionen
|
||
|
||
Falls kein Modulcreator verfügbar ist, können auch **Rufnummernaktionen** verwendet werden:
|
||
|
||
1. **Admin** → **Rufnummern** → Durchwahl auswählen
|
||
2. **Aktionen** → **Neue Aktion**
|
||
3. **Bei Anrufbeginn**: HTTP Request an `http://BUSYLIGHT:8081/{durchwahl}/callstart`
|
||
4. **Bei Anrufende**: HTTP Request an `http://BUSYLIGHT:8081/{durchwahl}/callend`
|
||
|
||
**Nachteil:** Muss pro Durchwahl einzeln eingerichtet werden.
|
||
|
||
## Fehlerbehebung
|
||
|
||
### Türschild reagiert nicht
|
||
|
||
1. Busylight-Server erreichbar? `curl http://100.95.224.14:8081/`
|
||
2. Durchwahl im Busylight-Portal beim Benutzer eingetragen?
|
||
3. Benutzer laut Zeiterfassung "anwesend" oder "homeoffice"?
|
||
4. Starface-Modul aktiviert?
|
||
5. Firewall: Port 8081 von der Starface zum Busylight-Server offen?
|
||
|
||
### Falscher Benutzer wird rot
|
||
|
||
- Prüfen ob die Durchwahl im Busylight-Portal dem richtigen Benutzer zugeordnet ist
|
||
- Variable im Modulcreator: `${call.calledNumber}` (nicht `${call.callingNumber}`)
|
||
|
||
### Türschild bleibt nach Anrufende rot
|
||
|
||
- Prüfen ob das HANGUP-Event im Modul konfiguriert ist
|
||
- Im Busylight-Protokoll prüfen ob `callend` ankommt
|
||
- Manuell zurücksetzen: `curl http://100.95.224.14:8081/{durchwahl}/callend`
|