From ac4603d54324fae456360bf8076a01befa8885f3 Mon Sep 17 00:00:00 2001 From: PhantomVl Date: Fri, 10 Aug 2018 13:34:49 +0300 Subject: [PATCH] Added functionality for creating a simplified interface or alternative schemas. --- Sccp_manager.class.php | 39 +- conf/sccpgeneral.xml.v431 | 8 + conf/sccpsimple.xml.v431 | 1477 +++++++++++++++++++++++++++++++++++++ views/server.setting.php | 2 + 4 files changed, 1519 insertions(+), 7 deletions(-) create mode 100644 conf/sccpsimple.xml.v431 diff --git a/Sccp_manager.class.php b/Sccp_manager.class.php index be68a9a..c281b25 100644 --- a/Sccp_manager.class.php +++ b/Sccp_manager.class.php @@ -37,7 +37,7 @@ * + Make System Acces from separate class * + Make Var elements from separate class * + To make creating XML files in a separate class - * - Add Switch to select XML schema (display) + * + Add Switch to select XML schema (display) * - Bootstrap encodeURI(row['type']) ??????? * - Check Time zone .... * + SRST Config @@ -68,8 +68,10 @@ * + dir "templates" * + dir "firmware" * + dir "locales" - * - Create Simple User Interface - * - sccpsimple.xml + * + Create Simple User Interface + * + sccpsimple.xml + * + Add error information on the server information page (critical display error - the system can not work correctly) + * - Add Warning Information on Server Info Page * */ @@ -93,7 +95,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { private $tftpLang = array(); private $hint_context = '@ext-local'; /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Get it from Config !!! private $val_null = 'NONE'; /// REPLACE to null Field - public $sccp_model_list = array(); + public $sccp_model_list = array(); private $cnf_wr = null; public $sccppath = array(); public $sccpvalues = array(); @@ -140,7 +142,11 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { // Load Advanced Form Constuctor Data - $xml_vars = __DIR__ . '/conf/sccpgeneral.xml.v' . $this->sccpvalues['sccp_compatible']['data']; + if (empty($this->sccpvalues['displayconfig'])) { + $xml_vars = __DIR__ . '/conf/sccpgeneral.xml.v' . $this->sccpvalues['sccp_compatible']['data']; + } else { + $xml_vars = __DIR__ . '/conf/'.$this->sccpvalues['displayconfig']['data'].'.xml.v'.$this->sccpvalues['sccp_compatible']['data']; + } if (!file_exists($xml_vars)) { $xml_vars = __DIR__ . '/conf/sccpgeneral.xml'; } @@ -354,10 +360,28 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { $request = $_REQUEST; $action = !empty($request['action']) ? $request['action'] : ''; + if (!empty(($this->sccpvalues['displayconfig']))) { + if (!empty(($this->sccpvalues['displayconfig']['data'] == 'sccpsimple'))) { + $this->pagedata = array( + "general" => array( + "name" => _("General SCCP Settings"), + "page" => 'views/server.setting.php' + ), + "sccpdevice" => array( + "name" => _("SCCP Device"), + "page" => 'views/server.device.php' + ), + "sccpinfo" => array( + "name" => _("SCCP info"), + "page" => 'views/server.info.php' + ), + ); + } + + } if (empty($this->pagedata)) { // $driver = $this->FreePBX->Config->get_conf_setting('ASTSIPDRIVER'); - $this->pagedata = array( "general" => array( "name" => _("General SCCP Settings"), @@ -385,6 +409,8 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { ), ); + } + if (!empty($this->pagedata)) { foreach ($this->pagedata as &$page) { ob_start(); include($page['page']); @@ -392,7 +418,6 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { ob_end_clean(); } } - return $this->pagedata; } diff --git a/conf/sccpgeneral.xml.v431 b/conf/sccpgeneral.xml.v431 index a7331c9..b9104b9 100644 --- a/conf/sccpgeneral.xml.v431 +++ b/conf/sccpgeneral.xml.v431 @@ -138,6 +138,14 @@ and open the template in the editor. Base Version before all crash :-) Debug: Enable debugging level in SCCP module. + + displayconfig + + sccpgeneral + + + Help! + diff --git a/conf/sccpsimple.xml.v431 b/conf/sccpsimple.xml.v431 new file mode 100644 index 0000000..85d7cc1 --- /dev/null +++ b/conf/sccpsimple.xml.v431 @@ -0,0 +1,1477 @@ + + + + + + XML_info + + NONE + + + + + + + + + + + + dev_sshUserId + cisco + + Help. + + + + + dev_sshPassword + cisco + + Help. + + + + + dev_deviceProtocol + SCCP + + Help. + + + + + sccp_xml_about + XML Base ver: 11.2, Sccp ver: 431 + + Help. + + + + + autoanswer_tone + 0x32 + sccp-custom + + Autoanswer Tone: The tone the phone plays back when it picks up the phone in autoanswer mode. Default is '0x32'. Silence is '0x00'. There are lots of tones, all expressed as '0XNN' where 'NN' is a hexadecimal number. + + + + + remotehangup_tone + 0x32 + sccp-custom + + Remote Hangup Tone: The tone played by the phone when it received a remote hang-up signal. Use '0' to disable the tone. + + + + + transfer_tone + 0x32 + sccp-custom + + Transfer Tone: The tone played when a call is transferred. Use '0' to disable the tone. + + + + + callwaiting_tone + 0x2D + sccp-custom + + Call Waiting Tone: The tone played when a call is waiting. If you set this one to '0', you will not get a tone in your current call if a new call comes in, so you might want to disable call waiting for this line instead. + + + + + + + sccp_tos + 0x68 + sccp-custom + + + sccp_cos + 0x4 + sccp-custom + + SCCP Type Of Service / Class Of Service: SCCP Type or Class of Service - this is modifiable, but don't. + + + + + audio_tos + 0xB8 + sccp-custom + + + audio_cos + 0x6 + sccp-custom + + Audio Type Of Service / Class Of Service: Audio Type or Class of Service - this is modifiable, but don't. + + + + + video_tos + 0x88 + sccp-custom + + + video_cos + 0x5 + sccp-custom + + Video Type Of Service / Class Of Service: Video Type or Class of Service - this is modifiable, but don't. + + + + + + linetable + sccpline + sccp-custom + + Line Table: This is the linetable for your realtime configuration. Don't change this unless you know what you are doing and have made all the appropriate changes in the rest of your Asterisk config files. If you do not want to use the realtime database anymore, you can set this to blank. NOT RECOMMENDED. + + + + devicetable + sccpdevice + + + sccp-custom + Device Table: This is the devicetable for your realtime configuration. Don't change this unless you know what you are doing and have made all the appropriate changes in the rest of your Asterisk config files. There are two reasonable settings for this - the sccpdevice table or the sccpdeviceconfig view. If you do not want to use the realtime database anymore, you can set this to blank. NOT RECOMMENDED. + + + + + + + + + + + + + + + + + + + + servername + Vt + + Servername: This is the type of server - usually, it will be Asterisk. + + + + + bindaddr + 0.0.0.0 + sccp-custom + + + port + 2000 + sccp-custom + + Bind Address: The address to bind to for SCCP. In general, it should be set to '0.0.0.0'. If you find problems with one-way audio, you can set this to a specific address in the server. Note that '127.0.0.1' is always wrong here. Also note that placing in your external IP address will cause the chan_sccp module to not load. A manual edit of the /etc/asterisk/sccp.conf file will be needed to fix and reload the module. + : + + + + + externip + + sccp-custom + + + External IP Address of the firewall, required in case the PBX is running on a seperate host behind it. IP Address that we're going to notify in RTP media stream as the pbx source address. + / + + + + + keepalive + 60 + sccp-custom + number + + + Time between Keep Alive checks. Valid range is 60-300 seconds. After much trial-and-error, the minimum (60) seems to work just fine. + + + nat + + auto + + + + Global NAT support (default Auto) + + + debug + + NONE + + + + + + Debug: Enable debugging level in SCCP module. + + + displayconfig + + sccpgeneral + + + Help! + + + + + + + permit + Internal + 0.0.0.0/0.0.0.0 + + + + + + + + + Add Allow Range + Allow network settings. Blank fields will be ignored used Network 0.0.0.0/0.0.0.0 to resolve any existing connections. You can use the 'internal' connections only from the networks connected to the server. + + + + + + localnet + Internal + 0.0.0.0/0.0.0.0 + + + + + + + + + + + Add Internal Range + Local network settings. Blank fields will be ignored used Network 0.0.0.0. + + + + deny + 0.0.0.0/0.0.0.0 + + + + + + + + + + + Add Deny network + All RFC 1918 addresses are local networks. Should always be at least '0.0.0.0/0.0.0.0'. + + + + + + + + + language + English + + SCCP Language: This is the language for your hints and other features of the phone. If you don't have any languages installed or are using a single language, you can leave this blank. + + + + netlang + English_United_States + + The Network locales allows the phone to play tones (ringing, busy etc.) native to the phone's country. + + + + devlang + English_United_States + + The user locale allows the phone to display text (menu items, soft keys etc.) native to the phone's language. + + + + + + + + + firstdigittimeout + 16 + sccp-custom + number + + + First Digit Timeout: The amount of time after your first digit to start dialing automatically. This can be over-ridden with settings in your dialplan.xml or by using the 'immediate dial' button. + + + + + digittimeout + 8 + sccp-custom + number + + + Digit Timeout: The amount of time to wait after the second (or subsequent) dialed digit. Override rules are the same as for firstdigittimeout. + + + + + autoanswer_ring_time + 0 + sccp-custom + number + + + Autoanswer Ring Time: The amount of time the phones will ring when being called as Intercom or Paging mode. + + + echocancel + + off + + + Echo Cancel: Echo Cancellation (On or Off). + + + silencesuppression + + off + + + Silence Suppression: Slience Suppression on the phone. + + + private + + on + + + Private Calling Enabled: Place a call with privacy Options (no Caller ID) turned on. Needs to be supported in Asterisk to work through SIP and DAHDI trunks. + + + directed_pickup_modeanswer + + off + + + Directed Pickup Mode (Answer): If a call is sent with the "directed pickup" flag, the phone will answer when set to "Yes". + + + callanswerorder + + oldestfirst + + + Call Answer Order: Which call should be answered first? The most common choice is "oldestfirst", but other orders are supported. + + + mwilamp + + On + + + + + + Set the MWI lamp style when MWI active to on, off, wink, flash or blink + + + mwioncall + + off + + + Set the MWI on call. + + + + + + + directrtp + + off + + + This option set global allow devices to do direct RTP sessions (default Off) + + + earlyrtp + + none + Immediate + + + + + + The audio strem will be open in the progress and connected state. Valid options: NONE, progress, offhook, dial, ringout. Default may be Progress. + + + simulate_enbloc + + on + + + Use simulated enbloc dialing to speedup connection when dialing while onhook (older phones) + + + + + + cfwdall + + off + + + Activate the callforward softkeys. Default is On + + + cfwdbusy + + off + + + Activate the callforward busy softkeys. Default is On + + + dndFeature + + on + + + Do Not Disturb. Default is Off + + + + + + + ntp_config_enabled + + off + + + Enabling NTP settings in device configuration. + + + + + ntp_server + pool.ntp.org + pool.ntp.org + + NTP Server name or IP + + + ntp_server_mode + + unicast + + + + + Configure NTP Server protocol time syncronization + + + + + + + + dateformat + + Date Format: The date format for the on-screen display. Can be one of the following: (D-M-YA, M.D.Y, Y/M/D) where 'D' is Day, 'M' is Month, 'Y' is Year, 'A' is 24-hour, 'a' is 12-hour, and the separators can be '.','-','/' + + + + ntp_timezone + sccp-custom + + Date Format: Time zone + + + + + + + + Help_srst + You can also configure a Survivable Remote Site Telephony (SRST) reference as the last device in the CallManager(CM) list. This proves especially useful in a remote site configuration where the phones and Asterisk are connected over a WAN network. SRST provides users with fallback support for the IP phones that cannot access the primary, secondary, or tertiary Asterisk Node in the CallManager List because of an Asterisk Node failure or loss of connectivity across the WAN. For the remote sites attached to multiple-service routers across the WAN, SRST ensures that your remote users receive continuous (although minimal) service by providing call handling support directly from the SRST router. + When IP phones lose contact with primary, secondary, and tertiary Asterisk Nodes (CM's), they must establish a connection to a local SRST router to sustain the call-processing capability necessary to place and receive calls. The IP phone retains the IP address of the local SRST router as a default router in the Network Configuration area of the Settings menu. The Settings menu supports a maximum of five default router entries; however, the cnf.xml accommodates a maximum of three entries. When a secondary Asterisk Node is not available on the network, the local SRST Router's IP address is retained as the standby connection for Asterisk Node during normal operation. + + + + srst_Option + + disable + + + + You enabled/configured a Survivable Remote Site Telephony (SRST) reference as the last device in the CallManager(CM) list. + + + srst_userModifiable + + false + + + The user can change the personal SRST configuration on the device + + + srst_isSecure + + false + + + The user can change the personal SRST configuration on the device + + + + + + srst_Name + Enable + + You enabled configure a Survivable Remote Site Telephony (SRST) reference as the last device in the CallManager(CM) list. + + + + + srst_ip + 3 + / + + + + + + + + + Add Server + Help. + + + + srst_sip + 3 + / + + + + + + + + + Add Server + Help. + + + + + + + + + dev_servicesURL + + + + + + + + + + + dev_authenticationURL + + + + + The above is simply a dummy authentication page. It literally contains one word: AUTHORIZED (it receives UserId, Password, and devicename in the url - if you truly wish to implement special auth) + + + + + dev_idleURL + + + + + URL of CiscoIPPhoneImage. Requires a non-zero setting in idleTimeout. + + + + + dev_informationURL + + + + + + + + + dev_messagesURL + + + + + + + + + dev_directoryURL + + + + This is the URL for a CiscoIPPhoneMenu which gets appended to the end of the Missed/Received/Placed calls. I don't use it (I find it makes more sense to put my phone book under services) + + + + + dev_proxyServerURL + + + + + + + + + + + dev_idleTimeout + 60 + sccp-custom + number + + + + + + + + + + + Help_id2 + + Setting the hotline Feature on a device, will make it connect to a predefined extension as soon as the Receiver is picked up or the "New Call" Button is pressed. No number has to be given. This works even on devices which have no entry in the config file or realtime database. + The hotline function can be used in : + + + First time configuration + This will make it easier to register new devices and assign numbers + + + At a door + Where you want people to be able to only call one number + + + For unprovisioned phones + To only be able to call the helpdesk to get their phone set up + + + + Be careful with this function. Especially not to the internet. So i would restring the deny/permit to 'internal' by default in that case. + + + Allow = + Specify a list of your networks, for example: 192.168.1.0 + + + deny = + 0.0.0.0/0.0.0.0 + + + permit = + internal + + + hotline_context = + sccp + + + hotline_label = + hotline + + + + + + + hotline_enabled + + off + + + Hotline Enabled: This allows unregistered extensions to connect to the system and dial the number listed below. + + + + + hotline_extension + *111 + sccp-custom + + Hotline Extension: The number that gets called when a hotline is picked up. hint + + + + + hotline_label + Hot Line + sccp-custom + + Hotline Label: The label on the device + + + + + hotline_context + default + sccp-custom + + Hotline Context: This is the context through which the phone will connect. It should probably match your other contest. The default is "from-internal" but "from-internal-xfer" would also make sense by limiting the options for the person using the phone. + + + + + context + from-internal + sccp-custom + + Context: This is the context in which your phones will operate. It should match the context you are using for the rest of your phones (if you have any). The FreePBX default is 'from-internal' + + + + + regcontext + sccpregistration + sccp-custom + + If regcontext is specified in sccp.conf chan-sccp-b will dynamically create and destroy a NoOp priority 1 extension for a given peer/line which registers with the server. If the context is not specified in extension.conf, then it will be dynamically created when an chan-sccp-b agent registers + + + + musicclass + NONE + + form-control + Music Class: Available MOH Classes. These are the MOH classes listed in your current server. + + + + dial_template + NONE + + sccp-custom + Help. + + + autoselectline_enabled + + off + + + Enables and Disables auto line selection. + + + meetme + + off + + + Enable/Disable conferencing via meetme (on/off), make sure you have one of the meetme apps mentioned below activated in module.conf + + + + + meetmeopts + qxd + sccp-custom + + Other options (app_meetme: A,a,b,c,C,d,D,E,e,F,i,I,l,L,m,M,o,p,P,q,r,s,S,t,T,w,x,X,1) see meetme specific documentation + + + + autocall_select + + off + + + + + + backgroundImageAccess + + off + + + I'm guessing on this one, but on some devices, the background image on the display can be modified at the device. I think this is the thing that allows that to take. + + + + + + + + provision_hide + + tftp_path + /tftpboot + sccp-custom + + Path to tftp home directory + + + + provision_show + + tftp_rewrite_path + /tftpboot + sccp-custom + + Use path from provision index.cnf file. You must first make sure that you have properly configured the "Provision" + + + + tftp_rewrite + + off + pro + pro + + + + Support the use of regular-expression-based filename remapping + + + + + createlangdir + + no + + + Say 'yes' if you need to create cisco default language directory in tftp path. + + + + + + + + + + mac + 000000000 + sccp-custom + + The MAC address of the phone. You must specify 12 characters in the format XXXX.XXXX.XXXX or XX-XX-XX-XX-XX-XX or XXXXXXXXXXXX + + + + + type + 7911 + + hw_select sccp-custom + The type of phone: 7911, 7940, 7960, etc. Important note: the 'G' models are handled as the base model (e.g., 7962G is handled as 7962). In the Display mode, this field is read-only because the MAC address and the model number are a pair. + + + + addon + NONE + + hw_select sccp-custom + Addon: Addons are model specific and only work with certain base phones. This phone model is identified as being a phone that does not accept sidecars. Update devmodel if this is not correct. + + + + + + + + + mac + 000000000 + sccp-custom + + + The MAC address of the phone + + + + type + 7911 + + + hw_select sccp-custom + The type of phone: 7911, 7940, 7960, etc. Important note: the 'G' models are handled as the base model (e.g., 7962G is handled as 7962). In the Display mode, this field is read-only because the MAC address and the model number are a pair. + + + + + + type + 79XX + sccp-custom + + + The type of phone: 7911, 7940, 7960, etc. Important note: the 'G' models are handled as the base model (e.g., 7962G is handled as 7962). In the Display mode, this field is read-only because the MAC address and the model number are a pair. + + + + + addon + NONE + sccp-custom + + + Addon: Addons are model specific and only work with certain base phones. This phone model is identified as being a phone that does not accept sidecars. Update devmodel if this is not correct. + + + + + + + + + + description + 000000000 + sccp-custom + + The information in the upper right corner of the device screen + + + + softkeyset + default + + System Default Softkey + + + + tzoffset + 00 + + Time Zone offset + + + + netlang + English_United_States + + The Network locales allows the phone to play tones (ringing, busy etc.) native to the phone's country. + + + + devlang + Russian_Russia + + The user locale allows the phone to display text (menu items, soft keys etc.) native to the phone's language. + + + + + backgroundImage + + sccp-custom + + For phones that can display background images - display this one. Default is [empty] + + + + + ringtone + + sccp-custom + + The ringtone that the phone will default to. Can be overridden in the phone. The files RINGLIST.XML provice the basic phone ring tones, while DISTINCTIVERINGLIST.XML defines the list of possible ring tones for your other line types. They, along with the actual 'raw' ringtones, are stored in the /tftpboot/ringtones directory with the rest of the config files. + + + + + + + + + mac + 000000000 + sccp-custom + + + + + + + + + transfer + + off + + + Transfer allowed + + + cfwdall + + NONE + + + + Activate the callforward softkeys. Default is On + + + cfwdbusy + + NONE + + + + Activate the callforward busy softkeys. Default is On + + + dndFeature + + NONE + + + + Do Not Disturb. Default is Off + + + directed_pickup + + on + off + + + Enable Pickup function to direct pickup an extension. Default is On + + + conf_allow + + on + off + + + Allow the use of conference + + + + + + pickup_hide + + + + directed_pickup_context + + sccp-custom + + Context where direct pickup search for extensions. if not set current contact will be use. + + + directed_pickup_modeanswer + + on + + + On (Default)= the call has been answered when picked up. Off = call manager way, the phone who picked up the call rings the call + Options: 'Immediate Answer' or 'Show CallerID' ?????? + + + + + + + useRedialMenu + + off + + + You can specifying 'useRedialMenu = yes' in the sccp.conf device section and the redial softkey will cause the "placed calls" list instead of immediately calling the last dialed number. + + + + force_dtmfmode + + auto + + + + Some phone models with bad firmware do send dtmf in a messed up order and need to be forced to skinny mode. + + + mwioncall + + NONE + + + + Set the MWI on call. + + + + mwilamp + + NONE + + + + + + + Set the MWI lamp style when MWI active to on, off, wink, flash or blink + + + + + conf_hide + + + conf_play_general_announce + + on + + + Playback General Announcements (like: 'You are Entering/Leaving the conference') + + + conf_play_part_announce + + on + + + Playback Personal/Participant Announcements, (like: 'You have been muted / You have been kicked') + + + conf_mute_on_entry + + off + + + Mute new participants from the start + + + conf_show_conflist + + on + + + Automatically show conference list to the moderator + + + + conf_music_on_hold_class + default + + form-control + Play music on hold of this class when no moderator is listening on the conference. If set to an empty string, no music on hold will be played. + + + + + + custom_network_acc + + permit + + + + Help. + + + custom_network_type + + ipv4 + + + Help. + + + + + custom_network_v + + + sccp-custom + + + custom_network_m + + sccp-custom + + + Help. + + + + + + + + + deny + / + sccp_hw_net_inherit + + + + + + + + + Add Deny network + All RFC 1918 addresses are local networks. Should always be at least '0.0.0.0/0.0.0.0'. + + + + + + permit + NONE + Inherit + false + + sccp_hw-ar_permit-grinternal + + sccp_hw_net_inherit + + + + + + + + + Add Allow network + Allow network settings. Blank fields will be ignored used Network 0.0.0.0. + + + + nat + + NONE + + + + + Device NAT support (default Auto) + + + + directrtp + + NONE + Auto + + + + This option allow devices to do direct RTP sessions (default Off) + + + earlyrtp + + NONE + + Immediate + + + + + + The audio stream will be open in the progress and connected state. Valid options: none, progress, offhook, dial, ringout. Default may be Progress. + + + + + + + dialtemplate_name + + form-control + + Help. + + + + + + + + Help_id1 + Specifies a pattern to match dialed digits against. Note: TEMPLATE must be in uppercase. + Rules: + + + match: + Pattern to match, consists of one or more elements + + + 0 1 2 3 4 5 6 7 8 9 + Match digit + + + . + Match one digit, # or * + + + * + Match zero or more digits, # or * + + + \* + Match a literal * + + + , + Play secondary dial-tone specified by tone + + + timeout: + Number of seconds to wait for more digits if this pattern matches + + + line: + Only apply template to the specified line (optional) + + + rewrite: + Rewrite the matched digits before dialing, consists of one or more elements (optional) + + + 0 1 2 3 4 5 6 7 8 9 + Replace with digit + + + %0 + The entire match + + + %1 %2 %3 %4 %5 + Replace with group of digits matched, grouping is done by consecutive literal digit or . elements + + + %% + A literal % + + + . + Each . is replaced by the digit that was matched by the corresponding . in the pattern + + + tone: + Secondary dial-tone to play when a , is matched, up to 3 can be specified (optional) + + + + + + dialtemplate + */10/* + + title + + + + + + + + text1 + + + + + + empty + Bellcore-Alerting + Bellcore-Inside + Bellcore-Outside + Bellcore-Busy + Bellcore-BusyVerify + Bellcore-Reorder + Bellcore-CallWaiting + Bellcore-Hold + Bellcore-Reminder + Bellcore-Confirmation + Bellcore-Stutter + Bellcore-Permanent + Bellcore-None + Cisco-Zip + Cisco-ZipZip + Cisco-BeepBonk + Bellcore-dr1 + Bellcore-dr2 + Bellcore-dr3 + Bellcore-dr4 + Bellcore-dr5 + Bellcore-dr6 + CallWaiting-2 + CallWaiting-3 + CallWaiting-4 + + Allow network settings. Blank fields will be ignored used Network 0.0.0.0. + + + + + diff --git a/views/server.setting.php b/views/server.setting.php index 5af46f2..2a955f3 100644 --- a/views/server.setting.php +++ b/views/server.setting.php @@ -17,10 +17,12 @@ ShowGroup('sccp_general',1); + echo $this->ShowGroup('sccp_dev_time_s',1); echo $this->ShowGroup('sccp_net',1); echo $this->ShowGroup('sccp_lang',1); echo $this->ShowGroup('sccp_qos_config',1); echo $this->ShowGroup('sccp_extpath_config',1); + ?>