Open-source telecoms. Operator-controlled.0.7.0-dev / Development preview ↗
Search all guides

Requirements and boundaries

The FreePBX module and the independent operator examples have different runtime requirements.

On the PBX

Use a controlled FreePBX 16 or 17 installation with PHP Sodium and HTTPS support through cURL. The module retains PHP 7-compatible syntax. Prepare a complete compatible HTTPS activation endpoint, operator-authorised service entitlements and an explicit outbound routing policy for a new neutral identity. Back up the PBX before evaluation.

On the operator side

The independent BYOT reference requires PHP 8.2+, Sodium, POSIX, JSON, HTTPS and a local filesystem supporting flock and atomic rename. Number-search integration requires PHP 8.2+, JSON, POSIX and persistent local locking; cURL is needed for the optional supplied transport. Run as a dedicated unprivileged account, not root.

Infrastructure is still your responsibility

Carrier connectivity, SIP edges, authentication, billing and number assignments must be supplied by the operator. A valid configuration response cannot establish a live telephone network. The website lab requires none of this infrastructure because it only uses local fixtures.

Runtime checklist

Runtime checklist
ComponentRuntime and prerequisitesAcceptance boundary
FreePBX moduleFreePBX 16 or 17; PHP Sodium and cURL/HTTPS; secure Asterisk runtime stateNative FreePBX behaviour and live calls require controlled tests.
BYOT provider examplePHP 8.2+, Sodium, POSIX, JSON, HTTPS, local flock and atomic renameDedicated unprivileged account; default infrastructure is simulated.
Operator number searchPHP 8.2+, JSON, POSIX, persistent local locking; cURL for the supplied transportReal customer, catalog, ordering, billing and carrier adapters required.
Website labA JavaScript-enabled browser; no credentials or carrier connectionLocal fixtures demonstrate search behaviour only.