Yealink Forums

Full Version: Multiple provisioning servers
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The auto-provisioning options do not seem to allow provisioning from multiple sources.
We are using 3cx and it is the default provisioning server.
Want to send a custom config file to all the phones with parameters that are not available for modification with the 3cx.
I would recommend setting your custom server as the autoprovision url in the phone and on your custom server use the .boot file to include the URL for your 3cx server as part of the phones configuration.

That should chain the requests from the phone.
(10-02-2018 05:44 PM)johnkiniston Wrote: [ -> ]I would recommend setting your custom server as the autoprovision url in the phone and on your custom server use the .boot file to include the URL for your 3cx server as part of the phones configuration.

That should chain the requests from the phone.

Interesting idea. Not sure yet how to incorporate the .boot file into it but I will do some reading. Glad you think its possible.
By default the phones should look for a y0000000000.boot file and then a <MAC>.boot file

The file should have content like this:

#!version:1.0.0.1
## The header above must appear as-is in the first line

include:config "yealink-general.cfg"

overwrite_mode = 1

You can have multiple include lines, and the include lines can reference other hosts by putting the full URL in them.

It should all be documented in the provisioning guide.
So I have chosen a new approach to configuring the Yealink phone.
I am using the 3cx standard config and then pushing an xml (via php) to the phone.
But I am getting hung up on double quotes in php.
dialnowrule="1xxx" is an example of a 4 digit dial now application.
But I get an error in Xampp if I leave the double quotes in place.
Any ideas?
<?php
#
function push2phone($server,$phone,$data)
{
$xml = "xml=".$data;
$post = "POST / HTTP/1.1\r\n";
$post .= "Host: $phone\r\n";
$post .= "Referer: $server\r\n";
$post .= "Connection: Keep-Alive\r\n";
$post .= "Content-Type: text/xml\r\n";
$post .= "Content-Length: ".strlen($xml)."\r\n\r\n";
$fp = @fsockopen ( $phone, 80, $errno, $errstr, 5);
if($fp)
{
fputs($fp, $post.$xml);
flush();
fclose($fp);
}
}
##############################
$xml = "<YealinkIPPhoneConfiguration Beep=\"yes\">\n";
$xml .= "<Item>features.blf_led_mode = 1</Item>\n";
$xml .= "<Item>DialNowRule="1xxx" LineID="1"</Item>\n";
$xml .= "</YealinkIPPhoneConfiguration>\n";
push2phone("192.168.55.104","192.168.55.115",$xml);
?>

$xml .= "<Item>dialplan.dialnow.rule.1 = 1xxx </Item>\n";

Nevermind, it was just a syntax issue, quotes were not required.
Reference URL's