PolycomSLAProvisioning
Contents
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> </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/$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;
note that this includes a rewrite for features.cfg and for images that will be referenced for the variable {$bg1} from above. The background image will be stored in app/provision/imagename.jpg for example.
you should upload your 320x240 jpg, png, or gif file to app/provision -or- the directory of your choosing. If you do not, the phone will simply show the default background gradient. Polycom's docs say that there is a 600Kb maximum, which is not likely a problem for a 320x240 image.
Default Settings
navigate to Advanced/Default Settings.
Provisioning
add/update the entries to match
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 | filename.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
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 |
DHCP Menu | |
Boot Server | Static |
Boot Server Option | 160 |
Boot Server Type | String |
Option 60 Format | ASCII String |