Yealink SIP-T22P-firmware update problem via custom template

Status
Not open for further replies.

cpontus

Joined
Feb 17, 2012
Messages
42
Reaction score
0
Hi,

I am testing a Yealink SIP-T22P phone with 3CX. The phone came with outdated firmware. I was able to provision it but when I try to update the firmware from 3CX the phone will reboot without pulling in the new version.

I was able to update to a newer revision from inside the phone's web interface so I know the phone is good.

I followed the directions here and you can see from the comments that others are having this issue: http://www.3cx.com/blog/ip-phone-configuration/upgrading-firmware-yealink/

I'm using 3CX 10 SP6 and firmware 7.61.0.70 on the phone (trying to upgrade to 7.61.0.80).

Here is what the log shows with my MAC addresses stripped out:

16:22:50.396 Subscr. terminated for from [email protected]
16:22:50.396 New SIP device is on-line: MACxxx; ip=192.168.1.208; contact=sip:[email protected]:5060
16:22:50.377 [CM302001]: Authorization system can not identify source of: SipReq: SUBSCRIBE [email protected] tid=1932254762 cseq=SUBSCRIBE [email protected]:5060 / 1 from(wire)
16:22:49.345 [CM504001]: Ext.116: new contact is registered. Contact(s): [sip:[email protected]:5062/116]

Any ideas? What other info do I need to provide?

Thanks.
 
Re: Yealink SIP-T22P - cannot upgrade firmware from 3CX

j
 
Re: Yealink SIP-T22P - cannot upgrade firmware from 3CX

jpillow said:
Have you tried loading the firmware from Yealinks website and uploading directly to the phone as opposed to downloading from 3cx?

Yes, I mentioned this in the 2nd paragraph.

Can anyone from 3CX comment? This is clearly an ongoing issue for some users going back to 2010 as indicated in the blog post comments.

I will be looking through 3CX Advanced logs and then Wireshark if I cannot see anything.

**EDIT**: I was not able to see anything out of the ordinary with the advanced logging or Wireshark.

I did see this in the phone's syslog:

Feb 28 17:16:41 ap: [AutoP]: Autoprovision [FIRMWARE]
Feb 28 17:16:41 ap: [AutoP]: Errcode=0x10ff, desc:no firmware section
Feb 28 17:16:41 ap: [AutoP]: post message:b1001 to tr069
Feb 28 17:16:41 ap: [AutoP]: Reboot = FALSE

I looked in the template for the phone and it does has a firmware section set for HTTP upgrades.

path = /tmp/download.cfg
server_type = HTTP
server_ip = %%pbx_ip%%
server_port = %%pbx_http_port%%
login_name =
login_pswd =
firmware_name = %%firmware%%
http_url = http://%%pbx_ip%%:%%pbx_http_port%%/provisioning/firmware/
 
Re: Yealink SIP-T22P - cannot upgrade firmware from 3CX

Hi All

1) Where are you putting the firmware?

C:\ProgramData\3CX\Data\Http\Interface\provisioning\firmware\T22

Note the T22

A yealink phone needs it's firmware in the folder representing its model.

2) Looking at the template is fine. But you need to get the mac and look at the actual generated file.

3) If I am sure that 1 and 2 are correct, then I would perform normal basic http troubleshooting with wireshark to see if
A) Phone requests file from specified path
B) Firmware is available on server in the proper path
C) Firmware can be downloaded from server (by opening a browser)

If abc pass, then the problem is between the phone and the http server. These happen to not be 3CX related.

4) Then you can move to syslog.

5) When you know that the phone is requesting proper information and the server is available to give it to the phone, then you make a syslog and you see whether this is something you understand or not.

At a quick glance it seems that either the image got corrupted when downloaded. So the only thing you can do before going to yealink is to download the image again and try to re provision.
 
Re: Yealink SIP-T22P - cannot upgrade firmware from 3CX

Nicky,

1. I am putting the firmware in the T22 folder.

2. I took a look at the actual .cfg generated for the phone and it is missing the [ firmware ] section that is present in the template. I deleted the generated .cfg and re-provisioned the phone to make sure this wasn't a one time thing. The new .cfg generated was also missing this section. Is this right? I would make sense since every time I tell the phone to upgrade the firmware it reboots, does not find any firmware section in the .cfg file and then loads normally.

3. When I ran Wireshark I never saw any HTTP requests for the firmware which points back to the issue in #2.

Thanks again for your response. Let me know if this can be reproduced.
 
Re: Yealink SIP-T22P - cannot upgrade firmware from 3CX

We cannot reproduce this.

Can you send me your cfg and template copies via email? [email protected]

If you cannot see the phone sending provisioning requests you have to do one manual change in the yealink web interface only once - Check for config on Power up. this is an issue in a yealink firmware. You do this once and from that point onwards you will never have a problem. Let me know how this works.
 
Re: Yealink SIP-T22P - cannot upgrade firmware from 3CX

Nicky,

Thanks for your help on this. I think I have figured out the issue.

The problem seems to come from using a Template filename other than what is provided.

For example I take yealink.ph and make a copy called yealink_companyname.ph. I edit the copy so that when a new template comes out I don't have to worry about it getting overwritten. I was using a custom template with just 2 changes: setting the time to 12 hour format and adding the first name to display on the phone after the extension number.

I deleted all my yealink configs, downloaded clean copies from inside 3CX and started over. Using the unchanged yealink.ph template allowed me to upgrade the firmware. Making changes to yealink.ph also allowed me to upgrade firmware. Once I made a copy and provisioned from the copy (even without changes to it) I could no longer upgrade firmware from inside 3CX.

I tested this scenario with a Cisco SPA504G and did not have the same problem (upgrading firmware from 3CX while using a custom template).
 
Re: Yealink SIP-T22P - cannot upgrade firmware from 3CX

Send me the original template you based on and the modified template. We will see what is different. If the original template works and yours doesn't, it means that there is something in the modified template that the yealink phone is not liking.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

What I have found works for me with the Yealink T22 and T28 is this...

Add the provisioning via:
Phone System Manager -> Phone Provisioning -> Firmware
Then open the correct firmware folder (eg. T22 or T28 etc.)
Then press add firmware.

If I dropped the firmware in via windows explorer it didn't work, but it did work through Phone System Manager.

But you must be patient...
Wait at around ~6 minutes after pressing "Upgrade Firmware" and you should see the results you are wanting.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

If I dropped the firmware in via windows explorer it didn't work, but it did work through Phone System Manager.

Yes this is logical of course. Doing this from Windows explorer will not inform 3CX that a new file was added. Nor will it inform the phone. Windows explorer cannot construct a sip notify to send to the phone with the path to the firmware file. It is the upgrade firmware function of 3CX that expects to have a firmware file in its relative directory and construct this accordingly. If you want to make provisioning via 3CX you have to use 3CX and the tools and procedures associated with it.

But you must be patient...
Wait at around ~6 minutes after pressing "Upgrade Firmware" and you should see the results you are wanting.

A phone needs approx 2 minutes just to reboot. Upgrading of a firmware takes time. Provisioning requires multiple restarts at times too. So the moment you see it reboot and "upgrading firmware" just go and make a coffee and by the time you are back it would be registered and ready to use.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

If I dropped the firmware in via windows explorer it didn't work, but it did work through Phone System Manager.

Yes this is logical of course. Doing this from Windows explorer will not inform 3CX that a new file was added. Nor will it inform the phone. Windows explorer cannot construct a sip notify to send to the phone with the path to the firmware file. It is the upgrade firmware function of 3CX that expects to have a firmware file in its relative directory and construct this accordingly. If you want to make provisioning via 3CX you have to use 3CX and the tools and procedures associated with it.

But you must be patient...
Wait at around ~6 minutes after pressing "Upgrade Firmware" and you should see the results you are wanting.

A phone needs approx 2 minutes just to reboot. Upgrading of a firmware takes time. Provisioning requires multiple restarts at times too. So the moment you see it reboot and "upgrading firmware" just go and make a coffee and by the time you are back it would be registered and ready to use.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

Sorry for the late response on this. Nicky I have emailed you the requested files.

Chris
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

I am able to reboot my Yealink phones within PHONE SYSTEM MANAGER. But I am not able to REPROVISION or UPGRADE FIRMWARE.

I have tried all the steps I have seen here in this thread. Yet still not able to upgrade firmware to any YEALINK T26 & t28 phones.

I'm thinking it can be my .ph file for my yealink phones but not really sure. I have look through them and seen the same thing that CPONTUS has seen. I'm not sure if this is the correct way it should be written.

I have had this problem for a long time and would love to get it off my list of problems. Just not sure what else I can do to fix this problem.

path = /tmp/download.cfg
server_type = HTTP
server_ip = %%pbx_ip%%
server_port = %%pbx_http_port%%
login_name =
login_pswd =
firmware_name = %%firmware%%
http_url = http://%%pbx_ip%%:%%pbx_http_port%%/provisioning/firmware/
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

There is a mistake here - there should be a %firmware% variable so when you click on upgrade firmware, the %firmware% variable is replaced with %Yealink Phone model%\%name of rom file% example T26\2.6.81.rom

Download the latest yealink template from the phone templates online store in the 3CX management console and perform the upgrade firmware procedure again.

Remember you need to do 2 things.
A) click on phone provisioning > firmware and upload the rom file to the respective model directory - example if it is a t26 you need to double click on the DIR T26 (directory T26)
B) Upload the firmware in there
C) go to the phones page, click on the phone you want to upgrade, click on upgrade firmware and select the file you uploaded.

If you want to make a wireshark capture during this, do it and send it to us for checking. This procedure has been the same for a long time and we are sure everything is working ok. Even our colleagues at yealink are using this procedure and have approved this, This has to work.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

It would be nice if when you updated the firmware folder that you had the option to update the CFG file. That way, my phones could pull the latest firmware overnight when the building is empty and I do not have to manually push 100 phones after hours.
The same goes with a template change. If I change a template, it should ask me if I want to update the CFG file for extensions using this template.
Right now, I need to manually touch each extension to update the config file.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

It would be nice if when you updated the firmware folder that you had the option to update the CFG file. That way, my phones could pull the latest firmware overnight when the building is empty and I do not have to manually push 100 phones after hours.

Hi Craig - Good to see you around here. We already update the cfg files. The cfg file is updated with the provisioning path. Updating the cfg file does not happen to control the time when the provisioning will occur.

The following options taken from a t38 interface control what you need. Phone > Auto provivision section. Find the values from the template and play around with them to make them re-provision at night. We do not provision these values - we leave them default.

Interval(Minutes)
Weekly On Off
Time : -- :
Day of week
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday


The same goes with a template change. If I change a template, it should ask me if I want to update the CFG file for extensions using this template.
No a template change cannot update the CFG files for the extensions. You modify the template and you save it. After you go to the required extension, select the required phones and press Re-provision. You cannot modify the template and automatically re-provision the phones that are linked to that template. This is not possible and frankly unrealistic feature.

Right now, I need to manually touch each extension to update the config file.
Yes - this is the reasonable way how provisioning works.
In any case, you should not be editing the template often. You spend 2 hours, make the changes you need, and then this template should be fine for months. This is not something you should have open on your desktop 24/7. It is not something you should editing on a daily basis either.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

Thanks for the feedback. We do have auto provision set for each Sunday at 2am. But the auto provision doesn't do anything (take any template changes) unless I also modify the extension (which updates the CFG file). You are right that it doesn't happen very often. So in those instances, I guess I will just plan to work on a weekend when I can do a manual push.

I guess I was just hoping for 1 more step of automation - being able to update multiple CFG files - without having to open each extension and edit it, then they would pull during the auto provision Sunday morning.


Thanks again...
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

How do you update / modify the files? From the 3CX or from text editor application?
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

I update 3cx template from within 3cx.
I then touch the extension edit screen and make a small change to the necessary extensions that are using this template file (add a space to the first name)
I hit save and the CFG file gets updated.

If I don't update the extension then the auto provision doesn't do anything because the CFG file doesn't reflect the latest template change.

I recognized this by looking at the provisioning folder and noticed the date of the CFG files were a bit older and I had just made a modification to the template to not override everyone's volume and ringtone selection that they made from their handsets.

We are using t38's

I hope I am explaining this clearly.
 
Re: Yealink SIP-T22P-firmware update problem via custom temp

Yes it is very clear. if this is the case we will fix it. But can I ask you something?
If instead of making a small change to the extension (adding the space) you click on the phone in the phones page and you click on the re provision button will it not work?

Reprovision phones - That button also re-generates the provisioning cfg file and then sends a provisioning request to the phone. This approach is neater. Can you confirm that the action works for you?
 
Status
Not open for further replies.

Forum statistics

Threads
112,298
Messages
591,768
Members
165,438
Latest member
cur_cb