Difference between revisions of "PolycomSLAProvisioning"

From FusionPBX
Jump to: navigation, search
(Background Images)
(Blanked the page)
 
Line 1: Line 1:
=Provisioning Polycom VVX with SLA=
 
This document is meant as a guide to configure provisioning, make alterations per the authors preferences, and enable SLA w/ presence to emulate a 'key system'.  All testing and development of this guide was on Polycom VVX 400/410 phones.  This guide by syadnom_* in freenode/#fusionpbx
 
  
==Prerequisites==
 
* a fusionpbx installation
 
* nginx as web server
 
* basic abilities on linux cli to edit files
 
* some basic familiarity with fusionpbx
 
 
==Info==
 
* This guide is using the Broadsoft SCA/SLA method preferred by freeswitch
 
* There are only 2 fully function phone brand/series that do SLA with freeswitch, Polycom (SoundPoint and VVX) and Cisco/Linksys SPA
 
* This guide also works for the SPA line but needs additional rewrites and changes to provisioning files
 
* Aastra phones have partial support for SLA, I have a number of 53i/55i running from this config with changes to rewrites and provisioning, but the partial support kills the usefulness
 
* I choose the Polycom VVX series as a long time SoundPoint and FreePBX user and it's ability to do SLA
 
* This guide was built with huge help from a number of regulars in freenode/#fusionpbx, as well as data pulled from this wiki.
 
 
==Provisioning tool==
 
Access the provisioning editor at
 
Advanced/Provisioning Editor
 
navigate to
 
Files/polycom/vvx
 
==={$mac}.cfg===
 
alter the line to add the [PHONE_MAC_ADDRESS]-features.cfg file to initial provisioning.
 
This tells the phone to make use of the features.cfg file where a few settings like parking lots and background images can be configured.
 
<APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="[PHONE_MAC_ADDRESS]-features.cfg,[PHONE_MAC_ADDRESS]-site.cfg,[PHONE_MAC_ADDRESS]-registration.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY="" LICENSE_DIRECTORY="" USER_PROFILES_DIRECTORY="" CALL_LISTS_DIRECTORY="">
 
 
==={$mac}-registration.cfg===
 
for SLA to work, thirdPartyName needs to be blanked.  Also, this needs cleared if you plan to alter the Label as this guide directs.  Change the following fields.
 
reg.{$row.line_number}.label="{$row.display_name}"
 
reg.{$row.line_number}.type="shared"
 
reg.{$row.line_number}.thirdPartyName=""
 
 
===features.cfg===
 
we will add some variables so that background images can be configured from 'Default settings'.
 
find the following section
 
<bg.color bg.color.selection="1,1">
 
  <bg.color.bm bg.color.bm.1.em.name="" bg.color.bm.1.name="" bg.color.bm.2.em.name="" bg.color.bm.2.name="">
 
  </bg.color.bm>
 
  </bg.color>
 
change it to
 
<bg.color bg.color.selection="2,1">
 
  <bg.color.bm bg.color.bm.1.em.name="" bg.color.bm.1.name="{$bg1}" bg.color.bm.2.em.name="" bg.color.bm.2.name="{$bg2}" >
 
  </bg.color.bm>
 
  </bg.color>
 
the setting "2,1" is essentially 'enable' '2', 'image' 1, so defaulting to use bg.color.bm.1.name.
 
 
 
==Rewrite Rules==
 
the apply only to nginx, and by default are in /etc/nginx/sites-enabled/fusionpbx
 
#polycom
 
rewrite "^.*/provision/000000000000.cfg$" "/app/provison/?mac=$1&file=%7b%24mac%7d.cfg";
 
rewrite "^.*/provision/(.*).(png|jpg|gif)" "/app/provision/backgrounds/$host/$1.$2";
 
rewrite "^.*/provision/([A-Fa-f0-9]{12})-features.cfg$" /app/provision/?mac=$1&file=features.cfg;
 
rewrite "^.*/provision/([A-Fa-f0-9]{12})-sip.cfg$" /app/provision/?mac=$1&file=sip.cfg;
 
rewrite "^.*/provision/([A-Fa-f0-9]{12})-phone.cfg$" /app/provision/?mac=$1;
 
rewrite "^.*/provision/([A-Fa-f0-9]{12})-registration.cfg$" "/app/provision/?mac=$1&file=%7b%24mac%7d-registration.cfg";
 
rewrite "^.*/provision/([A-Fa-f0-9]{12})-site.cfg$"  /app/provision/?mac=$1&file=site.cfg;
 
rewrite "^.*/provision/([A-Fa-f0-9]{12})-web.cfg$"  /app/provision/?mac=$1&file=web.cfg;
 
 
==Background Images==
 
Create your background images, in this case 320x240 jpg,png, or gif.  you will need to create directories and set permissions to match each of your domains, and then add the files to individual folders.  The rewrite rule above takes the domain used in the URL and directs the request to the per-domain directories below.  The FQDN entires MUST match the domain exactly.  Image filenames must match the bg1 and bg2 variables set below exactly. The PUBLIC and PRIVATE ip options are there in case you connect directly to the IP for provisioning (single domain for instance) and can be if this is only multi-tenant.
 
mkdir -p /var/www/fusionpbx/app/provision/backgrounds/<PUBLIC_IP>
 
mkdir -p /var/www/fusionpbx/app/provision/backgrounds/<PRIVATE_IP>
 
mkdir -p /var/www/fusionpbx/app/provision/backgrounds/<FQDN1>
 
mkdir -p /var/www/fusionpbx/app/provision/backgrounds/<FQDN2>
 
chown -R www-data.www-data /var/www/fusionpbx/app/provision/backgrounds/
 
 
==Default Settings==
 
navigate to Advanced/Default Settings.
 
 
===Provisioning===
 
add/update the entries to match
 
{| class="wikitable"
 
!colspan=5|Provision
 
|-
 
|Subcategory
 
|Type
 
|Value
 
|Enabled
 
|Description
 
|-
 
|enabled
 
|text
 
|true
 
|True
 
|
 
|-
 
|ntp_server_primary
 
|text
 
|pool.ntp.org
 
|True
 
|
 
|-
 
|polycom_gmt_offset
 
|text
 
| -25200
 
|True
 
|in seconds, multiple hours *3600
 
|-
 
|bg1
 
|text
 
|background1.jpg
 
|True
 
|your image file for background.  320x240 for VVX400/410
 
|-
 
|bg2
 
|text
 
|background2.jpg
 
|True
 
|your image file for background.  320x240 for VVX400/410
 
|}
 
*ideally the bg1 variable could be set by domain for multi-tenancy, haven't figured that one out yet
 
 
==Phone Configuration==
 
for 'manual' phone configuration, browse to the phone's IP address and alter the following
 
Settings>Provisioning Server
 
 
{| class="wikitable"
 
|+Provisioning Server
 
!colspan=2|Provisioning Server
 
|-
 
|Name||Value
 
|-
 
|Server Type||HTTP
 
|-
 
|Server Address||your IP or FQDN if MultiTenant
 
|-
 
|Server User||
 
|-
 
|Server Password||
 
|-
 
|File Transmit Tries||3
 
|-
 
|Retry Wait(s)||1
 
|-
 
|Tag SN to UA||Disable
 
|-
 
!colspan="2"|DHCP Menu
 
|-
 
|Boot Server||Static
 
|-
 
|Boot Server Option||160
 
|-
 
|Boot Server Type||String
 
|-
 
|Option 60 Format||ASCII String
 
|-
 
|}
 

Latest revision as of 18:23, 30 January 2015