5. Inbound Routes and Extensions

Two of the most basic configuration items within FreePBX are Inbound Routes and Extensions. They’re also some of the most commonly edited so it should come as no surprise that they’re the subject of a great many tickets. It’s important to note that Inbound Routes represent Direct Inward Dial numbers (or DIDs or just “phone numbers” as they’re more commonly referred). Extensions are the user endpoints within a phone system, essentially a place to make and take calls.

Adding and Editing Inbound Routes

Within the PBX configuration interface (FreePBX), navigate to the Connectivity menu and select the Inbound Routes option. Once done, you’ll notice a fair number of configuration options on the left and a list of any existing Inbound Routes on the right.

Take a quick look at the available configuration options. Some of these you will use often, many of them rarely, some of them not at all. Technically in order to add an Inbound Route, all you need to add is the DID in the DID Number field located toward the top and specify a destination in the Set Destination drop-down located toward the bottom.

For almost all Ringfree related purposes, enter the DID into the DID Number field in eleven digit format with no delimiters or other characters. There are situations that require exceptions to this rule, but none that are in place within Ringfree at this point.

For the Set Destination dropdown, the options here reflect all available destinations currently configured in the phone system. You can therefore route the DID to an extension, an IVR, an announcement, or literally anywhere else.

It’s standard practice within Ringfree to also add a description for each Inbound Route. Generally this will refer to the role of the particular DID within the company. For instance a main number might have a description of Main while a break room fax machine might have the description Break Room Fax. If there is no suitable description available when adding an Inbound Route, copy the DID into the Description field as well.

Here are some of the other options for Inbound Routes:

  • Alert Info: This can be used to specify a specific ring tone for this DID. Setting this up properly generally requires specific configuration to be in place on the provisioning server associated with the phone models in use at the customer premises.
  • CID name prefix: This allows you to specify an arbitrary string to be prepended to the Caller ID (CID) for incoming calls to this DID. This is useful when multiple routes serving different purposes eventually route to some of the same extensions. Calls can then be prefixed with strings such as “Sales:” or “Support:” or whatever else.
  • Music on hold: This allows you to specify particular hold music for this DID.
  • Call Recording: This allows you to define whether calls on this DID can be recorded. This setting can be overridden on a per extension basis by setting it in the extension settings, but this is a convenient way to globally turn it off or on for any given DID.
  • Fax Detect: This setting tells the PBX to try and determine if the call is a voice call or a fax call. When turned on, this allows you to specify an alternate destination for fax calls.

As you can see, there are other options available for Inbound Routes, most of which are rarely if ever used here at Ringfree. The question mark pop-over icons should adequately explain their uses. Should you require further clarification, please consult with David Wessell or John Knight.

Adding and Editing Extensions

To access the Extensions, within FreePBX select the Applications menu and click on the Extensions option. Extensions are quite a bit more complex than inbound routes as you’ll be able to see from the number of configuration options available. To compound this, there are multiple types of extensions that can be configured for different devices. Here at Ringfree we generally use two of them: Generic SIP Device and None (virtual exten). Of the two, Generic SIP Devices (or just SIP extensions) make up the majority of what we work with. The None type extensions (or just virtual extensions) are usually used for things such as general purpose voicemail boxes and call forwarders.

Elect to add a new SIP extension and scroll through the options. You’ll see expected fields such as Call Waiting, Auto Answer, and Voicemail Password along with more advanced options covering things like Queue State Detection, NAT and other limited network options, along with Call Recording.

In order to add a new SIP extension, you technically only need to provide two fields: an extension number and a display name, however doing so opens a major security hole in that the extension will not be password protected. To add a password, or SIP secret, look for the field labeled secret and add it there. FreePBX will display a pop-up and require confirmation if you attempt to add a SIP extension without a password.

You’ll notice that the extension options are broken down into several subsections. You’ll practically never use every option when adding/editing an extension so here follows a brief overview of the various subsections and notable options.

  • Edit Extension: This is your basic extension information such as the extension number and the display name. Note that the extension number can not be edited once an extension is saved.
  • Extension Options: These are settings which are generally set as PBX-wide defaults in other configuration sections in FreePBX. This section allows you to override the default settings for the extension in question. This is especially useful for situations such as when you have users at multiple locations and need to specify different Emergency Caller ID values.
  • Assigned DID/CID: Options for directly associating a DID with the extension.
  • Device Options: Options for the device specific configuration. Note that many of these settings are overridden by settings on the SBCs (such as port). You will generally not mess with these settings beyond the secret and occasionally the mailbox. Note that
  • Call Camp-On Services: Extension specific options for use when the phone system is configured to allow callers to request an automated call back when an agent becomes available. Use of these options is either rare or nonexistent within Ringfree as of the time of this writing.
  • Fax: Allows the extension to receive faxes. Because Ringfree makes use of an external vFax provider, these options are never used.
  • Recording Options: These options allow you to define specific behavior for how the extension is allowed to record calls. Options provided cover automatic and on-demand recording.
  • Voicemail: The voicemail options are used for the vast majority of extensions. Options here include enabling voicemail, specifying a password, forwarding voicemail messages to an email address, etc.
  • VmX Locator: Options for when a caller reaches the extension’s voicemail and wants to perform another action. This acts as a sort of miniature auto-attendant allowing you to define alternate destinations when certain keys are pressed while listening to the voicemail greeting. There are multiple uses for this feature, both explicit and discreet.
  • Optional Destinations: This section allows you to override the default behavior of where a call is routed should no one answer or if the user is already on the phone. This (along with the VmX Locator options) effectively allows the extension to be used as an intermediary destination within the call routing. One use would be to direct a call back to a queue or ring group if the particular extension is already in use.

Because of the amount of interaction you’ll have with extensions, you’ll quickly get up to speed regarding the specific options.

Submitting and Applying Changes

FreePBX stores all of the various configuration options in a MySQL database and submitting any changes within the interface will update said database. However the actual changes will not go live immediately. Asterisk (the actual PBX) requires a dial plan to be written which tells it how to behave under any given circumstances and simply writing changes to a database will not cause changes to the dial plan.

After making any changes within FreePBX, you’ll notice a red Apply Config option appear toward the top center of the interface. Clicking this option will then cause FreePBX to generate a new dial plan using the information in the database and then it will reload Asterisk so that it takes any changes live.

Note that due to the nature of how FreePBX stores data and writes dial plans and due to the nature of how Asterisk operates, there is no way to undo any changes. That said, please abide by the old saying “measure twice, cut one” and be sure to double check any changes before submitting or applying them.