diff --git a/app/dialplan/resources/xml/dialplan/999_local_extension.xml b/app/dialplan/resources/xml/dialplan/999_local_extension.xml
index 840c8933f5..2e58d417f0 100644
--- a/app/dialplan/resources/xml/dialplan/999_local_extension.xml
+++ b/app/dialplan/resources/xml/dialplan/999_local_extension.xml
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/app/hunt_group/v_hunt_group_edit.php b/app/hunt_group/v_hunt_group_edit.php
index 9baa225652..df69b86c20 100644
--- a/app/hunt_group/v_hunt_group_edit.php
+++ b/app/hunt_group/v_hunt_group_edit.php
@@ -469,12 +469,6 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "
\n";
echo " \n";
echo " \n";
- if ($hunt_group_ringback == "ring") {
- echo " us-ring \n";
- }
- else {
- echo " us-ring \n";
- }
if ($hunt_group_ringback == "us-ring") {
echo " us-ring \n";
}
@@ -507,7 +501,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
}
echo " \n";
echo " \n";
- echo "Defines what the caller will hear while destination is being called. The choices are music (music on hold) ring (ring tone.) default: music \n";
+ echo "Defines what the caller will hear while the destination is being called. The choices are music (music on hold) ring (ring tone.) default: music \n";
echo " \n";
echo "\n";
diff --git a/app/ivr_menu/app_config.php b/app/ivr_menu/app_config.php
index 5e8f0adb8a..bf4501ec07 100644
--- a/app/ivr_menu/app_config.php
+++ b/app/ivr_menu/app_config.php
@@ -153,6 +153,10 @@
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
$apps[$x]['db'][$y]['fields'][$z]['description']['en'] = '';
$z++;
+ $apps[$x]['db'][$y]['fields'][$z]['name'] = 'ivr_menu_ringback';
+ $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
+ $apps[$x]['db'][$y]['fields'][$z]['description']['en'] = '';
+ $z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'ivr_menu_enabled';
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
$apps[$x]['db'][$y]['fields'][$z]['description']['en'] = '';
diff --git a/app/ivr_menu/v_ivr_menu_edit.php b/app/ivr_menu/v_ivr_menu_edit.php
index 24ed555dc6..f1c3b7ac82 100644
--- a/app/ivr_menu/v_ivr_menu_edit.php
+++ b/app/ivr_menu/v_ivr_menu_edit.php
@@ -112,6 +112,7 @@ if (count($_POST)>0) {
$ivr_menu_max_timeouts = check_str($_POST["ivr_menu_max_timeouts"]);
$ivr_menu_digit_len = check_str($_POST["ivr_menu_digit_len"]);
$ivr_menu_direct_dial = check_str($_POST["ivr_menu_direct_dial"]);
+ $ivr_menu_ringback = check_str($_POST["ivr_menu_ringback"]);
$ivr_menu_enabled = check_str($_POST["ivr_menu_enabled"]);
$ivr_menu_description = check_str($_POST["ivr_menu_description"]);
@@ -150,6 +151,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($ivr_menu_max_timeouts) == 0) { $msg .= "Please provide: Max Timeouts \n"; }
if (strlen($ivr_menu_digit_len) == 0) { $msg .= "Please provide: Digit Length \n"; }
if (strlen($ivr_menu_direct_dial) == 0) { $msg .= "Please provide: Direct Dial \n"; }
+ //if (strlen($ivr_menu_ringback) == 0) { $msg .= "Please provide: Ringback \n"; }
if (strlen($ivr_menu_enabled) == 0) { $msg .= "Please provide: Enabled \n"; }
//if (strlen($ivr_menu_description) == 0) { $msg .= "Please provide: Description \n"; }
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
@@ -193,7 +195,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$ivr->ivr_menu_digit_len = $ivr_menu_digit_len;
$ivr->ivr_menu_digit_len = $ivr_menu_digit_len;
$ivr->ivr_menu_direct_dial = $ivr_menu_direct_dial;
- $ivr->ivr_menu_direct_dial = $ivr_menu_direct_dial;
+ $ivr->ivr_menu_ringback = $ivr_menu_ringback;
$ivr->ivr_menu_enabled = $ivr_menu_enabled;
$ivr->ivr_menu_description = $ivr_menu_description;
@@ -268,6 +270,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$ivr_menu_max_timeouts = $row["ivr_menu_max_timeouts"];
$ivr_menu_digit_len = $row["ivr_menu_digit_len"];
$ivr_menu_direct_dial = $row["ivr_menu_direct_dial"];
+ $ivr_menu_ringback = $row["ivr_menu_ringback"];
$ivr_menu_enabled = $row["ivr_menu_enabled"];
$ivr_menu_description = $row["ivr_menu_description"];
@@ -290,6 +293,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($ivr_menu_max_timeouts) == 0) { $ivr_menu_max_timeouts = '3'; }
if (strlen($ivr_menu_digit_len) == 0) { $ivr_menu_digit_len = '5'; }
if (strlen($ivr_menu_direct_dial) == 0) { $ivr_menu_direct_dial = 'false'; }
+ if (strlen($ivr_menu_ringback) == 0) { $ivr_menu_ringback = 'music'; }
if (strlen($ivr_menu_enabled) == 0) { $ivr_menu_enabled = 'true'; }
//content
@@ -610,6 +614,49 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "\n";
echo "\n";
+ echo "\n";
+ echo "\n";
+ echo " Ring Back:\n";
+ echo " \n";
+ echo "\n";
+ echo " \n";
+ echo " \n";
+ if ($ivr_menu_ringback == "us-ring") {
+ echo " us-ring \n";
+ }
+ else {
+ echo " us-ring \n";
+ }
+ if ($ivr_menu_ringback == "fr-ring") {
+ echo " fr-ring \n";
+ }
+ else {
+ echo " fr-ring \n";
+ }
+ if ($ivr_menu_ringback == "uk-ring") {
+ echo " uk-ring \n";
+ }
+ else {
+ echo " uk-ring \n";
+ }
+ if ($ivr_menu_ringback == "rs-ring") {
+ echo " rs-ring \n";
+ }
+ else {
+ echo " rs-ring \n";
+ }
+ if ($ivr_menu_ringback == "music") {
+ echo " music \n";
+ }
+ else {
+ echo " music \n";
+ }
+ echo " \n";
+ echo " \n";
+ echo "Defines what the caller will hear while the destination is being called. The choices are music (music on hold) ring (ring tone.) default: music \n";
+ echo " \n";
+ echo " \n";
+
//--- begin: show_advanced -----------------------
echo "\n";
echo "\n";
diff --git a/includes/classes/switch_ivr_menu.php b/includes/classes/switch_ivr_menu.php
index 87cf000c0a..66814fc25e 100644
--- a/includes/classes/switch_ivr_menu.php
+++ b/includes/classes/switch_ivr_menu.php
@@ -52,6 +52,7 @@ require_once "includes/classes/switch_dialplan.php";
public $ivr_menu_max_timeouts;
public $ivr_menu_digit_len;
public $ivr_menu_direct_dial;
+ public $ivr_menu_ringback;
public $ivr_menu_enabled;
public $ivr_menu_description;
public $ivr_menu_option_uuid;
@@ -223,6 +224,36 @@ require_once "includes/classes/switch_dialplan.php";
$database->fields['dialplan_detail_order'] = '020';
$database->add();
+ $database->table = "v_dialplan_details";
+ $database->fields['domain_uuid'] = $this->domain_uuid;
+ $database->fields['dialplan_uuid'] = $this->dialplan_uuid;
+ $database->fields['dialplan_detail_uuid'] = uuid();
+ $database->fields['dialplan_detail_tag'] = 'action'; //condition, action, antiaction
+ $database->fields['dialplan_detail_type'] = 'set';
+ if ($this->ivr_menu_ringback == "music" || $this->ivr_menu_ringback == "") {
+ $database->fields['dialplan_detail_data'] = 'ringback=${hold_music}';
+ }
+ else {
+ $database->fields['dialplan_detail_data'] = 'ringback=${'.$this->ivr_menu_ringback.'}';
+ }
+ $database->fields['dialplan_detail_order'] = '025';
+ $database->add();
+
+ $database->table = "v_dialplan_details";
+ $database->fields['domain_uuid'] = $this->domain_uuid;
+ $database->fields['dialplan_uuid'] = $this->dialplan_uuid;
+ $database->fields['dialplan_detail_uuid'] = uuid();
+ $database->fields['dialplan_detail_tag'] = 'action'; //condition, action, antiaction
+ $database->fields['dialplan_detail_type'] = 'set';
+ if ($this->ivr_menu_ringback == "music" || $this->ivr_menu_ringback == "") {
+ $database->fields['dialplan_detail_data'] = 'transfer_ringback=${hold_music}';
+ }
+ else {
+ $database->fields['dialplan_detail_data'] = 'transfer_ringback=${'.$this->ivr_menu_ringback.'}';
+ }
+ $database->fields['dialplan_detail_order'] = '030';
+ $database->add();
+
$database->table = "v_dialplan_details";
$database->fields['domain_uuid'] = $this->domain_uuid;
$database->fields['dialplan_uuid'] = $this->dialplan_uuid;
@@ -235,7 +266,7 @@ require_once "includes/classes/switch_dialplan.php";
else {
$database->fields['dialplan_detail_data'] = $this->ivr_menu_name;
}
- $database->fields['dialplan_detail_order'] = '025';
+ $database->fields['dialplan_detail_order'] = '035';
$database->add();
if (strlen($this->ivr_menu_exit_app) > 0) {
@@ -246,7 +277,7 @@ require_once "includes/classes/switch_dialplan.php";
$database->fields['dialplan_detail_tag'] = 'action'; //condition, action, antiaction
$database->fields['dialplan_detail_type'] = $this->ivr_menu_exit_app;
$database->fields['dialplan_detail_data'] = $this->ivr_menu_exit_data;
- $database->fields['dialplan_detail_order'] = '030';
+ $database->fields['dialplan_detail_order'] = '040';
$database->add();
}
}
@@ -284,7 +315,7 @@ require_once "includes/classes/switch_dialplan.php";
$database->fields['ivr_menu_digit_len'] = $this->ivr_menu_digit_len;
$database->fields['ivr_menu_digit_len'] = $this->ivr_menu_digit_len;
$database->fields['ivr_menu_direct_dial'] = $this->ivr_menu_direct_dial;
- $database->fields['ivr_menu_direct_dial'] = $this->ivr_menu_direct_dial;
+ $database->fields['ivr_menu_ringback'] = $this->ivr_menu_ringback;
$database->fields['ivr_menu_enabled'] = $this->ivr_menu_enabled;
$database->fields['ivr_menu_description'] = $this->ivr_menu_description;
$database->add();
@@ -388,7 +419,7 @@ require_once "includes/classes/switch_dialplan.php";
$database->fields['ivr_menu_digit_len'] = $this->ivr_menu_digit_len;
$database->fields['ivr_menu_digit_len'] = $this->ivr_menu_digit_len;
$database->fields['ivr_menu_direct_dial'] = $this->ivr_menu_direct_dial;
- $database->fields['ivr_menu_direct_dial'] = $this->ivr_menu_direct_dial;
+ $database->fields['ivr_menu_ringback'] = $this->ivr_menu_ringback;
$database->fields['ivr_menu_enabled'] = $this->ivr_menu_enabled;
$database->fields['ivr_menu_description'] = $this->ivr_menu_description;
$database->where[0]['name'] = 'domain_uuid';
@@ -494,6 +525,36 @@ require_once "includes/classes/switch_dialplan.php";
$database->fields['dialplan_detail_order'] = '020';
$database->add();
+ $database->table = "v_dialplan_details";
+ $database->fields['domain_uuid'] = $this->domain_uuid;
+ $database->fields['dialplan_uuid'] = $this->dialplan_uuid;
+ $database->fields['dialplan_detail_uuid'] = uuid();
+ $database->fields['dialplan_detail_tag'] = 'action'; //condition, action, antiaction
+ $database->fields['dialplan_detail_type'] = 'set';
+ if ($this->ivr_menu_ringback == "music" || $this->ivr_menu_ringback == "") {
+ $database->fields['dialplan_detail_data'] = 'ringback=${hold_music}';
+ }
+ else {
+ $database->fields['dialplan_detail_data'] = 'ringback=${'.$this->ivr_menu_ringback.'}';
+ }
+ $database->fields['dialplan_detail_order'] = '025';
+ $database->add();
+
+ $database->table = "v_dialplan_details";
+ $database->fields['domain_uuid'] = $this->domain_uuid;
+ $database->fields['dialplan_uuid'] = $this->dialplan_uuid;
+ $database->fields['dialplan_detail_uuid'] = uuid();
+ $database->fields['dialplan_detail_tag'] = 'action'; //condition, action, antiaction
+ $database->fields['dialplan_detail_type'] = 'set';
+ if ($this->ivr_menu_ringback == "music" || $this->ivr_menu_ringback == "") {
+ $database->fields['dialplan_detail_data'] = 'transfer_ringback=${hold_music}';
+ }
+ else {
+ $database->fields['dialplan_detail_data'] = 'transfer_ringback=${'.$this->ivr_menu_ringback.'}';
+ }
+ $database->fields['dialplan_detail_order'] = '030';
+ $database->add();
+
$database->table = "v_dialplan_details";
$database->fields['domain_uuid'] = $this->domain_uuid;
$database->fields['dialplan_uuid'] = $this->dialplan_uuid;
@@ -506,7 +567,7 @@ require_once "includes/classes/switch_dialplan.php";
else {
$database->fields['dialplan_detail_data'] = $this->ivr_menu_name;
}
- $database->fields['dialplan_detail_order'] = '025';
+ $database->fields['dialplan_detail_order'] = '035';
$database->add();
if (strlen($this->ivr_menu_exit_app) > 0) {
@@ -517,7 +578,7 @@ require_once "includes/classes/switch_dialplan.php";
$database->fields['dialplan_detail_tag'] = 'action'; //condition, action, antiaction
$database->fields['dialplan_detail_type'] = $this->ivr_menu_exit_app;
$database->fields['dialplan_detail_data'] = $this->ivr_menu_exit_data;
- $database->fields['dialplan_detail_order'] = '030';
+ $database->fields['dialplan_detail_order'] = '040';
$database->add();
}
}