There's an exciting new module being released from the Dev Support site by forum friends John Mullinix and Ed Macri. It turns out - they are busy-busy introducing it at Regional Asterisk users meeting today - so I get to write it up here! Cooool.
------------------------------------------------------------------------------------------------
End Point Configuration Manager Module for FreePBX
As I'm sure somebody has said out there, in the VoIP business, It's all fun and games until somebody sells a system. Then, the real work begins.
Thanks to the good people who brought us PBX in a flash, creating and configuring a new PBX takes a fraction of the time it would otherwise.
But when it comes time to configure, and deliver the telephones themselves -- the situation is not quite as rosy. Depending upon the manufacturer of the phone, the experience of going through the configuration process to prepare the device for use with the PBX can range anywhere from mind "numbingly dull and extremely time-consuming" all the way to "absurdly complex and completely befuddling". Even when the configuration process goes as smoothly as you would hope, it still takes time. Some estimates suggest that up to 60% of all time spent in new PBX deployments is spent on configuring the telephones.
Configuring "endpoints", or telephones, automatically has been possible for a long time, but there is no support for that within the FreePBX platform. Some distributions have had semi functional configuration systems available for some time –and let's face it, we know PBX in a flash is the best distribution; it's time for us to have the best Endpoint Manager also.
Today, with any luck we take our first step toward that goal.
I am Pleased to Announce the Immediate Availability of Endpoint Configuration Manager Module for FreePBX, version 1.0.0.
Release 1.0.0 of the module provides support for Snom, Polycom, Linksys, Aastra and GrandStream telephones. More models and manufacturers will be added to future versions of this module.
The software relies upon Mac addresses to uniquely identify every telephone on the system. Mac addresses are then associated with extensions. The system has several safeguards to prevent operator error. For example, each Mac address may only be registered with the Endpoint Configuration Manager once.
The software has been specifically designed to work well with barcode scanners, enhancing your ability to configure large numbers of telephones very quickly. (Most telephones today have a barcode depicting their Mac address on the outside of their package)
There are several modes of entry, supporting a wide variety of workflows. For example, you may choose to scan and save all Mac addresses into the system at one time, and associate them with extensions later. Alternately, you may choose to enter Mac address and extension affiliations one at a time.
Once the telephones Mac address has been associated with the correct user extension, the telephone need only be plugged into the network and powered up for it to automatically configure itself and connects to the PBX.
Prerequisite
The endpoint configuration manager utilizes and requires a functional t*f*t*p server on the PBX platform. This capability must be set up according to the instructions that are appropriate for the distribution you are running. For us lucky devils running PBX in a flash, the task could not be easier. When logged in as root, execute the script setup-t*f*t*p. In just a few seconds, the t*f*t*p service will be installed and functional.
Installation and Configuration
Like anything else, before we go, we have to get started -- so let's get started with the installation and configuration of Endpoint Configuration Manager. Initial configuration is an easy three-part deal. First, we perform two simple procedures while logged in as ROOT at the command line prompt, then we install the Endpoint Configuration Manager module into FreePBX, and finally we configure option 66 of the site DHCP server. So – here we go -
Grandstream Support
Grandstream telephones are unique to the supported manufacturers in that the configuration files produced for them must be encoded to a binary format before use. To make a long story short, if you will be using Endpoint Configuration Manager to manage Grandstream telephones, you must add support for the Grandstream configuration compiler to your PBX. This must be done while logged in as root at the command line prompt.
Log into your PBX console (or your favorite program, such as putty), as ROOT, and paste the following SINGLE LINE:
This code will download and install the grand stream configuration compiler, and the Java runtime environment upon which it depends. On a typical system, this will take about one minute. At the end, you're all ready to support Grandstream telephones.
t*f*t*p Folder Configuration
The folder used as the t*f*t*p root folder (/tftpboot typically) must be writable by the asterisk user. By default, on most PBX in a flash systems, this folder is owned by ROOT: ROOT, with permissions set as 0755.
Make no mistake about it, the t*f*t*p service and folder the potential of great mischief and rather terrible security breaches. Do not enter any circumstances expose the contents of the t*f*t*p folder to the general public. Most telephones’ configuration files are in plain text, and will absolutely expose your SIP IDs and passwords to anyone with eyes. Off-site telephones to be configured via the Endpoint Configuration Manager, must be configured to operate through a VPN tunnel to maintain PBX security.
The settings we are about to recommend may not be right for all users in all circumstances. Please consider your particular situation carefully before making the following recommended changes to ownership and permission over the t*f*t*p folder and files.
DHCP Support
(If you Dont DO THIS step, this Module will NOT WORK for you. This is how your phones get told to look at the PBX for their config files!)
When the telephones are first plugged into power in the network, the very first thing will attempt to do is to acquire a network address via DHCP. Along with the standard DHCP configuration information, it is necessary to establish option number 66 in the DHCP server. You will probably find this option is not presently configured in most of the DHCP servers you encounter.
Set DHCP option number 66 to the IP address or FQDN of your PBX.
It's very important that the IP address, or FQDN and that you provide for DHCP option 66 is a private address, not accessible from the outside world. Allowing your plain text configuration files to be examined by the public would be an immediate ticket to massive fraud potential. Trust us, and Steer Clear.
The method used to establish the DHCP configuration items varies with the DHCP server you are using, so step-by-step instructions about how to accomplish this task are outside the scope of this documentation. Please consult the documentation available from the DHCP server’s manufacturer.
Module Installation
Step 1: Download the module to your desktop From here.
http://projects.colsolgrp.net/projects/list_files/endpointman
(Generally, you'll want to select the most recent release of the Version 1.X Series.) Don’t decompress the archive!
Step 2: Use a web browser to access FreePBX on your PBX. Choose Tools, Module Admin, Upload Module.
Now, browse to the endpointman-1.X.X.tgz file on your Desktop and click the Upload button. Now click local module administration, scroll down and click on PBX Endpoint Manager, and then the Install radio button. Now click Process, and complete the usual FreePBX install and reload process.
Step 3: Use a web browser to access FreePBX on your PBX. Under Setup, Select PBX Endpoint Manager.
You will be presented with the module user interface
------------------------------------------------------------------------------------------------
End Point Configuration Manager Module for FreePBX
As I'm sure somebody has said out there, in the VoIP business, It's all fun and games until somebody sells a system. Then, the real work begins.
Thanks to the good people who brought us PBX in a flash, creating and configuring a new PBX takes a fraction of the time it would otherwise.
But when it comes time to configure, and deliver the telephones themselves -- the situation is not quite as rosy. Depending upon the manufacturer of the phone, the experience of going through the configuration process to prepare the device for use with the PBX can range anywhere from mind "numbingly dull and extremely time-consuming" all the way to "absurdly complex and completely befuddling". Even when the configuration process goes as smoothly as you would hope, it still takes time. Some estimates suggest that up to 60% of all time spent in new PBX deployments is spent on configuring the telephones.
Configuring "endpoints", or telephones, automatically has been possible for a long time, but there is no support for that within the FreePBX platform. Some distributions have had semi functional configuration systems available for some time –and let's face it, we know PBX in a flash is the best distribution; it's time for us to have the best Endpoint Manager also.
Today, with any luck we take our first step toward that goal.
I am Pleased to Announce the Immediate Availability of Endpoint Configuration Manager Module for FreePBX, version 1.0.0.
Illustration 1
Release 1.0.0 of the module provides support for Snom, Polycom, Linksys, Aastra and GrandStream telephones. More models and manufacturers will be added to future versions of this module.
The software relies upon Mac addresses to uniquely identify every telephone on the system. Mac addresses are then associated with extensions. The system has several safeguards to prevent operator error. For example, each Mac address may only be registered with the Endpoint Configuration Manager once.
The software has been specifically designed to work well with barcode scanners, enhancing your ability to configure large numbers of telephones very quickly. (Most telephones today have a barcode depicting their Mac address on the outside of their package)
There are several modes of entry, supporting a wide variety of workflows. For example, you may choose to scan and save all Mac addresses into the system at one time, and associate them with extensions later. Alternately, you may choose to enter Mac address and extension affiliations one at a time.
Once the telephones Mac address has been associated with the correct user extension, the telephone need only be plugged into the network and powered up for it to automatically configure itself and connects to the PBX.
Prerequisite
The endpoint configuration manager utilizes and requires a functional t*f*t*p server on the PBX platform. This capability must be set up according to the instructions that are appropriate for the distribution you are running. For us lucky devils running PBX in a flash, the task could not be easier. When logged in as root, execute the script setup-t*f*t*p. In just a few seconds, the t*f*t*p service will be installed and functional.
Installation and Configuration
Like anything else, before we go, we have to get started -- so let's get started with the installation and configuration of Endpoint Configuration Manager. Initial configuration is an easy three-part deal. First, we perform two simple procedures while logged in as ROOT at the command line prompt, then we install the Endpoint Configuration Manager module into FreePBX, and finally we configure option 66 of the site DHCP server. So – here we go -
Grandstream Support
Grandstream telephones are unique to the supported manufacturers in that the configuration files produced for them must be encoded to a binary format before use. To make a long story short, if you will be using Endpoint Configuration Manager to manage Grandstream telephones, you must add support for the Grandstream configuration compiler to your PBX. This must be done while logged in as root at the command line prompt.
Log into your PBX console (or your favorite program, such as putty), as ROOT, and paste the following SINGLE LINE:
Code:
cd /usr/src/ && yum -y install jre && wget http://www.grandstream.com/DOWNLOAD/Configuration_Tool/Linux_Unix/GS_CFG_GEN.tar.gz && tar -zxvf GS_CFG_GEN.tar.gz && sed -i 's/\/java\/j2sdk1.4.2_07/\/lib\/jvm\/jre/g' /usr/src/GS_CFG_GEN/bin/encode.sh && sed -i 's/local\/src/src/g' /usr/src/GS_CFG_GEN/bin/encode.sh
t*f*t*p Folder Configuration
The folder used as the t*f*t*p root folder (/tftpboot typically) must be writable by the asterisk user. By default, on most PBX in a flash systems, this folder is owned by ROOT: ROOT, with permissions set as 0755.
Make no mistake about it, the t*f*t*p service and folder the potential of great mischief and rather terrible security breaches. Do not enter any circumstances expose the contents of the t*f*t*p folder to the general public. Most telephones’ configuration files are in plain text, and will absolutely expose your SIP IDs and passwords to anyone with eyes. Off-site telephones to be configured via the Endpoint Configuration Manager, must be configured to operate through a VPN tunnel to maintain PBX security.
The settings we are about to recommend may not be right for all users in all circumstances. Please consider your particular situation carefully before making the following recommended changes to ownership and permission over the t*f*t*p folder and files.
Code:
chown –hR root:asterisk /tftpboot
chmod g+w /tftpboot
DHCP Support
(If you Dont DO THIS step, this Module will NOT WORK for you. This is how your phones get told to look at the PBX for their config files!)
When the telephones are first plugged into power in the network, the very first thing will attempt to do is to acquire a network address via DHCP. Along with the standard DHCP configuration information, it is necessary to establish option number 66 in the DHCP server. You will probably find this option is not presently configured in most of the DHCP servers you encounter.
Set DHCP option number 66 to the IP address or FQDN of your PBX.
It's very important that the IP address, or FQDN and that you provide for DHCP option 66 is a private address, not accessible from the outside world. Allowing your plain text configuration files to be examined by the public would be an immediate ticket to massive fraud potential. Trust us, and Steer Clear.
The method used to establish the DHCP configuration items varies with the DHCP server you are using, so step-by-step instructions about how to accomplish this task are outside the scope of this documentation. Please consult the documentation available from the DHCP server’s manufacturer.
Module Installation
Step 1: Download the module to your desktop From here.
http://projects.colsolgrp.net/projects/list_files/endpointman
(Generally, you'll want to select the most recent release of the Version 1.X Series.) Don’t decompress the archive!
Step 2: Use a web browser to access FreePBX on your PBX. Choose Tools, Module Admin, Upload Module.
Now, browse to the endpointman-1.X.X.tgz file on your Desktop and click the Upload button. Now click local module administration, scroll down and click on PBX Endpoint Manager, and then the Install radio button. Now click Process, and complete the usual FreePBX install and reload process.
Step 3: Use a web browser to access FreePBX on your PBX. Under Setup, Select PBX Endpoint Manager.
You will be presented with the module user interface
Illustration 2
System Use
Initial Configuration
In version 1 of the module, the first screen you are delivered to is depicted in illustration 2, above. This is the global settings screen – and it contains the first configuration items we need to set up.
In the places provided, enter the IP address or FQDN. And select the time zone that the server operates in. Click ADD GLOBALS when you have the info as you want it.
It's very important that the IP address, or FQDN and that you put into this configuration screen is a private address, not accessible from the outside world. Allowing your plain text configuration files to be examined by the public would be an immediate ticket to massive fraud potential. Unless you really know what your doing, trust us, and Steer Clear.
See - End Point Configuration Manager Module for FreePBX - Part 2
System Use
Initial Configuration
In version 1 of the module, the first screen you are delivered to is depicted in illustration 2, above. This is the global settings screen – and it contains the first configuration items we need to set up.
In the places provided, enter the IP address or FQDN. And select the time zone that the server operates in. Click ADD GLOBALS when you have the info as you want it.
It's very important that the IP address, or FQDN and that you put into this configuration screen is a private address, not accessible from the outside world. Allowing your plain text configuration files to be examined by the public would be an immediate ticket to massive fraud potential. Unless you really know what your doing, trust us, and Steer Clear.
See - End Point Configuration Manager Module for FreePBX - Part 2