Internal Mesh Extensions
Phone SystemBackground
Internal extensions and call routing is handled by the FreePBX server hosted at SN3 (CT 128 on nycmesh-713-r640-02) reachable at freepbx.mesh or 10.70.90.62. Extensions are used for desk phones in the Mesh Room, softphones on volunteer devices, and as endpoints that inbound routes and IVRs can forward to. Creating a usable extension is a two-part process:requires registering the extension on FreePBX,FreePBX and provisioning a physical or software phone to the server.
Adding an Extension in FreePBX
- Browse to
http://10.70.90.62and log in using the omni credentials. - Go to Connectivity -> Extensions.
- Click Add Extension and select Add New SIP (chan_pjsip) Extension.
- Fill in the fields under the General tab:
- User Extension: the two-digit or three-digit number the phone will register as. Existing desk phones use
10through13. - Display Name: the name shown on outbound internal calls, for example
Mesh RoomorPhone 1. - Secret: FreePBX generates a random string. Keep this value, it is entered into the phone configuration later. Do not replace it with anything short or guessable.
- Voicemail: enable if the extension should have a mailbox, and set a mailbox password and an email address for notifications.
- User Extension: the two-digit or three-digit number the phone will register as. Existing desk phones use
- Submit, then click Apply Config in the top right. Nothing takes effect until the configuration is applied.
- Confirm the extension appears under Reports -> Asterisk Info -> Peers. It will show as unreachable until a phone registers against it.
Once the extension exists it can be selected as a destination in inbound routes, ring groups, and IVR options.
Cisco Phone Provisioning
Each phone model has its own provisioning method which typically be modified on its self-hosted web server (e.g. Aastra, Polycom, etc.). However, Cisco desk phones do not have internal web servers capable of allowing modifications to be done in browser, and instead pulls its configuration over TFTP at boot.
- It requests a file named
SEP<MAC>.cnf.xml, where<MAC>is the phone MAC address in uppercase with no separators, for exampleSEP1CDEA7B34F02.cnf.xml. - The file is placed in the TFTP root on the provisioning server (same SN3 container as FreePBX, stored in
/root/tftpboot), and the phone is pointed at that server by DHCP options 66 and 150 (which need to be set to 10.70.90.62 on the router).
Start from an example of an existing file in the directory rather than writing one from scratch. For your new extension, a few values need changing to utilize the new credentials from FreePBX:
Fields that must be edited per phone
| Element | Notes |
|---|---|
<sipLines><line button="1"> |
Information about lines on the main page, where you need to adjust the fields <featureLabel>, <name>, <displayName>, <authName>, and <authPassword>. |
<phoneLabel> |
Text shown in the top status bar of the phone. |
<sshUserId> and <sshPassword> |
Credentials for SSH access to the phone. |
<line button="2"> through <line button="5"> |
Speed dial keys. The 8861 has five line keys, but not all lines need to be provisioned if you do not need them. |
Applying the configuration
- Place the completed
SEP<MAC>.cnf.xmlin the TFTP root. - Power cycle the phone, and check to see in its settings that it picked up the new server and line information. It should request the file, apply the settings, and register.
- Confirm registration under Reports -> Asterisk Info -> Peers on FreePBX, and place a test call to another internal extension.
If the phone boots but does not register, check that the extension number matches across name, contact, and authName and view Asterisk logs to check for failed registration attempts (due to bad password copying, TFTP issue, etc.).