Persist sorcery contact=memory fix and block SIP scanner in startup.sh
- Inject [res_pjsip] contact=memory into sorcery.conf before Asterisk starts; the default sorcery-astdb SQLite backend silently drops all REGISTER contacts - ...
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...
ผังแป้นพิมพ์, แผ่นพับ, และโลโก้ของผู้ให้บริการ
แก้ไขการจัดวาง / ช่องว่าง: ทั้งหกแท็บ (ผู้เผยแพร่, ผู้ใช้โทรศัพท์, อุปกรณ์เสียง, สุขภาพ) ตอนนี้ตัดเนื้อหาของพวกเขาในแท็บเชลล์ด้วย px: {xs:2,md:3} py:3 pb: 6 pin...
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...
ใช้ไวยากรณ์แบบ Cockroachedb ที่เข้ากันได้กับ JOP CASCade
Cockroachb ปฏิเสธ ALTER Table... Profiles สําหรับข้อจํากัด Unique Uk org auth continuctorr. ใช้ TERTALTIOP CONP ดําเนินการใช้ PAP Index Casscade แทน สลับการอพ...
Drop stray VOIPService spec md from repo
Per project convention (.md files don't ship with services).
รวม com.kamo.z. แบ่งปัน.commerce in Planguage สแกน
การจัดจําหน่ายแบบปลายกะโม-ใช้ร่วมกัน ~ประกาศออกไป~ (Notmodification.dao. services) ซึ่งมีการติดต่อผู้สร้าง ~ประกาศออกไป~ ~ประกาศออกไป~ เดอะ สแกนส่วนประกอบของ VO...
แท็บปรับแต่งแพลตฟอร์ม (Genral / VOIP & SMS / System / ขั้นสูง)
ห่อ <i> - ทั่วไป: ภาพรวมของแพลตฟอร์มเท่านั้น — รวมแกน, servator ที่ใช้งานอยู่ ตัวนับตัวอย่าง, จํานวนโพรเซส SMS- EXIME ที่ทํางานอยู่, ปรับเทียบข้อมูลกับเครือข่า...
เพิ่มปุ่มดาวน์โหลดสิ่งที่แนบมาด้วยและลบเครื่องหมายเป็นอ่านแล้ว
- เพิ่มปุ่มไอคอนดาวน์โหลดไปยังแต่ละแถวสิ่งที่แนบมาด้วยเพื่อให้ผู้ใช้สามารถบังคับ การดาวน์โหลดแฟ้มแทนการเปิดเป็นแท็บใหม่ - การถอดรหัสเครื่องหมาย Decuple อ่านจาก ...
งานปรับเทียบข้อมูลแบบ Global VOIP (ระยะที่ตัดสัญญาณได้สูงสุด)
OffGlobalSync John kicks ทุกนาทีและบนแต่ละเห็บอ่าน ระบบConfiguration Olyton เพื่อตัดสินว่าการจับคู่ทั่วโลกมีผลหรือไม่: - ถ้า WOPSENIIIIIIIIIIIIIIIIIIIIIIIIIIII ...
การตั้งค่าระบบ + ส่วนท้ายแบบแพลตฟอร์ม
พื้นผิวของการปรับแต่งแบบแพลตฟอร์มครอบคลุม, ประตูโดยเจ้าของระดับสูงที่มีอยู่ รปภ. (matches SystemConfig Contolter's เรียกข้อมูล Toplevolner). จุดสิ้นสุด: - Get ...
ตัวควบคุมทรัพยากรต่อนาที + org คอมไพล์ + การจับคู่ภายใน
Internance Resource CRUD (พิเศษ / ผู้ใช้ / อุปกรณ์ / ฝากข้อความ): - วอพ เอกซ์เทนชั่น คอนเทนเมนท์เตอร์ที่ - ผู้ใช้ VipColter ที่ /api/vip/instances/ {iid} / ผู้ใ...
ผู้จัดจําหน่ายหลายคน + เต็ม FreePBX + Flowrute SMS
การเปลี่ยนแบบแกน: org → จํานวนมาก Voip provieter Internances (คือ: one per org). ขณะนี้ผู้จัดหา API ทุกสายถูกตรวจสอบแล้ว ส่วนติดต่อผู้ตรวจสอบโทรศัพท์: - วิธีกา...
โทรศัพท์/ SMS ผู้จัดจําหน่าย
ประมวลผลหลังจาก Hiberate del-auto: Update สร้างตารางใหม่ (VOP POVEDER NISTESTEE) การโทรศัพย์ โทรศัพท์ ถนอมทรัพย์ นพบูรณ์EMAIL OF TRANSLATORS Kamo-shared-library...
มูลนิธิผู้จัดจําหน่าย SMS Schema
- เปลี่ยนชื่อ Voip PreviewerConfig → propreviewer instance; หย่อน UNIKE (org) เพิ่มชื่อตัวอย่าง, config config json, Last sync at, al sync fority error. - เปล...
Move hostPath from MinIO (rclone FUSE) to local /var/lib/pbx
MinIO via rclone FUSE does not support POSIX chmod or symlink() — both required by FreePBX's module system. Changed all FreePBX and MariaDB hostPath volumes fro...
Wrap fwconsole/amportal via php for MinIO FUSE hostPath
/var/lib/asterisk is backed by MinIO via rclone FUSE which doesn't support POSIX chmod, so fwconsole scripts can't be made executable on that volume. startup.sh...
Add preStop hook and terminationGracePeriodSeconds
Containers were getting stuck in Terminating because background Asterisk processes kept running after apache2ctl (PID 1) exited. preStop hook sends SIGTERM to A...
Add bootstrap.php require to regenerated /etc/freepbx.conf
The installer writes freepbx.conf with datasource='' and a require_once for bootstrap.php, which config.php depends on to load the FreePBX class. Our regenerate...
Regenerate /etc/freepbx.conf on restart
/etc is ephemeral (not a hostPath), so /etc/freepbx.conf written by the installer is lost on every pod restart. Added else branch to regenerate it from env vars...
Bypass start_asterisk, wait for control socket instead
start_asterisk uses `pidof asterisk` which returns a false positive on pod restarts, causing the wait-for-Asterisk loop to hang. Now startup.sh starts Asterisk ...
Start Asterisk in background, wait for it, then run installer
The entrypoint.sh does not run the FreePBX installer — it only starts services. startup.sh now replicates the entrypoint setup steps, starts Asterisk in backgro...
Let entrypoint handle install, not startup.sh
FreePBX installer (php install -n) requires Asterisk to already be running. Our startup.sh was calling it before Asterisk started, causing "Error communicating ...
Mount /etc/asterisk only, not /etc, to fix PHP simplexml error
Mounting the full /etc as a hostPath volume was corrupting PHP extension loading even after seeding from the image — simplexml_load_file undefined at install ti...
Reduce CPU limits to 2:1 ratio to eliminate overcommitment
Docs 4→1 core, jibri 4→2 cores, libretranslate 2→1 core, bergamot 2→1 core, coturn 1→0.5 core. Saves ~7.5 cores off node limits.
สลับไปยังเครื่องคอมพิวเตอร์/ ฟรีพไบซ์: 17 ด้วยสถาปัตยกรรมที่ถูกต้อง
footofit/freepbx ไม่มีอิมเมจ FreePBX 17 (ถูกเปิดใช้ตั้งแต่ 2022). escodes/ freepbx: 17 (เพิ่ม Appr 2026, Astevice 21 + FreePBX 17) ต้องการ กระสวย MariaDB และขั้...
Drop public admin ingress; access via http://k[12]m1:8088
Admin UI is now internal-only over LAN/WireGuard on port 8088 (FreePBX's nginx bound directly on hostNetwork). No Traefik route, no Let's Encrypt cert, no publi...
Deppling FreePBX 17 + Jigasi SIP สะพานที่ k1m1 และ k2m1
FreePBX (Treedofit/freepbx: 17- latest) เรียกใช้ด้วยเครื่องโฮสต์ Network ดังนั้น SIP/RP รักษา IP ของลูกค้าตัวจริง ติดอยู่ 1-per-node ผ่าน โหนดเอสอีเตอร์ SIP บน ...
Parse formData before forwarding to prevent binary corruption
request.text() on multipart/form-data corrupts binary file bytes; pass parsed FormData as init.body so forwardToApi skips request.text() and lets fetch regenera...
Remove minHeight:100vh causing double scrollbars
The outer box's minHeight:100vh exceeded the layout's calc(100vh - 56px) container, which caused both the browser-level scroll and the inner overflow:auto to be...
Drop editor page header, rename General sub-tab
- Removes the back-arrow IconButton + shield icon + title + subtitle from the top of the security-model / master-model editor. The Cancel button in the stic...
ทิ้งส่วนหัวคอลัมน์ของ Page จากตารางรักษาความปลอดภัย
เมื่อพนักงานที่จ่ายเงินเองสนามคาโมเฟซถูกถอดออก แผ่นตารางในร่างกายแถวถูกลบ แต่แถวส่วนหัวยังคงมี '(Teammember)' จ่ายเซลล์, ย้ายคอลัมน์ทุกหนึ่งช่องไปยัง ด้านซ้ายขอ...
เหตุผลที่แท้จริงเบื้องหลังการผิดพลาดไป 400 ครั้ง
MONTHTIME จะส่งค่ากลับมาเป็น HTTP 400 ด้วยรหัส = UNUTIME BAR AUTHTIMETHTISTISTATE และเนื้อความ "ร้องขอ "bad: ร้องขอไม่ดี" เมื่อบัญชีผู้ใช้ไม่ตรงกับปัจจุบัน ผลิต...
Censoris sub-tab ตอนนี้กําลังแปล ATF ก่อน
สั่งซื้อการ์ดย่อยของ Censoration เพื่อตรงกับลําดับที่ต้องการ: 1. แอลกอฮอล์, ยาสูบและอาวุธปืน 2. ช่วงอายุสมาชิกที่ได้รับอนุญาต 3. พนักงาน ที่ ได้ รับ อนุญาต (สมา...
แสดงผลแบบแพลตฟอร์ม- Admin, แบบร่าง, การค้นหาแบบสดๆ, ตัวกรอง, โลโก้ของ org
Partiform admins (เจ้าของสูงสุด org) ตอนนี้เห็นทุกโดเมนในระบบผ่านทาง สร้าง /api/ความมั่นคง/org/all-networks แทนแค่สมาชิกของพวกเขา หัวเรื่องหัวเรื่องและคําบรรยาย...
เพิ่ม get / api/ความปลอดภัย/org/all-networks for partmins
เจ้าของบ้านสูงสุด สามารถเรียกทุกองค์กรในระบบได้ ข้อมูลสมาชิกสัมพันธ์กับการโทร ออร์กที่ผู้โทรมีสมาชิก สถิติจะได้ ISOwner/GrippleId load; อื่น ๆ ได้สมาชิก Idd: Un...
ลบรายการย่อยในเครื่องมือแก้ไขความปลอดภัย + ทําความสะอาด
- ตัวแก้ไขระบบความปลอดภัยบน~ ในระบบย่อย 4 แบบ: ข้อมูลทั่วไป (Basic Intel, visieve, ใครสามารถสร้างได้ ตั้งค่าแพลตฟอร์ม, การปรับแต่งโดเมน, ตลาดพาณิชย์), Censorati...
วางรายการย่อย
ผู้จัดจําหน่ายต้นแบบไม่ผ่าน การชําระเงินสามรัฐที่ถูกลบออกไป เมื่อ สร้าง แบบ จําลอง ความ ปลอด ภัย แบบ หลัก แล้ว สนาม ก็ จะ หาย ไป ChildOrg Security Model และบริก...
พารามิเตอร์การวาง
กระจกเงาการเปลี่ยนแปลงร่วมกัน รักษาความปลอดภัย Master Model Control และ Model Control croller ไม่อ่าน/ เขียนอีกต่อไป ทีมเม็มเบอร์ เทนเฟส เซ็ตติ้ง เครื่องมือแก้ไ...
ตั้งค่าโครงการ
นโยบาย การ จ่าย เงิน เอง หมด ไป แล้ว — การ จัด การ กับ เงิน ซื้อ บิล นิง กรอ ป การเรียกเก็บเงินต่อกลุ่ม ไม่ใช่ผ่านระบบรักษาความปลอดภัย ลบ TeamMmber Perfess Cons...
การโหลดโดเมนต่าง ๆ ผ่านทางการค้นหา Byditte Domains, ลดลง@ transpact
<i> การอัพโหลด MinIO ทั้งหมด และยังมีความเสี่ยง Lazy Intition Exception หาก ภายในได้รับออแกนิชัน ไบด์ ธุรกรรมดําเนินการก่อนที่จะแก้ไข Domain Accessorg.get Domin...
ลบสิ่งที่ซ้ํากันออกไป
ส่งต่อTOApi จะทําการค้นหาเมื่อเข้ามา (??ประเภท=...) จากต้นฉบับ ต้องการที่อยู่ URL การฝังตัว? type=ครั้งที่สองในApiPath ผลิต *? ประเภท=เต็มรูปแบบ? ประเภท = เต็มท...
เรียกคืนสถานะการสลับกล่องจดหมายสําหรับหมายเลขสมาชิก int64
ใช้ GetMBEIDSprinting สําหรับเรียกกล่องจดหมาย/ jobending, id/mailbox id จากอีเมลเซอร์วิซ และไดรฟ์ตัวสลับที่จากส่วนบุคคล กล่องจดหมายหากมีอยู่ ดังนั้น การรวมหมายเ...
Alias visibility UI + Subdomain Branches button on branch-types page
SubdomainBranchesDialog: - Alias editor replaced chip list with a table-style row list showing Members and Team Members checkboxes per alias — admins control ...
Alias visibility filtering + auto-verify subdomain ownership
OrganizationController: - Web-alias org creation now auto-marks ownershipVerified=true and isDnsVerified=true on the created OrgDomain — no TXT record needed ...
เหมือนที่คุณเห็นการขนส่ง?
ทั้งหมดของมันมาถึง ในที่ทํางานของคุณเอง เริ่มที่แผนฟรี และอ่านหน้านี้อีกครั้งในเดือน.
