Multi-Instance Provider Refaktor + full FreePBX + Flowroute SMS

FeatureVOIPService
Verschifft
24. April 2026 um 22:36 UTC
Autor
Kamo
Ausschuss
5d98d8a

Kernmodellwechsel: eine oder eine oder andere VoipProvidInstances (war: eins pro Org). Jeder Provider-API-Aufruf ist jetzt instanziell. PhoneProvider-Schnittstelle: - Neue Methoden für Erweiterung/Benutzer/Gerät CRUD + Voicemail Audio/Transkription. - Neue Fähigkeitsflaggen (ExtensionManagement, userManagement, device Management, VoicemailTranscription). Standard werfen **************** (HTTP 501) so stub Anbieter nicht brechen. Frontend Checks getCapabilities() um Aktionen pro Provider zu verstecken/deaktivieren. - ProviderException (HTTP 502) für externe Abhängigkeiten Ausfälle. PhoneProviderFactory: - getInstance(UUID) / ************ ersetzen getProvider(Long orgId); getPrimaryForOrg(Long) für Legacy Call Sites gehalten (CallController, CapabilitiesController, SipController, webhook inbound). - RingCentral OAuth Tokens jetzt von (orgId, Anbieter, InstanzId) so eins org kann mehrere unabhängige RingCentral-Einsätze authentifizieren. - FreePBX Konstruktion liest config_json . {baseUrl, clientId, clientSecret, ignorierenSslErrors" und instantiates einen dedizierten FreePBXGraphQLClient. RingCentral (RingCentralProvider): - Constructor nimmt InstanzId für Logkontext. - Neue Methoden: listExtensions / createExtension / updateExtension / updateExtension / deleteExtension; listUser / erstellen Benutzer / updateUser / deleteUser (RC-Modelle beide als type=User-Erweiterungen); listDevices / createDevice / updateDevice / deleteDevice; fetchVoicemailAudio (Streams Anhang Inhalt) und fetchVoicemailTranscription. FreePBX (FreePBXProvider) - Die vollständige Implementierung ersetzt Platzhalter: - Client-credentials OAuth2 Token Caching via FreePBXTokenCache (ca. 1h TTL, auto-refresh on 401, pro Instanz). - FreePBXGraphQLClient: GraphQL + REST Transporte mit optional überspringen-SSL-Verifikation für selbstsignierte on-prem PBXes. - Erweiterungen, User Manager Benutzer, Endpoint Manager Geräte, Voicemail list/mark-read/dete + audio stream, CDR Call History, SIP Anmeldeinformationen abgeleitet aus der Erweiterung pjsip Geheimnis, Gesundheit über fetchAsteriskInfo. - SMS explizit nicht unterstützt (Fähigkeit sms=false) - FreePBX nicht handhaben Träger SMS. Flowroute SMS (FlowrouteTextProvider): - Nachrichten v2.1 API mit HTTP Basic (accessKey, secretKey). - Gesundheitssonde trifft GET /numbers?limit=1. - Registriert mit BulkTextProviderFactory über neue FLOWROUTE enum value. Controller: - VoipInstanceController (umbenannt von ProviderConfigController) - voll CRUD bei /api/voip/instanzen mit pro-instanz Test/Sync. Geheimnisse in GET redigiert Antworten ('***'); merge-update lässt UI Round-Trip redacted Felder ohne Clobbering gespeicherte Anmeldeinformationen. - BulkTextInstanceController (umbenannt von BulkTextConfigController) - Spiegel CRUD bei /api/bulktext/instanzen mit Test-Send / senden. - OAuthController umgeschrieben für z.B. OAuth: Start, Rückruf, Status, trennen alle InstanzId. - SmsController löst Instanz von member.instanceId - org primär, beitiert zu upserted Gespräche. - CallController / CapabilitiesController / SipController greifen auf die org's zurück primäre aktive Instanz für Legacy-Endpunkte. Dienstleistungen: - InstanceSyncService: Pull-Through-Cache-Sync . Erweiterungen/Benutzer/Geräte/ Voicemails von Anbieter zu lokalen Tabellen kopiert, fehlende Zeilen weich markiert UNKNOWN. Jeder Unterschritt verpackt, so dass eine nicht unterstützte Fähigkeit nicht verfehlt die gesamte Synchronisation (z. FreePBX no-SMS + hat-Erweiterungen). - VoipMessageService: Alle Konversations-/Nachrichtpfade propagieren InstanzId. Tests: Vorhandene VoipProviderConfig-spezifische Tests entfernt (bedeckt die Umbenannte Typen; Umschreiben ist abgefasst pro Design-Spezifikation 10 - kein TDD In diesem Refaktor wird die Infrastruktur hinzugefügt). Baut grün mit aktualisierten Kamo-Shared-Bibliothek.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen