Changelog
Was ist neu?
Jede Verbesserung an der Plattform, wie sie geliefert wird.
· VOIPService
RC Webhook-Abonnementgeber mit Start + 12h Verlängerung hinzufügen
· VOIPService
Hinzufügen von Call-Event Webhook-Pipeline; Zweig SMS vs Telefonie-Ereignisse vor der Verarbeitung
· VOIPService
Hinzufügen von Funktionen, SIP-Angstdaten und Call-Management-REST-Controller
· VOIPService
Umsetzung von RingCentral Call Management Methoden (Sip, History, Voicemail, Präsenz, Warteschlangen)
· VOIPService
Erweiterung der PhoneProvider-Schnittstelle mit Anrufverwaltungsmethoden; Update Stubs
· VOIPService
Provider-Fähigkeit und Call-Management-DTOs hinzufügen
· APIService
OAuth Callback-Anleitung mit no-redirect RestTemplate hinzufügen
- NoRedirectRestTemplate Bean (HttpClient.Redirect.NEVER) hinzufügen, so dass die 302 von VOIPServices OAuth Callback wird an den Browser weitergeleitet anstatt von der Vollmacht verfolgt zu werden - Add dediziert /api/voip/oauth/callback Route vor der Wildcard abgebildet /api/voip/**, um sicherzustellen, dass es forwardCallback() verwendet (keine auther Header abgestreift, keine Umleitung folgen)
· kamo-internal
Ersetzen Sie JWT-Konfiguration mit OAuth connect UI für RingCentral
- RingCentralConfig: OAuth Verbindungs-/Zerbinden-Taste mit Statusanzeige, Hauptnummernfeld, Testverbindung (nur bei Verbindung) - voipApi: getOAuthStatus, startOAuth, disconnectOAuth hinzufügen; testProvider nimmt keinen Konfigurationskörper mehr ein - RingCentralHelp: Update-Anweisung für OAuth-Flow
· VOIPService
Refactor RingCentral zu OAuth 2.0 Authorization Code flow
- Neue OAuthController: /oauth/start (returns authUrl), /oauth/callback (tauscht Code aus, speichert Token), /oauth/status, DELETE /oauth/token - OTKValidationFilter: ausschließen /api/voip/oauth/callback (browser umleiten) - RingCentralProvider: Vorabgeholtes Access Token verwenden, JWT Bearer entfernen - PhoneProviderFactory: OrgOAuthToken von DB laden, Auto-Refresh bei Ablauf - ProviderConfigController: entfernen jwtKey, testen Sie factory.checkHealth() - application.yml: oauth-redirect-uri und oauth-success-redirect config hinzufügen - PhoneProviderFactoryTest: Update für OAuth Token-basierten Flow
· InitializerService
Erstellen KamoTokens Schema und org_oauth_token Tabelle
- CREATE SCHEMA IF NOT EXISTS kamotokens - CREATE TABLE kamotokens.org_oauth_token mit unique (org_id, Provider) - DROP COLUMN jwt_key von voip_provider_config wenn es existiert
· kamo-shared-library
OrgOAuthToken-Einheit für OAuth 2.0 Token-Speicher hinzufügen
- OrgOAuthToken Entität in KamoTokens Schema hinzufügen (kamotokens.org_oauth_token) - OrgOAuthTokenRepository mit findByOrgIdAndProvider hinzufügen / löschenByOrgIdAndProvider - Entfernen Sie jwtKey von VoipProviderConfig (ersetzt durch OAuth flow)
· kamo-internal
Equal-Höhe-Funktionskarten und Kazoo-bewusste Anbieterbeschreibungen
- Höhe setzen: 100% auf FeatureCard Motion Wrapper, so dass Karten in der gleichen Zeile passen die höchste Karte - Rekaktieren Sie KamoPBX-Beschreibung, um Kazoo als Carrier-Grade, verteilte, Open-Source-Telekom-Plattform hervorzuheben - RingCentral und FreePBX Beschreibungen auf eine durchgängige Länge umschreiben und jeden Anbieter deutlich unterscheiden
· kamo-login
KamoCRM Promo Flyer HTML Vorlage und Puppeteer Generation Script hinzufügen
· kamo-internal
SmsBox als Tab-basierter Orchestrator mit Kontaktkopf umschreiben
· kamo-internal
SmsTemplatesTab und SmsCrmTab hinzufügen
· kamo-internal
SmsChatTab mit Suche hinzufügen, Emoji, Attach, Zeitstempel, schnelle Antworten
· kamo-internal
SmsNewConversation Wählblock-Komponente hinzufügen
· kamo-internal
Fügen Sie gemeinsame Vorlagendaten hinzu
· kamo-internal
SMS-Tool-Button zu NavTop, Gate Softphone + SMS auf organisations.isVoip hinzufügen
· kamo-internal
Redesign Telefon-Provider-Einrichtung, um E-Mail-Provider-Format mit Logos, Hilfe-Tipps entsprechen, und korrekte nörn Ihnen tabs
- TelefonProviderSetup umschreiben, um E-MailProviderSetup-Muster zu entsprechen: list/config view split, AnimatePresence-Übergänge, Zurück-Button mit Provider-Name in Header, Lade-/Fehlerzustände, Hilfe-Tipps in der Konfigurationsansicht auf das äußere Panel geschoben - VoipProviderCard hinzufügen: Stilisiert wie E-Mail ProviderCard mit ************ Logos, Active Chip, Coming Soon Chip für nicht umgesetzte Anbieter - VoipProviderSelector hinzufügen: Grid-Layout passender E-Mail-Auswahlschalter, bestätigen Dialog auf Provider-Schalter - Fügen Sie einfach-englische Hilfekomponenten für RingCentral (Step-by-Step Credential Guide), KamoPBX und FreePBX hinzu - Aktualisieren Sie phone/page.tsx: korrekter Titel "Phone System Integration", volle Hilfetipps für alle fünf Registerkarten (Provider-Setup, Wählpläne, Geräte-Registrierung, Gesundheit) - Einstellungen aktualisierenStatusWindow: alle fünf echten Telefon-Tabs anzeigen (Provider Setup, Dial Plans, Advanced Settings, Device Registration, Health) anstelle von alten Platzhalter-Links; Phone System(s) immer sichtbar, unabhängig von isVoip - Aktualisieren Einstellungen/page.tsx Telefonkarten, um korrekte Tab Schnecken passend zu aktuellen Seiten-Tabs verwenden
· kamo-internal
Persönliche Kalender & Kontakte zur Registerkarte Mitgliedschaft hinzufügen
· kamo-internal
PersonalProviderSection-Komponente für Mitglieder CalDav/CardDav-Integrations hinzufügen
· kamo-internal
CalDav/CardDav zur E-Mail-Einstellungen-Seite hinzufügen
· kamo-internal
CalDavProviderSetup-Komponente und caldav-Teilkomponenten hinzufügen
· DaemonService
Erstes DaemonService-Projekt - Quarz-Jobs, NATS-Publisher, K8s, CI/CD
· EmailService
ContactSyncLog auf Kalender/Kontaktmutationen für bidirektionale Synchronisation schreiben
· EmailService
Fügen Sie Google, Microsoft und GenericDav Provider stubs mit Token-Refreshers
· EmailService
Implement SyncTriggerPublisher und SyncEventListener via NATS
· EmailService
IntegrationSettingsController, IntegrationSettingsService, SyncTriggerPublisher stub hinzufügen
· EmailService
ProviderRegistry hinzufügen

Euer Universum wartet.
Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.
Für immer kostenlos – keine Kreditkarte erforderlich