Asterisk/Polycom VVX Series

From NURDspace
Revision as of 10:38, 25 October 2022 by R3boot (talk | contribs)

Resetting the phone with admin unknown password

  • press cancel
  • do key combination 135
  • enter in MAC address in lower case and press ok
  • ....
  • profit
  • default pass is 456

Setting up provisioning

You will need:

  • A DHCP server which can set options
  • A webserver which can serve static files

How it works

During booting, a DHCP lease is requested. In this lease, you can provide an option which can contain a URL pointing to a provisioning server. If this option is provided, the phone will pull various files from the provisioning server. The files we will be dealing with are the following:

Filename Description
<mac address>.cfg Global configuration for the phone(?)
<mac address>-web.cfg Here you configure your SIP settings and other user related changes
<mac address>-phone.cfg This is where you configure the phone itself
<mac address>-directory.xml The phone directory

During boot, these files will be fetched by several different subsystems on the phone to perform the actual configuration. Note that the phone also will look for '000000000000' as a mac address, allowing you to generalize configuration between phones by creating 000000000000.cfg etc files.

DHCP Options

To make life easier, polycom has different dhcp options depending on the type of phone you use. For the VVX410 you need to configure option 161. For the VVX500, the option is 160. Both option 160 and 161 are of type string, and have the format of 'http://host.example.com'. This url needs to be resolvable from your phone.

Web Server

Configure a directory on your phone where you can store the configuration files. In there, drop the following files. Be sure to modify the files below to suit your own configuration. More information about the keys used can be found on the polycom website.

<mac address>.cfg

I am unsure what to put in this file. For now, it has the structure below.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PHONE_CONFIG>
</PHONE_CONFIG>

<mac address>-web.cfg

In this file you configure most of the user specific settings. Above all, here you configure your SIP account. You can also enable the HTTP interface in this section (which is disabled by default in this config)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PHONE_CONFIG>
        <WEB
                lcl.datetime.time.24HourClock="1"
                tcpIpApp.sntp.address="europe.pool.ntp.org"
                up.screenSaver.enabled="0"
                voIpProt.SIP.outboundProxy.address="asterisk.example.com"
                voIpProt.SIP.outboundProxy.port="5060"
                voIpProt.SIP.outboundProxy.transport="UDPOnly"
                bg.background.enabled="1"
                bg.color.bm.1.name="http://server.example.com/background.jpeg"
                bg.color.selection="2,1"
                reg.1.address="SIP_USERNAME"
                reg.1.auth.userId="SIP_USERNAME"
                reg.1.auth.password="SIP_PASSWORD"
                reg.1.displayName="The name you want visible in your display"
                voIpProt.server.1.address="asterisk.example.com"
                voIpProt.server.1.port="5060"
                voIpProt.server.1.transport="UDPOnly"
                powerSaving.enable="1"
                httpd.enabled="0"
                httpd.cfg.enabled="0"
                prov.autoConfigUpload.enabled="0"
                feature.flexibleLineKey.enable="1"
        />
</PHONE_CONFIG>

<mac address>-phone.cfg

This is where you set all device specific settings. Above all, this is where you configure the admin pin and syslog forwarding.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PHONE_CONFIG>
        <DEVICE_SETTINGS
                device.set="1"
                device.auth.localAdminPassword.set="1"
                device.auth.localAdminPassword="456789"
                device.auth.localUserPassword.set="0"
                device.tr069.cpe.password.set="0"
                device.tr069.acs.password.set="0"
                device.pacfile.password.set="0"
                device.net.dot1x.password.set="0"
                device.prov.lyncDeviceUpdatePin.set="0"
                device.prov.lyncDeviceUpdatePassword.set="0"
                device.auth.localAdminPassword.set="0"
                device.logincred.pin.set="0"
                device.logincred.password.set="0"
                device.prov.password.set="0"
                device.baseProfile.set="1"
                device.baseProfile="Generic"
                device.passwordConfigured.set="1"
                device.passwordConfigured="1"
                device.prov.serverType.set="1"
                device.prov.serverType="FTP"
                device.dhcp.enabled.set="1"
                device.dhcp.enabled="1"
                device.net.enabled.set="1"
                device.net.enabled="1"
                device.net.ipAddress.set="1"
                device.net.ipAddress="0.0.0.0"
                device.net.subnetMask.set="1"
                device.net.subnetMask="255.0.0.0"
                device.net.IPgateway.set="1"
                device.net.IPgateway="0.0.0.0"
                device.net.ipStack.set="1"
                device.net.ipStack="V4Only"
                device.net.preferredNetwork.set="1"
                device.net.preferredNetwork="V6"
                device.net.ipv6AddrDisc.set="1"
                device.net.ipv6AddrDisc="DHCP"
                device.net.ipv6PrivacyExtension.set="1"
                device.net.ipv6PrivacyExtension="EUI64"
                device.net.ipv6Address.set="1"
                device.net.ipv6Address="::"
                device.net.ipv6ULAAddress.set="1"
                device.net.ipv6ULAAddress="::"
                device.net.ipv6LinkAddress.set="1"
                device.net.ipv6LinkAddress="::"
                device.net.ipv6Gateway.set="1"
                device.net.ipv6Gateway="::"
                device.net.vlanId.set="1"
                device.net.vlanId=""
                device.net.cdpEnabled.set="1"
                device.net.cdpEnabled="1"
                device.net.lldpEnabled.set="1"
                device.net.lldpEnabled="1"
                device.net.lldpCapabilitiesRequired.set="1"
                device.net.lldpCapabilitiesRequired="1"
                device.net.lldpFastStartCount.set="1"
                device.net.lldpFastStartCount="5"
                device.net.etherVlanFilter.set="1"
                device.net.etherVlanFilter="1"
                device.net.etherStormFilter.set="1"
                device.net.etherStormFilter="1"
                device.net.etherStormFilterPpsValue.set="1"
                device.net.etherStormFilterPpsValue="38"
                device.net.icmp.echoRepliesMask.set="1"
                device.net.icmp.echoRepliesMask="1"
                device.net.etherModeLAN.set="1"
                device.net.etherModeLAN="Auto"
                device.net.etherModePC.set="1"
                device.net.etherModePC="Auto"
                device.dhcp.dhcpVlanDiscUseOpt.set="1"
                device.dhcp.dhcpVlanDiscUseOpt="Fixed"
                device.dhcp.dhcpVlanDiscOpt.set="1"
                device.dhcp.dhcpVlanDiscOpt="129"
                device.dhcp.dhcpv6VlanDiscOpt.set="1"
                device.dhcp.dhcpv6VlanDiscOpt="1"
                device.net.cachedIPAddress.set="1"
                device.net.cachedIPAddress="0"
                device.net.cachedIPAddressRetryTime.set="1"
                device.net.cachedIPAddressRetryTime="3600"
                device.dhcp.bootSrvUseOpt.set="1"
                device.dhcp.bootSrvUseOpt="CustomAndDefault"
                device.dhcp.bootSrvOpt.set="1"
                device.dhcp.bootSrvOpt="161"
                device.dhcp.bootSrvOptType.set="1"
                device.dhcp.bootSrvOptType="String"
                device.dhcp.option60Type.set="1"
                device.dhcp.option60Type="ASCII"
                device.prov.upgradeServer.set="1"
                device.prov.upgradeServer=""
                device.prov.serverName.set="1"
                device.prov.serverName=""
                device.prov.user.set="1"
                device.prov.user="PlcmSpIp"
                device.prov.redunAttemptLimit.set="1"
                device.prov.redunAttemptLimit="3"
                device.prov.redunInterAttemptDelay.set="1"
                device.prov.redunInterAttemptDelay="1"
                device.prov.maxRedunServers.set="1"
                device.prov.maxRedunServers="8"
                device.prov.AutoProvEnabled.set="1"
                device.prov.AutoProvEnabled="0"
                device.prov.networkEnvironment.set="1"
                device.prov.networkEnvironment="1"
                device.prov.tagSerialNo.set="1"
                device.prov.tagSerialNo="0"
                device.cma.mode.set="1"
                device.cma.mode="Disabled"
                device.cma.serverName.set="1"
                device.cma.serverName=""
                device.cma.disableTlsForDebug.set="1"
                device.cma.disableTlsForDebug="0"
                device.ntlm.versionMode.set="1"
                device.ntlm.versionMode="v2"
                device.logincred.user.set="1"
                device.logincred.user=""
                device.logincred.domain.set="1"
                device.logincred.domain=""
                device.logincred.extension.set="1"
                device.logincred.extension=""
                device.sec.TLS.OCSP.enabled.set="1"
                device.sec.TLS.OCSP.enabled="0"
                device.sec.TLS.FIPS.enabled.set="1"
                device.sec.TLS.FIPS.enabled="0"
                device.sec.TLS.protocol.dot1x.set="1"
                device.sec.TLS.protocol.dot1x="TLSv1_0"
                device.sec.TLS.protocol.syslog.set="1"
                device.sec.TLS.protocol.syslog="TLSv1_0"
                device.sec.TLS.protocol.prov.set="1"
                device.sec.TLS.protocol.prov="TLSv1_0"
                device.sec.TLS.profile.cipherSuiteDefault1.set="1"
                device.sec.TLS.profile.cipherSuiteDefault1="1"
                device.sec.TLS.profile.cipherSuite1.set="1"
                device.sec.TLS.profile.cipherSuite1=""
                device.sec.TLS.profile.caCertList1.set="1"
                device.sec.TLS.profile.caCertList1="All"
                device.sec.TLS.profile.deviceCert1.set="1"
                device.sec.TLS.profile.deviceCert1="Builtin"
                device.sec.TLS.profile.cipherSuiteDefault2.set="1"
                device.sec.TLS.profile.cipherSuiteDefault2="1"
                device.sec.TLS.profile.cipherSuite2.set="1"
                device.sec.TLS.profile.cipherSuite2=""
                device.sec.TLS.profile.caCertList2.set="1"
                device.sec.TLS.profile.caCertList2="All"
                device.sec.TLS.profile.deviceCert2.set="1"
                device.sec.TLS.profile.deviceCert2="Builtin"
                device.sec.TLS.profile.cipherSuiteDefault3.set="1"
                device.sec.TLS.profile.cipherSuiteDefault3="1"
                device.sec.TLS.profile.cipherSuite3.set="1"
                device.sec.TLS.profile.cipherSuite3=""
                device.sec.TLS.profile.caCertList3.set="1"
                device.sec.TLS.profile.caCertList3="Platform3"
                device.sec.TLS.profile.deviceCert3.set="1"
                device.sec.TLS.profile.deviceCert3="Platform3"
                device.sec.TLS.syslog.strictCertCommonNameValidation.set="1"
                device.sec.TLS.syslog.strictCertCommonNameValidation="1"
                device.sec.TLS.profileSelection.syslog.set="1"
                device.sec.TLS.profileSelection.syslog="PlatformProfile1"
                device.sec.TLS.prov.strictCertCommonNameValidation.set="1"
                device.sec.TLS.prov.strictCertCommonNameValidation="1"
                device.sec.TLS.profileSelection.provisioning.set="1"
                device.sec.TLS.profileSelection.provisioning="PlatformProfile1"
                device.sec.TLS.dot1x.strictCertCommonNameValidation.set="1"
                device.sec.TLS.dot1x.strictCertCommonNameValidation="1"
                device.sec.TLS.profileSelection.dot1x.set="1"
                device.sec.TLS.profileSelection.dot1x="PlatformProfile1"
                device.sec.coreDumpEncryption.enabled.set="1"
                device.sec.coreDumpEncryption.enabled="1"
                device.syslog.serverName.set="1"
                device.syslog.serverName="syslog.example.com"
                device.syslog.transport.set="1"
                device.syslog.transport="UDP"
                device.syslog.facility.set="1"
                device.syslog.facility="16"
                device.syslog.renderLevel.set="1"
                device.syslog.renderLevel="4"
                device.syslog.prependMac.set="1"
                device.syslog.prependMac="1"
                device.sntp.serverName.set="1"
                device.sntp.serverName="europe.pool.ntp.org"
                device.sntp.gmtOffset.set="1"
                device.sntp.gmtOffset="3600"
                device.sntp.gmtOffsetcityID.set="1"
                device.sntp.gmtOffsetcityID="54"
                device.dns.serverAddress.set="1"
                device.dns.serverAddress="0.0.0.0"
                device.dns.altSrvAddress.set="1"
                device.dns.altSrvAddress="0.0.0.0"
                device.dns.domain.set="1"
                device.dns.domain=""
                device.hostname.set="1"
                device.hostname=""
                device.em.power.set="1"
                device.em.power="1"
                device.prov.ztpEnabled.set="1"
                device.prov.ztpEnabled="0"
                device.prov.ztEnabled.set="1"
                device.prov.ztEnabled="0"
                device.prov.curlPartialFileError.enabled.set="1"
                device.prov.curlPartialFileError.enabled="0"
                device.prov.lyncDeviceUpdateEnabled.set="1"
                device.prov.lyncDeviceUpdateEnabled="0"
                device.prov.lyncDeviceUpdateUser.set="1"
                device.prov.lyncDeviceUpdateUser=""
                device.prov.lyncDeviceUpdateDomain.set="1"
                device.prov.lyncDeviceUpdateDomain=""
                device.prov.lyncDeviceUpdateExtension.set="1"
                device.prov.lyncDeviceUpdateExtension=""
                device.prov.lyncDeviceUpdateCredentialType.set="1"
                device.prov.lyncDeviceUpdateCredentialType="1"
                device.net.dot1x.enabled.set="1"
                device.net.dot1x.enabled="0"
                device.net.dot1x.method.set="1"
                device.net.dot1x.method="EAP-MD5"
                device.net.dot1x.identity.set="1"
                device.net.dot1x.identity=""
                device.net.dot1x.anonid.set="1"
                device.net.dot1x.anonid=""
                device.net.dot1x.eapFastInBandProv.set="1"
                device.net.dot1x.eapFastInBandProv="0"
                device.ipv6.icmp.genDestUnreachable.set="1"
                device.ipv6.icmp.genDestUnreachable="1"
                device.ipv6.icmp.echoReplies.set="1"
                device.ipv6.icmp.echoReplies="1"
                device.ipv6.icmp.ignoreRedirect.set="1"
                device.ipv6.icmp.ignoreRedirect="1"
                device.ipv6.icmp.txRateLimiting.set="1"
                device.ipv6.icmp.txRateLimiting="1000"
                device.feature.tr069.enabled.set="1"
                device.feature.tr069.enabled="0"
                device.tr069.acs.url.set="1"
                device.tr069.acs.url=""
                device.tr069.acs.username.set="1"
                device.tr069.acs.username="PlcmSpIp"
                device.tr069.cpe.username.set="1"
                device.tr069.cpe.username="PlcmSpIp"
                device.tr069.periodicInform.enabled.set="1"
                device.tr069.periodicInform.enabled="0"
                device.tr069.periodicInform.interval.set="1"
                device.tr069.periodicInform.interval="18000"
                device.tr069.upgradesManaged.enabled.set="1"
                device.tr069.upgradesManaged.enabled="0"
                device.tr069.upgradeUrl.set="1"
                device.tr069.upgradeUrl=""
                device.tr069.upgradeStatus.set="1"
                device.tr069.upgradeStatus="DontUpgrade"
                device.auxPort.enable.set="1"
                device.auxPort.enable="1"
                device.theme.set="1"
                device.theme="Classic"
                device.icmp.ipv4IcmpIgnoreRedirect.set="1"
                device.icmp.ipv4IcmpIgnoreRedirect="1"
                device.spProfile.set="1"
                device.spProfile="Default"
                device.mac.hide.set="1"
                device.mac.hide="0"
                device.da.enabled.set="1"
                device.da.enabled="0"
                device.serial.enable.set="1"
                device.serial.enable="0"
                device.lync.timeZone.set="1"
                device.lync.timeZone="1"
        />
</PHONE_CONFIG>