first commit

This commit is contained in:
Stefan Hacker
2026-06-09 10:17:37 +02:00
commit a5b1de275d
16 changed files with 894 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
# Blacklist für STARFACE
Custom Block für den STARFACE Module Designer: prüft **eingehende Anrufe** gegen eine
konfigurierbare Blacklist und behandelt **anonyme Anrufe** (unterdrückte Rufnummer).
Pro Eintrag lässt sich festlegen, was passieren soll auflegen, besetzt, umleiten oder
Ansage abspielen.
## Was kann das Modul?
- **Pro Nummer / Bereich** eine eigene Aktion: `HANGUP`, `BUSY`, `REDIRECT`, `ANNOUNCE`, `ALLOW`
- **Anonyme Anrufer** (Rufnummernunterdrückung) separat behandeln
- **Bereichssperren** (z.B. ganzer `0190`-Bereich) inklusive **Ausnahmen** (`ALLOW`)
- Robuste **Nummern-Normalisierung** (+49 / 0049 / 0… werden einheitlich verglichen)
## Quick Start (selbst kompilieren)
```bash
cd v8-9-10
./build-block.sh # erzeugt BlacklistBlock.class
```
Die STARFACE-API-JARs werden automatisch aus dem benachbarten `mail2fax`-Modul genutzt,
falls sie nicht in `v8-9-10/libs/starface/` liegen. Es sind **keine** Zusatz-Bibliotheken nötig.
Danach im Module Designer importieren → siehe **[v8-9-10/INSTALLATION.md](v8-9-10/INSTALLATION.md)**.
## Projektstruktur
```
blacklist-module/
├── README.md
└── v8-9-10/ # für STARFACE 8/9/10
├── BlacklistBlock.java # Custom Block Quellcode
├── BlacklistBlock.class # kompiliertes Ergebnis
├── build-block.sh # Kompilier-Script
├── README.md # technische Doku (Felder, Aktionen, Matching)
├── INSTALLATION.md # Schritt-für-Schritt im Module Designer
└── libs/starface/ # STARFACE API JARs (für den Build)
```
## Unterschied zum Mail2Fax-Modul
| | Mail2Fax | Blacklist |
|--|----------|-----------|
| Auslöser | **Timer** (pollt regelmäßig E-Mails) | **eingehender Anruf** (Call-Processing) |
| Runtime | normale Runtime | AGI-Runtime (Anruf-Kontext) |
| Zusatz-Libs | JavaMail erforderlich | keine |
| Aktion | Fax senden | Anruf auflegen/besetzt/umleiten/Ansage |
## Wichtig zur Einbindung
Das Modul muss als **Call-Processing**-Modul mit Aktivierung **"bei allen eingehenden
Anrufen"** eingebunden werden (oder gezielt in die Rufverteilung eines Benutzers/einer
Gruppe). Nur dann läuft der Block im Anruf-Kontext und kann den Anruf beeinflussen.
Details in [v8-9-10/INSTALLATION.md](v8-9-10/INSTALLATION.md).
</content>