41 lines
2.3 KiB
SQL
41 lines
2.3 KiB
SQL
-- ====================================================================
|
|
-- 0041_phone_integration — Anbindung Telefonanlagen (3CX & generisch)
|
|
-- ====================================================================
|
|
-- Generisches Provider-Pattern: pro Mandant ein Telefon-Provider
|
|
-- (aktuell 3CX im Fokus, weitere Adapter via lib/phone/providers/*.ts
|
|
-- nachruestbar). Tokens und Geheimnisse liegen in site_settings;
|
|
-- Endpunkte sind uniform unter /api/phone/*.
|
|
--
|
|
-- Phase 1 nutzt phone_lookup_token (Bearer fuer Inbound-Lookup).
|
|
-- Phase 2 nutzt phone_webhook_secret (HMAC fuer Call-Event-POSTs).
|
|
-- Phase 3+4 (Click-to-Call / Presence) brauchen phone_api_url +
|
|
-- phone_api_token, die wir gleich mitanlegen.
|
|
--
|
|
-- employees.phone_extension mapping zur Anlage (z.B. "333" als
|
|
-- 3CX-Extension fuer felix.zoesch). Erforderlich fuer Click-to-Call
|
|
-- und Presence-Lookup.
|
|
-- --------------------------------------------------------------------
|
|
|
|
alter table public.site_settings
|
|
add column if not exists phone_provider text,
|
|
add column if not exists phone_api_url text,
|
|
add column if not exists phone_api_token text,
|
|
add column if not exists phone_lookup_token text,
|
|
add column if not exists phone_webhook_secret text;
|
|
|
|
alter table public.employees
|
|
add column if not exists phone_extension text;
|
|
|
|
comment on column public.site_settings.phone_provider is
|
|
'Telefonanlagen-Adapter: ''3cx'' | ''sipgate'' | ''asterisk'' | ''placetel'' | null. Bestimmt Format der Lookup-Antwort + Webhook-Erwartung.';
|
|
comment on column public.site_settings.phone_api_url is
|
|
'Base-URL der Anlagen-API (z.B. https://stwhas.3cx.eu/xapi/v1). Fuer Click-to-Call + Presence-Polling.';
|
|
comment on column public.site_settings.phone_api_token is
|
|
'Token fuer ausgehende Calls an die Anlagen-API. Nur Service-Role-lesbar.';
|
|
comment on column public.site_settings.phone_lookup_token is
|
|
'Bearer-Token, das die Anlage beim GET /api/phone/lookup mitschicken muss. Frei generierbar im Admin.';
|
|
comment on column public.site_settings.phone_webhook_secret is
|
|
'HMAC-Secret zur Validierung eingehender Call-Event-Webhooks (POST /api/phone/call-event). Frei generierbar im Admin.';
|
|
comment on column public.employees.phone_extension is
|
|
'Telefon-Extension dieser Mitarbeiterin/dieses Mitarbeiters in der Anlage (z.B. "333"). Optional — nur fuer Click-to-Call + Presence relevant.';
|