Procedure for Adding IP Phones to Endpoint Manager Table of Contents Environment Setup.................................................................................................................1 Endpoint Manager Utilities.....................................................................................................1 Adding Brands........................................................................................................................2 Adding Models.......................................................................................................................2 Adding Modules.....................................................................................................................3 Assigning Modules to Models................................................................................................3 Adding Configuration Types...................................................................................................4 Adding Lines..........................................................................................................................4 Assigning Lines to Models.....................................................................................................5 Adding Timezones..................................................................................................................6 Adding Groups.......................................................................................................................6 Adding OUIs...........................................................................................................................7 Importing Configuration Files.................................................................................................7 Migration ................................................................................................................................8 Provisioners...........................................................................................................................9 Environment Setup First download and install the latest version of the Endpoint Manager module if it is not installed yet, along with the corresponding version of the Endpoint Manager Utilities. Both of the RPM packages installed using the following command: yum install cpbx-xepm cpbx-xepm-utils After installation a new menu entry named “Endpoint Manager”, will be placed under the Settings tab. As this document focuses on adding new telephones to the Endpoint Manager, kindly refer to the Endpoint Manager documentation on our wiki for information regarding the Endpoint Manager itself. Endpoint Manager Utilities The Endpoint Manager Utilities provides a convenient way make adjustments to the database used by the Endpoint Manager. Note this software package is intended for development purposes only and should not be used on a production system. Due to the fact that the Endpoint Manager Utilities has no authentication whatsoever, access to the Endpoint Manager is provided via a hidden URL. In order to accss it enter the following address in your web browser (replace <PBX hostname or IP> as needed): http://<PBX hostname or IP>/xepm-utils/ PM0627.01 1/12 Figure 1: Endpoint Manager Utilities Adding Brands All current brands are listed on the “Brands” tab in the Endpoint Manager Utilities. New brands can be added by entering the brand name in the input field at the bottom of the listing. The new brand is then added by clicking the “Create” button. Existing brands can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 2: Brand list Adding Models IP phones are represented as models in the system. All current models are listed on the “Models” tab in the Endpoint Manager Utilities. New models can be added by selecting the PM0627.01 2/12 relevant brand, specifying the model name, number of SIP lines, IAX2 lines, buttons and maximum number of expansion modules in the input fields at the bottom of the listing. The new model is the added by clicking the “Create” button. Existing models can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 3: Model list Adding Modules IP phone expansion modules are represented as modules in the system. All current modules are listed on the “Modules” tab in the Endpoint Manager Utilities. New modules can be added by selecting the relevant brand, specifying the module name and number of buttons in the input fields at the bottom of the listing. The new module is then added by clicking the “Create” button. Existing modules can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 4: Module listing Assigning Modules to Models Expansion modules must be linked to IP phone models for the system to understand which modules are available for users to add to a particular model. All current module assignments are listed on the “Assign Modules” tab in the Endpoint Manager Utilities. New assignments can be made by selecting the relevant model and module at the bottom of the listing. The new assignment is then made by clicking the “Assign” button. Existing assignments can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. PM0627.01 3/12 Figure 5: Module assignments Adding Configuration Types Each IP phone may require different configuration file formats depending on firmware version or hardware revision. As a solution for this problem the Endpoint Manager provides different configuration types that can be selected by the administrator during template creation. All current configuration types are listed on the “Configuration Types” tab in the Endpoint Manager Utilities. New configuration types can be added by selecting the relevant device and specifying the configuration name in the input field at the bottom of the listing. The new configuration type is then added by clicking the “Create” button. Existing configuration types can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 6: Configuration type list Adding Lines Various models support having more than one line. By default the Endpoint Manager can provide up to 12 lines as well as a special “Auto” line. All current lines are listed on the “Lines” tab in the Endpoint Manager Utilities. New lines can be made by specifying the line name at the bottom of the listing. The new line is then added by clicking the “Create” PM0627.01 4/12 button. Existing lines can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 7: Line list Assigning Lines to Models Lines must be linked to IP phone models for the system to understand which lines are available for users to select on a particular model. All current line assignments are listed on the “Assign Lines” tab in the Endpoint Manager Utilities. New assignments can be made by selecting the relevant model, line and specifying the configuration value for that line at the bottom of the listing. The new assignment is then made by clicking the “Assign” button. Existing assignments can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 8: Line assignment PM0627.01 5/12 Adding Timezones Each IP phone model supports a limited set of timezones, these must be defined in order for the system to be able to provide them as a selection to the user. All current timezones are listed on the “Timezones” tab in the Endpoint Manager Utilities. New timezones can be added by specifying the timezone name, offset (in seconds) and configuration value for that timezone at the bottom of the listing. The new timezone is then added by clicking the “Create” button. Existing timezones can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 9: Timezone list Adding Groups IP phone buttons are logically grouped into several categories, this allows the end user to more easily configure the available buttons on the phone. All current groups are listed on the “Groups” tab in the Endpoint Manager Utilities. New groups can be added by specifying the name for that group at the bottom of the listing. The new group is then added by clicking the “Create” button. Existing groups can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 10: Group list PM0627.01 6/12 Adding OUIs The brand of IP phones is automatically detected during network scans by looking up the OUI (first 3 bytes) of the MAC address. The OUI listing that is provided is based on public information from the IEEE MA-L listing. All current OUIs are listed on the “OUIs” tab in the Endpoint Manager Utilities. New OUIs can be added by specifying the 3-byte MA-L in hexadecimal format for that OUI at the bottom of the listing. The new OUI is then added by clicking the “Create” button. Existing OUIs can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 11: OUI list Importing Configuration Files Configuration file parameters are represented in the Endpoint Manager as settings. The “Settings” tab on the Endpoint Manager Utilities provides a way to import configuration files into the database. Several options are available for importing different formats of configuration files. Importing is done by selecting the configuration type for which you wish to import a configuration file. A file must then be chosen, configuration file format must be specified using the available fields. The file is then imported by clicking the “Import” button. PM0627.01 7/12 Figure 12: Importing configuration files The resulting settings are listed by configuration type. New settings can be added by specifying the name, parent, group and default value for that setting at the bottom of the listing. The new setting is then added by clicking the “Create” button. Existing settings can be modified and/or deleted from the same page. Changes are committed by clicking the “Apply” button. Figure 13: Setting list Migration Migrating the Endpoint Manager database between different systems via the “Migration” tab on the Endpoint Manager Utilities. This page allows you to create an export of the database as well as import a previously exported file in different ways, either merging with or replacing the existing database. PM0627.01 8/12 Figure 14: Migration Provisioners Due to complexity and peculiarities of various models, it is unfortunately not possible to design a fully data-driven Endpoint Manager. Some amount of programming will be required for each model in the form of a provisioner. The provisioner is a class which contains some details regarding each model as well as methods which will generate configuration files and convert configuration parameters between web representation and database storage. To speed up this process, the Endpoint Manager provides an API for common operations that the provisioner can use. For examples of what a provisioner looks like, you can refer to the /var/www/html/admin/modules/xepm/provisioners folder on the system. This folder contains several files, one for each brand. Class definitions for multiple models exist in each file. Several rules must be followed when creating new provisioners: • All provisioners must be placed in the ./provisioners folder. • The filename must match the name of the brand in lowercase. • Each classname must be in the format <brand>_<model> _provisioner. • The provisioner must inherit “provisioner”. Various properties and methods are available by the provisioner base class to facilitate with development. The available properties are: • mac_address • device_id • brand_id • brand_name • model_id • model_name PM0627.01 9/12 • template_id • timezone_id • sip_lines • admin_password • feature_voicemail The available methods are: • • • advanced_settings() – Returns an array of objects describing the main sections of the configuration file for the current device. Each object has the following properties: • parent_id • name • settings – This property contains an array of objects describing the configuration settings for the current device. Each object has the following properties: • setting_id • name • value device_buttons() – Returns an array of objects describing the buttons for the current device. Each object has the following properties: • display_index • button_index • model_button_id • group_id • line • value • label expansion_buttons() – Returns an array of objects describing expansion module settings for the current device. Each object has the following properties: • parent_id • name • settings – This property contains an array of objects describing configuration settings for the current device. Each object has the following properties: PM0627.01 • setting_id • name 10/12 • • • • value extensions() – Returns an array of objects describing the extensions assigned to the current device. Each object has the following properties: • account • callerid • port • qualify • qualifyfreq • secret • transport • extension_index • displayname modules() – Returns an array of objects describing the expansion modules attached to the current device. Each object has the following properties: • module_id • module_index • button_count • name timezone() – Returns an object describing the timezone of the current device. The object has the following properties: • timezone_id • brand_id • offset • name • value The provisioner class must implement the following methods: • buttons_to_settings() – Receives an array of objects describing button categories for the current device. Each object has the following properties: • category_id • name • parent_id • buttons – This property contains an array of objects describing each button for this category. Each object has the following properties: PM0627.01 11/12 • type • line • button_index • display_index • group_id • value • label This method must return a nested associative array describing configuration settings for the current device. • dss_button_count() – Must return the number of DSS buttons for this device. • expansion_button_types() – Must return an associative array of button types available on the expansion module for this device. • generate() – Receives the requested filename as an argument. This method must output the requested filename to the output buffer via echo statements. • line_button_count() – Must return the number of line buttons for this device. • settings_to_buttons() – Receives a nested associative array describing configuration settings that are to be converted to buttons. This method must return an associative nested array of objects with the following properties: • • display_index • button_index • model_button_id • group_id • line • value • label show_button_types() – Must return an array of objects describing the button types available for this device with the following properties: • name • value • types() – Must return an associative array of button types available on this device. • Values() – Receives a logical button type and must return the configuration value for that type. PM0627.01 12/12
© Copyright 2025 Paperzz