マルチインスタンスプロバイダレファクタ+フルFreePBX +フロールートSMS

FeatureVOIPService
出荷済み
2026年4月24日 22:36 UTC
プロフィール
Kamo
コンテンツ
5d98d8a

コアモデルの変更: 1 つの org → 多くの VoipProviderInstances (was: 1 つの org). プロバイダーの API 呼び出しは、インスタンススコープ化されます。 PhoneProviderインターフェイス: - エクステンション/ユーザー/デバイスCRUD +ボイスメールオーディオ/転送の新しい方法。 - 新しい機能の旗(拡張管理、ユーザー管理、デバイス管理)、 ボイスメール配信 デフォルトスロー************************ (HTTP 501) なので、スタブプロバイダは壊れません。 Frontend チェック getCapabilities() プロバイダーごとの非表示/無効なアクション。 - 外部依存性障害に対するproviderException(HTTP 502)。 PhoneProviderFactory: - getInstance(UUID)/**************************************** レガシーを交換する getProvider(Long orgId); getPrimaryForOrg(Long) は、レガシーコールサイトに保管 (CallController、CapabilitiesController、SipController、webhookインバウンド)。 - RingCentral OAuth トークンは (orgId, Provider, instanceId) でスコープ付けされるようになりました。 org は、複数の独立した RingCentral デプロイメントを認証できます。 - FreePBX 構造は config json → {baseUrl, clientId, clientSecret を読みます。 ignoreSslErrors} は、専用の FreePBXGraphQLClient をインスタンス化します。 RingCentral(RingCentralProvider): - Constructor は log コンテキストで exampleId をとります。 - 新しい方法: listExtensions/createExtension/updateExtension/ deleteExtension; listUser / createUser / updateUser / deleteUser(RCモデル) type=User の拡張子と同じ。listDevices/createDevice/updateDevice/ deleteDevice; fetchVoicemailAudio (ストリーム添付コンテンツ) および fetchVoicemailTranscription. FreePBX (FreePBXProvider) — 完全な実装はプレースホルダーを置き換えます: - FreePBXTokenCache によるクライアント認証 OAuth2 トークンキャッシュ (~1h TTL, 401、per-instanceのオートリフレッシュ。 - FreePBXGraphQLClient:任意のGraphQL + RESTの輸送 自己署名されたオンプレミスPBXesのためのsp-SSL-verification。 - 拡張機能、ユーザーマネージャーユーザー、エンドポイントマネージャデバイス、ボイスメール list/mark-read/delete + オーディオストリーム、CDR 呼び出し履歴、SIP 認証情報 fetchAsteriskInfo による拡張子の pjsip シークレット、健康から派生。 - 明示的にサポートされていないSMS(機能sms=false) — FreePBXは処理しません キャリアSMS。 フロールートSMS(FlowrouteTextProvider): - HTTP 基本 (accessKey, secretKey) でメッセージ v2.1 API 。 - 健康プローブは、GET /numbers?limit=1 をヒットしました。 - 新規のFLOWROUTE列の値でバルクTextProviderFactoryに登録。 コントローラー: - VoipInstanceController(providerConfigControllerから名前を変更) — 完全なCRUD /api/voip/instances では、per-instance test/sync で動作します。 GETで赤字の秘密 応答 ('***'); merge-update は、UI の往復の赤字フィールドを無数に割り当てます 保存された認証情報をクローブ。 - BulkTextInstanceController(BulkTextConfigControllerから名前を変更) — ミラー /api/bulktext/instances でテスト/test-send/送信します。 - OAuthController はインスタンススコープの OAuth: 起動、コールバック、ステータス、 全てをdisconnectする exampleId. - SmsController は、メンバーからインスタンスを解決します。 instanceId → org プライマリ、アタッチ 会話をアップしました。 - CallController / CapabilitiesController / SipController が org にフォールバック 従来の単一インスタンスエンドポイントのプライマリアクティブインスタンス。 サービス: - InstanceSyncService:プルスルーキャッシュ同期 — エクステンション/ユーザー/デバイス/ 提供者からローカルテーブルにコピーされたボイスメール、ソフトマークの行目がない UNKNOWN(ノウン) 各サブステップは包まれたので、サポートされていない機能が失敗しません 同期全体(例:FreePBX no-SMS + has-extensions) - VoipMessageService:すべての会話/メッセージパスの propagate instanceId. テスト: 既存の VoipProviderConfig 固有のテストを削除 (カバーされた) renamed 型; rewriting は設計spec §10 — TDD のスコープから このリファクターにインフラを追加しています。 更新されたkamo-shared-libraryで緑を構築します.

すべての変更

配送を見るのが好きですか?

これらのアップデートは、自動的にワークスペースに埋め込まれます。 週1回無料スタートし、週1回生育する.

永遠に無料で始める料金を見る