Phone provisioning issues

Status
Not open for further replies.

jrjohnson

Joined
Oct 4, 2016
Messages
36
Reaction score
2
I think this started happening recently, I don't have an exact time frame. I'm trying to auto provision a Yealink T42G, which I have done in the past without issue. I've tried doing it from the phone's web interface but nothing happens, so I tried to capture some logs.

In the logs, I can see that a request was made to the correct server and the directory looks accurate. But it immediately fails with a 404 error. I'm not sure what exactly it isn't finding.

If it helps to know, I'm running 3CX 15 SP2.
 
A 404 error often occurs if the Yealink cannot find its configuration file (during the process it will download a common config and a MAC orientated config file).

If the device cannot find the configuration file it sends three requests to make sure the files really doesn’t exist. These can normally be seen in Wireshark: "File not Found, Message Error 404".

Which logs are you looking at ? in the phone or via 3CX ? I would advise you get the syslog from the phone as it will tell you all the steps the phone is taking and the results:

Under Settings > Configuration:
1. Set the syslog level to 6 -> reboot phone
2. Start to capture the Trace -> reproduce your issue -> stop capturing the Trace -> Export PCAP
Trace
3. Export config.bin
4. Export level 6 syslog -> check the syslog level
 
I was pulling logs from the phone web interface. The files that it looks for are 'y000000000000.boot' (which isn't found), 'y000000000029.cfg' (which is found), and the MAC oriented cfg file, which doesn't exist and shouldn't at this time.

I'm not sure what happened to 'y000000000000.boot' but I haven't moved or deleted any of these files and I don't see them in the backups either.

Also @cjkoll, I tried changing the URL just for the sake of testing and it had no effect.
 
You won't find any of these files on the 3CX Server anymore. They are generated on-the-fly upon request.

If you open a browser and in the URL you write:
http://[server IP address]:5000/provisioning/[random folder name]/[MAC address of phone].cfg
or
https://[FQDN]:5001/provisioning/[random folder name]/[MAC address of phone].cfg (is phone is remote)

Does the browser download a file or not? Obviously if you have used a different HTTP/S port adjust the above accordingly.
 
  • Like
Reactions: eddv123
You won't find any of these files on the 3CX Server anymore. They are generated on-the-fly upon request.

If you open a browser and in the URL you write:
http://[server IP address]:5000/provisioning/[random folder name]/[MAC address of phone].cfg
or
https://[FQDN]:5001/provisioning/[random folder name]/[MAC address of phone].cfg (is phone is remote)

Does the browser download a file or not? Obviously of you have used a different HTTP/S port adjust the above accordingly.

I can download several files using this method(not the MAC.cfg file because it doesn't exist), so I know that I can get there from my PC with no issue.
 
And have you tried generating your log (level 6) from the Yealink ? it can sometimes be relatively clear what the issue is if you look at the process in Notepad ++.
 
And have you tried generating your log (level 6) from the Yealink ? it can sometimes be relatively clear what the issue is if you look at the process in Notepad ++.

It looks for the "PhoneMAC.boot" and doesn't find it (doesn't exist). Then it looks for "y0000000000.boot" and does find that either (also, doesn't exist). It then manages to find the file "y0000000029.cfg" then moves to "PhoneMAC.cfg" and fails to find it.

The provisioning process ends there and fails.
 
Yes it will always look for the Common.cfg and then MAC.cfg.

Do you get any errors in the logs such as "http to file failed" ?
 
I do. Just 404's for the ones it can't find and a 200 code for the one that it does find.
 
OK so the issue is looking to be definitely a URL access issue.

On installation did you select to have local IP or Split DNS configuration (FQDN managed internally as well as externally): https://www.3cx.com/docs/manual/configuring-your-pbx/

Your not using multiple NIC cards on your server or have VPN enabled etc ?

I guess you could try a re-installation using the above guide if you were un-certain of anything during install but it seems overkill to do this. I would first check if all your services are running on the 3CX System also.
 
Last edited:
I'd rather not go that route if possible. I've had this server running for over a year now with no such issue until recently. Has an update possibly messed with the configuration? How would you go about troubleshooting the access issue? Uses NGinx in my configuration if that extra information helps.

It shouldn't be using split DNS, local only and only one NIC.
 
One piece of information I can't seem to find mentioned is, is the phone on the same LAN as the 3CX Server, or are you trying to provision it as a Remote Extensions? Also, make sure that you at least have fw 29.81.0.60 installed when trying to provision it.

If it is a local extension, you could also check the with Wireshark if the request is reaching the 3CX Server or not.

I can download several files using this method(not the MAC.cfg file because it doesn't exist), so I know that I can get there from my PC with no issue.
Also one thing about the above you mentioned, it is not clear to me whether you tried to download it from a PC or not. IF you are looking in some subdirectory for the file, you will not find it. Provisioning file are generated on-the-fly and are never found on disk anymore.

Also on what @eddv123 said, if you go to the Extension Settings --> Phone Provisioning tab, the provisioning link in bold, what is it? Is it HTTPS or HTTP? Is it with an IP or FQDN?
 
One piece of information I can't seem to find mentioned is, is the phone on the same LAN as the 3CX Server, or are you trying to provision it as a Remote Extensions? Also, make sure that you at least have fw 29.81.0.60 installed when trying to provision it.

If it is a local extension, you could also check the with Wireshark if the request is reaching the 3CX Server or not.


Also one thing about the above you mentioned, it is not clear to me whether you tried to download it from a PC or not. IF you are looking in some subdirectory for the file, you will not find it. Provisioning file are generated on-the-fly and are never found on disk anymore.

Also on what @eddv123 said, if you go to the Extension Settings --> Phone Provisioning tab, the provisioning link in bold, what is it? Is it HTTPS or HTTP? Is it with an IP or FQDN?

They are on separate VLANs, however it has been like this since day one. The firmware in use is 29.81.0.110.

We use DHCP options to provision phones primarily, however I've been trying to do it manually from the web interface for the phone in question, neither are working. Using the HTTP address with the FQDN shown on the provisioning page in the 3CX web console. Tried copying and pasting it into the phone web console with no success.
 
Did you double-check to make sure you didn't make a typo in the MAC address of the phone you are trying to provision?

I can download several files using this method(not the MAC.cfg file because it doesn't exist), so I know that I can get there from my PC with no issue.

You keep saying you can't download the MAC.cfg file because it doesn't exist, but as was already explained the files are generated on the fly. They do not reside on the file system. So if you have the correct MAC address entered in the extension and the correct phone model selected then you absolutely should be able to download the MAC.cfg file.
 
Verified to be accurate about the MAC. Besides, this particular phone is not the only one giving me issues. Just the only one I'm actively using for troubleshooting.
 
Using the HTTP address with the FQDN shown on the provisioning page in the 3CX web console

Does that FQDN resolved to the local IP address of the PBX? You can try an nslookup from a pc in the same network as the phones and see if the FQDN correctly resolves. Since you are using an FQDN to provision the phones and not a local IP you need to manage your local DNS and point that FQDN to the local IP of the PBX.
Also make sure that the phones you are trying to provision are running the latest supported firmware. You can find the supported firmware for your device here.
 
And just to add to what @YiannisH_3CX said, log into the Yealink phone, and in the "Status" tab check the Primary DNS. Then from a PC, run an nslookup against the FQDN you have in the Phone Provisioning using the DNS you saw in the phones interface. You can do this like:
Code:
nslookup <FQDN> <phone DNS IP>
The IP it resolves to must be the correct IP of the 3CX Server.
 
Verified that the correct DNS information is present in the phone interface, the server FQDN resolves properly, and the logs also reflect that the server FQDN is being resolved.

As for the firmware, this particular phone is running 29.81.0.110. Although, not the absolute newest, it's new enough that it's 3CX approved.

Upon looking, it seems that I also can't upgrade the firmware from the 3CX console either.
 
This does sound strange and in order to further troubleshoot we will require to review some files. I will send you a p.m. with further details on what is needed.
 
@jrjohnson: Factory or custom template?

Click on the phone and then click the +Config button. Does populated config pop up?
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
112,089
Messages
590,698
Members
165,056
Latest member
PANAMERICANAGLOBAL