Unable to Auto-Provision Polycom SoundPoint IP 550

Status
Not open for further replies.

Drake

Free User
Joined
May 13, 2019
Messages
7
Reaction score
0
Hi, I'm having trouble provisioning a Polycom SoundPoint IP 550. I've used PBXExpress to setup a Debian based 3CX instance on AWS. I've configured it with a SIP trunk. I'm trying to get a phone to provision and it doesn't seem to be working. I've tried using DHCP option 66, option 160 (a weird Polycom specific option, neither seem to work). I've tried just explicitly providing the provisioning url in the phone's settings (bypassing Option 66/160 altogether). I've opened up the firewall on AWS to allow all traffic from my netblock. I've manually upgraded the firmware of the polycom to the suggested version as specified in the provisioning guide for this phone. I reset the device to factory defaults as instructed, then upgraded firmware to recommended version.

It seems to me that the guide for provisioning the SoundPoint phones is not very detailed. For example, in this article it says that I need to use a Session Border Controller locally on my LAN to use these older phones. Well I went through the trouble to set one up using the 3CX SBC software on debian, but nowhere in the provisioning documentation does it explain just how I'm supposed to tell the Polycom phone how to use the SBC instead of just reaching out directly to the 3cx instance for provisioning files.

On the whole, I'm rather lost and in need of any resources I can get my hands on to show me how to provision these phones. I would love to follow any troubleshooting steps any of you can provide, or provide any configuration files/information requested. Thanks for reading and any response you can give.
 
Did you try using a SBC? I wonder if that is truly required to get the phones to communicate with the external 3CX instance?

The idea that phones can connect to an internal server and not an external one sounds ridiculous. It's just a difference in IP address right?
 
That document states: Known limitations of Polycom 321, 331, 335, 450, 550, 560, 650 & 670 are:

  1. No PnP Support
  2. No STUN Support
  3. No SBC Support
So I never even tried. I was trying to get it download the provisioning code hard-coded it just flat out refused. Trying the VVX300 tonight.
 
Well, shoot. I missed that SBC's aren't supported. I'm gonna keep trying and see if I can't get it to work. I'll let you know if I find anything.

In the mean time, if anyone else might have some input on this it would be greatly appreciated.
 
So I'm running a packet capture at boot time, monitoring all traffic to/from the polycom. The polycom is submitting HTTP GET requests to the server (dns reso works, gets good address and TCP conversation begins successfully. SYN, ACK, all that) and the provisioning server returns a 403 forbidden.

The client specifically requests 123456abcdef-directory.xml (where 123456abcdef is actually the MAC address for the phone) from the server. I've checked the provisioning directory while ssh'd into the debian box. That file is there, leading me to believe that I've done my job on the 3CX web portal side correctly (MAC address matches and 3CX server has provided the files for that specific client) when adding the phone to my extension.

But again, the server returns 403 forbidden. Why? What do I need to do to authenticate the phone and allow it to retrieve the files it needs? I've cleared the server user and password fields as instructed and the MAC address is correct. Any advice 3CX folks?
 
Here are the log messages from the App log, found from he phone's web interface (cleansed of specific MAC and subnet info):

000009.536|log |*|03|---------- Initial log entry ----------
000009.538|so |*|03|Platform: Model=SoundPoint IP 550, Assembly=2345-12500-001 Rev=Y Region=
000009.538|so |*|03|Platform: Interface eth0 MAC=0004f2xxxxxx
000009.538|so |*|03|Platform: BootBlock=3.0.2.0024 (12500-001) 30-Nov-10 15:00
000009.538|so |*|03|Platform: Updater=5.0.10.0028 18-Jan-16 15:17
000009.538|so |*|03|Application, main: Label=SIP, Version=Mink 4.0.10.0689 22-Apr-16 12:08
000009.538|so |*|03|Application, main: P/N=3150-11530-409
000009.538|rdisk|*|03|RAM disk created, size: 4,194,304 bytes
000009.538|ocsp |*|03|O.C.S.P. Enabled = 0
000009.540|tls |*|03|Initial log entry. Current logging level 4
000009.578|pmt |*|03|Initial log entry. Current logging level 4
000009.580|wdog |*|03|Initial log entry. Current logging level 4
000009.580|ethf |*|03|Initial log entry. Current logging level 4
000009.580|hw |*|03|Initial log entry. Current logging level 4
000009.580|ares |*|03|Initial log entry. Current logging level 4
000009.580|dns |*|03|Initial log entry. Current logging level 4
000009.580|cfg |*|03|Initial log entry. Current logging level 4
000009.582|dot1x|*|03|Initial log entry. Current logging level 4
000009.586|cfg |5|03|RT|Error installing DHCP event hook.
000009.646|lic |*|03|Initial log entry. Current logging level 4
000009.854|curl |*|03|Initial log entry. Current logging level 4
000009.854|utilm|*|03|Initial log entry. Current logging level 4
000009.854|copy |*|03|Initial log entry. Current logging level 4
000009.854|rtos |*|03|Initial log entry. Current logging level 4
000009.856|sec |*|03|Initial log entry. Current logging level 4
000009.856|so |*|03|Configuration files:
000009.906|log |*|03|Log render level set to 1
000009.950|srtp |*|03|Initial log entry. Current logging level 4
000009.950|res |*|03|Initial log entry. Current logging level 4
000009.954|httpa|*|03|Initial log entry. Current logging level 4
000009.954|lldp |*|03|Initial log entry. Current logging level 4
000009.954|cdp |*|03|Initial log entry. Current logging level 4
000009.954|sys |*|03|Initial log entry. Current logging level 4
000010.048|ssps |*|03|Initial log entry. Current logging level 4
000012.402|so |*|03|System Info Reports:
000012.402|so |*|03| CPU is TNETV1055/C55x, rev 2 running at 125.000MHz with memory at 125.000MHz.
000012.402|so |*|03| Board is identified as PolycomSoundPointIP-SPIP_550.
000012.402|so |*|03| DRAM_LO: 0x94000000. DRAM_SIZE: 32 MB
000012.402|so |*|03| Clocks are VBUSP: 125.000MHz, VBUS: 62.500MHz, USB: 25.000MHz, LCD: 31.250MHz, DSP: 100.000MHz.
000012.402|so |*|03| NOR flash detected is 9
000012.402|key |*|03|Initial log entry. Current logging level 4
000012.408|httpd|*|03|Initial log entry. Current logging level 4
000012.408|poll |*|03|Initial log entry. Current logging level 4
000012.408|push |*|03|Initial log entry. Current logging level 4
000012.410|poll |*|03|Initial log entry. Current logging level 4
000012.410|poll |*|03|Initial log entry. Current logging level 4
000012.410|poll |*|03|Initial log entry. Current logging level 4
000012.410|poll |*|03|Initial log entry. Current logging level 4
000012.410|poll |*|03|Initial log entry. Current logging level 4
000012.410|ht |*|03|Initial log entry. Current logging level 4
000012.410|dbuf |*|03|Initial log entry. Current logging level 4
000012.414|ssps |*|03|Application, comp. 1: Label=PolyDSP Titan Mem1 FS3, Version=6.1.1.0010 11-Jul-12 19:00
000012.414|ssps |*|03|Application, comp. 1: P/N=3150-11580-611.
000012.414|pps |*|03|Initial log entry. Current logging level 4
000012.414|sip |*|03|Initial log entry. Current logging level 4
000012.416|ptt |*|03|Initial log entry. Current logging level 4
000012.700|so |*|03|Using TCP IP Media Port, configured initial RTP port 2222
000012.754|usb |*|03|Initial log entry. Current logging level 4
000012.754|sshc |*|03|Initial log entry. Current logging level 4
000012.758|usb |4|03|soUsbInit: USB features are disabled
000012.758|cmp |*|03|Initial log entry. Current logging level 4
000012.758|wmgr |*|03|Initial log entry. Current logging level 4
000012.768|slog |*|03|Initial log entry. Current logging level 3
000012.960|app1 |*|03|Initial log entry. Current logging level 4
000012.970|app1 |4|03|StatusBar is disabled
000012.974|app1 |4|03|mb.main.home parameter is empty
000012.986|mb |*|03|Initial log entry. Current logging level 4
000013.038|app1 |5|03|pUsbRecordPlayer_m=0x9554a240, pVoiceMailPlayer_m=0x95549cf0
000013.354|ldap |*|03|Initial log entry. Current logging level 4
000013.354|ldap |4|03|cDynamicData::cDynamicData:cDynamicData:Failed
000013.390|efk |*|03|Initial log entry. Current logging level 4
000013.872|app1 |4|03|[AppUserLoginC::Init]:flushing user cache file failed
000013.906|app1 |4|03|Observable::notifyAll 1
000013.906|app1 |4|03|getCfgParams
000013.962|utilm|4|03|uBLFCompressed: File /ffs0/local/local-directory_xml.zzz does not exist or is empty
000024.022|cfg |*|03|RT|cfgRtNetInterfaceUpdate: Network not initialized
000032.676|cfg |*|03|RT|Do not do DHCP VLAN Discovery.
000032.678|cfg |*|03|RT| Phone IP address is 192.168.xxx.xxx.
000032.678|cfg |*|03|RT| Subnet mask is 255.255.255.0.
000032.678|cfg |*|03|RT| Gateway address is 192.168.xxx.1.
000032.678|cfg |*|03|RT| DNS server is xxx.xxx.xxx.xxx.
000032.678|cfg |*|03|RT| DNS alternate server is xxx.xxx.xxx.xxx.
000032.680|dns |*|03|DNS resolver servers are 'xxx.xxx.xxx.xxx' 'xxx.xxx.xxx.xxx'
000032.680|dns |*|03|DNS resolver search domain is ''
000032.684|cfg |*|03|RT|Primary IP changed to 192.168.xxx.xxx subnet mask 255.255.255.0
000032.684|cfg |*|03|RT|cfgRtNetInterfaceUpdate: bfeng -- calling network status callback
000032.684|cfg |*|03|RT|cfgRtNetInterfaceUpdate: bfeng -- calling network status callback
000032.692|sys |*|03|0x957d7600 (tDhcpcStateTask): arp_check: No reply, addr not used
000032.818|so |*|03|Network initialized. Starting network tasks.
000032.818|log |*|03|Install file upload callback for 'so'

000032.830|cfg |5|03|Prm|Parameter acd.reg requested type 0 but is of type 2
000032.832|sip |*|03|Fast Boot Measurement Point: Ready for Call, uptime: 32.832 sec.
000032.836|app1 |*|03|Ctx [0] Registered [false]
000032.836|app1 |5|03|Corporate directory instance does not exists.
000032.882|so |4|03|Could not find IP address for SNTP server. 86400
000032.992|utilm|4|03|uBLFCompressed: File /ffs0/local/local-directory_xml.zzz does not exist or is empty
000033.050|utilm|4|03|uBLFCompressed: File /ffs0/local/local-directory_xml.zzz does not exist or is empty
000033.070|cfg |*|03|Prov|Starting to update
000033.078|res |4|03|[ResFinderC]: Download - Failed to download file Leaf.jpg, errno 0x380003.
000033.080|app1 |4|03|Background processing failed: (Leaf.jpg): (pResult->m_result != ResFinderFound): 1.
000033.160|res |4|03|[ResFinderC]: Download - Failed to download file Sailboat.jpg, errno 0x380003.
000033.162|app1 |4|03|Background processing failed: (Sailboat.jpg): (pResult->m_result != ResFinderFound): 1.
000033.266|res |4|03|[ResFinderC]: Download - Failed to download file Beach.jpg, errno 0x380003.
000033.266|app1 |4|03|Background processing failed: (Beach.jpg): (pResult->m_result != ResFinderFound): 1.
000033.296|cfg |4|03|Prov|Download of master configuration file failed
000033.296|cfg |4|03|Prov|Trying to boot from existing configuration
000033.302|cfg |4|03|Prov|Provisioning failed
000033.310|cfg |*|03|Prov|Finished updating configuration
000033.358|res |4|03|[ResFinderC]: Download - Failed to download file Palm.jpg, errno 0x380003.
000033.358|app1 |4|03|Background processing failed: (Palm.jpg): (pResult->m_result != ResFinderFound): 1.
000033.366|log |4|03|UtilLogC::uploadFifoLog: upload error. protocol 0 result = -1
000033.374|log |4|03|Failed to upload boot log on start up.
000033.424|log |4|03|UtilLogC::uploadFifoLog: upload error. protocol 0 result = -1
000033.456|res |4|03|[ResFinderC]: Download - Failed to download file Jellyfish.jpg, errno 0x380003.
000033.458|app1 |4|03|Background processing failed: (Jellyfish.jpg): (pResult->m_result != ResFinderFound): 1.
000033.524|res |4|03|[ResFinderC]: Download - Failed to download file Mountain.jpg, errno 0x380003.
000033.526|app1 |4|03|Background processing failed: (Mountain.jpg): (pResult->m_result != ResFinderFound): 1.
003403.700|cfg |4|03|Web|[cfgSaProcessRequestC] Failed to download language file from provisioning server, request path Website_dictionary_language_en-us.xml
003403.704|utilm|4|03|uBLFCompressed: File /ffs0/languages/Website_dictionary_language_en-us.xml.zzz does not exist or is empty
003403.704|cfg |4|03|Web|[cfgSaProcessRequestC] Website_dictionary_language_en-us.xml Language file doesn't exist in cache
003403.706|cfg |4|03|Web|[cfgSaProcessRequestC] Website_dictionary_language_en-us.xml Language file doesn't exist in phone flash
 
Hello,

Please note that the guide you quoted also mentions that these phones will only provision as local devices.
Limitations
Note that these phones can not be used from a remote location or in combination with a 3CX in the cloud.

The guide also mentions that there is no STUN or SBC support for these devices.

The supported way to use these phones is by having them local to the PBX. You can also setup a VPN connection so they appear local to the PBX.
Alternatively you can try to manually register the phones to the PBX or use fully supported devices that do not have these limitations. https://www.3cx.com/sip-phones/
 
Would you be able to provide any technical information supporting the reason that this is not possible? I am having a hard time understanding why phones can provision over local address space and not the internet. I would also be curious to understand better how 3CX uses STUN and a SBC and if the lack of Polycom support for such features play a part in that limitation.

Appreciate any info you've got. Thanks
 
There are many reasons that result to the lack of support of these features one of which is security and the ability of the phones to comply. Also as these phones have reached their end of life these features cannot be implemented.
For VVX phones we have implemented SBC provisioning but there are technical limitations for STUN.

On how 3CX uses STUN and SBC you will need to do additional reading and there are plenty of documents on our website explaining both.
 
Ok, thanks for your input.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,924
Messages
589,756
Members
164,796
Latest member
Dame24