Yealink Auto Provision and Firmware Upgrade

Hi Everyone.

Hope you all are doing well.

I have successfully auto provision the my Yealink T48S. Is it possible to upgrade the firmware of phone through fusionpbx. If yes how i can achieve this.

By the way what is the option under Account -- Device (The following information is used to provision endpoints.)

Model: Enter the model name or number.
Firmware: Enter the firmware version.

See screenshot attached.
 

Attached Files:

Anyone had any luck with this? Ive set all my settings to grab firmware correctly I believe and in my access.log I can see it try 5 x 'GET' commands to grab the firmware but the phone doesn't actually upgrade it;s firmware, it just grabs the rest of it's config and registerd with account details

If I use my firmware URL in a browser it lets me download it straight away, so I know the URL is correct



[22/Jul/2019:17:20:25 +1000] "GET /app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom HTTP/1.1" 301 185 "-" "Yealink SIP-T46S 66.83.0.10
[22/Jul/2019:17:20:28 +1000] "GET /app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom HTTP/1.1" 301 185 "-" "Yealink SIP-T46S 66.83.0.10
[22/Jul/2019:17:20:31 +1000] "GET /app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom HTTP/1.1" 301 185 "-" "Yealink SIP-T46S 66.83.0.10
[22/Jul/2019:17:21:41 +1000] "GET /app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom HTTP/1.1" 301 185 "-" "Yealink SIP-T46S 66.83.0.10
[22/Jul/2019:17:21:44 +1000] "GET /app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom HTTP/1.1" 301 185 "-" "Yealink SIP-T46S 66.83.0.10
[22/Jul/2019:17:21:47 +1000] "GET /app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom HTTP/1.1" 301 185 "-" "Yealink SIP-T46S 66.83.0.10
 
Easy to see that your GET aren't working as the webserver is returning HTTP status of 301 with a content size of 185 bytes.

In the terminal, if you run ls /var/www/fusionpbx/app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom what do you get? @Methodz86

Model: Enter the model name or number.
Firmware: Enter the firmware version.
Not sure about @Vishal Pai, but if you look in the Default Settings, you will see a variable for yealink_t48g_firmware... or something like that. Just give it the path on where the firmware is on your webserver.
 
Easy to see that your GET aren't working as the webserver is returning HTTP status of 301 with a content size of 185 bytes.

In the terminal, if you run ls /var/www/fusionpbx/app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom what do you get? @Methodz86


Hi James, thank you. If I run the command above as you requested I get the below? Does this look right?

root@myserver:/home/user# ls /var/www/fusionpbx/app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom
/var/www/fusionpbx/app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom
 
Hi @JamesBorne

Yes I already had it owned by 'www-data' but maybe I didn't give enough 'chmod' permissions? I think I gave it chmod 755 ? Can you confirm what chmod permission it needs?


-rwxr-xr-x 1 www-data www-data 29196080 Jul 20 14:17 T46S-T48S-T42S-66.84.0.15.rom
 
Yup, is does look right.
Is it owned by www-data?
I also found this in the logs, I think the 301 HTTP response is redirecting it to be HTTPS instead of just HTTP as I want it? Will this be an issue with Yealink phones?



GET /app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom HTTP/1.1..Host: myserver.hostname.com.au..User-Agent: Yealink SIP-T46S 66.83.0.10 80:5e:c0:04:b3:d7..Accept: */*....


HTTP/1.1 301 Moved Permanently..Server: nginx/1.10.3..Date: Tue, 23 Jul 2019 00:59:09 GMT..Content-Type: text/html..Content-Length: 185..Connection: keep-alive..Location: https://myserver.hostname.com.au/app/yealink/resources/firmware/T46S-T48S-T42S-66.84.0.15.rom....<html>..<head><title>301 Moved Permanently</title></head>..<body bgcolor="white">..<center><h1>301 Moved
 
Are you provisioning over HTTP or HTTPS? Yealink phones have a setting under Security - Trusted Certificates called 'Only Accept Trusted Certificates'. If you're being redirected to HTTPS you may need to either install an SSL cert the phone trusts (LetsEncrypt works fine) on your server, or disable the trusted certificate setting on your phones.

If your provisioning is working over HTTP, it may explain why provisioning is working but firmware updates are not.
 
Are you provisioning over HTTP or HTTPS? Yealink phones have a setting under Security - Trusted Certificates called 'Only Accept Trusted Certificates'. If you're being redirected to HTTPS you may need to either install an SSL cert the phone trusts (LetsEncrypt works fine) on your server, or disable the trusted certificate setting on your phones.

If your provisioning is working over HTTP, it may explain why provisioning is working but firmware updates are not.
Hi @tdcockers - Thank you for this input. I provision over HTTP and I am aware of the Security - Trusted Certificates called 'Only Accept Trusted Certificates'. I haven't tested with that option disabled yet because it need to be set via Web GUI as far as I know however I will test this tomorrow.

Does anyone know how to simply stop the 301 redirect in the first place and just use the URL I set?