freePBX - Extensions for VoIP PBXs

Date of publication

Phone systems replicated by means of software use a completely different language than we are used to with IT. Here I try to bring the worlds together a bit

From extensions, trunks, ring groups, queues and announcements.

Transferring some technical words from the telecommunication world into the IT world

For me, the best way to understand the telecommunications mindset is to think of it in terms of the technology behind email.

I compare the extension (direct dialing) to the mailbox. It is independent of the specific mail address. We reach extensions in the FreePXB context via the Applications ->  Extensions menu.

We need the extension to hang credentials (login/access data) on it, which will be used by some terminal. Whether that is a real device or a piece of software doesn't matter for now. Each extension gets an "internal" call number even with setup.

Then we have call numbers. These have been created as trunks in a previous process. Basically, trunks are very similar to the extension. From the SIP PBX perspective, such a trunk has credentials and the PBX is the "client". The fact that "real" phone numbers are switched on the trunk ... well. Mostly this is the task of the specialized service provider. In our case it is sipgate. Trunks are configured in FreePBX via the menu item Connectivity -> Trunks.

We usually divide trunks into numbers that are assigned to specific people (in the mail metaphor, functional or area numbers ( and the central office ( Since the phone numbers can be handled completely independently of extensions and the phone number plan differs from company to company, this can be prepared well and independently of the concrete phone system. A simple table with all phone numbers and information where they should ring and what happens if nobody answers there is sufficient.

As soon as the call number plan stands, it can go off concretely with the conversion. Mentioned are still, without going into it here further: Ring Groups, IVR (Interactive Voice Response), Queues, Conference Rooms, Announcements. There are many endpoints that can reach call numbers.

Profile picture for user DeepL

DeepL is a deep learning company that develops AI systems for languages. The company, based in Cologne, Germany, was founded in 2009 as Linguee, and introduced the first internet search engine for translations. Linguee has answered over 10 billion queries from more than 1 billion users.

Profile picture for user luckow

Stephan Luckow

Stephan is an open source evangelist and constantly curious about technologies. Thematically, his blog posts can best be summarised as "curiosity satisfied".