Solved Fanvil X7 - Provisioning fails - Invalid file

Status
Not open for further replies.

unibeta

Bronze Partner
Basic Certified
Joined
Mar 22, 2018
Messages
18
Reaction score
1
Good afternoon,

For some time now, our Fanvil X7 devices have been cyclically displaying the message "Invalid file".

Apparently the phone doesn't like the provisioning file anymore.

I have reset one and now I don't get it provisioned anymore, no matter what firmware I use. 3CX recommended or newer versions.

The message "Invalid file" remains.

Is there a workaround?
 
Did you have any luck with this, we're getting the same error on our x6u, and stupidly I reset the phone hoping it would work and now it won't provision either!
 
  • 3CX Version, Standard Annual 16.0.4.493
  • Server OS, e.g. Debian 9
  • Is the 3CX Server Hosted and where? Hosted Google
  • IP Phone Make/Model/Firmware Fanvil X6u
  • Provisioning Method: STUN
  • Trunk Provider or Gateway Make/Model Gradwell
  • Has the Firewall Checker passed: YES
  • Are custom Phone Templates being used: NO
 
Nothing has changed as far as I know from initial setup, but the user complained that the BLFs she had added through the webpage last week still haddn't shown up on the phone. When I checked, I found the invalid file error, so tried re-provisioning etc. but ended upresetting the phone and haven't been able to get it to re-provision.

Have tried :
manually entering the provisioning URL from 3cx
Using IP instead of domain name
removing and re-adding the phone in 3cx
disabling the DHCP options in the phone
Entering the authentication details in the phone (but currently leaving blank again)

But everything I try I get messages like this in the log of the phone:
I/vcore.ap.phoneFlash | apPhoneFlashStart start
I/vcore.ap.main | apRequestEventProcess !
I/vcore.ap.main | apRequest: sourceType:PhoneFlash, url:https://OURURL.3cx.co.uk/provisioning/rm3irs1oa5ui/
I/vcore.ap.phoneFlash | apPhoneFlashStart end
W/vcore.cfg.get | The module[][--MDNS Config-- :] does not exist.
I/vcore.ap.main | apDownloadTask downloadType=common config
I/vcore.mt.main | mtUpdateRequest Start !
I/vcore.mt.main | mtCheckDigestFromUrl: digest is NULL.
I/vcore.mt.cfgUpdate | read error
I/vcore.mt.main | mtUpdateRequest: source=[ap] file=[F0V0X6U00000.cfg] result=error
I/vcore.ap.main | apDownloadTask download result=error
I/vcore.ap.main | apDownloadTask downloadType=device config
I/vcore.mt.main | mtUpdateRequest Start !
I/vcore.mt.main | mtCheckDigestFromUrl: digest is NULL.
I/vcore.cfm.request | setCallControllerState: set call control state=0, oldState=1
I/vcore.mt.cfgUpdate | mtFormatConfig Start!
I/vcore.nc.parse | ncParse: parse failed with deepth=[6]
E/vcore.nc.parse | ncParse: parse xml error totalRead[25770] or parserResult[0].
I/vcore.mt.main | mtUpdateRequest: source=[ap] file=[THEPHONESMAC.cfg] result=file invalid
I/vcore.ap.main | apDownloadTask download result=error
I/vcore.ap.main | apTaskCenter: sourceType=PhoneFlash,commonCfgDownloadResult=error,deviceCfgDownloadResult=error
I/vcore.ap.main | apModuleDownloadStart: type=[0]
I/vcore.ap.main | apNeedRebootGet: flag=[0].
I/UI_LOG | {winDestory widgets End End}
 
...oh and checked disallow outside lane isn't checked, and the IP isn't blacklisted
 
Perhaps the reason is that the phones network cannot access the provisioning server on your PBX.

Normally this would be controlled on the google machine firewall, as well as on the phones site.

It is done via HTTPS so if anything breaks the TLS handshake you might also have an issue there.

Can you try to manually download the provisioning file by yourself, while connected on the same network as the phones?
 
To make it easier just copy the provisioning link from the management console under the extension in question and just add /MACaddress.cfg at the end of it
 
I just tried it, and the .cfg file downloaded
 
...and I've opened it and at first glance looks like a genuine config file
 
So just did a reset to factory defaults using the # key method. Phone restarted twice then prompted for extension and password. Entered it, a couple of seconds later it came up with 'invalid file'
 
Kindly clarify the model and exact firmware version of the device you are currently testing.
 
Taken directly from the phone:
Model: X6U
Hardware: V1.0
Software: 1.0.2
 
Would it be possible to reset the phone and plug it into another internet connection perhaps?

Lets eliminate the possibility that your office connection may be causing the issue.

I would imagine all the phones there will fail to reprovision if there is a problem with the connection or the pbx
 
We've just completed the following 2 tests:
1)Unplugged it, and plugged a fanvil x3 in it's place and that worked perfectly..
2) Plugged it back in and provisioned it to our (not the customers) 3cx, which worked fine

So it does look like it's the 3cx server?
 
...also just tried changing to a custom template in the hope it downloads a different file, but still got 'invalid file'
 
Is yours also on google cloud? You can try restarting the customers VM if it won't interrupt their services.

However, check that the time and date on the Fanvil actually match the PBX before you provision.

I have a feeling the HTTPS handshake may be failing if the time and date is far off
 
Just checked, the time zone was wrong (was out by 4 hours), corrected it, but still got the same error
 
ok, also just restarted the 3cx server, reset the phone, changed the time zone again, and we still got 'file invalid'
 
Is it possible that the file 3cx is sending the phone is damaged or incorrect? If so is there a way to regenerate these?
 
Status
Not open for further replies.