Escene provision (#1140)
* Add. Provision to Escene ES330/ES320 * Add. Look up Escene device by ext+domain. * Update Escene template. * Add. `provision` section in config. Found than ES330 some time hangup when it try get software/core and get error from fusion.
This commit is contained in:
parent
170d4be4a1
commit
f1c31e0935
|
|
@ -31,4 +31,7 @@ RewriteRule ^.*/([A-Fa-f0-9]{12})-site.cfg$ app/provision/?mac=$1&file=
|
||||||
RewriteRule ^.*/([A-Fa-f0-9]{12})-web.cfg$ app/provision/?mac=$1&file=web.cfg [QSA]
|
RewriteRule ^.*/([A-Fa-f0-9]{12})-web.cfg$ app/provision/?mac=$1&file=web.cfg [QSA]
|
||||||
RewriteRule ^.*/([A-Fa-f0-9]{12})-directory.xml$ app/provision/?mac=$1&file=directory.xml [QSA]
|
RewriteRule ^.*/([A-Fa-f0-9]{12})-directory.xml$ app/provision/?mac=$1&file=directory.xml [QSA]
|
||||||
|
|
||||||
|
#Escene
|
||||||
|
RewriteRule ^.*/provision/([A-Fa-f0-9]+)_Extern.xml$ app/provision/?ext=$1&file={$mac}_extern.xml [QSA]
|
||||||
|
|
||||||
Options -Indexes
|
Options -Indexes
|
||||||
|
|
|
||||||
|
|
@ -325,6 +325,19 @@ $text['label-speed_dial']['de-at'] = "Schnellwahl";
|
||||||
$text['label-speed_dial']['ar-eg'] = "";
|
$text['label-speed_dial']['ar-eg'] = "";
|
||||||
$text['label-speed_dial']['he'] = "חיוג מהיר";
|
$text['label-speed_dial']['he'] = "חיוג מהיר";
|
||||||
|
|
||||||
|
$text['label-speed_dial_prefix']['en-us'] = "Speed Dial Prefix";
|
||||||
|
$text['label-speed_dial_prefix']['es-cl'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['pt-pt'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['fr-fr'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['pt-br'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['pl'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['uk'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['sv-se'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['ro'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['de-at'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['ar-eg'] = "";
|
||||||
|
$text['label-speed_dial_prefix']['he'] = "";
|
||||||
|
|
||||||
$text['label-sms']['en-us'] = "SMS";
|
$text['label-sms']['en-us'] = "SMS";
|
||||||
$text['label-sms']['es-cl'] = "SMS";
|
$text['label-sms']['es-cl'] = "SMS";
|
||||||
$text['label-sms']['pt-pt'] = "SMS";
|
$text['label-sms']['pt-pt'] = "SMS";
|
||||||
|
|
@ -455,6 +468,19 @@ $text['label-record']['de-at'] = "Aufnehmen";
|
||||||
$text['label-record']['ar-eg'] = "تسجيل";
|
$text['label-record']['ar-eg'] = "تسجيل";
|
||||||
$text['label-record']['he'] = "הקלטה";
|
$text['label-record']['he'] = "הקלטה";
|
||||||
|
|
||||||
|
$text['label-pickup']['en-us'] = "Pickup";
|
||||||
|
$text['label-pickup']['es-cl'] = "";
|
||||||
|
$text['label-pickup']['pt-pt'] = "";
|
||||||
|
$text['label-pickup']['fr-fr'] = "";
|
||||||
|
$text['label-pickup']['pt-br'] = "";
|
||||||
|
$text['label-pickup']['pl'] = "";
|
||||||
|
$text['label-pickup']['uk'] = "";
|
||||||
|
$text['label-pickup']['sv-se'] = "";
|
||||||
|
$text['label-pickup']['ro'] = "";
|
||||||
|
$text['label-pickup']['de-at'] = "";
|
||||||
|
$text['label-pickup']['ar-eg'] = "";
|
||||||
|
$text['label-pickup']['he'] = "";
|
||||||
|
|
||||||
$text['label-public_hold']['en-us'] = "Public Hold";
|
$text['label-public_hold']['en-us'] = "Public Hold";
|
||||||
$text['label-public_hold']['es-cl'] = "Hold Pública";
|
$text['label-public_hold']['es-cl'] = "Hold Pública";
|
||||||
$text['label-public_hold']['pt-pt'] = "Espera Pública";
|
$text['label-public_hold']['pt-pt'] = "Espera Pública";
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -104,6 +104,9 @@ include "root.php";
|
||||||
case "001565":
|
case "001565":
|
||||||
$device_vendor = "yealink";
|
$device_vendor = "yealink";
|
||||||
break;
|
break;
|
||||||
|
case "00268B":
|
||||||
|
$device_vendor = "escene";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$device_vendor = "";
|
$device_vendor = "";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
include "root.php";
|
include "root.php";
|
||||||
require_once "resources/require.php";
|
require_once "resources/require.php";
|
||||||
|
require_once "resources/functions/device_by.php";
|
||||||
openlog("fusion-provisioning", LOG_PID | LOG_PERROR, LOG_LOCAL0);
|
openlog("fusion-provisioning", LOG_PID | LOG_PERROR, LOG_LOCAL0);
|
||||||
|
|
||||||
//set default variables
|
//set default variables
|
||||||
|
|
@ -38,6 +39,7 @@ openlog("fusion-provisioning", LOG_PID | LOG_PERROR, LOG_LOCAL0);
|
||||||
//define PHP variables from the HTTP values
|
//define PHP variables from the HTTP values
|
||||||
$mac = check_str($_REQUEST['mac']);
|
$mac = check_str($_REQUEST['mac']);
|
||||||
$file = check_str($_REQUEST['file']);
|
$file = check_str($_REQUEST['file']);
|
||||||
|
$ext = check_str($_REQUEST['ext']);
|
||||||
//if (strlen(check_str($_REQUEST['template'])) > 0) {
|
//if (strlen(check_str($_REQUEST['template'])) > 0) {
|
||||||
// $device_template = check_str($_REQUEST['template']);
|
// $device_template = check_str($_REQUEST['template']);
|
||||||
//}
|
//}
|
||||||
|
|
@ -51,6 +53,20 @@ openlog("fusion-provisioning", LOG_PID | LOG_PERROR, LOG_LOCAL0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Escence make request based on UserID for Memory keys
|
||||||
|
/*
|
||||||
|
The file name is fixed to `Account1_Extern.xml`.
|
||||||
|
(Account1 is the first account you register)
|
||||||
|
*/
|
||||||
|
if(empty($mac) && !empty($ext)){
|
||||||
|
$domain_array = explode(":", $_SERVER["HTTP_HOST"]);
|
||||||
|
$domain_name = $domain_array[0];
|
||||||
|
$device = device_by_ext($db, $ext, $domain_name);
|
||||||
|
if(($device !== false)&&($device['device_vendor']=='escene')){
|
||||||
|
$mac = $device['device_mac_address'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//check alternate MAC source
|
//check alternate MAC source
|
||||||
if (empty($mac)){
|
if (empty($mac)){
|
||||||
//set the http user agent
|
//set the http user agent
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function device_by_mac($db, $mac) {
|
||||||
|
$sql = 'SELECT * FROM v_devices ';
|
||||||
|
$sql .= 'WHERE device_mac_address=:mac';
|
||||||
|
$prep = $db->prepare(check_sql($sql));
|
||||||
|
if ($prep) {
|
||||||
|
$prep->bindParam(':mac', $mac);
|
||||||
|
$prep->execute();
|
||||||
|
$row = $prep->fetch();
|
||||||
|
unset($prep);
|
||||||
|
return $row;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function device_by_ext($db, $ext, $domain) {
|
||||||
|
$sql = 'select t1.* ';
|
||||||
|
$sql .= 'from v_devices t1 inner join v_device_lines t2 on t1.device_uuid=t2.device_uuid ';
|
||||||
|
$sql .= 'inner join v_domains t3 on t2.domain_uuid=t3.domain_uuid ';
|
||||||
|
$sql .= 'where t2.user_id=:ext ';
|
||||||
|
$sql .= 'and t3.domain_name=:domain ';
|
||||||
|
$sql .= 'and t3.domain_enabled = \'true\' ';
|
||||||
|
$prep = $db->prepare(check_sql($sql));
|
||||||
|
if ($prep) {
|
||||||
|
$prep->bindParam(':ext', $ext);
|
||||||
|
$prep->bindParam(':domain', $domain);
|
||||||
|
$prep->execute();
|
||||||
|
$row = $prep->fetch();
|
||||||
|
unset($prep);
|
||||||
|
return $row;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
<all>
|
||||||
|
<Privisions>
|
||||||
|
<!-- protocol
|
||||||
|
0 - tftp
|
||||||
|
1 - http
|
||||||
|
2 - ftp
|
||||||
|
3 - https
|
||||||
|
-->
|
||||||
|
<privision
|
||||||
|
PNP="1"
|
||||||
|
AutoPrivisionFlag="1"
|
||||||
|
DHCPOptionFlag="1"
|
||||||
|
DHCPOptionValue="66"
|
||||||
|
protocol="1"
|
||||||
|
Firmware="{$domain_name}{$project_path}/app/provision"
|
||||||
|
username=""
|
||||||
|
password=""
|
||||||
|
Freqency="168"
|
||||||
|
time="24"
|
||||||
|
DownloadBroadsoft="0"
|
||||||
|
DownloadFirmwar="0"
|
||||||
|
DownloadKernel="0"
|
||||||
|
DownloadExtension="1"
|
||||||
|
Downloadconfig="1"
|
||||||
|
DownloadPhonebook="0"
|
||||||
|
DownloadPersonPhonebook="0"
|
||||||
|
Bootingchecked="0"
|
||||||
|
ExtensionNumber=""
|
||||||
|
BootingcheckedMode="0"
|
||||||
|
DownloadFilename="0"
|
||||||
|
/>
|
||||||
|
</Privisions>
|
||||||
|
|
||||||
|
<sipUsers>
|
||||||
|
{foreach $lines as $row}
|
||||||
|
{if $row.line_number neq ""}
|
||||||
|
{$line_subscribe_tmp=$line_subscribe_{$row.line_number}}
|
||||||
|
{if $line_subscribe_tmp==""} {$line_subscribe_tmp=$line_subscribe} {/if}
|
||||||
|
{if $line_subscribe_tmp==""} {$line_subscribe_tmp=$row.register_expires} {/if}
|
||||||
|
{if $line_subscribe_tmp<"120"} {$line_subscribe_tmp="120"} {/if}
|
||||||
|
|
||||||
|
<sipUser id="{$row.line_number-1}"
|
||||||
|
EnableAccount="{($row.enabled=='true')?'1':'0'}"
|
||||||
|
Describe="MyLabel"
|
||||||
|
DomainName="{$row.server_address}"
|
||||||
|
UserName="{$row.display_name}"
|
||||||
|
UserNumber="{$row.user_id}"
|
||||||
|
approveName="{$row.auth_id}"
|
||||||
|
Password="{$row.password}"
|
||||||
|
ProxyServerAddress="{if $row.outbound_proxy neq ''}{$row.outbound_proxy}{else}{$row.server_address}{/if}{if $row.sip_port neq '5060'}:{$row.sip_port}{/if}"
|
||||||
|
LinkUse="{if $row.sip_transport=='tcp'}1{elseif $row.sip_transport=='tls'}2{else}0{/if}"
|
||||||
|
PossessNumber="1"
|
||||||
|
SecondProxyServerAddress=""
|
||||||
|
PollingRegistrationTime="32"
|
||||||
|
RefreshTime="{$row.register_expires}"
|
||||||
|
Subscribe="{$line_subscribe_tmp}"
|
||||||
|
SecondDomainName=""
|
||||||
|
STUNAddress=""
|
||||||
|
STUNEnableFlag="0"
|
||||||
|
flag="0"
|
||||||
|
SupportNumber="8"
|
||||||
|
RTPBegin="10000" RTPEND="10128"
|
||||||
|
AccountMode="0"
|
||||||
|
RegisterMethod="0"
|
||||||
|
BLAEnableFlag="0"
|
||||||
|
BLANum=""
|
||||||
|
AnonymousCall="0"
|
||||||
|
UserSessionTimerEnable="0"
|
||||||
|
SessionTimer="300"
|
||||||
|
AllowEventsEnable="0"
|
||||||
|
DNSSRVEnable="0"
|
||||||
|
RegisteredNAT="1"
|
||||||
|
RingFilename=""
|
||||||
|
KeepaliveEnable="1"
|
||||||
|
KeepaliveInterval="30"
|
||||||
|
AnonymousCallReject="0"
|
||||||
|
ProxyEnableFlag="0"
|
||||||
|
AutoAnsEnableFlag="0"
|
||||||
|
SessionTimerRefresher="0"
|
||||||
|
UserphoneEnable="0"
|
||||||
|
UserSessionTimerRefresher="0"
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</sipUsers>
|
||||||
|
</all>
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<all>
|
||||||
|
<hotlines>
|
||||||
|
{$is_first_line='true'}
|
||||||
|
{foreach $keys as $row}
|
||||||
|
{if $row.device_key_category=="programmable"}
|
||||||
|
{if $row.device_key_id!=""}
|
||||||
|
{if $row.device_key_line==""}
|
||||||
|
{$row.device_key_line="127"}
|
||||||
|
{/if}
|
||||||
|
<hotline {if $is_first_line=='true'}ExternID="0"{$is_first_line='false'}{/if} id="{$row.device_key_id-1}" SipAccounts="{$row.device_key_line}" ID="{$row.device_key_id-1}" Type="{$row.device_key_type}" HotlineNum="{$row.device_key_value}" Name="{$row.device_key_label}"/>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</hotlines>
|
||||||
|
|
||||||
|
<Extensions>
|
||||||
|
{foreach $keys as $row}
|
||||||
|
{if $row.device_key_category=="expansion"}
|
||||||
|
{if $row.device_key_id le "32"}
|
||||||
|
<extension id="{$row.device_key_id-1}" HotlineNum="{$row.device_key_value}" SipAccounts="{$row.device_key_line}" ID="{$row.device_key_id-1}" Type="{$row.device_key_type}" Name="{$row.device_key_label}" />
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</Extensions>
|
||||||
|
|
||||||
|
<Extension2s>
|
||||||
|
{foreach $keys as $row}
|
||||||
|
{if $row.device_key_category=="expansion"}
|
||||||
|
{if ($row.device_key_id gt "32")&&($row.device_key_id le "64")}
|
||||||
|
<extension2 id="{$row.device_key_id-33}" HotlineNum="{$row.device_key_value}" SipAccounts="{$row.device_key_line}" ID="{$row.device_key_id-33}" Type="{$row.device_key_type}" Name="{$row.device_key_label}" />
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</Extension2s>
|
||||||
|
|
||||||
|
<Extension3s>
|
||||||
|
{foreach $keys as $row}
|
||||||
|
{if $row.device_key_category=="expansion"}
|
||||||
|
{if ($row.device_key_id gt "64")&&($row.device_key_id le "96")}
|
||||||
|
<extension3 id="{$row.device_key_id-65}" HotlineNum="{$row.device_key_value}" SipAccounts="{$row.device_key_line}" ID="{$row.device_key_id-65}" Type="{$row.device_key_type}" Name="{$row.device_key_label}" />
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</Extension3s>
|
||||||
|
|
||||||
|
<Extension4s>
|
||||||
|
{foreach $keys as $row}
|
||||||
|
{if $row.device_key_category=="expansion"}
|
||||||
|
{if ($row.device_key_id gt "96")&&($row.device_key_id le "128")}
|
||||||
|
<extension4 id="{$row.device_key_id-97}" HotlineNum="{$row.device_key_value}" SipAccounts="{$row.device_key_line}" ID="{$row.device_key_id-97}" Type="{$row.device_key_type}" Name="{$row.device_key_label}" />
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</Extension4s>
|
||||||
|
|
||||||
|
<Extension5s>
|
||||||
|
{foreach $keys as $row}
|
||||||
|
{if $row.device_key_category=="expansion"}
|
||||||
|
{if ($row.device_key_id gt "128")&&($row.device_key_id le "160")}
|
||||||
|
<extension5 id="{$row.device_key_id-129}" HotlineNum="{$row.device_key_value}" SipAccounts="{$row.device_key_line}" ID="{$row.device_key_id-129}" Type="{$row.device_key_type}" Name="{$row.device_key_label}" />
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</Extension5s>
|
||||||
|
|
||||||
|
<Extension6s>
|
||||||
|
{foreach $keys as $row}
|
||||||
|
{if $row.device_key_category=="expansion"}
|
||||||
|
{if ($row.device_key_id gt "160")&&($row.device_key_id le "192")}
|
||||||
|
<extension6 id="{$row.device_key_id-161}" HotlineNum="{$row.device_key_value}" SipAccounts="{$row.device_key_line}" ID="{$row.device_key_id-161}" Type="{$row.device_key_type}" Name="{$row.device_key_label}" />
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</Extension6s>
|
||||||
|
</all>
|
||||||
Loading…
Reference in New Issue