Page tree
Skip to end of metadata
Go to start of metadata

Overview of Polycom's Phones

Polycom makes a very popular series of SIP phones that work with Asterisk and FreePBX.  

The VVX Business Media Phones are the latest models.  The VVX300 is an inexpensive fully featured phone.  The VVX400 is a mid-line version with more buttons and a color screen.  Both phones can have additional buttons using the VVX Expansion Module or the VVX Color Expansion Module.

The Soundpoint IP Series is a more mature series.  The IP335 and IP550 are the most popular phones in this series.

Using a Polycom Phone with FreePBX/Asterisk

To use a Polycom phone with FreePBX, you must set-up an Extension in FreePBX using the Extensions Module Module.  When you do so, you will select an extension number and password which the phone will use to register to your FreePBX system.

Next you must configure the Polycom phone to connect to your FreePBX system.

Configuring a Polycom Phone using the web interface

The easiest way to configure a single Polycom phone is to connect to the phone using it's web interface.  When you connect a Polycom phone to your network and power it up, it will obtain an IP address from your DHCP Server (in most cases, your router).

To find out the IP address, hit Home/Settings/Status/Network/TCPIP Parameters on your phone.

Using a web browser, type in the IP address.  You will be asked to select between admin and user, and for a password.  The default admin password is 456.  The default user password is 123. Select "admin" and enter the admin password.

 

ClickSettings and then SIP at the top of the page.  

Then click Lines on the left side of the page.

Click on the + to the left of Identification, Authentication, Server 1, and Message Center to expand those areas.

Change the following entries.  These instructions assume that you are configuring extension 100 to connect to FreePBX running on 192.168.1.50.

 

Identification:

Address:  100

Label:  

Number of Line Keys:  2

Calls Per Line:  10

 

Authentication:

User ID:  100

Password:  extensionpassword

 

Server 1:


Special Interop:  Standard

Address: 192.168.1.50

Port:  0

Expires:  300

Register:  Yes

 

Message Center:

Subscription Address:  Extension#

Callback Mode:  Contact

Callback Contact:  *98100

Then click "Save" at the bottom.

 

Now, click Preferences and then Additional Preferences at the top of the page.

Click on the + to the left of Auto Answer to expand those areas.

Auto Answer SIP Calls:  Disable

Ring Class:  Ring Auto Answer

Then click "Save" at the bottom.

Configuring a Polycom Phone to download configuration files

If you want to make advanced configuration changes or configure a large number of phones, you may find it easier to configure the phones either using the EndPoint Manager Module (a commercial module available for purchase from FreePBX) or by creating your own configuration files in the /tftpboot directory of your FreePBX.

When a Polycom phone first boots up, it will query your DHCP server for an IP address to use.  It will also ask your DHCP server if it supports "Option 66."  If your DHCP Server does, the Polycom phone will obtain the information set in Option 66 and use it to attempt to download a configuration file from the source designated.  In most cases, you'll want to configure your DHCP Server to supply the following:

tftp://192.168.1.50

Note:  Replace 192.168.1.50 with the IP address of your FreePBX machine.

Now, reboot each of your phones and during boot stage, they should obtain an IP address and automatically configure themselves to download configuration data from the configuration files.

If your router does not support DHCP Option 66, then you'll need to manually configure each Polycom to download the configuration files from you FreePBX install.  Follow the instructions above to gain access to the web interface and then click on Settings, Provisioning Server.  In the Provisioning Server page, make the following changes:

 

Server Type:  TFTP
Server Address:  192.168.1.50
Note:  Replace 192.168.1.50 with the IP address of your FreePBX machine.
Now click "Save" at the bottom.

Creating Configuration Files

Most distros that include FreePBX and Asterisk (including the FreePBX Distro) includes a TFTP server that will respond to TFTP requests by supplying files contained in the /tftpboot folder.  

When a Polycom phone attempts to download configuration files, it looks for one file:

000000000000.cfg

That file contains information telling the phone where to look for other configuration related files.  Typically, that file will be configured to cause the phone to look for generic file used by all phones, a phone specific file, and a directory file.

In the sample configuration files listed below, the phones will look for the following files:

polycom.cfg

macaddress-ph.cfg

macaddress-directory.xml

(where macaddress is the MAC address of the phone in LOWER case, such as 00085d2cffff.cfg).

These files are HTML files that contain configuration parameters that are used to configure the phones.  You can place any configuration parameter into either polycom.cfg or the macaddress-ph.cfg file. Parameters contained in polycom.cfg will be loaded by every phone, while parameters in macaddress-ph.cfg will be loaded only by the phone that has that particular mac address.  If a parameter is duplicated in both files, the parameter in the macaddress-ph.cfg file will control.  Changes made using the phone interface will control over any configuration file parameter, until the phone is reset.  A phone will not load any configuration parameters unless it finds the 000000000000.cfg file.

To create the configuration files, login to your PBX's command prompt and type the following:

cd /tftpboot

nano polycom.cfg

Now insert whatever information you want to appear in the configuration file, and then hit CTRL-X and then Y to save and exit.  Repeat the above commands with the macaddress-ph.cfg in place of polycom.cfg in order to create a phone specific configuration file.

Create configuration files from the web interface

You can create a configuration file (or find the proper value for a particular configuration entry) from the web interface.  Start by configuring your Polycom phone from the web interface.  When you're done, click on "**".  Scroll down to "**," and then click the "**".  This will download a file to your computer called ** with all the entries that you configured using the web interface.

Sample Configuration Files

000000000000.cfg

<?xml version="1.0" standalone="yes"?>
<!-- Default Master SIP Configuration File-->
<!-- For information on configuring Polycom VoIP phones please refer to the -->
<!-- Configuration File Management white paper available from: -->
<!-- http://www.polycom.com/common/documents/whitepapers/configuration_file_management_on_soundpoint_ip_phones.pdf -->
<!-- $RCSfile$  $Revision: 135829 $ -->
<APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="[PHONE_MAC_ADDRESS]-ph.cfg,polycom.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY="" LICENSE_DIRECTORY="" USER_PROFILES_DIRECTORY="" CALL_LISTS_DIRECTORY="">
   <APPLICATION_SPIP300 APP_FILE_PATH_SPIP300="sip_213.ld" CONFIG_FILES_SPIP300="phone1_213.cfg, sip_213.cfg"/>
   <APPLICATION_SPIP500 APP_FILE_PATH_SPIP500="sip_213.ld" CONFIG_FILES_SPIP500="phone1_213.cfg, sip_213.cfg"/>
   <APPLICATION_SPIP301 APP_FILE_PATH_SPIP301="sip_318.ld" CONFIG_FILES_SPIP301="phone1_318.cfg, sip_318.cfg"/>
   <APPLICATION_SPIP320 APP_FILE_PATH_SPIP320="sip_334.ld" CONFIG_FILES_SPIP320=""/>
   <APPLICATION_SPIP330 APP_FILE_PATH_SPIP330="sip_334.ld" CONFIG_FILES_SPIP330=""/>
   <APPLICATION_SPIP430 APP_FILE_PATH_SPIP430="sip_327.ld" CONFIG_FILES_SPIP430="phone1_327.cfg, sip_327.cfg"/>
   <APPLICATION_SPIP501 APP_FILE_PATH_SPIP501="sip_318.ld" CONFIG_FILES_SPIP501="phone1_318.cfg, sip_318.cfg"/>
   <APPLICATION_SPIP600 APP_FILE_PATH_SPIP600="sip_318.ld" CONFIG_FILES_SPIP600="phone1_318.cfg, sip_318.cfg"/>
   <APPLICATION_SPIP601 APP_FILE_PATH_SPIP601="sip_318.ld" CONFIG_FILES_SPIP601="phone1_318.cfg, sip_318.cfg"/>
   <APPLICATION_SPIP670 APP_FILE_PATH_SPIP670="sip_403.ld" CONFIG_FILES_SPIP670=""/>
   <APPLICATION_SSIP4000 APP_FILE_PATH_SSIP4000="sip_318.ld" CONFIG_FILES_SSIP4000="phone1_318.cfg, sip_318.cfg"/>
   <APPLICATION_SSIP7000 APP_FILE_PATH_SSIP7000="sip_403.ld" CONFIG_FILES_SSIP7000=""/>
</APPLICATION>

 

polycom.cfg

<polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd">
 
<!--
This is a comment.  Anything that appears between the arrows like this will be ignored by the phone.
The phone will load configuration changes when you reboot.
-->

<!--
These lines enable you to set the Admin and User Passwords in the configuration files
-->

<device
device.set="1"
>
</device>
<device.auth.localAdminPassword
device.auth.localAdminPassword.set="1"
>
</device.auth.localAdminPassword>
<device.auth.localUserPassword
device.auth.localUserPassword.set="1"
>
</device.auth.localUserPassword>

<!--
These lines set the Admin Password to 12345 and
the user password to 4321.
-->

<device.auth
device.auth.localAdminPassword="12345"
device.auth.localUserPassword="4321"
>
</device.auth>


<!--
These lines set the dialplan to what is typical for North America.
-->


<dialplan
dialplan.digitmap="[2-9]11|0T|011xxx.T|1[2-9]xxxxxxxxx|[2-9]xxxxxxxxx|[2-9]xT|*x.T"
>
</dialplan>
<dialplan.digitmap
dialplan.digitmap.timeOut="0|1|3|3|3|2|2"
>
</dialplan.digitmap>


<!--
These lines allow the phone to get the time and date via ntp
Change gmtOffset to match your location (in seconds)
-->

<tcpIpApp.sntp
tcpIpApp.sntp.address="pool.ntp.org"
tcpIpApp.sntp.gmtOffset="-28800"
tcpIpApp.sntp.resyncPeriod="86400"
>
</tcpIpApp.sntp>

<!--
These lines tell the phone NOT to get the time and date via DHCP
-->

<tcpIpApp.sntp.address
tcpIpApp.sntp.address.overrideDHCP="1"
>
</tcpIpApp.sntp.address>

<!--
Various call options
For Directed Call Pickup to work, notifycid=yes must be added to the end
of the Asteisk SIP Settings Module.
-->

<call
call.dialtoneTimeOut="60"
call.directedCallPickupMethod="legacy"
call.directedCallPickupString="**"
call.enableOnNotRegistered="1"
call.lastCallReturnString="*69"
call.localConferenceCallHold="1"
call.localConferenceEnabled="1"
call.offeringTimeOut="60"
call.parkedCallRetrieveMethod=""
call.parkedCallRetrieveString=""
call.rejectBusyOnDnd="1"
call.ringBackTimeOut="120"
call.singleKeyPressConference="0"
call.stickyAutoLineSeize="1"
call.transferOnConferenceEnd="1"
call.urlModeDialing="0"
>
</call>
<feature.urlDialing
feature.urlDialing.enabled="0"
>
</feature.urlDialing>
<call.transfer
call.transfer.blindPreferred="1"
>
</call.transfer>
<call.callWaiting
call.callWaiting.enable="1"
call.callWaiting.ring="beep"
>
</call.callWaiting>
<up
up.simplifiedSipCallInfo="1"
>
</up>

<!--
Log and notify of missed calls on each registration
-->

<call.missedCallTracking
call.missedCallTracking.1.enabled="1"
call.missedCallTracking.2.enabled="1"
>
</call.missedCallTracking>

<!--
Add missed calls that are picked up by other extensions to the received calls list.
Change "1" to "0" if you prefer no logging of such calls.
Leave 1 as is and change "200" to "" if you prefer that such calls show up as missed calls.
-->

<call.advancedMissedCalls
call.advancedMissedCalls.addToReceivedList="1"
call.advancedMissedCalls.reasonCodes="200"
>
</call.advancedMissedCalls>


<!--
Reminders about calls left on hold
-->


<call.hold.localReminder
call.hold.localReminder.enabled="1"
call.hold.localReminder.period="30"
call.hold.localReminder.startDelay="30"
>
</call.hold.localReminder>
 
<!--
Sets QOS to current standards
-->

<qos.ip.rtp
qos.ip.rtp.dscp="46"
>
</qos.ip.rtp>
<qos.ip.callControl
qos.ip.callControl.dscp="24"
>
</qos.ip.callControl>

<!--
Enable Powersaving mode (display goes off completely when phone not used)
-->

<powerSaving
powerSaving.enable="1"
>
</powerSaving>

<!--
Sets powersaving timeouts (in minutes)
-->

<powerSaving.idleTimeout
powerSaving.idleTimeout.offHours="1"
powerSaving.idleTimeout.officeHours="120"
powerSaving.idleTimeout.userInputExtension="1"
>
</powerSaving.idleTimeout>


<!--
Sets starting hour (8:00 a.m.) and number of hours after start hour that constitute office hours
-->


<powerSaving.officeHours
powerSaving.officeHours.startHour.monday="8"
powerSaving.officeHours.duration.monday="9"
powerSaving.officeHours.startHour.tuesday="8"
powerSaving.officeHours.duration.tuesday="9"
powerSaving.officeHours.startHour.wednesday="8"
powerSaving.officeHours.duration.wednesday="9"
powerSaving.officeHours.startHour.thursday="8"
powerSaving.officeHours.duration.thursday="9"
powerSaving.officeHours.startHour.friday="8"
powerSaving.officeHours.duration.friday="9"
powerSaving.officeHours.startHour.saturday="8"
powerSaving.officeHours.duration.saturday="0"
powerSaving.officeHours.startHour.sunday="8"
powerSaving.officeHours.duration.sunday="0"
>
</powerSaving.officeHours>

<!--
Delete the section below if you want the light to blink while the phone is in
power saving mode
-->

<ind.pattern.powerSaving.step
ind.pattern.powerSaving.step.1.state.VVX300="0"
ind.pattern.powerSaving.step.1.state.VVX310="0"
ind.pattern.powerSaving.step.1.state.VVX400="0"
ind.pattern.powerSaving.step.1.state.VVX410="0"
ind.pattern.powerSaving.step.1.state.VVX500="0"
ind.pattern.powerSaving.step.1.state.VVX600="0"
>
</ind.pattern.powerSaving.step>

<!--
Enables auto answer for Intercom Calls on Asterisk
Set class to "ringAutoAnswer" for longer beep and "autoAnswer" for shorter beep
-->

<voIpProt.SIP.alertInfo
voIpProt.SIP.alertInfo.18.class="autoAnswer"
voIpProt.SIP.alertInfo.18.value="Auto Answer"
>
</voIpProt.SIP.alertInfo>
<se.rt.ringAutoAnswer
se.rt.ringAutoAnswer.callWait="callWaiting"
se.rt.ringAutoAnswer.micMute="0"
se.rt.ringAutoAnswer.name="Ring Answer"
se.rt.ringAutoAnswer.ringer="ringer2"
se.rt.ringAutoAnswer.timeout="500"
se.rt.ringAutoAnswer.type="ring-answer"
>
</se.rt.ringAutoAnswer>
<se.rt.autoAnswer
se.rt.autoAnswer.callWait="ringer2"
se.rt.autoAnswer.micMute="0"
se.rt.autoAnswer.name="Auto Answer"
se.rt.autoAnswer.ringer="ringer2"
se.rt.autoAnswer.timeout="2000"
se.rt.autoAnswer.type="answer"
>
</se.rt.autoAnswer>


<!--
Enables setting ringer using Alert-Info
<Bellcore-dr1>, <Bellcore-dr2>, and <Bellcore-dr3>
<ringer1> to <ringer9> and <ringerA> to <ringerE>
For some reason <ringer10> to <ringer14> did not work, so they are RingerA to RingerE.
ringer1- silent
ringer2- single ring, low pitch (default)
ringer3- double ring, low pitch
ringer4- single ring, medium pitch
ringer5- double ring, medium pitch
ringer6- single ring, high pitch
ringer7- double ring, high pitch
ringer8- single ring, highest pitch
ringer9- double ring, highest pitch
ringerA- double ring, medium (but not warbling)
ringerB- triple ring, medium and high pitch
ringerC- double ring, sounds like you're making an outgoing call on speakerphone
ringerD- long ring, low pitch
ringerE- Sounds like you're making a call, but only half a ring and then stops
Bellcore-dr1- ringer2
Bellcore-dr2- ringer3
Bellcore-dr3- ringerB
-->

<voIpProt.SIP.alertInfo
voIpProt.SIP.alertInfo.1.class="custom1"
voIpProt.SIP.alertInfo.1.value="ringer1"
voIpProt.SIP.alertInfo.2.class="custom2"
voIpProt.SIP.alertInfo.2.value="ringer2"
voIpProt.SIP.alertInfo.3.class="custom3"
voIpProt.SIP.alertInfo.3.value="ringer3"
voIpProt.SIP.alertInfo.4.class="custom4"
voIpProt.SIP.alertInfo.4.value="ringer4"
voIpProt.SIP.alertInfo.5.class="custom5"
voIpProt.SIP.alertInfo.5.value="ringer5"
voIpProt.SIP.alertInfo.6.class="custom6"
voIpProt.SIP.alertInfo.6.value="ringer6"
voIpProt.SIP.alertInfo.7.class="custom7"
voIpProt.SIP.alertInfo.7.value="ringer7"
voIpProt.SIP.alertInfo.8.class="custom8"
voIpProt.SIP.alertInfo.8.value="ringer8"
voIpProt.SIP.alertInfo.9.class="custom9"
voIpProt.SIP.alertInfo.9.value="ringer9"
voIpProt.SIP.alertInfo.10.class="custom10"
voIpProt.SIP.alertInfo.10.value="ringerA"
voIpProt.SIP.alertInfo.11.class="custom11"
voIpProt.SIP.alertInfo.11.value="ringerB"
voIpProt.SIP.alertInfo.12.class="custom12"
voIpProt.SIP.alertInfo.12.value="ringerC"
voIpProt.SIP.alertInfo.13.class="custom13"
voIpProt.SIP.alertInfo.13.value="ringerD"
voIpProt.SIP.alertInfo.14.class="custom14"
voIpProt.SIP.alertInfo.14.value="ringerE"
voIpProt.SIP.alertInfo.15.class="custom2"
voIpProt.SIP.alertInfo.15.value="Bellcore-dr1"
voIpProt.SIP.alertInfo.16.class="custom3"
voIpProt.SIP.alertInfo.16.value="Bellcore-dr2"
voIpProt.SIP.alertInfo.17.class="custom11"
voIpProt.SIP.alertInfo.17.value="Bellcore-dr3"
>
</voIpProt.SIP.alertInfo>
<se.rt.default
se.rt.default.callWait="callWaiting"
se.rt.default.micMute="0"
se.rt.default.name="Default"
se.rt.default.ringer="ringer2"
se.rt.default.timeout="2000"
se.rt.default.type="ring"
>
</se.rt.default>
<se.rt.custom1
se.rt.custom1.callWait="callWaiting"
se.rt.custom1.micMute="0"
se.rt.custom1.name="custom1"
se.rt.custom1.ringer="ringer1"
se.rt.custom1.timeout="2000"
se.rt.custom1.type="ring"
>
</se.rt.custom1>
<se.rt.custom2
se.rt.custom2.callWait="callWaiting"
se.rt.custom2.micMute="0"
se.rt.custom2.name="custom2"
se.rt.custom2.ringer="ringer2"
se.rt.custom2.timeout="2000"
se.rt.custom2.type="ring"
>
</se.rt.custom2>
<se.rt.custom3
se.rt.custom3.callWait="callWaiting"
se.rt.custom3.micMute="0"
se.rt.custom3.name="custom3"
se.rt.custom3.ringer="ringer3"
se.rt.custom3.timeout="2000"
se.rt.custom3.type="ring"
>
</se.rt.custom3>
<se.rt.custom4
se.rt.custom4.callWait="callWaiting"
se.rt.custom4.micMute="0"
se.rt.custom4.name="custom4"
se.rt.custom4.ringer="ringer4"
se.rt.custom4.timeout="2000"
se.rt.custom4.type="ring"
>
</se.rt.custom4>
<se.rt.custom5
se.rt.custom5.callWait="callWaiting"
se.rt.custom5.micMute="0"
se.rt.custom5.name="custom5"
se.rt.custom5.ringer="ringer5"
se.rt.custom5.timeout="2000"
se.rt.custom5.type="ring"
>
</se.rt.custom5>
<se.rt.custom6
se.rt.custom6.callWait="callWaiting"
se.rt.custom6.micMute="0"
se.rt.custom6.name="custom6"
se.rt.custom6.ringer="ringer6"
se.rt.custom6.timeout="2000"
se.rt.custom6.type="ring"
>
</se.rt.custom6>
<se.rt.custom7
se.rt.custom7.callWait="callWaiting"
se.rt.custom7.micMute="0"
se.rt.custom7.name="custom7"
se.rt.custom7.ringer="ringer7"
se.rt.custom7.timeout="2000"
se.rt.custom7.type="ring"
>
</se.rt.custom7>
<se.rt.custom8
se.rt.custom8.callWait="callWaiting"
se.rt.custom8.micMute="0"
se.rt.custom8.name="custom8"
se.rt.custom8.ringer="ringer8"
se.rt.custom8.timeout="2000"
se.rt.custom8.type="ring"
>
</se.rt.custom8>
<se.rt.custom9
se.rt.custom9.callWait="callWaiting"
se.rt.custom9.micMute="0"
se.rt.custom9.name="custom9"
se.rt.custom9.ringer="ringer9"
se.rt.custom9.timeout="2000"
se.rt.custom9.type="ring"
>
</se.rt.custom9>
<se.rt.custom10
se.rt.custom10.callWait="callWaiting"
se.rt.custom10.micMute="0"
se.rt.custom10.name="custom10"
se.rt.custom10.ringer="ringer10"
se.rt.custom10.timeout="2000"
se.rt.custom10.type="ring"
>
</se.rt.custom10>
<se.rt.custom11
se.rt.custom11.callWait="callWaiting"
se.rt.custom11.micMute="0"
se.rt.custom11.name="custom11"
se.rt.custom11.ringer="ringer11"
se.rt.custom11.timeout="2000"
se.rt.custom11.type="ring"
>
</se.rt.custom11>
<se.rt.custom12
se.rt.custom12.callWait="callWaiting"
se.rt.custom12.micMute="0"
se.rt.custom12.name="custom12"
se.rt.custom12.ringer="ringer12"
se.rt.custom12.timeout="2000"
se.rt.custom12.type="ring"
>
</se.rt.custom12>
<se.rt.custom13
se.rt.custom13.callWait="callWaiting"
se.rt.custom13.micMute="0"
se.rt.custom13.name="custom13"
se.rt.custom13.ringer="ringer13"
se.rt.custom13.timeout="2000"
se.rt.custom13.type="ring"
>
</se.rt.custom13>
<se.rt.custom14
se.rt.custom14.callWait="callWaiting"
se.rt.custom14.micMute="0"
se.rt.custom14.name="custom14"
se.rt.custom14.ringer="ringer14"
se.rt.custom14.timeout="2000"
se.rt.custom14.type="ring"
>
</se.rt.custom14>
</polycomConfig>

 

macaddress-ph.cfg

<polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd">
<!--
Registration Options
Change 192.168.1.50 to the IP address of your PBX
Change 100 to the extension number
change password to the actual password used by your extension
To set the phone up to use multiple registrations, duplicate the lines below and change "reg.1" to "reg.2"
-->
<reg
reg.1.server.1.address="192.168.1.50"
reg.1.server.1.expires="300"
reg.1.address="100"
reg.1.auth.password="password"
reg.1.auth.userId="100"
reg.1.label="X. 100"
reg.1.displayName=""
reg.1.lineKeys="2"
reg.1.ringType="ringer2"
>
</reg>
<!--
Calls per line key
-->
<call
call.callsPerLineKey="8"
>
</call>
<!--
Message Waiting Options
Change *98 to match the code used to access voicemail
Change 100 to whatever extension number you are configuring
If you set the phone up to use multiple registrations, duplicate the lines below and change "msg.mwi.1" to "msg.mwi.2"
-->
<msg.mwi
msg.mwi.1.callBackMode="contact"
msg.mwi.1.callBack="*98100"
msg.mwi.1.subscribe="100"
>
</msg.mwi>
<msg
msg.bypassInstantMessage="0"
>
</msg>
<up
up.oneTouchVoiceMail="1"
up.mwiVisible="0"
>
</up>
<!--
These lines set the Busy Lamp Fields.
They will appear immediately after the line buttons.
-->
<attendant.resourceList
attendant.resourceList.1.address="101"
attendant.resourceList.1.callAddress=""
attendant.resourceList.1.label="Michelle"
attendant.resourceList.1.proceedingIsRecipient="0"
attendant.resourceList.1.type="normal"

attendant.resourceList.2.address="102"
attendant.resourceList.2.callAddress=""
attendant.resourceList.2.label="John"
attendant.resourceList.2.proceedingIsRecipient="0"
attendant.resourceList.2.type="normal"


attendant.resourceList.3.address="103"
attendant.resourceList.3.callAddress=""
attendant.resourceList.3.label="Dave"
attendant.resourceList.3.proceedingIsRecipient="0"
attendant.resourceList.3.type="normal"


attendant.resourceList.4.address="104"
attendant.resourceList.4.callAddress=""
attendant.resourceList.4.label="Mike"
attendant.resourceList.4.proceedingIsRecipient="0"
attendant.resourceList.4.type="normal"


attendant.resourceList.5.address="105"
attendant.resourceList.5.callAddress=""
attendant.resourceList.5.label="Sally"
attendant.resourceList.5.proceedingIsRecipient="0"
attendant.resourceList.5.type="normal"


attendant.resourceList.6.address="106"
attendant.resourceList.6.callAddress=""
attendant.resourceList.6.label="Lucy"
attendant.resourceList.6.proceedingIsRecipient="0"
attendant.resourceList.6.type="normal"


attendant.resourceList.7.address="107"
attendant.resourceList.7.callAddress=""
attendant.resourceList.7.label="Abraham"
attendant.resourceList.7.proceedingIsRecipient="0"
attendant.resourceList.7.type="normal"


attendant.resourceList.8.address="108"
attendant.resourceList.8.callAddress=""
attendant.resourceList.8.label="Rick"
attendant.resourceList.8.proceedingIsRecipient="0"
attendant.resourceList.8.type="normal"


attendant.resourceList.9.address="109"
attendant.resourceList.9.callAddress=""
attendant.resourceList.9.label="Bill"
attendant.resourceList.9.proceedingIsRecipient="0"
attendant.resourceList.9.type="normal"


attendant.resourceList.10.address="110"
attendant.resourceList.10.callAddress=""
attendant.resourceList.10.label="Sean"
attendant.resourceList.10.proceedingIsRecipient="0"
attendant.resourceList.10.type="normal"
>
</attendant.resourceList>
<!--
These lines set the Busy Lamp Field Options.  ringer14 is a splash.  ringer1 is silent.
-->
<attendant
attendant.reg="1"
attendant.ringType="ringer1"
attendant.uri=""
>
</attendant>
<attendant.behaviors.display.remoteCallerID
attendant.behaviors.display.remoteCallerID.automata="1"
attendant.behaviors.display.remoteCallerID.normal="1"
>
</attendant.behaviors.display.remoteCallerID>


<!--
These lines indicate whether phones monitored via BLF
will show the Caller ID when they ring.
With these off, you can still obtain the information by pressing
and holding the BLF key while it is flashing.
-->


<attendant.behaviors.display.spontaneousCallAppearances
attendant.behaviors.display.spontaneousCallAppearances.automata="0"
attendant.behaviors.display.spontaneousCallAppearances.normal="0"
>
</attendant.behaviors.display.spontaneousCallAppearances>


<!--
This enables advanced feature keys, which is necessary in order to customize the softkeys (keys at the bottom)
-->


<feature.enhancedFeatureKeys
feature.enhancedFeatureKeys.enabled="1"
>
</feature.enhancedFeatureKeys>


<!--
These lines set the custom softkeys.
Note:  For softkeys, it's easiest if you put them in order of which postion you want, and then set the
position (insert=) to 0.  Position 0 simply locates the first empty space and puts the key there.
All other insert= will put the key in that space, and then push everything else to the right, including
empty spaces and other keys that were put in those spaces prior to them.
In the first softkey:  Change *98 to match the code used to access voicemail.  Change 100 to whatever extension number you are configuring
-->
 
<softkey
softkey.1.action="*98100$Tinvite$$Cwaitconnect$$Cpause2$1234#$Tdtmf$"
softkey.1.enable="1"
softkey.1.insert="0"
softkey.1.label="Voicemail"
softkey.1.precede="0"
softkey.1.use.active="0"
softkey.1.use.alerting="0"
softkey.1.use.dialtone="0"
softkey.1.use.hold="0"
softkey.1.use.idle="1"
softkey.1.use.proceeding="0"
softkey.1.use.setup="0"


softkey.2.action="140$Trefer$"
softkey.2.enable="1"
softkey.2.insert="0"
softkey.2.label="Xfer x. 140"
softkey.2.precede="0"
softkey.2.use.active="0"
softkey.2.use.alerting="0"
softkey.2.use.dialtone="0"
softkey.2.use.hold="0"
softkey.2.use.idle="1"
softkey.2.use.proceeding="0"
softkey.2.use.setup="0"


softkey.3.action="*78$Tinvite$"
softkey.3.enable="1"
softkey.3.insert="0"
softkey.3.label="Pickup"
softkey.3.precede="0"
softkey.3.use.active="1"
softkey.3.use.alerting="0"
softkey.3.use.dialtone="1"
softkey.3.use.hold="1"
softkey.3.use.idle="0"
softkey.3.use.proceeding="0"
softkey.3.use.setup="0"


softkey.4.action="$FDirectories$"
softkey.4.enable="1"
softkey.4.insert="0"
softkey.4.label="Directory"
softkey.4.precede="0"
softkey.4.use.active="1"
softkey.4.use.alerting="0"
softkey.4.use.dialtone="0"
softkey.4.use.hold="1"
softkey.4.use.idle="1"
softkey.4.use.proceeding="0"
softkey.4.use.setup="0"


softkey.5.action="*78$Tinvite$"
softkey.5.enable="1"
softkey.5.insert="3"
softkey.5.label="Pickup"
softkey.5.precede="0"
softkey.5.use.active="0"
softkey.5.use.alerting="0"
softkey.5.use.dialtone="0"
softkey.5.use.hold="0"
softkey.5.use.idle="1"
softkey.5.use.proceeding="0"
softkey.5.use.setup="0"


softkey.6.action="150$Trefer$"
softkey.6.enable="1"
softkey.6.insert="5"
softkey.6.label="Xfer x. 150"
softkey.6.precede="0"
softkey.6.use.active="1"
softkey.6.use.alerting="0"
softkey.6.use.dialtone="0"
softkey.6.use.hold="0"
softkey.6.use.idle="0"
softkey.6.use.proceeding="0"
softkey.6.use.setup="0"


softkey.7.action="160$Trefer$"
softkey.7.enable="1"
softkey.7.insert="6"
softkey.7.label="Xfer x. 160"
softkey.7.precede="0"
softkey.7.use.active="1"
softkey.7.use.alerting="0"
softkey.7.use.dialtone="0"
softkey.7.use.hold="0"
softkey.7.use.idle="0"
softkey.7.use.proceeding="0"
softkey.7.use.setup="0"
>
</softkey>
<!--
These lines enable and disable various default softkeys
-->
<softkey.feature
softkey.feature.buddies="0"
softkey.feature.callers="0"
softkey.feature.callers.SPIP235T="1"
softkey.feature.callers.SPIP321="1"
softkey.feature.callers.SPIP331="1"
softkey.feature.callers.SPIP335="1"
softkey.feature.directories="1"
softkey.feature.directories.SPIP235T="1"
softkey.feature.directories.SPIP321="1"
softkey.feature.directories.SPIP331="1"
softkey.feature.directories.SPIP335="1"
softkey.feature.endcall="1"
softkey.feature.forward="0"
softkey.feature.join="1"
softkey.feature.mystatus="1"
softkey.feature.newcall="0"
softkey.feature.split="1"
>
</softkey.feature>
<softkey.feature.basicCallManagement
softkey.feature.basicCallManagement.redundant="1"
>
</softkey.feature.basicCallManagement>


<!--
These lines enable and disable various softkeys that
will appear at the bottom of the phone.  Note
that the Directed Call Pickup Entry does not actually
enable or disable the feature, but just the presence of
a button for Pickup.  BLF keys will perform Directed
Call Pickup regardless of how this is set.
-->


<feature.presence
feature.presence.enabled="0"
>
</feature.presence>
<feature.directedCallPickup
feature.directedCallPickup.enabled="0"
>
</feature.directedCallPickup>
<feature.lastCallReturn
feature.lastCallReturn.enabled="0"
>
</feature.lastCallReturn>


<!--
These lines set the backlight options
-->


<up.backlight
up.backlight.onIntensity="3"
up.backlight.timeout="5"
up.backlight.idleIntensity="0"
>
</up.backlight>


<!--
Is the local directory read only?  0=no, 1=yes.
-->


<dir.local
dir.local.readonly="0"
>
</dir.local>


<!--
Turn off the message waiting beep.  Remove these lines to turn it back on.
-->


<se.pat.misc.messageWaiting.inst
se.pat.misc.messageWaiting.inst.1.value="0"
se.pat.misc.messageWaiting.inst.2.value="0"
se.pat.misc.messageWaiting.inst.3.value="0"
>
</se.pat.misc.messageWaiting>
</polycomConfig>

 

macaddress-directory.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- $RCSfile$  $Revision: 35928 $ -->
<directory>
        <item_list>
                <item>
                        <ln>Smith</ln>
                        <fn>John</fn>
                        <ct>12125551200</ct>
                        <sd>1</sd>
                        <rt></rt>
                        <ar>0</ar>
                        <bw>0</bw>
                        <bb>0</bb>
                </item>
                <item>
                        <ln>Smith</ln>
                        <fn>David</fn>
                        <ct>12125551201</ct>
                        <sd>2</sd>
                        <rt></rt>
                        <ar>0</ar>
                        <bw>0</bw>
                        <bb>0</bb>
                </item>
                <item>
                        <ln>Smith</ln>
                        <fn>Joseph</fn>
                        <ct>12125551202</ct>
                        <sd>3</sd>
                        <rt></rt>
                        <ar>0</ar>
                        <bw>0</bw>
                        <bb>0</bb>
                </item>
        </item_list>
</directory>

Updating the firmware

Polycom refers to its firmware as "UC Software."  It is distributed in a .zip file that contains the actual firmware file and a set of sample configuration files.

The firmware files end in .ld and the configuration files end in .cfg

Polycom has a variety of firmware versions (3.x, 4.x, and 5.x).  

To find which versions of firmware work for which phones, check these links:

VVX Phones:

http://downloads.polycom.com/voice/voip/uc_sw_releases_matrix.html

Soundpoint IP Phones:

http://downloads.polycom.com/voice/voip/sip_sw_releases_matrix.html

Firmware is distributed in a combined version (a single .ld file that supports all of the phones that work with that version) and a split version (a separate .ld file for each supported phone).  Generally, you want to use the split version (because they are smaller and will load faster), but the combined version is sometimes required to upgrade from one major version to another (i.e., from version 3 to 4).  If you choose the split versions, consult the Administrator's Guide to find the specific file that works with each phone.  For example,

• For the VVX 300: 3111-46135-002.sip.ld 
• For the VVX 310: 3111-46161-001.sip.ld 
• For the VVX 400: 3111-46157-002.sip.ld 
• For the VVX 410: 3111-46162-001.sip.ld

Polycom provides firmware files for download here:

http://support.polycom.com/PolycomService/support/us/support/voice/polycom_uc/index.html

and here (latest):

http://support.polycom.com/PolycomService/support/us/support/voice/polycom_uc/polycom_uc_software_release.html

Firmware updates can be installed by placing the firmware files into the /tftpboot folder, configuring the phones to obtain configuration files from your PBX (see above), and then rebooting the phones.

Rebooting the phones

To reboot most Polycom phones, pull the power, or enter the menu screen and find the appropriate option.

For the VVX3xx/VVX4xx series, you can pick up the handset and then press and hold 0, 1, and 3 at the same until the phone reboots.

For other phones, see the Administration Guide for the appropriate reboot combination.

For more information 

Polycom's community forums have a frequently asked questions section that answers many questions regarding the use of Polycom phones:

http://community.polycom.com/t5/VoIP/FAQ-VoIP-frequently-asked-questions/td-p/4205

You can find more information about configuration file options in the Polycom Administration Guide for your phone and firmware:

http://support.polycom.com/PolycomService/support/us/support/voice/index.html

For Polycom phones that require paper labels on buttons, you can find a label template in the section for the phone at this link:

http://support.polycom.com/PolycomService/support/us/support/voice/index.html

  • No labels