Reaktor penyedia multi- instance + penuh FreePBX + Flowroute SMS

FeatureVOIPService
Dikirim
24 April 2026 pukul 22.36 UTC
Penulis
Kamo
Commit
5d98d8a

Perubahan model inti: satu org plug banyak VoipProviderInstances (adalah: satu per org). Setiap operator API panggilan sekarang instance- scoped. Antar muka PhoneProvider: - Metode baru untuk ekstensi / user / device CRUD + voicemail audio / transkripsi. - Flag kapabilitas baru (extensionManagement, management, deviceManagement, voicemail transcription). Default throw * * * * * * * * * * * * * * * * (HTTP 501) sehingga penyedia stub tidak istirahat. Frontend cek getCapbilities () untuk menyembunyikan / menonaktifkan aksi per penyedia. - ProviderException (HTTP 502) untuk kegagalan ketergantungan eksternal. PhoneProviderFactory: - getInstance (UUID) / * * * * * * * * * * * * * * * * ganti warisan getProvider (Long orgId); getPrimaryForOrg (Long) terus untuk situs panggilan warisan (CallController, CasabilesController, SipController, webhook inbound). - Token OAuth RingCentral sekarang diskoped oleh (orgId, provider, instanceId) jadi satu org dapat mengothentifikasi multiple deplashment RingCentral independen. Konstruksi FreePBX dibaca config _ json... abaikan SsslErrors} dan instantates sebuah FreePXGraphQLClient yang didedikasikan. RingCentral (RingCentralprovider): - Konstruktor mengambil instanceId untuk konteks log. - Metode baru: listExtensions / createExtension / updateExtension / deleteExtension; listUsers / createUser / updateUser / deleteUser (model RC baik sebagai tipe = Ekstensi pengguna); listDevice / createDevice / updateDevice / delete Device; fetchVoiceAudio (stream lampiran isi) dan fetchVoiceTranscription. FreePBX (FreePBXProvider) - implementasi penuh menggantikan placeholder: - Klien - kredensial OAG2 token caching melalui FreePBXTokenCache (~ 1h TTL, auto- segarkan pada 401, per- instance). - FreePBXGraphQLClient: GraphQL + REST transport dengan opsional skip- SSL- verifikasi untuk self-signed on-prem PBXes. - Ekstensi, pengguna Manajer Pengguna, perangkat Manajer Endpoint, pesan suara daftar / mark-read / delete + audio stream, CDR riwayat panggilan, kredensial SIP berasal dari rahasia pjsip ekstensi, kesehatan melalui fetchAsteriskInfo. - SMS secara eksplisit tidak didukung (kapabilitas = false) - FreePBX tidak menangani Pembawa SMS. Flowroute SMS (FlowrouteTextProvider): - Pesan v2.1 API dengan dasar HTTP (kunci akses, secretKey). - Probe Kesehatan memukul GET / nomor? batasi = 1. - Terdaftar dengan BulkTextProviderFactory melalui nilai FLOWROUTE baru. Pengontrol: - VoipInstanceController (berganti nama dari ProviderConfigcontroller) - full CRUD at / api / voip / instance dengan perstance test / sync. Rahasia dihapus dalam GET tanggapan ('* * *'); merge- update memungkinkan UI round-trip field diected tanpa clobbering mandat disimpan. - BulkTextInstanceController (berganti nama dari BulkTextConfigController) - cermin CRUD di / api / bulktext / misalnya dengan tes / test- kirim / kirim. - OauthorController ditulis ulang untuk instance- scoped OAuth: mulai, callback, status, putuskan semua instanceId. - SmController menyelesaikan contoh dari anggota. instanceId plugorg primary, attaches untuk mendengarkan percakapan. - CallController / CapabylesController / SipController kembali ke org 's instansi aktif primer untuk titik akhir instansi tunggal-instance. Layanan: - InstanceSyncService: tarik melalui cache sync - ekstensi / users / devices / pesan suara disalin dari penyedia ke tabel lokal, baris hilang dengan lembut ditandai TIDAK DIKENAL. Setiap sub- langkah dibungkus sehingga satu kemampuan tidak didukung tidak gagal seluruh sinkronisasi (mis. FreePBX no- SMS + has-ekstensi). - VoipMesgageService: semua percakapan / jalur pesan menyebarkan instanceId. Tes: tes pra- ada VoipProviderConfig- tes spesifik dihapus (tertutup ganti nama tipe; menulis ulang diluar lingkup per spesifikasi desain lewat 10 - tidak ada TDD infrastruktur sedang ditambahkan dalam refactor ini). Membangun hijau dengan kamo- shared terbaru - perpustakaan.

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.

Mulai Bebas SelamanyaTampilkan Harga