Refactoriel multi-instances et FreePX complet et Flowroute SMS

FeatureVOIPService
Expédié
24 avril 2026 à 22:36 UTC
Auteur
Kamo
Commite
5d98d8a

Changement de modèle de base: un org et de nombreuses instances VoipProvider (était: une par org). Chaque appel API fournisseur est maintenant analysé par cas. Interface PhoneProvider: - Nouvelles méthodes d'extension/utilisateur/dispositif CRUD et de messagerie vocale audio/transcription. - Nouveaux drapeaux de capacité (extensionGestion, gestion de l'utilisateur, gestion de l'appareil, e-mail vocalTranscription). Jetez les défauts de preuve (HTTP 501) de sorte que les fournisseurs de stub ne casse pas. Reprise de contrôle frontale de dissimuler/désactiver des actions par fournisseur. - ProposerException (HTTP 502) pour les défaillances de dépendance à l'extérieur. PhoneProviderFactory: - getInstance (UUID) / - remplacer l'héritage getProvider(Long orgId); getPrimaryForOrg(Long) conservé pour les anciens sites d'appel (CallController, CapabilitiesCurtomer, SipController, webhook inbound). - Jetons RingCentral OAuth maintenant par (orgId, provider, instanceId) donc un org peut authentifier plusieurs déploiements RingCentral indépendants. - FreePBX construction lit config-json et baseUrl, clientId, clientSecret, ignoreSslErrors et instancie un FreePBXGraphQLClient dédié. RingCentral (RingCentralProvider): - Constructor prend instanceId pour loger le contexte. - Nouvelles méthodes: listeExtensions / createExtension / updateExtension / deleteExtension; listUsers / createUser / updateUser / deleteUser (modèles de RC) listDevices / createDevice / updateDevice / updateDevice / UpdateDevice / supprimer Dispositif; fetchrVoicemailAudio (contenu de pièces jointes) et fetchVoicemailTranscription. FreePBX (FreePXProvider) - l'implémentation complète remplace l'espace réservé: - Client-crétricials de mise à la commande OAuth2 enroulement sur jeton par l'intermédiaire de FreePBXTokenCache (t. auto-rafraîchissement sur 401, par instance). - FreePBXGraphQLClient: GraphQL et REST transportés avec option savane-série-verre-SSL pour les auto-signés PBX surprem. - Extensions, utilisateurs de gestionnaires d'utilisateurs, appareils du gestionnaire de points d'extrémité, messagerie vocale list/mark-read/delete - flux audio, historique des appels CDR, justificatifs d'identification SIP dérivé du secret pjsip de l'extension, la santé via fetchAsteriskInfo. - SMS explicitement non pris en charge (capacité sms-faux) et FreePBX ne gère pas SMS du transporteur. Flowroute SMS (FlowrouteTextProvider): - Messages v2.1 API avec HTTP Basic (accessKe, secretKey). - Une sonde de santé frappe GET/numéros?limite 1. - Enregistré à BulkTextProviderFactory via la nouvelle valeur FLOWROUTE enum. Contrôleurs: - VoipInstanceContrôleur (rebaptisé auprès du fournisseurConcachateur) et CRUD complet à /api/voip/specs avec test/synchronnement per-instance. Secrets caviardés en GET réponses (« '-'); fusion-mise à jour permet à l'UI aller-retour les champs caviardés sans clobbing d'identification stocké. - BulkTextInstanceController (rebaptisé en BulkTextConcuter) et rétroviseur CRUD à /api/bulktext/instances avec essai / essai-send / send. - OAuthController reécrit par exemple-argilié OAuth: début, rappel, statut, déconnecter tous prendre instanceId. - SmsController résout l'instance par rapport au membre.instanceId et org primaire, attaches à des conversations à plus forte. - CallController/CapabilitiesCuler/SipContrôleur Retour à l'ordonnance l'instance active principale pour les anciens critères d'évaluation d'une seule instance. Services : - InstanceSyncService: synchronisation des caches à traversée et extensions/utilisateurs/dispositifs/ messageries vocales copiées du fournisseur vers les tableaux locaux, lignes manquantes et soft-marked NON CONTENANT LE CONSCIENCE. Chaque sous-étape enveloppée de sorte qu'une capacité non soutenue ne fait pas faillite la synchronisation entière (ex. FreePBX no-SMS - has-extensions). - VoipMessageService : tous les chemins de conversation/message propagent instance. Essais: essais préexistants VoipProviderConfig enlevés (couvrant la renommés types; la réécriture est hors de portée par spécification de conception 10 et pas de TDD les infrastructures sont ajoutées dans ce refactor). Construit en vert avec la librairie kmo-shared mise à jour.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation