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 email@example.com), functional or area numbers (firstname.lastname@example.org) and the central office (email@example.com). 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.