All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 21s
Build and Push Docker Images / build-frontend (push) Successful in 2m29s
Build and Push Docker Images / build-website (push) Successful in 22s
Build and Push Docker Images / build-docs (push) Successful in 57s
Dokumentiert Matrix-Kommunikation, Telekom-Telefonie und den VPS-Asterisk-Entwicklungsbetrieb.
104 lines
5.7 KiB
Markdown
104 lines
5.7 KiB
Markdown
# Telekom-Telefonie in FEDEO
|
|
|
|
FEDEO kann den lokalen Asterisk-Stack als Übergang zur externen Telefonie nutzen. Die Telekom-Anbindung wird mandantenbezogen in FEDEO unter **Firmeneinstellungen -> Integrationen -> Telefonie-Trunk** gepflegt.
|
|
|
|
## Zugangsdaten
|
|
|
|
Für Telekom-SIP ist der Registrar normalerweise `tel.t-online.de`. Die SIP-ID ist in der Regel die Rufnummer mit Vorwahl ohne Leerzeichen und Sonderzeichen, zum Beispiel `0301234567`.
|
|
|
|
Wenn dein Anschluss statt einer separaten SIP-ID die klassischen Zugangsdaten nutzt, kann der Authentifizierungsnutzer aus Anschlusskennung, Zugangsnummer, Mitbenutzernummer und `@t-online.de` gebildet werden:
|
|
|
|
```env
|
|
TELEPHONY_TELEKOM_AUTH_USER=<anschlusskennung><zugangsnummer>#<mitbenutzernummer>@t-online.de
|
|
```
|
|
|
|
## FEDEO Einstellungen
|
|
|
|
Öffne **Firmeneinstellungen -> Integrationen** und fülle den Bereich **Telefonie-Trunk** aus:
|
|
|
|
- `SIP-ID / Rufnummer`: Rufnummer mit Vorwahl ohne Leerzeichen und Sonderzeichen
|
|
- `Kennwort`: persönliches Kennwort oder SIP-Kennwort
|
|
- `Auth-User`: optional, falls dein Anschluss nicht direkt mit der SIP-ID authentifiziert
|
|
- `Absendernummer`: optional, meist identisch zur SIP-ID
|
|
- `Eingehende Nebenstelle`: lokale FEDEO/Asterisk-Nebenstelle, z. B. `1001`
|
|
- `Ausgehender Prefix`: standardmäßig `0`
|
|
- `Öffentliche Signaling-Adresse`: öffentliche IP oder DNS-Name, unter dem Asterisk von Telekom erreichbar ist
|
|
- `Öffentliche Medien-Adresse`: öffentliche RTP-Adresse, leer nutzt die Signaling-Adresse
|
|
- `Lokale Netze`: interne Netze, für die Asterisk keine öffentliche Adresse einsetzen soll
|
|
|
|
Das Kennwort wird nicht wieder an das Frontend zurückgegeben. In der Oberfläche siehst du nur, ob ein Kennwort gespeichert ist.
|
|
|
|
Nach dem Speichern muss die Konfiguration mit **In Asterisk anwenden** in die Asterisk-Include-Dateien geschrieben werden. FEDEO lädt danach PJSIP und den Dialplan über AMI neu und fordert die Telekom-Registration an. Den Laufzeitstatus findest du unter **Kommunikation -> Telefonie Setup** im Bereich **Externe Telefonie**.
|
|
|
|
Wenn du die öffentliche Signaling- oder Medien-Adresse änderst, muss Asterisk anschließend neu gestartet werden, weil PJSIP-Transporte diese Werte nicht vollständig im laufenden Betrieb neu laden.
|
|
|
|
## `.env` Fallback
|
|
|
|
Die `.env`-Werte bleiben nur als lokaler Fallback für den Asterisk-Teststack erhalten, falls keine mandantenbezogene Konfiguration gepflegt ist.
|
|
|
|
```env
|
|
TELEPHONY_ENABLED=true
|
|
TELEPHONY_EXTERNAL_PROVIDER=telekom
|
|
TELEPHONY_EXTERNAL_ENABLED=true
|
|
|
|
TELEPHONY_TELEKOM_ENABLED=true
|
|
TELEPHONY_TELEKOM_REGISTRAR=tel.t-online.de
|
|
TELEPHONY_TELEKOM_SIP_USER=<rufnummer_mit_vorwahl_ohne_sonderzeichen>
|
|
TELEPHONY_TELEKOM_AUTH_USER=
|
|
TELEPHONY_TELEKOM_PASSWORD=<persönliches_kennwort_oder_sip_kennwort>
|
|
TELEPHONY_TELEKOM_CALLER_ID=<rufnummer_mit_vorwahl_ohne_sonderzeichen>
|
|
TELEPHONY_TELEKOM_INBOUND_EXTENSION=1001
|
|
TELEPHONY_TELEKOM_OUTBOUND_PREFIX=0
|
|
TELEPHONY_ASTERISK_GENERATED_DIR=/var/lib/fedeo/asterisk/generated
|
|
TELEPHONY_ASTERISK_AMI_HOST=asterisk-dev
|
|
TELEPHONY_ASTERISK_AMI_PORT=5038
|
|
TELEPHONY_ASTERISK_AMI_USER=fedeo
|
|
TELEPHONY_ASTERISK_AMI_PASSWORD=fedeo-ami-dev
|
|
```
|
|
|
|
Wenn das Backend lokal auf dem Host läuft, muss es AMI über `127.0.0.1:5038` erreichen. Der Entwicklungsstack mappt dafür `TELEPHONY_DEV_AMI_PORT` auf den Asterisk-Container.
|
|
|
|
Wenn `TELEPHONY_TELEKOM_AUTH_USER` leer bleibt, verwendet Asterisk automatisch `TELEPHONY_TELEKOM_SIP_USER` als Authentifizierungsnutzer.
|
|
|
|
## Start
|
|
|
|
```bash
|
|
docker compose --profile telephony-dev up -d asterisk-dev
|
|
```
|
|
|
|
Beim Start erzeugt der Container die Dateien `pjsip.telekom.conf` und `extensions.telekom.conf` in einem Docker-Volume. Ausgehende Anrufe mit Prefix `0` und internationale Ziele mit `+` werden über den Telekom-Trunk geroutet. Eingehende Anrufe landen standardmäßig auf Nebenstelle `1001`.
|
|
|
|
## FreePBX als Diagnose-PBX
|
|
|
|
Für Provider-Tests kann zusätzlich das optionale Profil `freepbx-dev` gestartet werden. FreePBX ist hier nicht als dauerhafte FEDEO-Abhängigkeit gedacht, sondern als Referenzoberfläche, um Trunk-, NAT-, CLIP- und Routing-Parameter gegen einen Provider wie Easybell zu prüfen.
|
|
|
|
```bash
|
|
docker compose --profile freepbx-dev up -d freepbx-dev-db freepbx-dev
|
|
```
|
|
|
|
Beim ersten Start muss FreePBX einmal gegen die lokale MariaDB installiert werden:
|
|
|
|
```bash
|
|
docker compose --profile freepbx-dev exec -T -w /usr/local/src/freepbx freepbx-dev \
|
|
bash -lc 'php install -n --dbuser=freepbxuser --dbpass="$(cat /run/secrets/freepbx_user_password)" --dbhost=freepbx-dev-db'
|
|
```
|
|
|
|
Danach ist die Oberfläche lokal unter `http://localhost:18080` erreichbar. Beim ersten Öffnen zeigt FreePBX die Ersteinrichtung für den Web-Admin-Benutzer. Diese Zugangsdaten gelten nur für die FreePBX-Diagnoseoberfläche und sind unabhängig von FEDEO.
|
|
|
|
Die Standardports sind bewusst konfliktarm gesetzt:
|
|
|
|
- Web: `18080` / `18443`
|
|
- SIP UDP: `15060`
|
|
- RTP UDP: `18000-18100`
|
|
|
|
Das verwendete FreePBX-Image ist aktuell nur für `linux/amd64` veröffentlicht. Auf Apple-Silicon-Hosts nutzt Docker Desktop deshalb über `FREEPBX_DEV_PLATFORM=linux/amd64` Emulation; für Diagnosezwecke ist das ausreichend, aber nicht als Produktionssetup gedacht.
|
|
|
|
Für einen möglichst realistischen Easybell-Test kann der FEDEO-Asterisk kurz gestoppt und FreePBX auf dem üblichen SIP-Port gestartet werden:
|
|
|
|
```bash
|
|
docker compose --profile telephony-dev stop asterisk-dev
|
|
FREEPBX_DEV_SIP_PORT=5060 docker compose --profile freepbx-dev up -d freepbx-dev
|
|
```
|
|
|
|
In FreePBX sollte der RTP-Bereich unter **Settings -> Asterisk SIP Settings** ebenfalls auf `18000-18100` gesetzt werden, damit er zur Compose-Portfreigabe passt. Wenn der Trunk dort erfolgreich registriert und ein Testanruf möglich ist, können die funktionierenden PJSIP- und NAT-Werte nach FEDEO übernommen werden.
|