Refactor furnizor multi-stanță + full FreePBX + Flowroute SMS

FeatureVOIPService
Expediere
24 aprilie 2026 la 22:36 UTC
Autor
Kamo
Comite
5d98d8a

Modificarea modelului de bază: un org → multe VoipProviderInstances (a fost: un per org). Fiecare furnizor de apeluri API este acum spectaculos. Interfață telefonProvider: - Noi metode de extensie/utilizator/dispozitiv CRUD + audio/transcriere vocală. - noi steaguri de capacitate (extensieManagement, userManagement, dispozitivManagement, mesaj vocalTranscriere). Implicit arunca *************** (HTTP 501) astfel încât furnizorii de cabluri să nu se rupă. Controalele Frontend obține Capabilități() să ascundă/dezactiveze acțiunile pe furnizor. - Excepție furnizor (HTTP 502) pentru eșecuri externe-dependență. TelefonProviderFactory: - Obține INSTRUMENT (UID) / *************** înlocui moștenirea Obțineți Provider (orgId lung); obțineți PrimaryForOrg (lung) păstrat pentru site-urile de apel moștenite (CallController, CapabilityController, SipController, webhook inbound). - RingCentral Oauth tokens acum vizate de (orgId, furnizor, instantId) astfel unul org poate autentifica mai multe misiuni independente RingCentral. - FreePBX construction reads config json → {baseUrl, clientId, clientSecret, ignoraSslErrors} și instanțiează un FreePBXGraphQLClient dedicat. RingCentral (RingCentralProvider): - Constructorul ia exemplu pentru context jurnal. - Metode noi: listaExtensii / CreareExtensie / ActualizareExtensie / stergeExtensie; listeUser / createUser / updateUser / stergeUser (modele RC) ambele ca tip=Extensii de utilizare); listaDevices / createDevice / updateDevice / Device; aduce VoicemailAudio (fluxuri de conținut de atașament) și Adu-mi mesaj de la VoiceTranscription. FreePBX (FreePBXProvider) - Client-credentials OAuth2 token caching via FreePBXTokenCache (~1h TTL, Auto-refresh pe 401, per-integrare). - FreePBXGraphQLClient: GraphQL + REST transporturi cu optional Skip-SSL-verificare pentru auto-semnat pe-prem PBXes. - Extensii, utilizatori utilizatori, dispozitive Endpoint Manager, mesaje vocale listă/marcă/ștergere + flux audio, istoricul apelurilor CDR, acreditări SIP derivat din secretul pjsip al extensiei, sanatatea prin aduceAsteriskInfo. - SMS nesusţinut în mod explicit (capability sms=type) SMS de transport. SMS de rută (FlowrouteTextProvider): - Mesaje v2.1 API cu HTTP Basic (accessKey, secretKey). - Sonda de sanatate loveste GET / numbers?limit=1. - Înregistrat cu BulkTextProviderFactory prin intermediul unei noi valori enum FLOWROUTE. Controlori: - VoipInvestmentController (renumit de la FurnizorConfigController) la /api/voip/instanțe cu test/sincronizare perstanță. Secretele redactate în GET răspunsuri ('***'); fuzionarea-actualizează permite IU să redacteze câmpuri rotunde fără clovn certificate stocate. - BulkTextIntroducereController (renumită din vracTextConfigController) CRUD la /api/bulktext/instances with test / test-send / send. - OauthController rescris, de exemplu-scoped Oauth: start, callback, status, Deconectați toate ia exemplu. - SmsController rezolvă cazul de la membru. exempluId → org primar, atașați la conversaţii susţinute. - CallController / CapabilityController / SipController cad înapoi la org prima instanță activă pentru criteriile de evaluare a unei singure situații moștenite. Servicii: -CentralSyncService: pull-through cache sinchne/extensii/utilizatori/dispozitive/ mesaje vocale copiate de la furnizor la mese locale, randuri care lipsesc moale Necunoscuţi. Fiecare sub-pas înfășurat astfel încât o capacitate nesuportat nu eșuează întreaga sincronizare (de exemplu FreePBX no-SMS + has-extensions). - VoipMessageService: toate căile de conversaţie/mesaj se propagă instantId. Teste: teste pre-existente VoipProviderConfig-specifice eliminate (acoperite tipuri redenumite; rescrierea nu se încadrează în domeniul de aplicare al specificaţiilor de proiectare §10 În acest sector se adaugă infrastructura). Construiește verde cu actualizat kamo-shared-library.

Toate modificările

Ca ceea ce vezi de transport maritim?

Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.

Pornește gratuit pentru totdeaunaVezi prețurile