Welcome back to the final installment of new changes to the Thirdlane provisioning enhancements. This article will discuss some new features that some phones now support. Multicast Paging and Company Directories.
When I first learned that multicast paging was working its way into many of these phones I got pretty excited. For those of you that run Multi-Tenant systems, you are probably aware of the limitations from using the Page() application within asterisk. For those unfamiliar with this application, It sends in INVITE sip message to a list of devices to join a MeetMe conference, except that the recipients are muted so the only talker was the initiator of the call. This mimics a KeySystem feature where the speakers on the devices can be turned into 'overhead paging'. When using phones over a WAN link, this can eat into your bandwidth rather quickly. Each device becomes and audio stream and you are limited in the number of streams to these endpoints based on whatever they have available for internet connectivity.
Multicast Paging eliminates this by the nature that multicast does not traverse a routed gateway. The traffic remains local and contained to the local network segment. Devices are configured to listen to a specific address and then play over their speaker without having to create a stream back to the PBX. So far, I have found this feature in every group of phones I have been sponsored to develop templates for. In my development of the phones I included a base Zone that I labeled ALL. Many phones support more than a single zone. I left the remaining zones untouched so that they can be customized manually. Some vendors created a tiered system to allow some higher ranked zones to be set to even interrupt a call (someone in building with a gun, building on fire, get out, etc).
While researching these implementations, I stumbled across a Cyberdate V3 Paging server. There was documentation for integration with these phones as well. In essence, not only can you initiate a multicast page from a phone to page other phones, but you could also have the Cyberdata paging server register as a special line on Thirdlane and give it a feature extension. Any call to the paging server could then page the phones configured to listen to those muticast addresses, as well as the other Cyberdata speakers for warehouses etc. So by default, not only did I include the ALL group on the devices but I used the multicast address given in the HOWTO instruction guide from Cyberdata. Giving you a near out of the box experience once the Cyberdata device is configured.
The Yealink and vTech phones worked very similarly in their multicast implementation. Zones let you pick the IP and port to listen on, and you could also set up zones you can broadcast on as well. The Cisco SPA seemed that it was designed using an internal extension rather than a DSS key to initiate the page. This will be important to remember so you don't accidentally assign a feature extension to the same number and never be able to reach it. Polycom is stranger still, where its a single IP and port yet still supporting 25 zones. They include some form of tagging in their packets to indicate what zone, and the Cyberdata amp allows you to tie one of those zones into a zone within the cyberdata server. Hopefully in the future other polycom zones can get tied into different cyberdata zones.
Whenever possible I specified a wideband g722 codec for the multicast paging so that the maximum clarity gets broadcast, and considering the local network is not limited in bandwidth, this made perfect sense.
For Polycom Phones running firmware 5.4 and higher I have enabled the ability to put the Company Directory from Thirdlane into the contact directory of the phones. Prior to 5.4 the behavior was to merge the all-zeros xml file into the mac-addr xml directory list, making a company directory a nightmare. After version 5.4.0 they no longer merge unless you attempt to edit an entry, at which time a copy of that entry gets placed on your local directory file. It took quite a bit of Python coding, which differed a lot between STE and MTE platforms, to get this file populated when a device gets provisioned. The Polycom contact directory only supports 1 contact number per entry, so a bit of logic was employed to parse through a company directory entry and assign the most probable contact number to use. Extension being the highest priority since they would only exist for local accounts, then Work phone, Cell phone, home, etc. The first valid entry to appear out of this order would get assigned to the contact number field
vTech models 726 and 736 support RemoteXML which can be defined to the URL of the xml directory. Once configured you can select Sync from the remote xml menu option and then you can scroll and search through the directory. The vTech phones supported 3 numbers (Other, Work, Mobile) per contact entry so a similar logic was used to pick the value of Other. While similar to the Python utility used for polycom, there still existed considerable differences in terms of structure.
I currently have not had anyone wanting to sponsor the development of Company Directory aka RemoteXML for the Cisco or Yealink phones. If you are interesting in sponsoring the project feel free to contact me at my signature email below. The process involves research, building a static template to confirm functionality, and then building a custom python script for both STE and MTE that will print these files when provisioned.
Other Vendors still a possibility
If you are using a different vendor and wish to sponsor the development of these features so that your devices can reach their full potential, please contact me. The legacy Yealink T2 and T3 series still need sponsoring. The Cisco SPA 300 series need sponsoring, as well as their gaeway (ATA) line of devices. The Cisco SPA gateways use a completely different syntax for timezone maps so yet another mapping file would be needed for that group as it is not the same as the 5xx and 3xx syntax. Snom, Aastra, Grandstream are all established enough devices that they should benefit from these featues. There are probably more that I have not even known to exist, I am up for just about any challenge.