From 859d15e1402dd53b2555dad4a7c77c84f6de26be Mon Sep 17 00:00:00 2001 From: PhantomVl Date: Fri, 20 Sep 2019 19:43:18 +0300 Subject: [PATCH] - Fix SCCP - Fix SIP --- .dok/image/sip_model.jpg | Bin 0 -> 81170 bytes Sccp_manager.class.php | 13 ++++- Sccp_manager.inc/sipconfigs.class.php | 70 +++++++++++++++++++++--- Sccp_manager.inc/xmlinterface.class.php | 40 +++++++++----- conf/Sccp.class.php.v433 | 13 ++++- conf/sccpgeneral.xml.v431 | 3 +- conf/sccpgeneral.xml.v433 | 3 +- conf/sccpsimple.xml.v431 | 3 +- conf/sccpsimple.xml.v433 | 3 +- views/server.info.php | 3 + 10 files changed, 119 insertions(+), 32 deletions(-) create mode 100644 .dok/image/sip_model.jpg diff --git a/.dok/image/sip_model.jpg b/.dok/image/sip_model.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8a0fbc1b04e0669307302d87e599ce18e17759c GIT binary patch literal 81170 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 V&ObQz1G~Ed87uf(@3kKT{{zLN;I;q& literal 0 HcmV?d00001 diff --git a/Sccp_manager.class.php b/Sccp_manager.class.php index 7a4f54a..3850ed9 100644 --- a/Sccp_manager.class.php +++ b/Sccp_manager.class.php @@ -1930,18 +1930,23 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { if (!empty($dev_config['type'])) { if (strpos($dev_config['type'],'sip') !== false) { $sccp_native = false; - $data_tmp =$this->sipconfigs->getSipConfig(); + $tmp_bind =$this->sipconfigs->getSipConfig(); $dev_ext_config = $this->dbinterface->get_db_SccpTableData("SccpDevice", array('name' => $dev_id, 'fields'=>'sip_ext')); - $data_value = array_merge($data_value, $dev_ext_config, $data_tmp); + $data_value = array_merge($data_value, $dev_ext_config); $data_tmp = explode(';',$dev_ext_config['sip_lines']); foreach ($data_tmp as $value) { $tmp_line = explode(',',$value); switch ($tmp_line[0]) { case 'line': $dev_line_data= $this->sipconfigs->get_db_sip_TableData('DeviceById',array('id'=>$tmp_line[1])); + $f_linetype = ($dev_line_data['dial'] == 'PJSIP')? 'pjsip':'sip'; + $dev_line_data['sbind'] = $tmp_bind[$f_linetype]; if (!empty($dev_line_data)) { $data_value['siplines'][] = $dev_line_data; } + if ($tmp_line[2] =='default') { + $data_value['sbind']=$tmp_bind[$f_linetype]; + } break; case 'speeddial': $data_value['speeddial'][] = array("name"=>$tmp_line[1],"dial"=>$tmp_line[2]); @@ -1951,10 +1956,12 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { break; } } -// return print_r($data_tmp ,true); +// return print_r($data_value ,true); // return print_r($dev_line_data,true); } } +// return print_r($dev_config ,true); + foreach ($this->sccpvalues as $key => $value) { $data_value[$key] = $value['data']; } diff --git a/Sccp_manager.inc/sipconfigs.class.php b/Sccp_manager.inc/sipconfigs.class.php index 461f8d3..224e548 100644 --- a/Sccp_manager.inc/sipconfigs.class.php +++ b/Sccp_manager.inc/sipconfigs.class.php @@ -61,26 +61,48 @@ class sipconfigs { } } - + public function getSipConfig() { $result = array(); - $def_sip_proto = 'sip'; - $def_proto = 'tcp'; - $supp_proto = ''; +// $def_sip_proto = 'sip'; +// $def_proto = 'tcp'; +// $supp_proto = ''; - $result['sipport'] = \FreePBX::Sipsettings()->getConfig('bindport'); - $result['tlsport'] = \FreePBX::Sipsettings()->getConfig('tlsbindport'); - $tmp_sipsetigs = \FreePBX::Sipsettings()->getChanSipSettings(); - $tmp_sip_binds = \FreePBX::Sipsettings()->getBinds(); +// $result['sipport'] = \FreePBX::Sipsettings()->getConfig('bindport'); +// $result['tlsport'] = \FreePBX::Sipsettings()->getConfig('tlsbindport'); +// $tmp_sipsetigs = \FreePBX::Sipsettings()->getChanSipSettings(); + $tmp_binds = \FreePBX::Sipsettings()->getBinds(); + $if_list = $this->paren_class ->getIP_information2('ip4'); +/* $tmp_bind_ip = !empty($tmp_sipsetigs['externhost_val']) ? $tmp_sipsetigs['externhost_val'] : ''; $tmp_bind_ip = !empty($tmp_sipsetigs['externip_val']) ? $tmp_sipsetigs['externip_val'] : $tmp_bind_ip; $tmp_bind_ip = !empty($tmp_sipsetigs['bindaddr']) ? $tmp_sipsetigs['bindaddr'] : $tmp_bind_ip; - + */ + $tmp_binds = is_array($tmp_binds) ? $tmp_binds: array(); + foreach($tmp_binds as $f_protocol => $f_bind) { + foreach($f_bind as $f_ip => $f_port) { + if (($f_ip == '0.0.0.0') || ($f_ip == '[::]')) { + foreach($if_list as $f_if => $f_data) { + if ($f_data['ip'] == "127.0.0.1") { + continue; + } + $result[$f_protocol][$f_data['ip']]=$f_port; + $result[$f_protocol][$f_data['ip']]['ip']=$f_data['ip']; + } + } else { + $result[$f_protocol][$f_ip]=$f_port; + $result[$f_protocol][$f_ip]['ip']=$f_ip; + } + } + } + return $result; +/* // $result['sipbind'] = $tmp_bind_ip; if (empty($tmp_sip_binds[$def_sip_proto])){ $def_proto = 'pjsip'; } + return $result; foreach ($tmp_sip_binds[$def_sip_proto] as $key => $value) { if (empty($value[$def_proto])) { @@ -99,6 +121,36 @@ class sipconfigs { } $result['sipbind'] = $tmp_bind_ip; $result['sipsuportproto'] = $supp_proto; + + $binds= array(); + $driver = \FreePBX::Config()->get_conf_setting('ASTSIPDRIVER'); + if ($driver == "both" || $driver == "chan_pjsip") { + $b = \FreePBX::Sipsettings()->getConfig("binds"); + $b = is_array($b) ? $b : array(); + foreach($b as $protocol => $bind) { + foreach($bind as $ip => $state) { + if($state != "on") { + continue; + } + $p = \FreePBX::Sipsettings()->getConfig($protocol."port-".$ip); + $result['nb3'.$protocol] = $p; + if ($flatten) { + $binds['pjsip']['[::]'][$protocol] = $p; + } else { + $binds['pjsip'][$ip][$protocol] = $p; + } + } + } + } else { + $binds['pjsip'] = array("0.0.0.0" => array()); + } + + $result['nd'] = $driver; + + $result['nb'] = $binds; + $result['nb2'] = $b; return $result; + * + */ } } diff --git a/Sccp_manager.inc/xmlinterface.class.php b/Sccp_manager.inc/xmlinterface.class.php index 7b13818..a828430 100644 --- a/Sccp_manager.inc/xmlinterface.class.php +++ b/Sccp_manager.inc/xmlinterface.class.php @@ -417,6 +417,7 @@ class xmlinterface { return $res; } + /* private function get_server_sip_bind($data_values = array()) { $res = array(); @@ -444,6 +445,8 @@ class xmlinterface { } return $res; } + * + */ function create_SEP_SIP_XML($store_path = '', $data_values = array(), $dev_config = array(), $dev_id = '', $lang_info = array()) { @@ -481,7 +484,16 @@ class xmlinterface { $xml_template = $data_path . '/templates/SEP0000000000.cnf.xml_79df_sip_template'; } $xml_name = $store_path . '/' . $dev_id . '.cnf.xml'; - $sip_bind = $this->get_server_sip_bind($data_values); + //$sip_bind = $this->get_server_sip_bind($data_values); + $sip_bind = $data_values['sbind']; + $bind_proto = 'tcp'; + $bind_ip_def = ''; + foreach($sip_bind as $key => $value) { + if (empty($bind_ip_def)) { + $bind_ip_def = $key; + $bind_proto = (isset($value['tcp'])) ? 'tcp' : 'udp'; + } + } if (file_exists($xml_template)) { $xml_work = simplexml_load_file($xml_template); @@ -569,13 +581,13 @@ class xmlinterface { case 'callManagerGroup': $xnode = &$xml_node->$dkey->members; $ifc = 0; - foreach ($sip_bind as $bind_value) { + foreach ($sip_bind as $bind_ip => $bind_value) { $xnode_obj = clone $xnode->member; $xnode_obj['priority'] = $ifc; $xnode_obj->callManager->name = $data_values['servername']; - $xnode_obj->callManager->ports->sipPort = $bind_value['port']; - $xnode_obj->callManager->ports->securedSipPort = $bind_value['tlsport']; - $xnode_obj->callManager->processNodeName = $bind_value['ip']; + $xnode_obj->callManager->ports->sipPort = $bind_value[$bind_proto]; +// $xnode_obj->callManager->ports->securedSipPort = $bind_value['tlsport']; + $xnode_obj->callManager->processNodeName = $bind_ip; if ($ifc === 0) { $this->replaceSimpleXmlNode($xnode->member, $xnode_obj); } else { @@ -599,13 +611,13 @@ class xmlinterface { } switch ($dkey) { case 'sipProxies': - $xnode = &$xml_node->$dkey; - $xnode->backupProxy = $sip_bind[0]['ip']; - $xnode->backupProxyPort = $sip_bind[0]['port']; - $xnode->emergencyProxy = $sip_bind[0]['ip']; - $xnode->emergencyProxyPort = $sip_bind[0]['port']; - $xnode->outboundProxy = $sip_bind[0]['ip']; - $xnode->outboundProxyPort = $sip_bind[0]['port']; + $xnode = &$xml_node->$dkey; + $xnode->backupProxy = $bind_ip_def; + $xnode->backupProxyPort = $sip_bind[$bind_ip_def][$bind_proto]; + $xnode->emergencyProxy = $bind_proto; + $xnode->emergencyProxyPort = $sip_bind[$bind_ip_def][$bind_proto]; + $xnode->outboundProxy = $bind_proto; + $xnode->outboundProxyPort = $sip_bind[$bind_ip_def][$bind_proto]; $xnode->registerWithProxy = "true"; break; @@ -621,8 +633,8 @@ class xmlinterface { //$xnode_obj->proxy = $data_values['bindaddr']; $xnode_obj-> featureID = "9"; if ($xnode_obj->proxy != 'USECALLMANAGER') { - $xnode_obj->proxy = $sip_bind[0]['ip']; - $xnode_obj->port = $sip_bind[0]['port']; + $xnode_obj->proxy = $bind_proto; + $xnode_obj->port = $sip_bind[$bind_ip_def][$bind_proto]; } foreach ($var_xml_sipline as $line_key => $line_val) { diff --git a/conf/Sccp.class.php.v433 b/conf/Sccp.class.php.v433 index 6ab4417..4dd5cfb 100644 --- a/conf/Sccp.class.php.v433 +++ b/conf/Sccp.class.php.v433 @@ -43,7 +43,7 @@ class Sccp extends \FreePBX\modules\Core\Driver { "prettyName" => _("Sccp Custom Driver"), "shortName" => "SCCP", "description" => _("Sccp Device"), - "Version" => "11.3.v434", + "Version" => "11.3.v434m", "about" => "Sccp mysql class Base ver: 11.3, Sccp ver: 434" ); } @@ -80,10 +80,18 @@ class Sccp extends \FreePBX\modules\Core\Driver { } // die(print_r($settings)); + $tech = Array(); + $sql = "DESCRIBE `sccpline`"; + foreach ($this->database->query($sql) as $row) { + $tech[$row["Field"]]=$row["Field"]; + } + +// die(print_r($tech)); $sql = 'REPLACE INTO sccpline (name'; $sqlv = 'values ("'.$id.'"'; foreach($this->data_fld as $key => $val) { + if (isset($tech[$key])) { switch ($key) { case 'incominglimit': $sql .= ', '.$key; @@ -113,6 +121,7 @@ class Sccp extends \FreePBX\modules\Core\Driver { } break; } + } } $sql .= ") ".$sqlv.");"; // die(print_r($sql)); @@ -144,7 +153,7 @@ class Sccp extends \FreePBX\modules\Core\Driver { // print_r($sql); try { $sth->execute(array($id)); - $tech = $sth->fetch(); + $tech = $sth->fetch(); $tech['dial']='SCCP/'.$id; } catch(\Exception $e) {} diff --git a/conf/sccpgeneral.xml.v431 b/conf/sccpgeneral.xml.v431 index 7f79fec..e7199f7 100644 --- a/conf/sccpgeneral.xml.v431 +++ b/conf/sccpgeneral.xml.v431 @@ -1039,8 +1039,9 @@ and open the template in the editor. Base Version before all crash :-) description 000000000 sccp-custom + - The information in the upper right corner of the device screen + The information in the upper right corner of the device screen. Only English letters and digits ! diff --git a/conf/sccpgeneral.xml.v433 b/conf/sccpgeneral.xml.v433 index e48fe8e..3f678b3 100644 --- a/conf/sccpgeneral.xml.v433 +++ b/conf/sccpgeneral.xml.v433 @@ -1098,8 +1098,9 @@ and open the template in the editor. Base Version before all crash :-) _description 000000000 sccp-custom + - The information in the upper right corner of the device screen + The information in the upper right corner of the device screen. Only English letters and digits ! diff --git a/conf/sccpsimple.xml.v431 b/conf/sccpsimple.xml.v431 index 45b96e0..2cfeaac 100644 --- a/conf/sccpsimple.xml.v431 +++ b/conf/sccpsimple.xml.v431 @@ -1041,8 +1041,9 @@ and open the template in the editor. Base Version before all crash :-) description 000000000 sccp-custom + - The information in the upper right corner of the device screen + The information in the upper right corner of the device screen. Only English letters and digits ! diff --git a/conf/sccpsimple.xml.v433 b/conf/sccpsimple.xml.v433 index cd77d6d..7e26196 100644 --- a/conf/sccpsimple.xml.v433 +++ b/conf/sccpsimple.xml.v433 @@ -1095,8 +1095,9 @@ and open the template in the editor. Base Version before all crash :-) description 000000000 sccp-custom + - The information in the upper right corner of the device screen + The information in the upper right corner of the device screen. Only English letters and digits ! diff --git a/views/server.info.php b/views/server.info.php index e2def53..76122f3 100644 --- a/views/server.info.php +++ b/views/server.info.php @@ -105,6 +105,9 @@ if ($mysql_info['Value'] <= '2000') { //$tmp_data_list = $amp_conf; //$tmp_data_list=FreePBX::create()->Sipsettings->getConfig('bindport'); // $tmp_data_list=FreePBX::Sipsettings()->getChanSipSettings(); + $tmp_data_list=$this->sipconfigs->getSipConfig(); + //$tmp_data_list=FreePBX::Sipsettings()->getBinds(); + // $tmp_data_list = \FreePBX::Sipsettings()->getSipPortOwner(); // $tmp_data_list=$this->dbinterface->get_db_SccpTableData('SccpExtension'); // $tmp_data_list=$this->dbinterface->get_db_SccpTableData('SccpDevice', array('type'=>'cisco-sip'));