diff --git a/conf/Sccp.class.php.v433 b/conf/Sccp.class.php.v433 index 6eac413..6b44992 100644 --- a/conf/Sccp.class.php.v433 +++ b/conf/Sccp.class.php.v433 @@ -6,31 +6,30 @@ // namespace FreePBX\modules\Core\Drivers; class Sccp extends \FreePBX\modules\Core\Driver { - private $data_fld = array("pin"=>'pin', "label" => 'label', "accountcode" => 'account', - "context" =>'lcontext',"incominglimit"=>'incominglimit', - "callgroup"=>'callgroup',"pickupgroup"=>'pickupgroup', - "transfer" => 'transfer', "echocancel" => 'echocancel', - "language" => 'language', "description" => 'callerid', - "cid_num" => 'cid_num', "cid_name" => 'cid_name', "mailbox" => 'mailbox', - "musicclass" => 'musicclass',"allow" => 'allow',"disallow" => 'disallow', - "videomode" => 'videomode', - "dnd" => 'dnd', "silencesuppression" => 'silencesuppression', - "secondary_dialtone_digits" => 'secondary_dialtone_digits', "secondary_dialtone_tone" => 'secondary_dialtone_tone', - 'namedcallgroup'=>'namedcallgroup', 'namedpickupgroup' => 'namedpickupgroup' - ); + private $data_fld = array("pin"=>'pin', "label" => 'label', "accountcode" => 'account', + "context" =>'lcontext',"incominglimit"=>'incominglimit', + "callgroup"=>'callgroup',"pickupgroup"=>'pickupgroup', + "transfer" => 'transfer', "echocancel" => 'echocancel', + "language" => 'language', "description" => 'callerid', + "cid_num" => 'cid_num', "cid_name" => 'cid_name', "mailbox" => 'mailbox', + "musicclass" => 'musicclass',"allow" => 'allow',"disallow" => 'disallow', + "videomode" => 'videomode', + "dnd" => 'dnd', "silencesuppression" => 'silencesuppression', + "secondary_dialtone_digits" => 'secondary_dialtone_digits', "secondary_dialtone_tone" => 'secondary_dialtone_tone', + 'namedcallgroup'=>'namedcallgroup', 'namedpickupgroup' => 'namedpickupgroup' + ); - public function getInfo() { - return array( - "rawName" => "sccp", - "hardware" => "sccp_custom", - "prettyName" => _("Sccp Custom Driver"), - "shortName" => "SCCP", - "description" => _("Sccp Device"), - "Version" => "11.4", - "about" => "Sccp mysql class Base ver: 11.3, Sccp ver: default" - - ); - } + public function getInfo() { + return array( + "rawName" => "sccp", + "hardware" => "sccp_custom", + "prettyName" => _("Sccp Custom Driver"), + "shortName" => "SCCP", + "description" => _("Sccp Device"), + "Version" => "11.4", + "about" => "Sccp mysql class Base ver: 11.3, Sccp ver: default" + ); + } /* public function addDevice1($id, $settings) { $sql = 'INSERT INTO sccp (id, keyword, data, flags) values (?,?,?,?)'; @@ -42,315 +41,315 @@ class Sccp extends \FreePBX\modules\Core\Driver { return true; } */ - public function addDevice($id, $settings) { - $add_fld = array ("name"=>'label',"outboundcid"=>'cid_num',"langcode"=>'language',"extdisplay"=>'description'); -// print_r($_REQUEST); -// echo '

'; -// die(print_r($settings)); - $settings['cid_num']['value'] = ''; - $settings['cid_name']['value'] = $label; - $settings['mailbox']['value']= ''; + public function addDevice($id, $settings) { + $add_fld = array ("name"=>'label',"outboundcid"=>'cid_num',"langcode"=>'language',"extdisplay"=>'description'); + // print_r($_REQUEST); + // echo '

'; + // die(print_r($settings)); + $settings['cid_num']['value'] = ''; + $settings['cid_name']['value'] = $label; + $settings['mailbox']['value']= ''; - if (isset($_REQUEST)){ - foreach($add_fld as $key => $val) { - if (!empty($_REQUEST[$key])){ - $settings[$val]['value'] = $_REQUEST[$key]; - } - } + if (isset($_REQUEST)){ + foreach($add_fld as $key => $val) { + if (!empty($_REQUEST[$key])){ + $settings[$val]['value'] = $_REQUEST[$key]; } - $allow_codec = array(); - foreach($settings as $key => $val) { - if (strpos($key,'codec_') !== false ) { - $allow_codec[] =substr($key,6); - } - } - $settings['allow']['value'] = implode(",", $allow_codec); + } + } + $allow_codec = array(); + foreach($settings as $key => $val) { + if (strpos($key,'codec_') !== false ) { + $allow_codec[] =substr($key,6); + } + } + $settings['allow']['value'] = implode(",", $allow_codec); - // parse outboundcid content into cid_num and cid_name sccpline fields - if (empty($settings['cid_num']['value'])) { - $settings['cid_num']['value'] = $id; - } else { - $outboundcid = $settings['cid_num']['value']; - if (preg_match('/"(.*)"\s?<(.*)>/', $outboundcid, $matches)) { - $settings['cid_num']['value'] = $matches[2]; - $settings['cid_name']['value'] = $matches[1]; - } else if (is_integer($outboundcid)) { - $settings['cid_num']['value'] = $outboundcid; - } - } - - if (!empty($_REQUEST['vm']) && ($_REQUEST['vm'] =='enabled')){ // mailbox - if (empty($settings['mailbox']['value'])) { - $settings['mailbox']['value']= $id; - } - } - -// 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 (!empty($settings[$val]) ) { - if (!empty($settings[$val]['value'])){ - $sql .= ', '.$key; - $sqlv .= ", '".$settings[$val]['value']."' "; - } - } - } - $sql .= ") ".$sqlv.");"; - $sth = $this->database->prepare($sql); - $sth->execute(); - return true; + // parse outboundcid content into cid_num and cid_name sccpline fields + if (empty($settings['cid_num']['value'])) { + $settings['cid_num']['value'] = $id; + } else { + $outboundcid = $settings['cid_num']['value']; + if (preg_match('/"(.*)"\s?<(.*)>/', $outboundcid, $matches)) { + $settings['cid_num']['value'] = $matches[2]; + $settings['cid_name']['value'] = $matches[1]; + } else if (is_integer($outboundcid)) { + $settings['cid_num']['value'] = $outboundcid; + } } - public function delDevice($id) { - $sql = "DELETE FROM sccpline WHERE name = ?"; - $sth = $this->database->prepare($sql); - $sth->execute(array($id)); - return true; - } + if (!empty($_REQUEST['vm']) && ($_REQUEST['vm'] =='enabled')){ // mailbox + if (empty($settings['mailbox']['value'])) { + $settings['mailbox']['value']= $id; + } + } + // die(print_r($settings)); + $tech = Array(); + $sql = "DESCRIBE `sccpline`"; + foreach ($this->database->query($sql) as $row) { + $tech[$row["Field"]]=$row["Field"]; + } - public function getDevice($id) { - $sccp_line = array(); -// $sql = "SELECT name as id, name as name"; - $sql = "SELECT name as id, name as name "; - foreach($this->data_fld as $key => $val) { - $sql .= ',`'. $key .'` as '.$val; + // die(print_r($tech)); + + $sql = 'REPLACE INTO sccpline (name'; + $sqlv = 'values ("'.$id.'"'; + foreach($this->data_fld as $key => $val) { + if (!empty($settings[$val]) ) { + if (!empty($settings[$val]['value'])){ + $sql .= ', '.$key; + $sqlv .= ", '".$settings[$val]['value']."' "; } - $sql .= " FROM sccpline WHERE name = ?"; - $sth = $this->database->prepare($sql); - $result = array(); - $tech = array(); - try { - $sth->execute(array($id)); - $result = $sth->fetch(\PDO::FETCH_ASSOC); - $tech = $result; - $tech['dial']='SCCP/'.$id; - } catch(\Exception $e) {} + } + } + $sql .= ") ".$sqlv.");"; + $sth = $this->database->prepare($sql); + $sth->execute(); + return true; + } - return $tech; - } + public function delDevice($id) { + $sql = "DELETE FROM sccpline WHERE name = ?"; + $sth = $this->database->prepare($sql); + $sth->execute(array($id)); + return true; + } - public function getDefaultDeviceSettings($id, $displayname, &$flag) { - $dial = 'SCCP'; - $settings = array( - "pin" => array( - "value" => "", - "flag" => $flag++ - ), - "incominglimit" => array( - "value" => "", - "flag" => $flag++ - ), - "lcontext" => array( - "value" => "from-internal", - "flag" => $flag++ - ), - "callgroup" => array( - "value" => "", - "flag" => $flag++ - ), - "namedcallgroup" => array( - "value" => "", - "flag" => $flag++ - ), - "pickupgroup" => array( - "value" => "", - "flag" => $flag++ - ), - "namedpickupgroup" => array( - "value" => "", - "flag" => $flag++ - ), - "transfer" => array( - "value" => "yes", - "flag" => $flag++ - ), - "adhocNumber" => array( - "value" => "", - "flag" => $flag++ - ), - "echocancel" => array( - "value" => "no", - "flag" => $flag++ - ), - "dnd" => array( - "value" => "UserDefined", - "flag" => $flag++ - ), - "silencesuppression" => array( - "value" => "no", - "flag" => $flag++ - ), - "secondary_dialtone_digits" => array( - "value" => "9", - "flag" => $flag++ - ), - "secondary_dialtone_tone" => array( - "value" => "0x22", - "flag" => $flag++ - ), - "musicclass" => array( - "value" => "default", - "flag" => $flag++ - ), - ); - return array( - "dial" => $dial, - "settings" => $settings - ); - } + + public function getDevice($id) { + $sccp_line = array(); + // $sql = "SELECT name as id, name as name"; + $sql = "SELECT name as id, name as name "; + foreach($this->data_fld as $key => $val) { + $sql .= ',`'. $key .'` as '.$val; + } + $sql .= " FROM sccpline WHERE name = ?"; + $sth = $this->database->prepare($sql); + $result = array(); + $tech = array(); + try { + $sth->execute(array($id)); + $result = $sth->fetch(\PDO::FETCH_ASSOC); + $tech = $result; + $tech['dial']='SCCP/'.$id; + } catch(\Exception $e) {} + + return $tech; + } + + public function getDefaultDeviceSettings($id, $displayname, &$flag) { + $dial = 'SCCP'; + $settings = array( + "pin" => array( + "value" => "", + "flag" => $flag++ + ), + "incominglimit" => array( + "value" => "", + "flag" => $flag++ + ), + "lcontext" => array( + "value" => "from-internal", + "flag" => $flag++ + ), + "callgroup" => array( + "value" => "", + "flag" => $flag++ + ), + "namedcallgroup" => array( + "value" => "", + "flag" => $flag++ + ), + "pickupgroup" => array( + "value" => "", + "flag" => $flag++ + ), + "namedpickupgroup" => array( + "value" => "", + "flag" => $flag++ + ), + "transfer" => array( + "value" => "yes", + "flag" => $flag++ + ), + "adhocNumber" => array( + "value" => "", + "flag" => $flag++ + ), + "echocancel" => array( + "value" => "no", + "flag" => $flag++ + ), + "dnd" => array( + "value" => "UserDefined", + "flag" => $flag++ + ), + "silencesuppression" => array( + "value" => "no", + "flag" => $flag++ + ), + "secondary_dialtone_digits" => array( + "value" => "9", + "flag" => $flag++ + ), + "secondary_dialtone_tone" => array( + "value" => "0x22", + "flag" => $flag++ + ), + "musicclass" => array( + "value" => "default", + "flag" => $flag++ + ), + ); + return array( + "dial" => $dial, + "settings" => $settings + ); + } # !TODO!: -TODO-: Would it not be better to put this part in the view directory (MVC) ? No, This is a template for Freepbx. - public function getDeviceDisplay($display, $deviceInfo, $currentcomponent, $primarySection) { - $section = _("Settings"); - $category = "general"; - $tmparr = array(); - $tt = _("The maximum number of incoming calls on this line."); -// $tmparr['incominglimit'] = array('prompttext' => _('Incoming Call Limit'), 'value' => '2', 'tt' => $tt, 'level' => 0, 'jsvalidation' => 'isEmpty()', 'failvalidationmsg' => $msgInvalidChannel); -// !TODO!: Please change the default value for incominglimit to '6' or higher - $tmparr['incominglimit'] = array('prompttext' => _('Incoming Call Limit'), 'value' => '2', 'tt' => $tt, 'level' => 1); + public function getDeviceDisplay($display, $deviceInfo, $currentcomponent, $primarySection) { + $section = _("Settings"); + $category = "general"; + $tmparr = array(); + $tt = _("The maximum number of incoming calls on this line."); + // $tmparr['incominglimit'] = array('prompttext' => _('Incoming Call Limit'), 'value' => '2', 'tt' => $tt, 'level' => 0, 'jsvalidation' => 'isEmpty()', 'failvalidationmsg' => $msgInvalidChannel); + // !TODO!: Please change the default value for incominglimit to '6' or higher + $tmparr['incominglimit'] = array('prompttext' => _('Incoming Call Limit'), 'value' => '2', 'tt' => $tt, 'level' => 1); - $tt = _("Asterisk context which this line will use to send and receive calls (Note: Only change this is you know what you are doing)."); - $tmparr['lcontext'] = array('prompttext' => _('Line context'), 'value' => 'from-internal', 'tt' => $tt, 'level' => 1); + $tt = _("Asterisk context which this line will use to send and receive calls (Note: Only change this is you know what you are doing)."); + $tmparr['lcontext'] = array('prompttext' => _('Line context'), 'value' => 'from-internal', 'tt' => $tt, 'level' => 1); -// !TODO!: -TODO-: Maybe completely remove support for old numberic callgroup/pickupgroup in favor of the named version ? See Sccp.class.php.v431 - $tt = _("Phone call group (numeric only, example:1,3-4)"); - $tmparr['callgroup'] = array('prompttext' => _('Call group id'),'value' => '', 'tt' => $tt, 'level' => 1); + // !TODO!: -TODO-: Maybe completely remove support for old numberic callgroup/pickupgroup in favor of the named version ? See Sccp.class.php.v431 + $tt = _("Phone call group (numeric only, example:1,3-4)"); + $tmparr['callgroup'] = array('prompttext' => _('Call group id'),'value' => '', 'tt' => $tt, 'level' => 1); -// !TODO!: -TODO-: multiple allowed (not sure if that is implemented here). See Sccp.class.php.v431 - $tt = _("Phone named call group (>asterisk-11)"); - $tmparr['namedcallgroup'] = array('prompttext' => _('Named Call Group'),'value' => '', 'tt' => $tt, 'level' => 1); + // !TODO!: -TODO-: multiple allowed (not sure if that is implemented here). See Sccp.class.php.v431 + $tt = _("Phone named call group (>asterisk-11)"); + $tmparr['namedcallgroup'] = array('prompttext' => _('Named Call Group'),'value' => '', 'tt' => $tt, 'level' => 1); - $tt = _("Sets the pickup group (numeric only, example:1,3-4) this line is a member of. Allows this line to pickup calls from remote phones which are in this callhroup."); - $tmparr['pickupgroup'] = array('prompttext' => _('Pickup group id'),'value' => '', 'tt' => $tt, 'level' => 1); + $tt = _("Sets the pickup group (numeric only, example:1,3-4) this line is a member of. Allows this line to pickup calls from remote phones which are in this callhroup."); + $tmparr['pickupgroup'] = array('prompttext' => _('Pickup group id'),'value' => '', 'tt' => $tt, 'level' => 1); -// !TODO!: -TODO-: multiple allowed (not sure if that is implemented here). See Sccp.class.php.v431 - $tt = _("Sets the named pickup name group this line is a member of. Allows this line to pickup calls from remote phones which are in this name callgroup (>asterisk-11)."); - $tmparr['namedpickupgroup'] = array('prompttext' => _('Named Pickup Group'),'value' => '', 'tt' => $tt, 'level' => 1); + // !TODO!: -TODO-: multiple allowed (not sure if that is implemented here). See Sccp.class.php.v431 + $tt = _("Sets the named pickup name group this line is a member of. Allows this line to pickup calls from remote phones which are in this name callgroup (>asterisk-11)."); + $tmparr['namedpickupgroup'] = array('prompttext' => _('Named Pickup Group'),'value' => '', 'tt' => $tt, 'level' => 1); - $tt = _("Phone pincode (Note used)"); - $tmparr['pin'] = array('value' => '', 'tt' => $tt, 'level' => 1); + $tt = _("Phone pincode (Note used)"); + $tmparr['pin'] = array('value' => '', 'tt' => $tt, 'level' => 1); - $tt = _("Digits to indicate an external line to user (secondary dialtone) Sample 9 or 8 (max 9 digits)"); - $tmparr['secondary_dialtone_digits'] = array('prompttext' => _('Secondary dialtone digits'), 'value' => '', 'tt' => $tt, 'level' => 1); + $tt = _("Digits to indicate an external line to user (secondary dialtone) Sample 9 or 8 (max 9 digits)"); + $tmparr['secondary_dialtone_digits'] = array('prompttext' => _('Secondary dialtone digits'), 'value' => '', 'tt' => $tt, 'level' => 1); - unset($select); - $select[] = array( 'value' => '0x21', 'text' => 'Inside Dial Tone'); - $select[] = array( 'value' => '0x22', 'text' => 'Outside Dial Tone'); - $select[] = array( 'value' => '0x23', 'text' => 'Line Busy Tone'); - $select[] = array( 'value' => '0x24', 'text' => 'Alerting Tone'); - $select[] = array( 'value' => '0x25', 'text' => 'Reorder Tone'); - $select[] = array( 'value' => '0x26', 'text' => 'Recorder Warning Tone'); - $select[] = array( 'value' => '0x27', 'text' => 'Recorder Detected Tone'); - $select[] = array( 'value' => '0x28', 'text' => 'Reverting Tone'); - $select[] = array( 'value' => '0x29', 'text' => 'Receiver OffHook Tone'); - $select[] = array( 'value' => '0x2A', 'text' => 'Partial Dial Tone'); - $select[] = array( 'value' => '0x2B', 'text' => 'No Such Number Tone'); - $select[] = array( 'value' => '0x2C', 'text' => 'Busy Verification Tone'); - $select[] = array( 'value' => '0x2D', 'text' => 'Call Waiting Tone'); - $select[] = array( 'value' => '0x2E', 'text' => 'Confirmation Tone'); - $select[] = array( 'value' => '0x2F', 'text' => 'Camp On Indication Tone'); - $select[] = array( 'value' => '0x30', 'text' => 'Recall Dial Tone'); - $select[] = array( 'value' => '0x31', 'text' => 'Zip Zip'); - $select[] = array( 'value' => '0x32', 'text' => 'Zip'); - $select[] = array( 'value' => '0x33', 'text' => 'Beep Bonk'); - $select[] = array( 'value' => '0x34', 'text' => 'Music Tone'); - $select[] = array( 'value' => '0x35', 'text' => 'Hold Tone'); - $select[] = array( 'value' => '0x36', 'text' => 'Test Tone'); - $select[] = array( 'value' => '0x37', 'text' => 'DT Monitor Warning Tone'); - $select[] = array( 'value' => '0x40', 'text' => 'Add Call Waiting'); - $select[] = array( 'value' => '0x41', 'text' => 'Priority Call Wait'); - $select[] = array( 'value' => '0x42', 'text' => 'Recall Dial'); - $select[] = array( 'value' => '0x43', 'text' => 'Barg In'); - $select[] = array( 'value' => '0x44', 'text' => 'Distinct Alert'); - $select[] = array( 'value' => '0x45', 'text' => 'Priority Alert'); - $select[] = array( 'value' => '0x46', 'text' => 'Reminder Ring'); - $select[] = array( 'value' => '0x47', 'text' => 'Precedence RingBank'); - $select[] = array( 'value' => '0x48', 'text' => 'Pre-EmptionTone'); - $select[] = array( 'value' => '0x67', 'text' => '2105 HZ'); - $select[] = array( 'value' => '0x68', 'text' => '2600 HZ'); - $select[] = array( 'value' => '0x69', 'text' => '440 HZ'); - $select[] = array( 'value' => '0x6A', 'text' => '300 HZ'); - $select[] = array( 'value' => '0x77', 'text' => 'MLPP Pala'); - $select[] = array( 'value' => '0x78', 'text' => 'MLPP Ica'); - $select[] = array( 'value' => '0x79', 'text' => 'MLPP Vca'); - $select[] = array( 'value' => '0x7A', 'text' => 'MLPP Bpa'); - $select[] = array( 'value' => '0x7B', 'text' => 'MLPP Bnea'); - $select[] = array( 'value' => '0x7C', 'text' => 'MLPP Upa'); -/* !TODO!: +TODO+: I would remove the values below this line, except for 'No Tone' */ -// $select[] = array( 'value' => '0x7F', 'text' => 'No Tone'); - $select[] = array( 'value' => '0x80', 'text' => 'Meetme Greeting Tone'); - $select[] = array( 'value' => '0x81', 'text' => 'Meetme Number Invalid Tone'); - $select[] = array( 'value' => '0x82', 'text' => 'Meetme Number Failed Tone'); - $select[] = array( 'value' => '0x83', 'text' => 'Meetme Enter Pin Tone'); - $select[] = array( 'value' => '0x84', 'text' => 'Meetme Invalid Pin Tone'); - $select[] = array( 'value' => '0x85', 'text' => 'Meetme Failed Pin Tone'); - $select[] = array( 'value' => '0x86', 'text' => 'Meetme CFB Failed Tone'); - $select[] = array( 'value' => '0x87', 'text' => 'Meetme Enter Access Code Tone'); - $select[] = array( 'value' => '0x88', 'text' => 'Meetme Access Code Invalid Tone'); - $select[] = array( 'value' => '0x89', 'text' => 'Meetme Access Code Failed Tone'); - $select[] = array('value' => 'yes', 'text' => 'Yes'); - $select[] = array('value' => 'no', 'text' => 'No'); + unset($select); + $select[] = array( 'value' => '0x21', 'text' => 'Inside Dial Tone'); + $select[] = array( 'value' => '0x22', 'text' => 'Outside Dial Tone'); + $select[] = array( 'value' => '0x23', 'text' => 'Line Busy Tone'); + $select[] = array( 'value' => '0x24', 'text' => 'Alerting Tone'); + $select[] = array( 'value' => '0x25', 'text' => 'Reorder Tone'); + $select[] = array( 'value' => '0x26', 'text' => 'Recorder Warning Tone'); + $select[] = array( 'value' => '0x27', 'text' => 'Recorder Detected Tone'); + $select[] = array( 'value' => '0x28', 'text' => 'Reverting Tone'); + $select[] = array( 'value' => '0x29', 'text' => 'Receiver OffHook Tone'); + $select[] = array( 'value' => '0x2A', 'text' => 'Partial Dial Tone'); + $select[] = array( 'value' => '0x2B', 'text' => 'No Such Number Tone'); + $select[] = array( 'value' => '0x2C', 'text' => 'Busy Verification Tone'); + $select[] = array( 'value' => '0x2D', 'text' => 'Call Waiting Tone'); + $select[] = array( 'value' => '0x2E', 'text' => 'Confirmation Tone'); + $select[] = array( 'value' => '0x2F', 'text' => 'Camp On Indication Tone'); + $select[] = array( 'value' => '0x30', 'text' => 'Recall Dial Tone'); + $select[] = array( 'value' => '0x31', 'text' => 'Zip Zip'); + $select[] = array( 'value' => '0x32', 'text' => 'Zip'); + $select[] = array( 'value' => '0x33', 'text' => 'Beep Bonk'); + $select[] = array( 'value' => '0x34', 'text' => 'Music Tone'); + $select[] = array( 'value' => '0x35', 'text' => 'Hold Tone'); + $select[] = array( 'value' => '0x36', 'text' => 'Test Tone'); + $select[] = array( 'value' => '0x37', 'text' => 'DT Monitor Warning Tone'); + $select[] = array( 'value' => '0x40', 'text' => 'Add Call Waiting'); + $select[] = array( 'value' => '0x41', 'text' => 'Priority Call Wait'); + $select[] = array( 'value' => '0x42', 'text' => 'Recall Dial'); + $select[] = array( 'value' => '0x43', 'text' => 'Barg In'); + $select[] = array( 'value' => '0x44', 'text' => 'Distinct Alert'); + $select[] = array( 'value' => '0x45', 'text' => 'Priority Alert'); + $select[] = array( 'value' => '0x46', 'text' => 'Reminder Ring'); + $select[] = array( 'value' => '0x47', 'text' => 'Precedence RingBank'); + $select[] = array( 'value' => '0x48', 'text' => 'Pre-EmptionTone'); + $select[] = array( 'value' => '0x67', 'text' => '2105 HZ'); + $select[] = array( 'value' => '0x68', 'text' => '2600 HZ'); + $select[] = array( 'value' => '0x69', 'text' => '440 HZ'); + $select[] = array( 'value' => '0x6A', 'text' => '300 HZ'); + $select[] = array( 'value' => '0x77', 'text' => 'MLPP Pala'); + $select[] = array( 'value' => '0x78', 'text' => 'MLPP Ica'); + $select[] = array( 'value' => '0x79', 'text' => 'MLPP Vca'); + $select[] = array( 'value' => '0x7A', 'text' => 'MLPP Bpa'); + $select[] = array( 'value' => '0x7B', 'text' => 'MLPP Bnea'); + $select[] = array( 'value' => '0x7C', 'text' => 'MLPP Upa'); + /* !TODO!: +TODO+: I would remove the values below this line, except for 'No Tone' */ + // $select[] = array( 'value' => '0x7F', 'text' => 'No Tone'); + $select[] = array( 'value' => '0x80', 'text' => 'Meetme Greeting Tone'); + $select[] = array( 'value' => '0x81', 'text' => 'Meetme Number Invalid Tone'); + $select[] = array( 'value' => '0x82', 'text' => 'Meetme Number Failed Tone'); + $select[] = array( 'value' => '0x83', 'text' => 'Meetme Enter Pin Tone'); + $select[] = array( 'value' => '0x84', 'text' => 'Meetme Invalid Pin Tone'); + $select[] = array( 'value' => '0x85', 'text' => 'Meetme Failed Pin Tone'); + $select[] = array( 'value' => '0x86', 'text' => 'Meetme CFB Failed Tone'); + $select[] = array( 'value' => '0x87', 'text' => 'Meetme Enter Access Code Tone'); + $select[] = array( 'value' => '0x88', 'text' => 'Meetme Access Code Invalid Tone'); + $select[] = array( 'value' => '0x89', 'text' => 'Meetme Access Code Failed Tone'); + $select[] = array('value' => 'yes', 'text' => 'Yes'); + $select[] = array('value' => 'no', 'text' => 'No'); - $tt = _("Outside dialtone frequency (defaul 0x22)"); - $tmparr['secondary_dialtone_tone'] = array('prompttext' => _('Secondary dialtone'), 'value' => '0x22', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'select'); + $tt = _("Outside dialtone frequency (defaul 0x22)"); + $tmparr['secondary_dialtone_tone'] = array('prompttext' => _('Secondary dialtone'), 'value' => '0x22', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'select'); -# !TODO!: -TODO-: is there no easier way to specify a boolean radio group ? No. - unset($select); - $select[] = array('value' => 'yes', 'text' => 'Yes'); - $select[] = array('value' => 'no', 'text' => 'No'); - $tt = _("Allow call transfer."); - $tmparr['transfer'] = array('prompttext' => _('Call Transfer'), 'value' => 'yes', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); + # !TODO!: -TODO-: is there no easier way to specify a boolean radio group ? No. + unset($select); + $select[] = array('value' => 'yes', 'text' => 'Yes'); + $select[] = array('value' => 'no', 'text' => 'No'); + $tt = _("Allow call transfer."); + $tmparr['transfer'] = array('prompttext' => _('Call Transfer'), 'value' => 'yes', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); - unset($select); - $select[] = array('value' => 'yes', 'text' => 'Yes'); - $select[] = array('value' => 'no', 'text' => 'No'); - $tt = _("Echo cancel"); - $tmparr['echocancel'] = array('prompttext' => _('Echo cancel'), 'value' => 'yes', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); + unset($select); + $select[] = array('value' => 'yes', 'text' => 'Yes'); + $select[] = array('value' => 'no', 'text' => 'No'); + $tt = _("Echo cancel"); + $tmparr['echocancel'] = array('prompttext' => _('Echo cancel'), 'value' => 'yes', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); - unset($select); - $select[] = array('value' => 'off', 'text' => 'Off'); - $select[] = array('value' => 'reject', 'text' => 'Reject'); - $select[] = array('value' => 'silent', 'text' => 'Silent'); - $select[] = array('value' => 'UserDefined', 'text' => 'UserDefined'); -# !TODO!: -TODO-: The next entry should be "null/empty" (not UserDefined) -> to indicate the trie-state behaviour -# !TODO!: -TODO-: Userdefined is also a possible state, but it is not used or implemented (and it should not be implemented here, i think). See Sccp.class.php.v431, See Sccp.class.php - Old Style - $tt = _("DND: How will dnd react when it is set on the device level dnd can have three states: off / busy(reject) / silent / UserDefined").'
'. - _("UserDefined - dnd that cycles through all three states off -> reject -> silent -> off (this is the normal behaviour)").'
'. - _("Reject - Usesr can only switch off and on (in reject/busy mode)").'
'. - _("Silent - Usesr can only switch off and on (in silent mode)"); - $tmparr['dnd'] = array('prompttext' => _('DND'), 'value' => 'UserDefined', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); + unset($select); + $select[] = array('value' => 'off', 'text' => 'Off'); + $select[] = array('value' => 'reject', 'text' => 'Reject'); + $select[] = array('value' => 'silent', 'text' => 'Silent'); + $select[] = array('value' => 'UserDefined', 'text' => 'UserDefined'); + # !TODO!: -TODO-: The next entry should be "null/empty" (not UserDefined) -> to indicate the trie-state behaviour + # !TODO!: -TODO-: Userdefined is also a possible state, but it is not used or implemented (and it should not be implemented here, i think). See Sccp.class.php.v431, See Sccp.class.php - Old Style + $tt = _("DND: How will dnd react when it is set on the device level dnd can have three states: off / busy(reject) / silent / UserDefined").'
'. + _("UserDefined - dnd that cycles through all three states off -> reject -> silent -> off (this is the normal behaviour)").'
'. + _("Reject - Usesr can only switch off and on (in reject/busy mode)").'
'. + _("Silent - Usesr can only switch off and on (in silent mode)"); + $tmparr['dnd'] = array('prompttext' => _('DND'), 'value' => 'UserDefined', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); - unset($select); - $select[] = array('value' => 'yes', 'text' => 'Yes'); - $select[] = array('value' => 'no', 'text' => 'No'); - $tt = _("Silence Suppression. Asterisk Not supported"); - $tmparr['silencesuppression'] = array('prompttext' => _('Silence Suppression'), 'value' => 'no', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); + unset($select); + $select[] = array('value' => 'yes', 'text' => 'Yes'); + $select[] = array('value' => 'no', 'text' => 'No'); + $tt = _("Silence Suppression. Asterisk Not supported"); + $tmparr['silencesuppression'] = array('prompttext' => _('Silence Suppression'), 'value' => 'no', 'tt' => $tt, 'select' => $select, 'level' => 1, 'type' => 'radio'); - unset($select); - $select[] = array('value' => 'default', 'text' => _('default')); - if (function_exists('music_list')){ - $moh_list = music_list(); - } else { - $moh_list = array('default'); - } - foreach ($moh_list as $value) { - $select[] = array('value' => $value, 'text' => _($value)); - } + unset($select); + $select[] = array('value' => 'default', 'text' => _('default')); + if (function_exists('music_list')){ + $moh_list = music_list(); + } else { + $moh_list = array('default'); + } + foreach ($moh_list as $value) { + $select[] = array('value' => $value, 'text' => _($value)); + } - $tt = _("Music on hold"); - $tmparr['musicclass'] = array('prompttext' => _('Music on hold'), 'value' => 'no', 'tt' => $tt, 'select' => $select, 'level' => 1); + $tt = _("Music on hold"); + $tmparr['musicclass'] = array('prompttext' => _('Music on hold'), 'value' => 'no', 'tt' => $tt, 'select' => $select, 'level' => 1); - $devopts = $tmparr; - return $devopts; - } + $devopts = $tmparr; + return $devopts; + } }