Yealink Forums

Full Version: Detailed boot process and ways to add local configuration?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(I post here since I was not able to post this text below in "Auto Provisioning". I appologize.

However, ultimatively it's a question about configuration.. :-)

Is there somewhere a detailed description of the boot process of yealink phones available?

I mean really detailed. I find lots of information on the boot process, but distributed in several places in several detail levels. However, I did not find anywhere a description that includes for example a (boot) flow diagram or the complete boot process from applying power, until the phone is ready to be used.

On each step through the boot process, there are several ways to give a configuration to a phone.
Also the boot process is different between a phone that has no configuration (i.e. there was a factory reset), and a phone that has a configuration.

Why do I ask these questions?
1 - I would like to understand de boot sequence in detail
2 - I want to find out when and how I can introduce additional configuration to a phone


Example:
I have phones (T46S) that are autoprovisioned by an asterisk server located in the cloud. Unfortunately, I cannot change the .cfg files that server is providing to the phones as I do not have direct access to those files on the asterisk server.
The phones need some additional configuration that the server config files are not delivering. Since I cannot add an include file on the server, which would be the most elegant solution, I need to find another way.
The question here is where and in what boot phase can I add those configurations to the phone, without access to the .cfg files on the server?
I could introduce a tftp server with DHCP, but I would have to be careful not to break the provisioning relationship between the phone and the asterisk server.

So, can I tell the phone during the boot process something like:
"Here is your IP address and there is a tftp server.. but only load one small .cfg file on the tftp server and then continue with getting the rest of your configuration from your autoprovisioning server in the cloud..

Having better knowledge of the boot process in detail might help me understand.

Thanks for your help
Dan
(10-12-2019 08:50 AM)DanH Wrote: [ -> ]Unfortunately, I cannot change the .cfg files that server is providing to the phones as I do not have direct access to those files on the asterisk server.

This is your underlying problem. From a normal perspective you are basically asking how you can do a man-in-the-middle attack on your own devices.

Yes you could potentially ask the phone to pull in configurations from more than 1 server (i.e. local server + remote server), but to do that you need authority to change the current provisioning setup. Since you don't have access to change the .cfg file on the server, you don't have that access.

The real question is why don't you have access to change/add the values that you need? If it is somebody else's server who refuses to grant you access, then why not simply request that they add the additional configuration options for you?

On the other hand, if the .cfg files are being generated by the server and you do not have/know how to modify them without causing bigger issues, that's a different story.

In either case though I would strongly suggest trying to solve the problem properly rather than hoping to find a loop hole in the way phones provision themselves and pull configurations. (I'm not saying you couldn't find SOME way of making it work the way you are asking, but you are much better off putting time/effort into solving the primary underlying problem rather than hacking unreliable efforts around it...)
(10-12-2019 08:50 AM)DanH Wrote: [ -> ](I post here since I was not able to post this text below in "Auto Provisioning". I appologize.

However, ultimatively it's a question about configuration.. :-)

Is there somewhere a detailed description of the boot process of yealink phones available?

I mean really detailed. I find lots of information on the boot process, but distributed in several places in several detail levels. However, I did not find anywhere a description that includes for example a (boot) flow diagram or the complete boot process from applying power, until the phone is ready to be used.

On each step through the boot process, there are several ways to give a configuration to a phone.
Also the boot process is different between a phone that has no configuration (i.e. there was a factory reset), and a phone that has a configuration.

Why do I ask these questions?
1 - I would like to understand de boot sequence in detail
2 - I want to find out when and how I can introduce additional configuration to a phone


Example:
I have phones (T46S) that are autoprovisioned by an asterisk server located in the cloud. Unfortunately, I cannot change the .cfg files that server is providing to the phones as I do not have direct access to those files on the asterisk server.
The phones need some additional configuration that the server config files are not delivering. Since I cannot add an include file on the server, which would be the most elegant solution, I need to find another way.
The question here is where and in what boot phase can I add those configurations to the phone, without access to the .cfg files on the server?
I could introduce a tftp server with DHCP, but I would have to be careful not to break the provisioning relationship between the phone and the asterisk server.

So, can I tell the phone during the boot process something like:
"Here is your IP address and there is a tftp server.. but only load one small .cfg file on the tftp server and then continue with getting the rest of your configuration from your autoprovisioning server in the cloud..

Having better knowledge of the boot process in detail might help me understand.

Thanks for your help
Dan

The config below will preserve any locally defined settings: (non-static/user settings, set from the web gui or set from the physical phone itself\) config in MAC-local.cfg. Since your phones, but not you, have a way to upload the MAC-local.cfg files, this is your best bet.

The admin guide is the place to find it, and there's another guide called deployment guide or something similar.

PHP Code:
static.auto_provision.custom.sync=1
static.auto_provision.custom.protect=


Changes made locally are then uploaded to the boot server as mac-local.cfg (if you export them from the phone web interface, these options are called non-static.

Page 91 of the admin guide has the custom.* provisioning flowchart. There are other boot/provisioning flowcharts, but they are all over the place, so you'll have to search for 'flowchart'.
Reference URL's