- ADD SIP TFTP

- Activate Dial Template
This commit is contained in:
PhantomVl 2019-09-09 17:26:09 +03:00
parent f75a486701
commit ca45965534
7 changed files with 66 additions and 29 deletions

View file

@ -95,7 +95,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
private $SCCP_LANG_DICTIONARY = 'be-sccp.jar'; // CISCO LANG file search in /tftp-path private $SCCP_LANG_DICTIONARY = 'be-sccp.jar'; // CISCO LANG file search in /tftp-path
private $pagedata = null; private $pagedata = null;
private $sccp_driver_ver = '11.3'; // Ver fore SCCP.CLASS.PHP private $sccp_driver_ver = '11.3'; // Ver fore SCCP.CLASS.PHP
public $sccp_manager_ver = '13.0.0.4(M)'; public $sccp_manager_ver = '14.0.0.1';
private $tftpLang = array(); private $tftpLang = array();
// private $hint_context = '@ext-local'; /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get it from Config !!! // private $hint_context = '@ext-local'; /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get it from Config !!!
private $hint_context = array('default' => '@ext-local'); /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get it from Config !!! private $hint_context = array('default' => '@ext-local'); /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get it from Config !!!
@ -478,12 +478,14 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
"sccpkeyset" => array( "sccpkeyset" => array(
"name" => _("SCCP Device Keyset"), "name" => _("SCCP Device Keyset"),
"page" => 'views/advserver.keyset.php' "page" => 'views/advserver.keyset.php'
),
"sccpdialplan" => array(
"name" => _("SIP Dial Plan information"),
"page" => 'views/advserver.dialtemplate.php'
) )
); );
if ($this->sccpvalues['siptftp']['data'] == 'on') {
$this->pagedata["sccpdialplan"] = array(
"name" => _("SIP Dial Plan information"),
"page" => 'views/advserver.dialtemplate.php'
);
}
break; break;
} }
foreach ($this->pagedata as &$page) { foreach ($this->pagedata as &$page) {
@ -567,12 +569,14 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
"sccpdevice" => array( "sccpdevice" => array(
"name" => _("SCCP Phone"), "name" => _("SCCP Phone"),
"page" => 'views/hardware.phone.php' "page" => 'views/hardware.phone.php'
),
"sipdevice" => array(
"name" => _("SIP CISCO Phone"),
"page" => 'views/hardware.sphone.php'
) )
); );
if ($this->sccpvalues['siptftp']['data'] == 'on') {
$this->pagedata["sipdevice"] = array(
"name" => _("SIP CISCO Phone"),
"page" => 'views/hardware.sphone.php'
);
}
break; break;
} }
foreach ($this->pagedata as &$page) { foreach ($this->pagedata as &$page) {
@ -1932,13 +1936,22 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
$data_tmp = explode(';',$dev_ext_config['sip_lines']); $data_tmp = explode(';',$dev_ext_config['sip_lines']);
foreach ($data_tmp as $value) { foreach ($data_tmp as $value) {
$tmp_line = explode(',',$value); $tmp_line = explode(',',$value);
if ($tmp_line[0] == 'line') { switch ($tmp_line[0]) {
case 'line':
$dev_line_data= $this->sipconfigs->get_db_sip_TableData('DeviceById',array('id'=>$tmp_line[1])); $dev_line_data= $this->sipconfigs->get_db_sip_TableData('DeviceById',array('id'=>$tmp_line[1]));
if (!empty($dev_line_data)) { if (!empty($dev_line_data)) {
$data_value['siplines'][] = $dev_line_data; $data_value['siplines'][] = $dev_line_data;
} }
break;
case 'speeddial':
$data_value['speeddial'][] = array("name"=>$tmp_line[1],"dial"=>$tmp_line[2]);
break;
default:
$data_value['sipfunctions'][] = $tmp_line;
break;
} }
} }
// return print_r($data_tmp ,true);
// return print_r($dev_line_data,true); // return print_r($dev_line_data,true);
} }
} }
@ -1957,6 +1970,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
$dev_config['addon_info'][$key] = $hw_data[0]['loadimage']; $dev_config['addon_info'][$key] = $hw_data[0]['loadimage'];
} }
} }
// return print_r($data_value,true);
// return print_r($dev_config,true); // return print_r($dev_config,true);
$lang_data = $this->extconfigs->getextConfig('sccp_lang'); $lang_data = $this->extconfigs->getextConfig('sccp_lang');

View file

@ -614,11 +614,12 @@ class xmlinterface {
$ifc = 0; $ifc = 0;
if (!empty($data_values['siplines'])) { if (!empty($data_values['siplines'])) {
foreach ($data_values['siplines'] as $spkey => $spvalue) { foreach ($data_values['siplines'] as $spkey => $spvalue) {
// if $spvalue[]
$xnode_obj = clone $xnode->line; $xnode_obj = clone $xnode->line;
$xnode_obj['button'] = $ifc + 1; $xnode_obj['button'] = $ifc + 1;
$xnode_obj['lineIndex'] = $ifc + 1; $xnode_obj['lineIndex'] = $ifc + 1;
//$xnode_obj->proxy = $data_values['bindaddr']; //$xnode_obj->proxy = $data_values['bindaddr'];
$xnode_obj-> featureID = "9";
if ($xnode_obj->proxy != 'USECALLMANAGER') { if ($xnode_obj->proxy != 'USECALLMANAGER') {
$xnode_obj->proxy = $sip_bind[0]['ip']; $xnode_obj->proxy = $sip_bind[0]['ip'];
$xnode_obj->port = $sip_bind[0]['port']; $xnode_obj->port = $sip_bind[0]['port'];
@ -636,6 +637,17 @@ class xmlinterface {
$ifc ++; $ifc ++;
} }
} }
if (!empty($data_values['speeddial'])) {
foreach ($data_values['speeddial'] as $spkey => $spvalue) {
$xmlstr = '<line button="'. ($ifc + 1) .'"> <featureID>22</featureID>'
.'<featureLabel>'.$spvalue["name"].'</featureLabel>'
.'<speedDialNumber>'.$spvalue["dial"].'</speedDialNumber>'
.'<contact>'.$spvalue["dial"].'</contact> <retrievalPrefix /></line>';
$xnode_obj = simplexml_load_string($xmlstr);
$this->appendSimpleXmlNode($xnode->line, $xnode_obj);
$ifc ++;
}
}
// $xnode = &$xml_node->$dkey->members; // $xnode = &$xml_node->$dkey->members;
//$xnode = null; //$xnode = null;
break; break;

View file

@ -149,6 +149,14 @@ and open the template in the editor. Base Version before all crash :-)
<button value="sccpsimple">Simple</button> <button value="sccpsimple">Simple</button>
<help>Help!</help> <help>Help!</help>
</item> </item>
<item type="IS" id="7" seq="98">
<name>siptftp</name>
<label>Support SIP device</label>
<default>off</default>
<button value="off">Disabled</button>
<button value="on">Enabled</button>
<help>Help!</help>
</item>
</page_group> </page_group>
<page_group name="sccp_net"> <page_group name="sccp_net">
<label>SCCP Networks</label> <label>SCCP Networks</label>

View file

@ -245,8 +245,9 @@ function Get_DB_config($sccp_compatible) {
'_hwlang' => array('create' => 'varchar(12) NULL DEFAULT NULL'), '_hwlang' => array('create' => 'varchar(12) NULL DEFAULT NULL'),
'_loginname' => array('create' => 'varchar(20) NULL DEFAULT NULL AFTER `_hwlang`'), '_loginname' => array('create' => 'varchar(20) NULL DEFAULT NULL AFTER `_hwlang`'),
'_profileid' => array('create' => "INT(11) NOT NULL DEFAULT '0' AFTER `_loginname`"), '_profileid' => array('create' => "INT(11) NOT NULL DEFAULT '0' AFTER `_loginname`"),
'_dialrules' => array('create' => "VARCHAR(255) NULL DEFAULT NULL AFTER `_profileid`"),
'useRedialMenu' => array('create' => "VARCHAR(5) NULL DEFAULT 'no' AFTER `_profileid`"), 'useRedialMenu' => array('create' => "VARCHAR(5) NULL DEFAULT 'no' AFTER `_dialrules`"),
//'dtmfmode' => array('create' => "VARCHAR(10) default 'outofband'", 'modify' => "VARCHAR(10)", 'def_modify'=> 'outofband'), //'dtmfmode' => array('create' => "VARCHAR(10) default 'outofband'", 'modify' => "VARCHAR(10)", 'def_modify'=> 'outofband'),
'dtmfmode' => array('drop' => "yes"), 'dtmfmode' => array('drop' => "yes"),
// 'force_dtmfmode' => array('create' => "VARCHAR(10) default 'auto'", 'modify' => "VARCHAR(10)", 'def_modify'=> 'auto'), // 'force_dtmfmode' => array('create' => "VARCHAR(10) default 'auto'", 'modify' => "VARCHAR(10)", 'def_modify'=> 'auto'),
@ -334,6 +335,7 @@ function Get_DB_config($sccp_compatible) {
'_description' => array('rename' => "description"), '_description' => array('rename' => "description"),
'_loginname' => array('drop' => "yes"), '_loginname' => array('drop' => "yes"),
'_profileid' => array('drop' => "yes"), '_profileid' => array('drop' => "yes"),
'_dialrules' => array('create' => "VARCHAR(255) NULL DEFAULT NULL AFTER `_profileid`"),
'transfer_on_hangup' => array('create' => "enum('on','off') NULL DEFAULT NULL", 'modify' => "enum('on','off')"), 'transfer_on_hangup' => array('create' => "enum('on','off') NULL DEFAULT NULL", 'modify' => "enum('on','off')"),
), ),
'sccpline' => array( 'sccpline' => array(
@ -656,7 +658,9 @@ function InstallDB_fillsccpdevmodel() {
"('S60', 'NOKIA', 0, 1, '', 'loadInformation376', 0, ''), ('9971', 'CISCO', 1, 1, '', 'loadInformation493', 0, ''), ('9951', 'CISCO', 1, 1, '', 'loadInformation537', 0, ''), ('8961', 'CISCO', 1, 1, '', 'loadInformation540', 0, ''), ('Iphone', 'APPLE', 0, 1, '', 'loadInformation562', 0, ''), ('Android', 'ANDROID', 0, 1, '', 'loadInformation575', 0, ''), ('7926', 'CISCO', 1, 1, 'CP7926G-1.4.5.3', 'loadInformation577', 0, ''), ('7821', 'CISCO', 1, 1, '', 'loadInformation621', 0, ''), ('7841', 'CISCO', 1, 1, '', 'loadInformation622', 0, ''), ('7861', 'CISCO', 1, 1, '', 'loadInformation623', 0, ''), ('VXC 6215', 'CISCO', 1, 1, '', 'loadInformation634', 0, ''), ('8831', 'CISCO', 1, 1, '', 'loadInformation659', 0, ''), ('8841', 'CISCO', 1, 1, '', 'loadInformation683', 0, ''), ('8851', 'CISCO', 1, 1, '', 'loadInformation684', 0, ''), ('8861', 'CISCO', 1, 1, '', 'loadInformation685', 0, ''), ". "('S60', 'NOKIA', 0, 1, '', 'loadInformation376', 0, ''), ('9971', 'CISCO', 1, 1, '', 'loadInformation493', 0, ''), ('9951', 'CISCO', 1, 1, '', 'loadInformation537', 0, ''), ('8961', 'CISCO', 1, 1, '', 'loadInformation540', 0, ''), ('Iphone', 'APPLE', 0, 1, '', 'loadInformation562', 0, ''), ('Android', 'ANDROID', 0, 1, '', 'loadInformation575', 0, ''), ('7926', 'CISCO', 1, 1, 'CP7926G-1.4.5.3', 'loadInformation577', 0, ''), ('7821', 'CISCO', 1, 1, '', 'loadInformation621', 0, ''), ('7841', 'CISCO', 1, 1, '', 'loadInformation622', 0, ''), ('7861', 'CISCO', 1, 1, '', 'loadInformation623', 0, ''), ('VXC 6215', 'CISCO', 1, 1, '', 'loadInformation634', 0, ''), ('8831', 'CISCO', 1, 1, '', 'loadInformation659', 0, ''), ('8841', 'CISCO', 1, 1, '', 'loadInformation683', 0, ''), ('8851', 'CISCO', 1, 1, '', 'loadInformation684', 0, ''), ('8861', 'CISCO', 1, 1, '', 'loadInformation685', 0, ''), ".
"('Analog', 'CISCO', 1, 1, '', 'loadInformation30027', 0, ''), ('ISDN', 'CISCO', 1, 1, '', 'loadInformation30028', 0, ''), ('SCCP GW', 'CISCO', 1, 1, '', 'loadInformation30032', 0, ''), ('IP-STE', 'CISCO', 1, 1, '', 'loadInformation30035', 0, ''), ". "('Analog', 'CISCO', 1, 1, '', 'loadInformation30027', 0, ''), ('ISDN', 'CISCO', 1, 1, '', 'loadInformation30028', 0, ''), ('SCCP GW', 'CISCO', 1, 1, '', 'loadInformation30032', 0, ''), ('IP-STE', 'CISCO', 1, 1, '', 'loadInformation30035', 0, ''), ".
"('SPA 521S', 'CISCO', 1, 1, '', 'loadInformation80000', 0, ''), ('SPA 502G', 'CISCO', 1, 1, '', 'loadInformation80003', 0, ''), ('SPA 504G', 'CISCO', 1, 1, '', 'loadInformation80004', 0, ''), ('SPA 525G', 'CISCO', 1, 1, '', 'loadInformation80005', 0, ''), ('SPA 525G2', 'CISCO', 1, 1, '', 'loadInformation80009', 0, ''), ('SPA 303G', 'CISCO', 1, 1, '', 'loadInformation80011', 0, ''),". "('SPA 521S', 'CISCO', 1, 1, '', 'loadInformation80000', 0, ''), ('SPA 502G', 'CISCO', 1, 1, '', 'loadInformation80003', 0, ''), ('SPA 504G', 'CISCO', 1, 1, '', 'loadInformation80004', 0, ''), ('SPA 525G', 'CISCO', 1, 1, '', 'loadInformation80005', 0, ''), ('SPA 525G2', 'CISCO', 1, 1, '', 'loadInformation80009', 0, ''), ('SPA 303G', 'CISCO', 1, 1, '', 'loadInformation80011', 0, ''),".
"('IP Communicator', 'CISCO', 1, 1, '', 'loadInformation30016', 0, NULL), ('Nokia E', 'Nokia', 1, 28, '', 'loadInformation275', 0, NULL), ('VGC Phone', 'CISCO', 1, 1, '', 'loadInformation10', 0, NULL), ('VGC Virtual', 'CISCO', 1, 1, '', 'loadInformation11', 0, NULL);"; "('IP Communicator', 'CISCO', 1, 1, '', 'loadInformation30016', 0, NULL), ('Nokia E', 'Nokia', 1, 28, '', 'loadInformation275', 0, NULL), ('VGC Phone', 'CISCO', 1, 1, '', 'loadInformation10', 0, NULL),".
"('7911-sip', 'CISCO-SIP', 1, 1, 'SIP11.9-2-1S', 'loadInformation307', 1, 'SEP0000000000.cnf.xml_791x_sip_template'),".
"('VGC Virtual', 'CISCO', 1, 1, '', 'loadInformation11', 0, NULL);";
$check = $db->query($sql); $check = $db->query($sql);
if (db::IsError($check)) { if (db::IsError($check)) {
die_freepbx("Can not create sccpdevmodel table, error:$check\n"); die_freepbx("Can not create sccpdevmodel table, error:$check\n");

View file

@ -58,12 +58,14 @@ if (!defined('FREEPBX_IS_AUTH')) { die('No direct script access allowed'); }
/* Comment: Maybe save in sccpsettings, if the chan_sccp tables already existed in the database or if they were created by install.php */ /* Comment: Maybe save in sccpsettings, if the chan_sccp tables already existed in the database or if they were created by install.php */
/* So that you know if it is save to drop/delete them */ /* So that you know if it is save to drop/delete them */
/* DROP VIEW `sccpdeviceconfig`; /* DROP VIEW IF EXISTS`sccpdeviceconfig`;
DROP TABLE `sccpbuttonconfig`; DROP TABLE IF EXISTS `sccpbuttonconfig`;
DROP TABLE `sccpdevice`; DROP TABLE IF EXISTS `sccpdevice`;
DROP TABLE `sccpdevmodel`; DROP TABLE IF EXISTS `sccpdevmodel`;
DROP TABLE `sccpline`; DROP TABLE IF EXISTS `sccpline`;
DROP TABLE `sccpsettings`; DROP TABLE IF EXISTS `sccpsettings`;
DROP TABLE IF EXISTS `sccpuser`;
*
*/ */
} }

View file

@ -11,7 +11,8 @@ $forminfo =array(
); );
//$buttons_type= array("empty","line","service","feature","speeddial"); //$buttons_type= array("empty","line","service","feature","speeddial");
// "feature","service" -- Add leter ! // "feature","service" -- Add leter !
$buttons_type= array("empty","line","silent","monitor","speeddial","feature","adv.line"); //$buttons_type= array("empty","line","silent","monitor","speeddial","feature","adv.line");
$buttons_type= array("empty","line","speeddial");
$feature_list= array('parkinglot'=>'Park Slots','monitor'=> "Record Calls",'devstate'=> "Change Status"); $feature_list= array('parkinglot'=>'Park Slots','monitor'=> "Record Calls",'devstate'=> "Change Status");
//$lines_list = $this->dbinterface->get_db_SccpTableData('SccpExtension'); //$lines_list = $this->dbinterface->get_db_SccpTableData('SccpExtension');

View file

@ -100,7 +100,7 @@ if ($mysql_info['Value'] <= '2000') {
} }
global $amp_conf; global $amp_conf;
// ************************************************************************************ // ************************************************************************************
/*
//$tmp_data_list = $this->getSccp_model_information('enabled', $validate = TRUE); //$tmp_data_list = $this->getSccp_model_information('enabled', $validate = TRUE);
//$tmp_data_list = $amp_conf; //$tmp_data_list = $amp_conf;
//$tmp_data_list=FreePBX::create()->Sipsettings->getConfig('bindport'); //$tmp_data_list=FreePBX::create()->Sipsettings->getConfig('bindport');
@ -109,20 +109,16 @@ if ($mysql_info['Value'] <= '2000') {
// $tmp_data_list=$this->dbinterface->get_db_SccpTableData('SccpExtension'); // $tmp_data_list=$this->dbinterface->get_db_SccpTableData('SccpExtension');
// $tmp_data_list=$this->dbinterface->get_db_SccpTableData('SccpDevice', array('type'=>'cisco-sip')); // $tmp_data_list=$this->dbinterface->get_db_SccpTableData('SccpDevice', array('type'=>'cisco-sip'));
// $tmp_data_list= FreePBX::Sipsettings()->getChanSipDefaults(); // $tmp_data_list= FreePBX::Sipsettings()->getChanSipDefaults();
$file_ext = array('.loads', '.sbn', '.bin', '.zup');
$dir = '/tftpboot';
//$tmp_data_list = $this->find_all_files($dir, $file_ext, 'fileonly'); //$tmp_data_list = $this->find_all_files($dir, $file_ext, 'fileonly');
print_r("<br> Help Info:<br><pre>"); print_r("<br> Help Info:<br><pre>");
print_r("<br>"); print_r("<br>");
print_r($tmp_data_list); print_r($tmp_data_list);
//$tmp_data_list = FreePBX::Sipsettings()->getChanSipDefaults(); //$tmp_data_list = FreePBX::Sipsettings()->getChanSipDefaults();
$tmp_data_list = FreePBX::Sipsettings()->getBinds();
// $tmp_data_list = \FreePBX::Sipsettings()->getSipPortOwner(); // $tmp_data_list = \FreePBX::Sipsettings()->getSipPortOwner();
//print_r($buton_list); //print_r($buton_list);
print_r("<br>"); print_r("<br>");
print_r($this->sccp_conf_init); print_r($this->sccp_conf_init);
//$tmp_data_list=$this->sipconfigs->get_db_sip_TableData('Device'); //$tmp_data_list=$this->sipconfigs->get_db_sip_TableData('Device');
print_r($this->srvinterface->sccp_list_keysets());
print_r("<br>"); print_r("<br>");
// print_r("DIRECT START"); // print_r("DIRECT START");
// print_r($this->sccpvalues['ccm_address']); // print_r($this->sccpvalues['ccm_address']);