Persist の sorcery contact=memory の苦境およびブロック SIP の走査器 の start.sh
- Asteriskが始まる前に、 [res pjsip] contact=memory を sorcery.conf に注入します。 デフォルト sorcery-astdb SQLite バックエンドは、すべての REGISTER コンタクトを静かにドロップします。 - 既知のSIPスキャナー87.246.54.22...
Sub-tab content fills full content-area width
Drop the centered max-width constraint (was 920 / 1200 / 680 / 720 depending on tab) on SubTabShell. The page already lives inside SettingsView's content column...
Fix attachment parsing and hasAttachment false positives
Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...
Add download button to classic view attachment section
The classic view (MessageBrowser) had its own attachment list that was missing the download button — only the conversation view was fixed previously. Also align...
Add com.kamo.z.shared.commerce to EnableJpaRepositories scan
**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...
適切なレイアウト、パディング、および提供者のロゴ
レイアウト/間隔の修正: - 6つのタブ(プロバイダー、エクステンション、電話ユーザー、デバイス、ボイスメール、健康) TabShell に px:{xs:2,md:3} py:3 pb:6 のパディングでコンテンツをラップするようになりました パネルの端に対してボタンをもはやbutt。 - スティール2列タブヘッダー...
Correct field name and type in getFromAddresses response
Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...
Load FROM addresses from accessible mailboxes and aliases
Replaces the broken getFromAddresses() endpoint (which sent 'email' instead of 'address') with getAccessibleMailboxes() + listMemberAliases(), matching the same...
CockroachDB対応DROP INDEX CASCADE構文を使用する
CockroachDB は、ALTER TABLE ... DROP CONSTRAINT を UNIQUE 制約で拒否します。 unimplemented: UNIQUE制約 "uk org oauth provider" は使用できません。 ALTER TABLE DROP CONSTRAINTは、代わりにDRO...
ドロップ stray VOIPService spec md から repo
プロジェクト慣行ごとに(.md ファイルがサービスで出荷されない).
リポジトリのスキャンにcom.kamo.z.shared.commerceを含める
最新のkamo-shared-library伝搬 メニュー (donotmodify.dao.services) はコンストラクタの依存性を持つ メニュー メニュー ザ・オブ・ザ・ サービスは VOIPService のコンポーネントのスキャンによってロードされますが、そのリポジトリは スコープから、スタートアップでU...
プラットホーム構成タブ(一般/VOIP及びSMS/システム ユーザー/高度)
ラップ ************************ で 設定ビュー 4 タブ: - 概要:読み取り専用プラットフォームの概要 — 全オーガニゼーション電話サーバ インスタンス数、アクティブな SMS provider インスタンス数、最後のグローバル VOIP 同期 タイムスタンプ。 最新情報 - VOIP及び...
添付ファイルのダウンロードボタンとデカップリングマークを読み取ります
- 各添付行にダウンロードアイコンボタンを追加すると、ユーザーは強制的にできます 新しいタブで開くのではなくファイルのダウンロード - Decouple markConversationスレッドロードトライ/キャッシュから読み込むので 一時的なOTK/networkは偽の糸負荷として表面を失敗しません エラーやメールを...
グローバル VOIP 同期ジョブ (admin 調整可能な間隔)
VoipGlobalSyncJob は、毎分チェックを行い、各ティックで読み込みます。 システムコンフィギュレーションのシングルトンは、グローバル・シンクが原因であるかを決定します。 - voipSyncEnabled が false → skip の場合。 - 最後のGlobalVoipSyncAt + voipSy...
System-config + プラットフォーム・オーバービューエンドポイント
プラットフォーム全体の構成面、既存のトップレベルの所有者によってゲート ガード(SystemUserConfigControllerのrequireTopLevelOwnerパターンにマッチ)。 エンドポイント: - GET /api/security/system-config — シングルトン行を返す - PUT...
パーインスタンスリソースコントローラ + org集計 + 内部同期
インスタンスリソースCRUD(拡張/ユーザー/デバイス/ボイスメール): - VoipExtensionsController(@***********************************************************************************************...
マルチインスタンスプロバイダレファクタ+フルFreePBX +フロールートSMS
コアモデルの変更: 1 つの org → 多くの VoipProviderInstances (was: 1 つの org). プロバイダーの API 呼び出しは、インスタンススコープ化されます。 PhoneProviderインターフェイス: - エクステンション/ユーザー/デバイスCRUD +ボイスメールオーディオ...
マルチインスタンス電話/SMSプロバイダ移行
Hibernate ddl-auto:update の後に実行すると、新しいテーブル(VOIP PROVIDER INSTANCE)が作成されます。 BULK TEXT PROVIDER INSTANCE、PHONE EXTENSION、PHONE END USER、PHONE DEVICE、 PHONE VOICEM...
マルチインスタンス電話/SMSプロバイダースキーマの基礎
- VoipProviderConfig → VoipProviderInstance の名前を変更します。UNIQUE(org id) をドロップし、インスタンス名、config json、last sync at、last sync error を追加します。 - BulkTextProviderConfig → ...
MinIO (rclone FUSE) からローカル /var/lib/pbx に移動する
Rclone FUSE による MinIO は POSIX chmod や symlink() をサポートしていません。 FreePBXのモジュールシステムが必要です。 すべてのFreePBXとMariaDBを変更 hostPath は /mnt/shared-files/pbx/ から /var/lib/pbx/ ま...
MinIO FUSE hostPath 用の PHP 経由で fwconsole/amportal をラップ
/var/lib/asterisk は、サポートしていない rclone FUSE 経由で MinIO がバックアップされます。 POSIX chmod なので fwconsole スクリプトは、そのボリュームで実行可能にすることはできません。 boot.sh は ephemeral /usr/local/bin で ...
プレストップホックと終了GracePeriodSecondsを追加
コンテナは、バックグラウンドAsteriskのために用語集に立ち往生していた apache2ctl (PID 1) が終了した後に実行されるプロセス。 preStopのホックは送ります Kubernetesが容器を殺す前にAsteriskにSIGTERMはきれいにすることを可能にします ポートのリリースと、次のPodが...
Boottrap.php を追加して /etc/freepbx.conf を再生成する必要があります
インストーラは、datasource='' と require once で freepbx.conf を記述します。 boottrap.php では、config.php は FreePBX のクラスを読み込みます。 「Class FreePBXが見つからなかった」という2つのバージョンがリリースされました。 すべて...
再起動時に /etc/freepbx.conf を再生する
/etc は ephemeral ( hostPath ではなく) なので /etc/freepbx.conf は インストーラは、すべてのPodの再起動で失われます。 再生するブランチを追加 boottrap.php が既に存在しているときに env vars から、admin UI は 続いているすべてのブーツでM...
Start asterisk をバイパスし、代わりに制御ソケットを待ちます
start asterisk は `pidof asterisk` を使って、 Pod で false 正を返します。 再起動すると、待ち合わせループが掛かるようになります。 スタートアップ.shが始まります Safe asterisk 経由で直接アスタリスク(階段ソケット/ピッドファイルをクリアした後) 制御ソケット...
バックグラウンドでAsteriskを起動し、それを待って、インストーラを実行します
Entrypoint.sh は FreePBX インストーラーを実行していません。 サービス。 boot.sh は、エントリーポイントのセットアップ手順を再現しました。 バックグラウンドでAsterisk、そのソケットが準備されるのを待ってから、実行します php は最初の起動時にインストールします。その後、Apach...
エントリーポイント ハンドル インストール, 起動しません.sh
FreePBX インストーラー (php install -n) は、Asterisk が必要です。 ランニング。 スタートアップ.sh は、Asterisk が起動する前に呼び出されました。 「Asteriskで通信するエラー」クラッシュ。 スタートアップ.sh は待ち合わせのみ MariaDB と Apache の...
/etc/asterisk を /etc だけマウントし、PHP の単純なxml エラーを修正
HostPath のボリュームとして /etc をマウントすると、PHP の拡張子が破損していた 画像から参照した後でも読み込み — easyxml load file undefined インストール時間 今だけ/etc/asteriskは主張されます;/etcはから来ます PHP の config の intact...
CPUの限界を2:1の比率に減らして下さい過コミットを除去して下さい
Docs 4→1 コア、ジブリ 4→2 コア、libretranslate 2→1 コア、 ベルガモット2→1コア、コターン1→0.5コア。 ノードの制限を離れた~7.5コアを保存します.
正しいアーキテクチャでescomputers/freepbx:17に切り替える
疲労/freepbx に FreePBX 17 イメージがありません(2022 年以来の放棄)。 escomputers/freepbx:17 (updated Apr 2026, Asterisk 21 + FreePBX 17) 必要 別の MariaDB pod と 1 回 php のインストール手順。 変更点...
パブリック管理者の進行をドロップします。 http://k[12]m1:8088 経由でアクセス
ポート8088(FreePBX's)にLAN/WireGuardを経由して、管理者UIが内部でのみ nginx はホストネットワークに直接バインドします。 いいえ Traefik ルート、Let's Encrypt なし PBX 自体のパブリックポート 80/443 転送は必要ありません.
FreePBX 17 + jigasi SIP ブリッジを k1m1 と k2m1 にデプロイする
FreePBX (tiredofit/freepbx:17-latest) は hostNetwork で実行されるため、SIP/RTP 実際のクライアント IP を保存し、nodeSelector 経由で 1 ノードをピン留めします。 SIPについて 5060 UDP/TCP (5061 TLS)、Janusを避ける...
バイナリの破損を防ぐために転送する前にフォームデータを解析
multipart/form-data 上での.text() リクエストはバイナリファイルバイトを破損します。 parsed FormData を init.body として渡しますので、foreToApi は request.text() をスキップします。 正しい境界でクリーンなマルチパートを再生できるようにします...
MinHeight:100vh を削除して、ダブルスクロールバーを引き起こします
外箱の minHeight:100vh はレイアウトの calc (100vh - 56px) を超過しました ブラウザレベルのスクロールと内部の両方を引き起こしたコンテナ overflow:auto は同時に活動的です。 高さ:100%だけで十分です.
エディタページのヘッダーをドロップし、全般サブタブの名前を変更します
- バック矢印アイコンボタン+シールドアイコン+タイトル+サブタイトルを削除 セキュリティモデル/マスターモデルエディタのトップ。 キャンセルボタン スティッキー・アクション・バーでは、すでにバックをナビゲートし、 ヘッダは各フォームにより縦の部屋を与えます。 - 通常のセキュリティのために「一般」サブタブを「モデル構...
ドロップ・ストール セキュリティ・モデル・テーブルからのペイ・コラム・ヘッダー
従業員の自己支払いカモ手数料が削除されたとき、マッチング 行体内のテーブルセルは削除されましたが、ヘッダ行はまだ持っていました チームメンバー Pay' セル、すべての体列を 1 つのスロットにシフト ヘッダーの左。 orphanedヘッダーを削除して、カラム/ヘッダ 幅は再び並べます.
GoDaddy 400の間違いの背後にある実質の理由
GoDaddy は code=UNABLE TO AUTHENTICATE と body で HTTP 400 を返すようになりました 口座が現在のところ満たない場合は「悪いリクエスト」 生産 ドメイン API の適格性 (10+ ドメイン アカウントまたはアカウント) アクティブな割引ドメインクラブ会員). 資格情報...
Censorship sub-tab は、仕様ごとに ATF を最初にレンダリングします
要求された注文に合わせて、Censorshipサブタブカードを注文します。 1. アルコール、タバコ及び防火薬 2. 許可されたメンバーの年齢の範囲 3. 許可された従業員(チームメンバー)の年齢範囲 他のサブタブは、すでに正しい順序でありました(一般: 基本的な情報/可視性/作成できる人/プラットホームの設定/ ド...
プラットフォーム管理者ビュー、パジネーション、ライブ検索、フィルタ、orgロゴ
プラットフォーム管理者(トップレベルのオーガナイザー)は、システム内のすべてのオーガナメントを経由して表示します 独自のメンバーシップではなく、新しい /api/security/org/all-networks エンドポイント。 ヘッダーのタイトルとサブタイトルの更新は、管理者のコンテキストを反映します。 その他の...
プラットフォーム管理者にGET /api/security/org/all-networks を追加
トップレベルのオーガナの所有者は、システム内のすべての組織を獲得できるようになりました 発信者に対する会員情報。 発信者がメンバーを持っているオラグ レコードは isOwner/memberId がポップアップし、 他の人は memberId: null, isOwner: false を取得します。 Endpoint...
セキュリティモデルエディタ+クリーンアップのサブタブ
- セキュリティモデルエディタの****************が分割されました 4つのサブタブに:一般(基本情報、可視性、誰が作ることができるか、 プラットフォーム設定、ドメイン構成、商取引市場)、検閲(アルコール/ タバコ/防火剤+会員+チームメンバー年齢範囲)、許可されたアプリ、および デフォルトのセキュリティロ...
DataLoaderからチームメンバーPayFeesSettingをドロップ
Master-model のプロビジョナーはもはや取られた三州のペイフィードを渡しません マスターセキュリティモデルを作成するときに設定 — フィールドは消えます ChildOrgSecurityModelとサービスオーバーロード.
ドロップチームMemberPayFeesSetting パラメータ
共有ライブラリの変更をミラーリング — SecurityModelController, MasterModelController および AppliedModelController は読み書きしません チームメンバーPayFeesSetting。 ブランチタイプのエディタのモデルごとのセルフペイ 「Billing...
ドロップチームメンバーPayFeesSetting
従業員の自己支払い手数料ポリシーがなくなった - BillingGroup のリファクタは、 セキュリティモデルではなく、グループごとの請求。 削除する ChildOrgSecurityModel のマッチングから、TeamMemberPayFeesSetting カラム ChildOrgSecurityModelDT...
FindByIdWithDomainsによるEager-loadドメイン、drop @Transactional
コントローラーメソッドの@Transactionalは、DB接続を間接的に保持します。 MinIOアップロード全体で、LazyInitializationExceptionもリスク 解決前の内部 getOrganizationById トランザクションコミットPrimaryDomain org.getDomains()...
ApiPath から重複 ?type= を削除
forwardToApi は、元の から incomingSearch (?type=...) を既に追加しています。 リクエスト URL. ?type= を apiPath で生成した秒間埋め込む ?type=full?type=full はバックエンドで、 Spring は次のようにタイプします。 "full?ty...
Int64 会員 ID のメールボックス スイッチャの復元
GetMemberIdString をメールボックス/member fetch に使用し、id/mailboxId を正規化します。 emailService から、スイッチャをアクセス可能な個人から動かして下さい JS 番号の coercion が ID の精密を除去できないので利用できる場合の mailboxes.
ブランチタイプのページ上のAlias可視性UI +サブドメインブランチボタン
サブドメインブランチダイアログ: - エイリアスエディタは、テーブルスタイルの列リスト表示でチップリストを交換 エイリアスごとのメンバーとチームメンバーのチェックボックス — 管理者は、 /network/create の各親エイリアスを参照 - onUpdateModelSubdomainConfig は、完全なエイ...
エイリアス可視性フィルタリング+サブドメイン所有権の自動検証
組織管理者: - Web-alias org の作成は、所有権を自動マークしますVerified=true と 作成した OrgDomain で isDnsVerified=true — 以来必要な TXT レコードなし 私たちは、GoDaddyに代わってDNSを約束しました - CUSTOM ParentAliasT...
