Chris Maj

salsa profile: https://salsa.debian.org/cmaj

github profile: https://github.com/chrsmj

Chris Maj is quick to answer the phone after twenty years of exploring telecommunications, programming dial plans, and satisfying customers in the Voice over Internet Protocol space, mostly as a solopreneur. Last year, he joined the steady hands on deck at Sangoma as the Open Source Solutions Advocate, helping to lead Open Source development and community engagement inside both the Asterisk project and the FreePBX project code repositories. He is actively involved with Sangoma's switch from CentOS to Debian GNU/Linux as the base operating system for the FreePBX-centric suite of telephony appliances across on-prem, hybrid and cloud deployments; with a particular interest in preseeds and ISO production. When working, he prefers standing at his self-made desk; but if you can catch him outside between trail runs, then you'll probably find him squatting slav in the garden, or maybe playing pickleball with his wife and kids.

Accepted Talks:

Preseed your PBX for Fun and Profit

What is a PBX ?

Private Branch eXchange (PBX) systems connect desk phones in your school or office to outside lines from the telephone company. Over the past 25 years, open source Asterisk-based systems like FreePBX replaced many proprietary competitors in phone closets around the world, by bridging calls between legacy analog copper lines, digital interfaces such as ISDN PRIs, and now ubiquitous Voice-over-IP (VoIP) solutions like SIP and WebRTC.

Why call a PBX an embedded application ?

PBX systems typically run around the clock, routing low latency audio streams and providing emergency calling capabilities to end users. Sangoma produces a line of hardware appliances, as well as cloud solutions, that offer curated FreePBX web interface experiences to help non-Linux users manage their systems effectively.

When did Sangoma start using Debian ?

For many years, Sangoma targeted CentOS for installations; but when the CentOS EOL date of July 2024 came up on the horizon, the decision was made to switch to Debian as the primary target for new FreePBX deployments. This overhaul involved migrating internal build pipelines and many pieces of custom code, including our ISO delivery mechanism.

Where is this talk going ?

During construction of the new FreePBX 17 Distro ISO, derived from Debian 12, we endeavored to make the install as simple as possible using both existing and potentially novel preseed customization ideas. Highlights of this talk will include:

  • Presentation of our GPLv2’d Ansible role “sngfd12 for quickly generating a custom preseeded ISO based on the upstream stock Debian ISO as input.
  • Controlling expression of preseed selection at GRUB installer prompt using a unique “spice level” concept.
  • Automatically partitioning, RAIDing, and resizing (sharing some clever insights for partman fans :-)
  • Novel approaches to randomized password generation during installation - a topic particularly relevant to embedded application developers w/r/t ongoing regulatory changes in this area.