mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-06 11:43:50 +00:00
Move the call forward, follow me and do not disturb.
This commit is contained in:
195
app/calls/resources/classes/switch_call_forward.php
Normal file
195
app/calls/resources/classes/switch_call_forward.php
Normal file
@@ -0,0 +1,195 @@
|
||||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Copyright (C) 2010
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
include "root.php";
|
||||
|
||||
//define the call_forward class
|
||||
class call_forward {
|
||||
public $domain_uuid;
|
||||
public $db_type;
|
||||
public $call_forward_uuid;
|
||||
public $extension;
|
||||
public $call_forward_enabled;
|
||||
public $call_forward_number;
|
||||
|
||||
public function call_forward_add() {
|
||||
global $db;
|
||||
$hunt_group_extension = $this->extension;
|
||||
$huntgroup_name = 'call_forward_'.$this->extension;
|
||||
$hunt_group_type = 'call_forward';
|
||||
$hunt_group_context = $_SESSION['context'];
|
||||
$hunt_group_timeout_destination = $this->extension;
|
||||
$hunt_group_timeout_type = 'voicemail';
|
||||
$hunt_group_ring_back = 'us-ring';
|
||||
$hunt_group_cid_name_prefix = '';
|
||||
$hunt_group_pin = '';
|
||||
$huntgroup_caller_announce = 'false';
|
||||
$hunt_group_user_list = '';
|
||||
$hunt_group_enabled = $this->call_forward_enabled;
|
||||
$hunt_group_description = 'call forward '.$this->extension;
|
||||
|
||||
$sql = "insert into v_hunt_groups ";
|
||||
$sql .= "(";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "hunt_group_uuid, ";
|
||||
$sql .= "hunt_group_extension, ";
|
||||
$sql .= "hunt_group_name, ";
|
||||
$sql .= "hunt_group_type, ";
|
||||
$sql .= "hunt_group_context, ";
|
||||
$sql .= "hunt_group_timeout, ";
|
||||
$sql .= "hunt_group_timeout_destination, ";
|
||||
$sql .= "hunt_group_timeout_type, ";
|
||||
$sql .= "hunt_group_ringback, ";
|
||||
$sql .= "hunt_group_cid_name_prefix, ";
|
||||
$sql .= "hunt_group_pin, ";
|
||||
$sql .= "hunt_group_call_prompt, ";
|
||||
$sql .= "hunt_group_caller_announce, ";
|
||||
$sql .= "hunt_group_user_list, ";
|
||||
$sql .= "hunt_group_enabled, ";
|
||||
$sql .= "hunt_group_description ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'".$this->call_forward_uuid."', ";
|
||||
$sql .= "'$hunt_group_extension', ";
|
||||
$sql .= "'$huntgroup_name', ";
|
||||
$sql .= "'$hunt_group_type', ";
|
||||
$sql .= "'$hunt_group_context', ";
|
||||
$sql .= "'$hunt_group_timeout', ";
|
||||
$sql .= "'$hunt_group_timeout_destination', ";
|
||||
$sql .= "'$hunt_group_timeout_type', ";
|
||||
$sql .= "'$hunt_group_ring_back', ";
|
||||
$sql .= "'$hunt_group_cid_name_prefix', ";
|
||||
$sql .= "'$hunt_group_pin', ";
|
||||
$sql .= "'$hunt_group_call_prompt', ";
|
||||
$sql .= "'$huntgroup_caller_announce', ";
|
||||
$sql .= "'$hunt_group_user_list', ";
|
||||
$sql .= "'$hunt_group_enabled', ";
|
||||
$sql .= "'$hunt_group_description' ";
|
||||
$sql .= ")";
|
||||
if ($v_debug) {
|
||||
echo "add: ".$sql."<br />";
|
||||
}
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$this->call_forward_destination();
|
||||
}
|
||||
|
||||
public function call_forward_update() {
|
||||
global $db;
|
||||
$hunt_group_extension = $this->extension;
|
||||
$huntgroup_name = 'call_forward_'.$this->extension;
|
||||
$hunt_group_type = 'call_forward';
|
||||
$hunt_group_context = $_SESSION['context'];
|
||||
$hunt_group_timeout_destination = $this->extension;
|
||||
$hunt_group_timeout_type = 'voicemail';
|
||||
$hunt_group_ring_back = 'us-ring';
|
||||
$hunt_group_cid_name_prefix = '';
|
||||
$hunt_group_pin = '';
|
||||
$huntgroup_caller_announce = 'false';
|
||||
$hunt_group_user_list = '';
|
||||
$hunt_group_enabled = $this->call_forward_enabled;
|
||||
$hunt_group_description = 'call forward '.$this->extension;
|
||||
|
||||
$sql = "update v_hunt_groups set ";
|
||||
$sql .= "hunt_group_extension = '$hunt_group_extension', ";
|
||||
$sql .= "hunt_group_name = '$huntgroup_name', ";
|
||||
$sql .= "hunt_group_type = '$hunt_group_type', ";
|
||||
$sql .= "hunt_group_context = '$hunt_group_context', ";
|
||||
$sql .= "hunt_group_timeout = '$hunt_group_timeout', ";
|
||||
$sql .= "hunt_group_timeout_destination = '$hunt_group_timeout_destination', ";
|
||||
$sql .= "hunt_group_timeout_type = '$hunt_group_timeout_type', ";
|
||||
$sql .= "hunt_group_ringback = '$hunt_group_ring_back', ";
|
||||
$sql .= "hunt_group_cid_name_prefix = '$hunt_group_cid_name_prefix', ";
|
||||
$sql .= "hunt_group_pin = '$hunt_group_pin', ";
|
||||
$sql .= "hunt_group_call_prompt = '$hunt_group_call_prompt', ";
|
||||
$sql .= "hunt_group_caller_announce = '$huntgroup_caller_announce', ";
|
||||
$sql .= "hunt_group_user_list = '$hunt_group_user_list', ";
|
||||
$sql .= "hunt_group_enabled = '$hunt_group_enabled', ";
|
||||
$sql .= "hunt_group_description = '$hunt_group_description' ";
|
||||
$sql .= "where domain_uuid = '$this->domain_uuid' ";
|
||||
$sql .= "and hunt_group_uuid = '$this->call_forward_uuid' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$this->call_forward_destination();
|
||||
} //end function
|
||||
|
||||
public function call_forward_destination() {
|
||||
global $db;
|
||||
//delete related v_hunt_group_destinations
|
||||
$sql = "delete from v_hunt_group_destinations where hunt_group_uuid = '$this->call_forward_uuid' ";
|
||||
$db->exec(check_sql($sql));
|
||||
//check whether the number is an extension or external number
|
||||
if (strlen($this->call_forward_number) > 7) {
|
||||
$destination_type = 'sip uri';
|
||||
$destination_profile = '';
|
||||
}
|
||||
else {
|
||||
$destination_type = 'extension';
|
||||
$destination_profile = 'internal';
|
||||
}
|
||||
//prepare the variables
|
||||
$destination_data = $this->call_forward_number;
|
||||
$destination_timeout = '';
|
||||
$destination_order = '1';
|
||||
$destination_enabled = 'true';
|
||||
$destination_description = 'call forward';
|
||||
//add the hunt group destination
|
||||
if ($this->call_forward_uuid) {
|
||||
$sql = "insert into v_hunt_group_destinations ";
|
||||
$sql .= "(";
|
||||
$sql .= "hunt_group_destination_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "hunt_group_uuid, ";
|
||||
$sql .= "destination_data, ";
|
||||
$sql .= "destination_type, ";
|
||||
$sql .= "destination_profile, ";
|
||||
$sql .= "destination_timeout, ";
|
||||
$sql .= "destination_order, ";
|
||||
$sql .= "destination_enabled, ";
|
||||
$sql .= "destination_description ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'$this->call_forward_uuid', ";
|
||||
$sql .= "'$destination_data', ";
|
||||
$sql .= "'$destination_type', ";
|
||||
$sql .= "'$destination_profile', ";
|
||||
$sql .= "'$destination_timeout', ";
|
||||
$sql .= "'$destination_order', ";
|
||||
$sql .= "'$destination_enabled', ";
|
||||
$sql .= "'$destination_description' ";
|
||||
$sql .= ")";
|
||||
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
} //end function
|
||||
}
|
||||
|
||||
?>
|
||||
86
app/calls/resources/classes/switch_do_not_disturb.php
Normal file
86
app/calls/resources/classes/switch_do_not_disturb.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Copyright (C) 2010
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
include "root.php";
|
||||
|
||||
//define the dnd class
|
||||
class do_not_disturb {
|
||||
public $domain_uuid;
|
||||
public $domain_name;
|
||||
public $extension;
|
||||
public $enabled;
|
||||
private $dial_string;
|
||||
|
||||
//update the user_status
|
||||
public function user_status() {
|
||||
global $db;
|
||||
if ($this->enabled == "true") {
|
||||
//update the call center status
|
||||
$user_status = "Logged Out";
|
||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
||||
if ($fp) {
|
||||
$switch_cmd .= "callcenter_config agent set status ".$_SESSION['username']."@".$this->domain_name." '".$user_status."'";
|
||||
$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
|
||||
}
|
||||
|
||||
//update the database user_status
|
||||
$user_status = "Do Not Disturb";
|
||||
$sql = "update v_users set ";
|
||||
$sql .= "user_status = '$user_status' ";
|
||||
$sql .= "where domain_uuid = '".$this->domain_uuid."' ";
|
||||
$sql .= "and username = '".$_SESSION['username']."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
}
|
||||
}
|
||||
|
||||
public function set() {
|
||||
global $db;
|
||||
//update the extension
|
||||
if ($this->enabled == "true") {
|
||||
$this->dial_string = "loopback/*99".$this->extension;
|
||||
}
|
||||
else {
|
||||
$this->dial_string = "";
|
||||
}
|
||||
$sql = "update v_extensions set ";
|
||||
$sql .= "do_not_disturb = '".$this->enabled."', ";
|
||||
// $sql .= "dial_string = '".$this->dial_string."', ";
|
||||
$sql .= "dial_domain = '".$this->domain_name."' ";
|
||||
$sql .= "where domain_uuid = '".$this->domain_uuid."' ";
|
||||
$sql .= "and extension = '".$this->extension."' ";
|
||||
if ($this->debug) {
|
||||
echo $sql."<br />";
|
||||
}
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
//syncrhonize configuration
|
||||
save_extension_xml();
|
||||
} //function
|
||||
|
||||
} //class
|
||||
|
||||
?>
|
||||
278
app/calls/resources/classes/switch_follow_me.php
Normal file
278
app/calls/resources/classes/switch_follow_me.php
Normal file
@@ -0,0 +1,278 @@
|
||||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Copyright (C) 2010
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
include "root.php";
|
||||
|
||||
//define the follow me class
|
||||
class follow_me {
|
||||
public $domain_uuid;
|
||||
public $db_type;
|
||||
public $follow_me_uuid;
|
||||
public $follow_me_enabled;
|
||||
|
||||
public $destination_data_1;
|
||||
public $destination_type_1;
|
||||
public $destination_delay_1;
|
||||
public $destination_timeout_1;
|
||||
|
||||
public $destination_data_2;
|
||||
public $destination_type_2;
|
||||
public $destination_delay_2;
|
||||
public $destination_timeout_2;
|
||||
|
||||
public $destination_data_3;
|
||||
public $destination_type_3;
|
||||
public $destination_delay_3;
|
||||
public $destination_timeout_3;
|
||||
|
||||
public $destination_data_4;
|
||||
public $destination_type_4;
|
||||
public $destination_delay_4;
|
||||
public $destination_timeout_4;
|
||||
|
||||
public $destination_data_5;
|
||||
public $destination_type_5;
|
||||
public $destination_delay_5;
|
||||
public $destination_timeout_5;
|
||||
|
||||
public $destination_timeout = 0;
|
||||
public $destination_order = 1;
|
||||
|
||||
public function follow_me_add() {
|
||||
global $db;
|
||||
|
||||
$sql = "insert into v_follow_me ";
|
||||
$sql .= "(";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "follow_me_uuid, ";
|
||||
$sql .= "follow_me_enabled ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'$this->follow_me_uuid', ";
|
||||
$sql .= "'$this->follow_me_enabled' ";
|
||||
$sql .= ")";
|
||||
if ($v_debug) {
|
||||
echo $sql."<br />";
|
||||
}
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$this->follow_me_destinations();
|
||||
} //end function
|
||||
|
||||
public function follow_me_update() {
|
||||
global $db;
|
||||
|
||||
$sql = "update follow_me set ";
|
||||
$sql .= "follow_me_enabled = '$this->follow_me_enabled' ";
|
||||
$sql .= "where domain_uuid = '$this->domain_uuid' ";
|
||||
$sql .= "and follow_me_uuid = '$this->follow_me_uuid' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$this->follow_me_destinations();
|
||||
} //end function
|
||||
|
||||
public function follow_me_destinations() {
|
||||
global $db;
|
||||
|
||||
//delete related follow me destinations
|
||||
$sql = "delete from v_follow_me_destinations where follow_me_uuid = '$this->follow_me_uuid' ";
|
||||
$db->exec(check_sql($sql));
|
||||
|
||||
//insert the follow me destinations
|
||||
if (strlen($this->destination_data_1) > 0) {
|
||||
$sql = "insert into v_follow_me_destinations ";
|
||||
$sql .= "(";
|
||||
$sql .= "follow_me_destination_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "follow_me_uuid, ";
|
||||
$sql .= "follow_me_destination, ";
|
||||
$sql .= "follow_me_timeout, ";
|
||||
$sql .= "follow_me_delay, ";
|
||||
$sql .= "follow_me_order ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'$this->follow_me_uuid', ";
|
||||
$sql .= "'$this->destination_data_1', ";
|
||||
$sql .= "'$this->destination_timeout_1', ";
|
||||
$sql .= "'$this->destination_delay_1', ";
|
||||
$sql .= "'1' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
$this->destination_order++;
|
||||
unset($sql);
|
||||
}
|
||||
if (strlen($this->destination_data_2) > 0) {
|
||||
$sql = "insert into v_follow_me_destinations ";
|
||||
$sql .= "(";
|
||||
$sql .= "follow_me_destination_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "follow_me_uuid, ";
|
||||
$sql .= "follow_me_destination, ";
|
||||
$sql .= "follow_me_timeout, ";
|
||||
$sql .= "follow_me_delay, ";
|
||||
$sql .= "follow_me_order ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'$this->follow_me_uuid', ";
|
||||
$sql .= "'$this->destination_data_2', ";
|
||||
$sql .= "'$this->destination_timeout_2', ";
|
||||
$sql .= "'$this->destination_delay_2', ";
|
||||
$sql .= "'2' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
$this->destination_order++;
|
||||
unset($sql);
|
||||
}
|
||||
if (strlen($this->destination_data_3) > 0) {
|
||||
$sql = "insert into v_follow_me_destinations ";
|
||||
$sql .= "(";
|
||||
$sql .= "follow_me_destination_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "follow_me_uuid, ";
|
||||
$sql .= "follow_me_destination, ";
|
||||
$sql .= "follow_me_timeout, ";
|
||||
$sql .= "follow_me_delay, ";
|
||||
$sql .= "follow_me_order ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'$this->follow_me_uuid', ";
|
||||
$sql .= "'$this->destination_data_3', ";
|
||||
$sql .= "'$this->destination_timeout_3', ";
|
||||
$sql .= "'$this->destination_delay_3', ";
|
||||
$sql .= "'3' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
$this->destination_order++;
|
||||
unset($sql);
|
||||
}
|
||||
if (strlen($this->destination_data_4) > 0) {
|
||||
$sql = "insert into v_follow_me_destinations ";
|
||||
$sql .= "(";
|
||||
$sql .= "follow_me_destination_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "follow_me_uuid, ";
|
||||
$sql .= "follow_me_destination, ";
|
||||
$sql .= "follow_me_timeout, ";
|
||||
$sql .= "follow_me_delay, ";
|
||||
$sql .= "follow_me_order ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'$this->follow_me_uuid', ";
|
||||
$sql .= "'$this->destination_data_4', ";
|
||||
$sql .= "'$this->destination_timeout_4', ";
|
||||
$sql .= "'$this->destination_delay_4', ";
|
||||
$sql .= "'4' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
$this->destination_order++;
|
||||
unset($sql);
|
||||
}
|
||||
if (strlen($this->destination_data_5) > 0) {
|
||||
$sql = "insert into v_follow_me_destinations ";
|
||||
$sql .= "(";
|
||||
$sql .= "follow_me_destination_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "follow_me_uuid, ";
|
||||
$sql .= "follow_me_destination, ";
|
||||
$sql .= "follow_me_timeout, ";
|
||||
$sql .= "follow_me_delay, ";
|
||||
$sql .= "follow_me_order ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$this->domain_uuid', ";
|
||||
$sql .= "'$this->follow_me_uuid', ";
|
||||
$sql .= "'$this->destination_data_5', ";
|
||||
$sql .= "'$this->destination_timeout_5', ";
|
||||
$sql .= "'$this->destination_delay_5', ";
|
||||
$sql .= "'5' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
$this->destination_order++;
|
||||
unset($sql);
|
||||
}
|
||||
} //function
|
||||
|
||||
public function set() {
|
||||
global $db;
|
||||
//update the extension
|
||||
if ($this->follow_me_enabled == "true") {
|
||||
$sql = "select * from v_follow_me_destinations ";
|
||||
$sql .= "where follow_me_uuid = '$this->follow_me_uuid' ";
|
||||
$sql .= "order by follow_me_order asc ";
|
||||
$prep_statement_2 = $db->prepare(check_sql($sql));
|
||||
$prep_statement_2->execute();
|
||||
$result = $prep_statement_2->fetchAll(PDO::FETCH_NAMED);
|
||||
$dial_string = "{group_confirm_key=exec,group_confirm_file=lua confirm.lua,sip_invite_domain=".$_SESSION['domain_name']."}";
|
||||
foreach ($result as &$row) {
|
||||
$dial_string .= "[presence_id=".$row["follow_me_destination"]."@".$_SESSION['domain_name'].",";
|
||||
$dial_string .= "leg_delay_start=".$row["follow_me_delay"].",";
|
||||
$dial_string .= "leg_timeout=".$row["follow_me_timeout"]."]";
|
||||
if (extension_exists($row["follow_me_destination"])) {
|
||||
$dial_string .= "\${sofia_contact(".$row["follow_me_destination"]."@".$_SESSION['domain_name'].")},";
|
||||
}
|
||||
else {
|
||||
$dial_string .= "loopback/".$row["follow_me_destination"].",";
|
||||
}
|
||||
}
|
||||
$this->dial_string = trim($dial_string, ",");
|
||||
}
|
||||
else {
|
||||
// $this->dial_string = "";
|
||||
}
|
||||
$sql = "update v_extensions set ";
|
||||
$sql .= "do_not_disturb = 'false', ";
|
||||
$sql .= "dial_string = '".$this->dial_string."', ";
|
||||
$sql .= "dial_domain = '".$_SESSION['domain_name']."' ";
|
||||
$sql .= "where domain_uuid = '".$this->domain_uuid."' ";
|
||||
$sql .= "and follow_me_uuid = '".$this->follow_me_uuid."' ";
|
||||
if ($this->debug) {
|
||||
echo $sql."<br />";
|
||||
}
|
||||
$db->exec($sql);
|
||||
unset($sql);
|
||||
|
||||
//syncrhonize configuration
|
||||
save_extension_xml();
|
||||
}
|
||||
|
||||
} //class
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user