Update 433 bug fix
This commit is contained in:
parent
05a5c67930
commit
bbfc6bb007
58
!Readme.txt/help.tftprewrite
Normal file
58
!Readme.txt/help.tftprewrite
Normal file
|
@ -0,0 +1,58 @@
|
|||
diff --git a/src/sccp_config.c b/src/sccp_config.c
|
||||
index e15d19db..c78bcbf2 100644
|
||||
--- a/src/sccp_config.c
|
||||
+++ b/src/sccp_config.c
|
||||
@@ -3062,6 +3062,7 @@ int sccp_manager_config_metadata(struct mansession *s, const struct message *m)
|
||||
uint i;
|
||||
const char *id = astman_get_header(m, "ActionID");
|
||||
const char *req_segment = astman_get_header(m, "Segment");
|
||||
+ const char *req_listresult = astman_get_header(m, "ListResult");
|
||||
uint comma = 0;
|
||||
|
||||
if (sccp_strlen_zero(req_segment)) { // return all segments
|
||||
@@ -3180,11 +3181,22 @@ int sccp_manager_config_metadata(struct mansession *s, const struct message *m)
|
||||
sccpConfigSegment = &sccpConfigSegments[i];
|
||||
const SCCPConfigOption *config = sccpConfigSegment->config;
|
||||
|
||||
- astman_append(s, "Response: Success\r\n");
|
||||
- if (!ast_strlen_zero(id)) {
|
||||
- astman_append(s, "ActionID: %s\r\n", id);
|
||||
+ if (sccp_strcaseequals(req_listresult, "yes")) {
|
||||
+ //astman_append(s, "Response: Follows\r\n\r\n");
|
||||
+ //astman_append(s, "EventList: Start\r\n");
|
||||
+ astman_send_listack(s, m, "SCCPConfigMetaData Follows", "Start");
|
||||
+ astman_append(s, "Event: SCCPConfigMetaData\r\n");
|
||||
+ if (!ast_strlen_zero(id)) {
|
||||
+ astman_append(s, "ActionID: %s\r\n", id);
|
||||
+ }
|
||||
+ } else if (sccp_strcaseequals(req_listresult, "freepbx")) {
|
||||
+ astman_append(s, "Response: Follows\r\n");
|
||||
+ } else {
|
||||
+ astman_append(s, "Response: Success\r\n");
|
||||
+ if (!ast_strlen_zero(id)) {
|
||||
+ astman_append(s, "ActionID: %s\r\n", id);
|
||||
+ }
|
||||
}
|
||||
-
|
||||
astman_append(s, "JSON: {");
|
||||
astman_append(s, "\"Segment\":\"%s\",", sccpConfigSegment->name);
|
||||
astman_append(s, "\"Options\":[");
|
||||
@@ -3296,8 +3308,17 @@ int sccp_manager_config_metadata(struct mansession *s, const struct message *m)
|
||||
comma = 1;
|
||||
}
|
||||
}
|
||||
- astman_append(s, "]}\r\n\r\n");
|
||||
+ astman_append(s, "]}\r\n");
|
||||
total++;
|
||||
+ if (sccp_strcaseequals(req_listresult, "yes")) {
|
||||
+ astman_append(s,
|
||||
+ "\r\nEvent: SCCPConfigMetaDataComplete\r\n"
|
||||
+ "EventList: Complete\r\n"
|
||||
+ "ListItems: %d\r\n\r\n", total);
|
||||
+ } else if (sccp_strcaseequals(req_listresult, "freepbx")) {
|
||||
+ astman_append(s, "--END COMMAND--\r\n");
|
||||
+ }
|
||||
+ astman_append(s, "\r\n");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -678,11 +678,12 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
|
|||
}
|
||||
break;
|
||||
case 'create_hw_tftp':
|
||||
$ver_id = ' Test !';
|
||||
$this->sccp_delete_device_XML('all'); // Концы в вводу !!
|
||||
$this->sccp_create_tftp_XML();
|
||||
$models = $this->dbinterface->get_db_SccpTableData("SccpDevice");
|
||||
$ver_id = ' on found active model !';
|
||||
// return array('status' => false, 'message' => print_r($models));
|
||||
//return array('status' => false, 'message' => 'Error :'. print_r($models,1));
|
||||
foreach ($models as $data) {
|
||||
$ver_id = $this->sccp_create_device_XML($data['name']);
|
||||
};
|
||||
|
|
|
@ -17,12 +17,14 @@ class srvinterface {
|
|||
public function __construct($parent_class = null) {
|
||||
global $amp_conf;
|
||||
$this->paren_class = $parent_class;
|
||||
/*
|
||||
$this->socket = FALSE;
|
||||
$this->error = "";
|
||||
$this->astLogin(localhost, $amp_conf[AMPMGRUSER],$amp_conf[AMPMGRPASS]);
|
||||
*
|
||||
*/
|
||||
/*
|
||||
if (isset($amp_conf[AMPMGRUSER])) {
|
||||
$this->astLogin('localhost', $amp_conf[AMPMGRUSER],$amp_conf[AMPMGRPASS]);
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
public function info() {
|
||||
|
@ -432,16 +434,18 @@ class srvinterface {
|
|||
if (!is_bool(strpos($inthat, $value)))
|
||||
return substr($inthat, strpos($inthat, $value) + strlen($value));
|
||||
}
|
||||
/*
|
||||
|
||||
function getеtestChanSCC() {
|
||||
global $astman;
|
||||
$params = array();
|
||||
$action = 'GetConfigJSON';
|
||||
$metadata['a'] = $response = $astman->send_request($action, $params);
|
||||
$metadata['b'] = $this->astman_retrieveMeta($action, $params, true);
|
||||
$action = 'SCCPConfigMetaData';
|
||||
$params = array('Segment' => 'device', 'ResultFormat'=>'command' );
|
||||
// $params = array('Segment' => 'device');
|
||||
// $params = array();
|
||||
$metadata['a'] = $astman->send_request($action, $params);
|
||||
// $metadata['b'] = $this->astman_retrieveMeta($action, $params, true);
|
||||
return $metadata;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
private function astLogin($host="localhost", $username="admin", $password="amp111"){
|
||||
|
||||
$this->socket = @fsockopen("127.0.0.1","5038", $errno, $errstr, 1);
|
||||
|
@ -477,7 +481,7 @@ class srvinterface {
|
|||
return;
|
||||
}
|
||||
|
||||
private function astQuery($query){
|
||||
private function astQuery($query, $rawdata = false){
|
||||
$wrets = "";
|
||||
|
||||
if ($this->socket === FALSE)
|
||||
|
@ -485,30 +489,33 @@ class srvinterface {
|
|||
$parameters = array();
|
||||
$data_store = 'data';
|
||||
fputs($this->socket, $query);
|
||||
$parameters['raw_q'] = $query;
|
||||
do
|
||||
{
|
||||
$line = fgets($this->socket, 4096);
|
||||
$parameters['raw'] .= $line;
|
||||
$a = strpos($line, ':');
|
||||
if($a) {
|
||||
$key = substr($line, 0, $a);
|
||||
switch ($key) {
|
||||
case 'Response':
|
||||
case 'Message':
|
||||
case 'EventList':
|
||||
$parameters[$key] = trim(substr($line, $a + 2));
|
||||
break;
|
||||
case 'JSON':
|
||||
$parameters[$key] = substr($line, $a + 2);
|
||||
$data_store = $key;
|
||||
break;
|
||||
default:
|
||||
$parameters[$data_store] .= $line;
|
||||
break;
|
||||
}
|
||||
if (!$rawdata) {
|
||||
$a = strpos($line, ':');
|
||||
if($a) {
|
||||
$key = substr($line, 0, $a);
|
||||
switch ($key) {
|
||||
case 'Response':
|
||||
case 'Message':
|
||||
case 'EventList':
|
||||
$parameters[$key] = trim(substr($line, $a + 2));
|
||||
break;
|
||||
case 'JSON':
|
||||
$parameters[$key] = substr($line, $a + 2);
|
||||
$data_store = $key;
|
||||
break;
|
||||
default:
|
||||
$parameters[$data_store] .= $line;
|
||||
break;
|
||||
}
|
||||
// store parameter in $parameters
|
||||
} else {
|
||||
$parameters[$data_store] .= $line;
|
||||
} else {
|
||||
$parameters[$data_store] .= $line;
|
||||
}
|
||||
}
|
||||
$info = stream_get_meta_data($this->socket);
|
||||
}while ($line != "\r\n" && $info['timed_out'] == false );
|
||||
|
@ -548,7 +555,7 @@ class srvinterface {
|
|||
}
|
||||
}
|
||||
|
||||
$result = $this->astQuery($query."\r\n");
|
||||
$result = $this->astQuery($query."\r\n",$rawdata);
|
||||
|
||||
if ($result["Response"] == "Success") {
|
||||
if ($rawdata) {
|
||||
|
@ -567,6 +574,7 @@ class srvinterface {
|
|||
}
|
||||
}
|
||||
|
||||
*/
|
||||
/*
|
||||
function t_get_meta_data() {
|
||||
global $amp_conf;
|
||||
|
@ -580,7 +588,7 @@ class srvinterface {
|
|||
// fputs ($fp,"Secret: secret\r\n");
|
||||
fputs ($fp,"Secret: ".$amp_conf[AMPMGRPASS]."\r\n");
|
||||
fputs ($fp,"Events: on\r\n\r\n");
|
||||
|
||||
|
||||
fputs ($fp,"Action: SCCPConfigMetaData\r\n");
|
||||
fputs ($fp,"\r\n");
|
||||
|
||||
|
@ -590,16 +598,19 @@ class srvinterface {
|
|||
|
||||
fputs ($fp,"Action: SCCPConfigMetaData\r\n");
|
||||
fputs ($fp,"Segment: general\r\n");
|
||||
fputs ($fp,"ListResult: yes\r\n");
|
||||
fputs ($fp,"Option: fallback\r\n");
|
||||
fputs ($fp,"\r\n");
|
||||
|
||||
fputs ($fp,"Action: SCCPConfigMetaData\r\n");
|
||||
fputs ($fp,"Segment: device\r\n");
|
||||
fputs ($fp,"ListResult: freepbx\r\n");
|
||||
fputs ($fp,"\r\n");
|
||||
|
||||
fputs ($fp,"Action: SCCPConfigMetaData\r\n");
|
||||
fputs ($fp,"Segment: device\r\n");
|
||||
fputs ($fp,"Option: dtmfmode\r\n");
|
||||
fputs ($fp,"ListResult: yes\r\n");
|
||||
fputs ($fp,"\r\n");
|
||||
|
||||
fputs ($fp,"Action: logoff\r\n\r\n");
|
||||
|
@ -618,7 +629,7 @@ class srvinterface {
|
|||
return $resp;
|
||||
}
|
||||
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -602,6 +602,14 @@ $(document).ready(function () {
|
|||
data.message.forEach(function (entry) {
|
||||
fpbxToast(entry, 'error', 'error');
|
||||
});
|
||||
} else {
|
||||
if (data.message) {
|
||||
alert(data.message);
|
||||
} else {
|
||||
if (data) {
|
||||
alert(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
178
conf/SEP0000000000.cnf.xml_7937_template
Normal file
178
conf/SEP0000000000.cnf.xml_7937_template
Normal file
|
@ -0,0 +1,178 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<device>
|
||||
<fullConfig>true</fullConfig>
|
||||
<deviceProtocol>SCCP</deviceProtocol>
|
||||
<sshUserId/>
|
||||
<sshPassword/>
|
||||
<ipAddressMode>2</ipAddressMode>
|
||||
<allowAutoConfig>true</allowAutoConfig>
|
||||
<ipPreferenceModeControl>1</ipPreferenceModeControl>
|
||||
<tzdata>
|
||||
<tzolsonversion>2012c</tzolsonversion>
|
||||
<tzupdater>tzupdater.jar</tzupdater>
|
||||
</tzdata>
|
||||
<mlppDomainId>000000</mlppDomainId>
|
||||
<mlppIndicationStatus>Off</mlppIndicationStatus>
|
||||
<preemption>Disabled</preemption>
|
||||
<executiveOverridePreemptable>false</executiveOverridePreemptable>
|
||||
<devicePool>
|
||||
<revertPriority>0</revertPriority>
|
||||
<name>Default</name>
|
||||
<dateTimeSetting>
|
||||
<name>CMLocal</name>
|
||||
<dateTemplate>M/D/Y</dateTemplate>
|
||||
<timeZone>Greenwich Standard Time</timeZone>
|
||||
<olsonTimeZone>Etc/GMT</olsonTimeZone>
|
||||
</dateTimeSetting>
|
||||
<callManagerGroup>
|
||||
<name>Default</name>
|
||||
<tftpDefault>true</tftpDefault>
|
||||
<members>
|
||||
<member priority="0">
|
||||
<callManager>
|
||||
<name>asterisk</name>
|
||||
<ipv6Addr/>
|
||||
<description>asterisk</description>
|
||||
<ports>
|
||||
<ethernetPhonePort>2000</ethernetPhonePort>
|
||||
<sipPort>5060</sipPort>
|
||||
<securedSipPort>5061</securedSipPort>
|
||||
<mgcpPorts>
|
||||
<listen>2427</listen>
|
||||
<keepAlive>2428</keepAlive>
|
||||
</mgcpPorts>
|
||||
</ports>
|
||||
<processNodeName>asterisk</processNodeName>
|
||||
</callManager>
|
||||
</member>
|
||||
</members>
|
||||
</callManagerGroup>
|
||||
<srstInfo uuid="{cd241e11-4a58-4d3d-9661-f06c912a18a3}">
|
||||
<name>Disable</name>
|
||||
<srstOption>Disable</srstOption>
|
||||
<userModifiable>false</userModifiable>
|
||||
<ipAddr1/>
|
||||
<port1>2000</port1>
|
||||
<ipAddr2/>
|
||||
<port2>2000</port2>
|
||||
<ipAddr3/>
|
||||
<port3>2000</port3>
|
||||
<sipIpAddr1/>
|
||||
<sipPort1>5060</sipPort1>
|
||||
<sipIpAddr2/>
|
||||
<sipPort2>5060</sipPort2>
|
||||
<sipIpAddr3/>
|
||||
<sipPort3>5060</sipPort3>
|
||||
<isSecure>false</isSecure>
|
||||
</srstInfo>
|
||||
<connectionMonitorDuration>120</connectionMonitorDuration>
|
||||
</devicePool>
|
||||
<commonProfile>
|
||||
<phonePassword/>
|
||||
<backgroundImageAccess>true</backgroundImageAccess>
|
||||
<callLogBlfEnabled>3</callLogBlfEnabled>
|
||||
</commonProfile>
|
||||
<loadInformation>apps37sccp.1-4-4-0</loadInformation>
|
||||
<vendorConfig>
|
||||
<garp>0</garp>
|
||||
<voiceVlanAccess>0</voiceVlanAccess>
|
||||
<sshAccess>1</sshAccess>
|
||||
<lldpAssetId/>
|
||||
<voiceQualityControl>0</voiceQualityControl>
|
||||
</vendorConfig>
|
||||
<versionStamp>1396020461-83a09e65-e62e-4db3-9e03-e3d0cdfd7093</versionStamp>
|
||||
<userLocale>
|
||||
<name>English_United_States</name>
|
||||
<uid>1</uid>
|
||||
<langCode>en_US</langCode>
|
||||
<version>9.0.0.0(1)</version>
|
||||
<winCharSet>iso-8859-1</winCharSet>
|
||||
</userLocale>
|
||||
<networkLocale>United_States</networkLocale>
|
||||
<networkLocaleInfo>
|
||||
<name>United_States</name>
|
||||
<uid>64</uid>
|
||||
<version>9.0.0.0(1)</version>
|
||||
</networkLocaleInfo>
|
||||
<idleTimeout>0</idleTimeout>
|
||||
<authenticationURL>http://asterisk:8080/ccmcip/authenticate.jsp</authenticationURL>
|
||||
<directoryURL>http://asterisk:8080/ccmcip/xmldirectory.jsp</directoryURL>
|
||||
<idleURL/>
|
||||
<informationURL>http://asterisk:8080/ccmcip/GetTelecasterHelpText.jsp</informationURL>
|
||||
<messagesURL/>
|
||||
<proxyServerURL/>
|
||||
<servicesURL>http://asterisk:8080/ccmcip/getservicesmenu.jsp</servicesURL>
|
||||
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
|
||||
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
|
||||
<dscpForCm2Dvce>96</dscpForCm2Dvce>
|
||||
<transportLayerProtocol>1</transportLayerProtocol>
|
||||
<dndCallAlert>5</dndCallAlert>
|
||||
<phonePersonalization>1</phonePersonalization>
|
||||
<rollover>0</rollover>
|
||||
<singleButtonBarge>0</singleButtonBarge>
|
||||
<joinAcrossLines>0</joinAcrossLines>
|
||||
<autoCallPickupEnable>false</autoCallPickupEnable>
|
||||
<blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
|
||||
<blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
|
||||
<capfAuthMode>0</capfAuthMode>
|
||||
<capfList>
|
||||
<capf>
|
||||
<phonePort>3804</phonePort>
|
||||
<processNodeName>asterisk</processNodeName>
|
||||
<ipv6Addr/>
|
||||
</capf>
|
||||
</capfList>
|
||||
<certHash/>
|
||||
<encrConfig>false</encrConfig>
|
||||
<advertiseG722Codec>1</advertiseG722Codec>
|
||||
<mobility>
|
||||
<handoffdn/>
|
||||
<dtmfdn/>
|
||||
<ivrdn/>
|
||||
<dtmfHoldCode>*81</dtmfHoldCode>
|
||||
<dtmfExclusiveHoldCode>*82</dtmfExclusiveHoldCode>
|
||||
<dtmfResumeCode>*83</dtmfResumeCode>
|
||||
<dtmfTxfCode>*84</dtmfTxfCode>
|
||||
<dtmfCnfCode>*85</dtmfCnfCode>
|
||||
</mobility>
|
||||
<userId/>
|
||||
<phoneServices>
|
||||
<provisioning>2</provisioning>
|
||||
<phoneService type="1" category="0">
|
||||
<name>Missed Calls</name>
|
||||
<url>Application:Cisco/MissedCalls</url>
|
||||
<vendor/>
|
||||
<version/>
|
||||
</phoneService>
|
||||
<phoneService type="2" category="0">
|
||||
<name>Voicemail</name>
|
||||
<url>Application:Cisco/Voicemail</url>
|
||||
<vendor/>
|
||||
<version/>
|
||||
</phoneService>
|
||||
<phoneService type="1" category="0">
|
||||
<name>Received Calls</name>
|
||||
<url>Application:Cisco/ReceivedCalls</url>
|
||||
<vendor/>
|
||||
<version/>
|
||||
</phoneService>
|
||||
<phoneService type="1" category="0">
|
||||
<name>Placed Calls</name>
|
||||
<url>Application:Cisco/PlacedCalls</url>
|
||||
<vendor/>
|
||||
<version/>
|
||||
</phoneService>
|
||||
<phoneService type="1" category="0">
|
||||
<name>Personal Directory</name>
|
||||
<url>Application:Cisco/PersonalDirectory</url>
|
||||
<vendor/>
|
||||
<version/>
|
||||
</phoneService>
|
||||
<phoneService type="1" category="0">
|
||||
<name>Corporate Directory</name>
|
||||
<url>Application:Cisco/CorporateDirectory</url>
|
||||
<vendor/>
|
||||
<version/>
|
||||
</phoneService>
|
||||
</phoneServices>
|
||||
</device>
|
|
@ -260,7 +260,7 @@ function Get_DB_config($sccp_compatible) {
|
|||
'softkeyset' => array('def_modify' => "softkeyset")
|
||||
),
|
||||
'sccpline' => array(
|
||||
'directed_pickup' => array('create' => "enum('on','off') NOT NULL default NULL", 'modify' => "enum('on','off')"),
|
||||
'directed_pickup' => array('create' => "enum('on','off') NULL default NULL", 'modify' => "enum('on','off')"),
|
||||
'directed_pickup_context' => array('create' => "VARCHAR(100) NULL DEFAULT NULL"),
|
||||
'pickup_modeanswer' => array('create' => "enum('on','off') NULL default NULL", 'modify' => "enum('on','off')"),
|
||||
'namedcallgroup' => array('create' => "VARCHAR(100) NULL DEFAULT NULL AFTER `setvar`", 'modify' => "VARCHAR(100)"),
|
||||
|
|
|
@ -37,14 +37,23 @@ if (!empty($this->sccpvalues['SccpDBmodel'])) {
|
|||
}
|
||||
/*
|
||||
print_r("<br> Request:<br><pre>");
|
||||
//$asss = $this->extconfigs->validate_init_path($this->sccppath["asterisk"],$this->sccpvalues,$driver_ver);
|
||||
|
||||
$asss = $this->sccpvalues;
|
||||
// $asss = $this->extconfigs->validate_init_path($this->sccppath["asterisk"],$this->sccpvalues,$driver_ver);
|
||||
global $amp_conf;
|
||||
print_r($amp_conf);
|
||||
|
||||
/*
|
||||
$asss = $this->srvinterface->getеtestChanSCC();
|
||||
// $asss = $this->sccpvalues;
|
||||
$json = '';
|
||||
print_r("<br>");
|
||||
print_r($asss);
|
||||
print_r("<br>");
|
||||
|
||||
print_r($asss['a']['JSON']);
|
||||
print_r("<br>");
|
||||
print_r("DIRECT START");
|
||||
print_r("<br>");
|
||||
print_r($this->srvinterface->t_get_meta_data());
|
||||
|
||||
print("</pre>");
|
||||
*/
|
||||
// $lang_arr = $this->extconfigs->getextConfig('sccp_lang','sk_SK');
|
||||
|
|
Loading…
Reference in a new issue