-
1
×InformationNeed Windows 11 help?Check documents on compatibility, FAQs, upgrade information and available fixes.
Windows 11 Support Center. -
-
1
×InformationNeed Windows 11 help?Check documents on compatibility, FAQs, upgrade information and available fixes.
Windows 11 Support Center. -
- HP Community
- Poly Phones
- Desk and IP Conference Phones
- Reboot or Factory reset VVX phones using submit-form POST me...

Create an account on the HP Community to personalize your profile and ask a question

02-06-2021 11:29 AM
Hello folks,
I am trying to automate reboot and factory reset polycom VVX phones using the submit-form/Reboot in the below code ( I'm verifying functionality on one phone then i have another script to iterate through a list of phones).
import requests
url = "https://<ip-address>/form-submit/Reboot"
headers = {
'Authorization': 'Basic UG9seWNvbTphZG1uODAyNzk5NTE4MDEwcHdk'
}
response = requests.request("POST", url, headers=headers, verify=False)
print(response.text)
-------------
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head><title>401 Unauthorized</title></head><body>
Authorization failed.
</body></html>
Process finished with exit code 0
-------------
I am 100% sure of the authorization in the headers because i can use it with POST method to login to the polycom phone
import requests
url = "https://<ip-address>/form-submit/auth.htm"
headers = {
'Authorization': 'Basic UG9seWNvbTphZG1uODAyNzk5NTE4MDEwcHdk'
}
response = requests.request("POST", url, headers=headers, verify=False)
print(response.text)
lockparams|SUCCESS|0
Process finished with exit code 0
--------------------------
So i am not sure why it is not authorizing me to make the Reboot or factory reset functions?
In other posts for different phones series i tried the Curl commands to do the same but also this gives the same results (using Postman, Python script, or Curl Command). any suggestions would be appreciated.
Phone model: VVX201
UC Software Version 6.3.0.14929
Updater Version 6.3.0.6751
Note: i don't want to make the Reboot or Factory reset using REST API as there are constraints prevents me from using it, however i verified it is working properly.
Regards, Ahmed
02-08-2021 12:49 AM
Hello @afahmy ,
Welcome to the Poly Community.
A Perl script I have used in the past:
#!/usr/bin/perl -w
# RebootScript.pl - Reboot range of Polycom phones using the Web Interface
# Initial Script (???) - bm
# Updated (???) - sb
# Update (28 April 2017) - mcab
# - Set the admin username and password at the top of the file. (Script will generate the cookie automatically now)
# - Removed dependency on CGI.pm
# Update (28 April 2017 #2) - mcab
# - add IO::Socket::SSL
# - ignore validating TLS certs from phone
# Update (5 June 2017) - mcab
# - Added reset to factory defaults
use strict;
use LWP::UserAgent;
use IO::Socket;
use Socket;
use IO::Socket::SSL;
use MIME::Base64;
my $username = "Polycom";
my $password = "789";
#####################################
# Netmask 255.255.255.0 = 0xFFFFFF00#
# Netmask 255.255.0.0 = 0xFFFF0000#
# Netmask 255.0.0.0 = 0xFF000000#
# Netmask 0.0.0.0 = 0x00000000#
#####################################
my $netmask = 0xFFFFFF00; # 255.255.255.0
#########################################
# Define IP Address Start Range $Start #
# Define IP Address End Range $finish #
#########################################
my $start_address = unpack 'N', inet_aton( '10.252.149.57' );
my $finish_address = unpack 'N', inet_aton( '10.252.149.58' );
for ( my $address = $start_address; $address <= $finish_address; ++$address ) {
next if ( $address & $netmask ) == $address or ( $address & ~$netmask ) == ~$netmask;
my $ua = LWP::UserAgent->new( );
$ua->ssl_opts( verify_hostname => 0, SSL_verify_mode => SSL_VERIFY_NONE );
my $destination = inet_ntoa( pack 'N', $address);
#############################
# Define Reboot or Restart #
# Simply remove # and add # #
#############################
#my $restartUrl = "http://$destination/form-submit/Restart";
my $restartUrl = "https://$destination/form-submit/Reboot";
#my $restartUrl = "https://$destination/form-submit/Utilities/restorePhoneToFactory";
# Create request object and add the authentication header and the expected cookie
my $req = HTTP::Request->new(POST => $restartUrl);
$req->header('Cookie' => 'Authorization=Basic ' . encode_base64("$username:$password"));
$req->authorization_basic( $username, $password );
# Send the reset request to the user agent
my $res = $ua->request( $req );
print $res->status_line, "\n";
sleep (5)
}
The password is hardcoded and simply move the # and replace for the action wanted.
Please ensure to provide some feedback if this reply has helped you so other users can profit from your experience.
Best Regards
Steffen Baier
Notice: I am an HP Poly employee but all replies within the community are done as a volunteer outside of my day role. This community forum is not an official HP Poly support resource, thus responses from HP Poly employees, partners, and customers alike are best-effort in attempts to share learned knowledge.
If you need immediate and/or official assistance for former Poly\Plantronics\Polycom please open a service ticket through your support channels
For HP products please check HP Support.
Please also ensure you always check the General VoIP , Video Endpoint , UC Platform (Microsoft) , PSTN

09-07-2021 06:19 PM
I'm also having this issue. I can turn on the REST api and it works via curl example:
curl -k -X POST -H "Content-Type: application/JSON" -H 'Content-Length: 0' https://Polycom:456@10.100.100.100/api/v1/mgmt/safeReboot
I can't work with a vvx150 when using another example:
curl -k 'https://10.100.100.100/form-submit/Reboot' -X POST -H 'Authorization: Basic base64String' -H 'Content-Length: 0' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: Authorization=Basic base65String'
09-07-2021 11:45 PM
Hello @twelve_zeros ,
Welcome to the Poly Community.
Both the communities Must Read First and the FAQ reference the basic minimum information a new or follow-up post should contain.
Your post does not include the above clearly outlined information.
In regards to the Rest API please see our FAQ:
Jun 05, 2018 Question: Do Poly Phones support a REST API?
Resolution: Please => here <=
There are multiple working examples contained in the above
Please ensure to provide some feedback if this reply has helped you so other users can profit from your experience.
Best Regards
Steffen Baier
Notice: I am an HP Poly employee but all replies within the community are done as a volunteer outside of my day role. This community forum is not an official HP Poly support resource, thus responses from HP Poly employees, partners, and customers alike are best-effort in attempts to share learned knowledge.
If you need immediate and/or official assistance for former Poly\Plantronics\Polycom please open a service ticket through your support channels
For HP products please check HP Support.
Please also ensure you always check the General VoIP , Video Endpoint , UC Platform (Microsoft) , PSTN

09-08-2021 02:38 PM
While the original poster has not replied, I can attest that your provided script does not work. I should have made it clear. I created this account just for this reason. I don't know if you have a curl example to also try, perl is very old and is not used much these days.
I'm working with a VVX150 on 5.9.6.2996
I can test on newer firmware and different models, but I want to say I read somewhere past v6 that these phones no longer support submit-form process - which could be why this person here is having issues.
09-14-2021 01:23 PM
Hello @twelve_zeros ,
I believe we use cookies and/or Referer: header so I believe this is the reason for this no longer working.
I have a newer version a colleague created but I don't feel comfortable posting this. The REST API FAQ has examples of how to utilize batch processing with Curl so it should cover this.
Best Regards
Steffen Baier
Notice: I am an HP Poly employee but all replies within the community are done as a volunteer outside of my day role. This community forum is not an official HP Poly support resource, thus responses from HP Poly employees, partners, and customers alike are best-effort in attempts to share learned knowledge.
If you need immediate and/or official assistance for former Poly\Plantronics\Polycom please open a service ticket through your support channels
For HP products please check HP Support.
Please also ensure you always check the General VoIP , Video Endpoint , UC Platform (Microsoft) , PSTN

09-16-2021 11:20 AM
Hi Team!
I hope that this code helps you. It's on Powershell
🙂
You need to create a cokie and include at the header of the request
$Protocol = "http"
$IP = "000.000.000.000"
$PW = "0000"
$pair = "Polycom:$($PW)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$session2 = New-Object Microsoft.PowerShell.Commands.WebRequestSession
$session2.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"
$session2.Cookies.Add((New-Object System.Net.Cookie("Authorization", "Basic $($encodedCreds)", "/", $IP)))
#############################################
# Define Reboot or Restart or Factory Reset #
# Simply remove # and add # to select #
# Below example uses the restart option #
#############################################
$InvokeReset = Invoke-WebRequest -UseBasicParsing -Uri "$($Protocol)://$($IP)/form-submit/Restart"
#$InvokeReset = Invoke-WebRequest -UseBasicParsing -Uri "$($Protocol)://$($IP)/form-submit/Reboot"
#$InvokeReset = Invoke-WebRequest -UseBasicParsing -Uri "$($Protocol)://$($IP)/form-submit/Utilities/restorePhoneToFactory" `
-Method "POST" `
-WebSession $session2 `
-Headers @{
"Authorization"="Basic $($encodedCreds)"
"Accept"="*/*"
"Origin"="$($Protocol)://$($IP)"
"Referer"="$($Protocol)://$($IP)"
"Accept-Encoding"="gzip, deflate"
"Accept-Language"="en-US,en;q=0.9"
} `
-ContentType "application/x-www-form-urlencoded"
I hope it helps you 🙂
Question | Author | Posted | |
---|---|---|---|
03-11-2020 01:45 PM | |||
Anonymous
| 09-02-2014 02:24 PM | ||
Anonymous
| 07-21-2016 12:50 AM | ||
Anonymous
| 01-17-2012 11:48 PM | ||
Anonymous
| 08-19-2020 09:16 AM |