Author: xrobau

  • QuadPBX-OG actually installs!

    To the shock and surprise of many, you can actually install QuadPBX-OG (AKA, FreePBX 17) on a Debian Trixie machine, using PHP8.4

    Here’s a screenshot of an extremely only-barely-working install. You can follow the instructions in the ‘#install’ channel on our Discord to see for yourself.

    Do not attempt to do anything serious with this! But I did check that it can register to a sip server. That’s it. No idea about anything else!

    There’s a LOT of stuff that needed fixing to make things work with a modern PHP, and I haven’t re-implemented the module Integrity Validation (hence ‘3989 tampered files’), OR the ‘run-stuff-as-root’ hooks. It could not be more insecure if I tried.

    As discussed in Discord, this is a proof-of-concept and building block for the real QuadPBX, which will have all the new cool features such as multi-tenant and immutable installs. This starts down this path with everything being in /opt/quadpbx, and being handled by the system package manager (apt, in this case)

    If you like what you see, please feel free to Sponsor me, so I can spend more time working on this.

  • Inherently Multi-Tenant

    Well, at least I hope so. The database design is fundamentally multi-tenant. Hopefully it should be easy to keep everything separate logically if I start from a foundation of ‘everything is linked to a tenant’.

    I’ve also rebuilt everything for Debian Trixie. It’s going to be using PHP 8.4, and Asterisk 22. This means no chan_sip and no macros, too.

    More discussions are happening on the QuadPBX Discord, so if you want to be involved, please join and chat there!

  • Debian Trixie

    I’ve just discovered that Debian Trixie is due out in a few weeks.

    As there is a bunch of changes, it’s silly for me to bother building against Bullseye.

    So NOW I have to rebuild everything to work with Trixie! Lucky this is early in the piece.

  • What’s the plan (2025/07/21)?

    People are asking questions (and feel free to join the Discord – link above – and ask questions yourself).

    So here’s some FAQs for you

    What’s the go with the name? Why Quad?

    Well, I had a bunch of things that were irritating me, and I wrote them down. There were four of them, and I liked the name ‘QuadPBX’. The goal is that everything is built around four pillars:

    1. Stability
      Everything should be stable. No random breaking changes that causes your phone system to start doing strange things, just because a random module has changed the way it works
    2. Security
      The PBX will (in most cases) be immutable. Attackers will not be able to write to the system, or change anything. The only writable part of the PBX will be the configuration, which will stored in a different location. The plan is to also have an append-only Journal, so you can check that everything is as it should be, by replaying the journal and checking the output
    3. Simplicity
      I regret making everything so complicated in my previous PBX. 90% of users use 10% of the features, so there is no need to expose an ‘Advanced Interface’ with far too many options from the start! The default user interface will be much simpler, with only the few most common options
    4. Openness
      Everything, to the best of my abilities, will be open source. Anyone should be able to make a development install, and create their own components without needing days studying existing code! This happened in my previous PBX because it was required to support historic code.
      This is going to be a clean break, with no historic code requirements holding us back!

    Wait, Immutable?

    Yes. I’m writing this based around the ‘PhoneBo.cx ISO Builder‘, which is designed around creating an immutable VoIP/SIP based OS. This is a highly customised Debian Live ISO, but mainly for VoIP!

    However, there will be no need to use this. Everything will be based around .deb packages, without the extra infrastructure of needing to run our own distribution services, which didn’t really exist back in the time I created the original module repositories!

    So where am I up to now?

    There’s a lot of moving pieces, but the first one I’m working on is creating the tools to build the debs. The first will be a core one, that provides the basic infrastructure. Then there will be a datestamped standard version, and then possibly a security update deb, that could patch any issues discovered in the datestamped version.

    However, that needs a lot of prep and setup – so there’s a bunch of ‘Yak Shaving’ that needs to happen first. Feel free to ask in Discord if you want more info! The FIRST bit is setting up Git webhooks so that people can see what’s happening in a single place.

  • QuadPBX?

    This is just a placeholder page to get things started. Here’s some important things for you: