{"id":747,"date":"2021-08-10T12:08:31","date_gmt":"2021-08-10T12:08:31","guid":{"rendered":"http:\/\/james-batchelor.com\/?p=747"},"modified":"2021-08-11T07:52:13","modified_gmt":"2021-08-11T07:52:13","slug":"provisioning-polycom-phone","status":"publish","type":"post","link":"https:\/\/james-batchelor.com\/index.php\/2021\/08\/10\/provisioning-polycom-phone\/","title":{"rendered":"Provisioning Polycom Phone"},"content":{"rendered":"\n<p>Yealink is our go to vendor for telephony hardware, mainly due to its ease and variety of configurability. But recently have been tasked with adding a Polycom VVX250 to the system for a charity to use.<\/p>\n\n\n\n<p>While the setup between different manufacturers normally follows the same general path. This is a journey of how Polycom interprets it&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/james-batchelor.com\/wp-content\/uploads\/2021\/08\/poly_vvx250.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"665\" src=\"https:\/\/james-batchelor.com\/wp-content\/uploads\/2021\/08\/poly_vvx250-1024x665.jpg\" alt=\"\" class=\"wp-image-758\" srcset=\"https:\/\/james-batchelor.com\/wp-content\/uploads\/2021\/08\/poly_vvx250-1024x665.jpg 1024w, https:\/\/james-batchelor.com\/wp-content\/uploads\/2021\/08\/poly_vvx250-300x195.jpg 300w, https:\/\/james-batchelor.com\/wp-content\/uploads\/2021\/08\/poly_vvx250-768x499.jpg 768w, https:\/\/james-batchelor.com\/wp-content\/uploads\/2021\/08\/poly_vvx250-1200x779.jpg 1200w, https:\/\/james-batchelor.com\/wp-content\/uploads\/2021\/08\/poly_vvx250.jpg 1280w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/figure>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Factory Booting<\/h2>\n\n\n\n<p>As these are inerited devices, they were pre-configured to another system and default passwords changed. Luckily (For us anyway) Poly&#8217;s implementation still allows a phone to be factory reset even if preconfigured.<\/p>\n\n\n\n<p>To factory set a Poly VVX250:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Reboot or power on phone.<\/li><li>At the &#8220;starting application&#8230;&#8221; screen, press the cancel button.<\/li><li>It will now start a countdown, during this press and hold 1, 3 and 5 on the dialpad, it will now prompt for a password.<\/li><li>Enter the device MAC address as the password.<\/li><li>Press okay, it should notify that the device is factory reset.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Zero Touch Provisioning<\/h2>\n\n\n\n<p>A feature many manufacturers have is a auto-provision or zero touch provisioning system. As these are going to be the only Poly&#8217;s on the system there would be little gain in investing in their service.<\/p>\n\n\n\n<p>To the rescue will be DHCP options, mainly opt. 66 for Boot Server, where we will steer an unprovisioned device to the phone system.<\/p>\n\n\n\n<p>Here, add DHCP option 66 to your DHCP server, and add an ASCII value of the address of you phone server, complete with any authentication string.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration<\/h2>\n\n\n\n<p>While Yealink&#8217;s are pretty usable out of the box, Polycom&#8217;s require a bit more fettling to get into a working state.<\/p>\n\n\n\n<p>A lot of this fettling is required via the config files it attempts to pull from the provisioning server. Starting with:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Firmware:<\/h3>\n\n\n\n<p>Firmware loaded on the phone dictates what files a phone will request from  a provisioning server, which I&#8217;ve found causes issues when a mismatch of device firmware levels are introduced to a system.<\/p>\n\n\n\n<p>Therefore a a matching firmware level server\/client side is required. For this example I used an older 6.1.0.6163 fw that was compatible with our system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Config Files:<\/h3>\n\n\n\n<p>Our system, like many modern PBX&#8217;s generate a config file on the fly, negating the need to store all config files individually.<\/p>\n\n\n\n<p>In this case, while the {MAC}.cfg file can be auto-generated, the site.cfg (system level config) file is not and so has to be manually edited. The connotations of this in a multi-tenant environment means that a lot of customisations are not available, such as wallpapers and even directories.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dial Plan:<\/h3>\n\n\n\n<p>As discovered during testing, a clean Poly device will include a US specific dialplan as default. This causes issues with both UK PSTN calls and local extension calls, sending the call after on 2 digits dialled.<\/p>\n\n\n\n<p>Therefore a new dial plan has to be created and added manually to site.cfg. This was my interpretation:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">999 emergency<br>1xxT emergency, 3 digit NSN<br><br>[1-8]xxxT pbx extensions<br>*xxT pbx star codes<br>*xxxT pbx star codes<br><br>116xxx 6 digit (excl directory enq)<br>08[04]xxxxT 7 digit NSN<br>0[18]xxxxxxxT 9 digit NSN<br>0[12358]xxxxxxxx 10 digit NSN landline<br>07[1-9]xxxxxxx 10 digit NSN mobile (excl personal numbering)<br><br>00x.T International<\/pre>\n\n\n\n<p>This translated into the the following strings for the Polycom:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Polycom dialplan string:<br>999|1xxT|[1-8]xxxT|<em>xxT|<\/em>xxxT|116xxx|08[04]xxxxT|0[18]xxxxxxxxT|0[12358]xxxxxxxxx|07[1-9]xxxxxxxx|00x.T<br><br>Polycom dial timeout string:<br>3|3|3|3|3|3|3<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Testing<\/h2>\n\n\n\n<p>With the above configuration the Poly VVX250 performs as a budget phone normally would.<\/p>\n\n\n\n<p>A small issue I think customers would fall prey to is the &#8220;URL&#8221; labelled button that appears when number input is required (calling \/ transferring), when pressed it changed the dial pad into T9 input and would imagine being confusing if the URL press was unintentional.<\/p>\n\n\n\n<p>Apart from that, the lack of customisation options in a multi-tenant environment and the cost of the phone compared with its usable feature set would likely rule it out as a product to offer for our platform.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yealink is our go to vendor for telephony hardware, mainly due to its ease and variety of configurability. But recently have been tasked with adding a Polycom VVX250 to the system for a charity to use. While the setup between different manufacturers normally follows the same general path. This is a journey of how Polycom &hellip; <a href=\"https:\/\/james-batchelor.com\/index.php\/2021\/08\/10\/provisioning-polycom-phone\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Provisioning Polycom Phone&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[247],"tags":[327,328,329,326,331,332,330],"class_list":["post-747","post","type-post","status-publish","format-standard","hentry","category-voip","tag-configuration","tag-dhcp-option-66","tag-dial-plan","tag-polycom-vvx250","tag-provision","tag-provisioning","tag-uk-dial-plan"],"_links":{"self":[{"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/posts\/747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/comments?post=747"}],"version-history":[{"count":11,"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/posts\/747\/revisions"}],"predecessor-version":[{"id":759,"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/posts\/747\/revisions\/759"}],"wp:attachment":[{"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/media?parent=747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/categories?post=747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/james-batchelor.com\/index.php\/wp-json\/wp\/v2\/tags?post=747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}