diff --git a/app/calls/app_languages.php b/app/calls/app_languages.php
index d475fee621..555de349e7 100644
--- a/app/calls/app_languages.php
+++ b/app/calls/app_languages.php
@@ -122,6 +122,17 @@ $text['label-no_answer']['sv-se'] = "Inget Svar ";
$text['label-no_answer']['uk'] = "Без відповіді";
$text['label-no_answer']['de-at'] = "Keine Antwort";
+$text['label-not_registered']['en-us'] = "Not Registered";
+$text['label-not_registered']['es-cl'] = "";
+$text['label-not_registered']['pt-pt'] = "";
+$text['label-not_registered']['fr-fr'] = "";
+$text['label-not_registered']['it-it'] = "";
+$text['label-not_registered']['pt-br'] = "";
+$text['label-not_registered']['pl'] = "";
+$text['label-not_registered']['sv-se'] = "";
+$text['label-not_registered']['uk'] = "";
+$text['label-not_registered']['de-at'] = "";
+
$text['label-ignore-busy']['en-us'] = "Ignore Busy";
$text['label-ignore-busy']['es-cl'] = "";
$text['label-ignore-busy']['pt-pt'] = "";
@@ -335,6 +346,17 @@ $text['description-no_answer']['sv-se'] = "Om aktiverad, så tar den överhand f
$text['description-no_answer']['uk'] = "";
$text['description-no_answer']['de-at'] = "Falls aktiv, wird der Wert 'Mailbox eingeschaltet' in der Nebenstelle überschrieben";
+$text['description-not_registered']['en-us'] = "If endpoint is not reachable, forward to this destination before going to voicemail.";
+$text['description-not_registered']['es-cl'] = "";
+$text['description-not_registered']['pt-pt'] = "";
+$text['description-not_registered']['fr-fr'] = "";
+$text['description-not_registered']['it-it'] = "";
+$text['description-not_registered']['pt-br'] = "";
+$text['description-not_registered']['pl'] = "";
+$text['description-not_registered']['sv-se'] = "";
+$text['description-not_registered']['uk'] = "";
+$text['description-not_registered']['de-at'] = "";
+
$text['description-cid-number-prefix']['en-us'] = "Set the caller ID number prefix.";
$text['description-cid-number-prefix']['es-cl'] = "Configure el prefijo de número de caller ID.";
$text['description-cid-number-prefix']['pt-pt'] = "Defina o número do Chamador";
@@ -493,4 +515,4 @@ $text['button-back']['sv-se'] = "Tillbaka ";
$text['button-back']['uk'] = "Назад";
$text['button-back']['de-at'] = "Zurück";
-?>
\ No newline at end of file
+?>
diff --git a/app/calls/call_edit.php b/app/calls/call_edit.php
index 2834914f0c..f0ce961c96 100644
--- a/app/calls/call_edit.php
+++ b/app/calls/call_edit.php
@@ -102,6 +102,8 @@ else {
$forward_busy_enabled = $row["forward_busy_enabled"];
$forward_no_answer_destination = $row["forward_no_answer_destination"];
$forward_no_answer_enabled = $row["forward_no_answer_enabled"];
+ $forward_user_not_registered_destination = $row["forward_user_not_registered_destination"];
+ $forward_user_not_registered_enabled = $row["forward_user_not_registered_enabled"];
$follow_me_uuid = $row["follow_me_uuid"];
$forward_caller_id_uuid = $row["forward_caller_id_uuid"];
break; //limit to 1 row
@@ -122,6 +124,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$forward_busy_destination = check_str($_POST["forward_busy_destination"]);
$forward_no_answer_enabled = check_str($_POST["forward_no_answer_enabled"]);
$forward_no_answer_destination = check_str($_POST["forward_no_answer_destination"]);
+ $forward_user_not_registered_destination = check_str($_POST["forward_user_not_registered_destination"]);
+ $forward_user_not_registered_enabled = check_str($_POST["forward_user_not_registered_enabled"]);
$forward_caller_id_uuid = check_str($_POST["forward_caller_id_uuid"]);
$cid_name_prefix = check_str($_POST["cid_name_prefix"]);
$cid_number_prefix = check_str($_POST["cid_number_prefix"]);
@@ -371,6 +375,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$sql .= "forward_busy_enabled = '".$forward_busy_enabled."', ";
$sql .= "forward_no_answer_destination = '".$forward_no_answer_destination."', ";
$sql .= "forward_no_answer_enabled = '".$forward_no_answer_enabled."', ";
+ $sql .= "forward_user_not_registered_destination = '".$forward_user_not_registered_destination."', ";
+ $sql .= "forward_user_not_registered_enabled = '".$forward_user_not_registered_enabled."', ";
$sql .= "forward_caller_id_uuid = ".(($forward_caller_id_uuid != '') ? "'".$forward_caller_id_uuid."' " : "null ");
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and extension_uuid = '".$extension_uuid."'";
@@ -596,6 +602,24 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "\n";
echo "\n";
+//CJB
+ echo "
\n";
+ echo "| \n";
+ echo " ".$text['label-not_registered']."\n";
+ echo " | \n";
+ echo "\n";
+ $on_click = "document.getElementById('dnd_disabled').checked=true;";
+ $on_click .= "document.getElementById('forward_user_not_registered_destination').focus();";
+ echo " \n";
+ echo " \n";
+ unset($on_click);
+ echo " ";
+ echo " \n";
+ echo " ".$text['description-not_registered'].".\n";
+ echo " | \n";
+ echo "
\n";
+//CJB
+
echo "
|
\n";
echo "\n";
@@ -833,4 +857,4 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//include the footer
require_once "resources/footer.php";
-?>
\ No newline at end of file
+?>
diff --git a/app/devices/devices.php b/app/devices/devices.php
index cc466bc5b8..b119f1b06e 100644
--- a/app/devices/devices.php
+++ b/app/devices/devices.php
@@ -99,7 +99,11 @@ else {
//prepare to page the results
$rows_per_page = 150;
- $param = "";
+ if ($_GET['showall'] && permission_exists('device_all')) {
+ $param = "&showall=true";
+ } else {
+ $param = "";
+ }
$page = $_GET['page'];
if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; }
list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page);
@@ -271,4 +275,4 @@ else {
//include the footer
require_once "resources/footer.php";
-?>
\ No newline at end of file
+?>
diff --git a/app/dialplan/resources/switch/conf/dialplan/010_user_exists.xml b/app/dialplan/resources/switch/conf/dialplan/010_user_exists.xml
index 8353c4aafb..2e3ea279df 100644
--- a/app/dialplan/resources/switch/conf/dialplan/010_user_exists.xml
+++ b/app/dialplan/resources/switch/conf/dialplan/010_user_exists.xml
@@ -12,6 +12,8 @@
+
+
@@ -19,4 +21,4 @@
-
\ No newline at end of file
+
diff --git a/app/extensions/app_config.php b/app/extensions/app_config.php
index 77a68de9ea..292d76fb3a 100644
--- a/app/extensions/app_config.php
+++ b/app/extensions/app_config.php
@@ -366,6 +366,14 @@
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
$apps[$x]['db'][$y]['fields'][$z]['description']['en'] = "";
$z++;
+ $apps[$x]['db'][$y]['fields'][$z]['name'] = "forward_user_not_registered_destination";
+ $apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
+ $apps[$x]['db'][$y]['fields'][$z]['description']['en'] = "";
+ $z++;
+ $apps[$x]['db'][$y]['fields'][$z]['name'] = "forward_user_not_registered_enabled";
+ $apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
+ $apps[$x]['db'][$y]['fields'][$z]['description']['en'] = "";
+ $z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = "follow_me_uuid";
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "uuid";
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text";
diff --git a/app/extensions/resources/classes/extension.php b/app/extensions/resources/classes/extension.php
index 78f09074ed..63861d9067 100644
--- a/app/extensions/resources/classes/extension.php
+++ b/app/extensions/resources/classes/extension.php
@@ -382,6 +382,13 @@
if (strlen($row['forward_no_answer_destination']) > 0) {
$xml .= " \n";
}
+ if (strlen($row['forward_user_not_registered_enabled']) > 0) {
+ $xml .= " \n";
+ }
+ if (strlen($row['forward_user_not_registered_destination']) > 0) {
+ $xml .= " \n";
+ }
+
if (strlen($row['do_not_disturb']) > 0) {
$xml .= " \n";
}
diff --git a/app/xml_cdr/app_languages.php b/app/xml_cdr/app_languages.php
index 6e7dad1774..4041b12921 100644
--- a/app/xml_cdr/app_languages.php
+++ b/app/xml_cdr/app_languages.php
@@ -615,6 +615,17 @@ $text['label-network_addr']['uk'] = "";
$text['label-network_addr']['de-at'] = "Netzwerk Adresse";
$text['label-network_addr']['he'] = "כתובת רשת";
+$text['label-mos_score']['en-us'] = "MOS Score";
+$text['label-mos_score']['es-cl'] = "";
+$text['label-mos_score']['pt-pt'] = "";
+$text['label-mos_score']['fr-fr'] = "";
+$text['label-mos_score']['pt-br'] = "";
+$text['label-mos_score']['pl'] = "";
+$text['label-mos_score']['sv-se'] = "";
+$text['label-mos_score']['uk'] = "";
+$text['label-mos_score']['de-at'] = "";
+$text['label-mos_score']['he'] = "";
+
$text['label-name']['en-us'] = "Name";
$text['label-name']['es-cl'] = "Nombre";
$text['label-name']['pt-pt'] = "Nome";
@@ -1362,4 +1373,4 @@ $text['button-advanced_search']['uk'] = "";
$text['button-advanced_search']['de-at'] = "Erweiterte Suche";
$text['button-advanced_search']['he'] = "חיפוש מתקדם";
-?>
\ No newline at end of file
+?>
diff --git a/app/xml_cdr/xml_cdr_inc.php b/app/xml_cdr/xml_cdr_inc.php
index 911c94f92c..2fc5daf1f8 100644
--- a/app/xml_cdr/xml_cdr_inc.php
+++ b/app/xml_cdr/xml_cdr_inc.php
@@ -74,8 +74,36 @@ else {
$bridge_uuid = check_str($_REQUEST["network_addr"]);
$order_by = check_str($_REQUEST["order_by"]);
$order = check_str($_REQUEST["order"]);
+ if (strlen(check_str($_REQUEST["mos_comparison"])) > 0) {
+ switch(check_str($_REQUEST["mos_comparison"])) {
+ case 'less':
+ $mos_comparison = "<";
+ break;
+ case 'greater':
+ $mos_comparison = ">";
+ break;
+ case 'lessorequal':
+ $mos_comparison = "<=";
+ break;
+ case 'greaterorequal':
+ $mos_comparison = ">=";
+ break;
+ case 'equal':
+ $mos_comparison = "<";
+ break;
+ case 'notequal':
+ $mos_comparison = "<>";
+ break;
+ }
+ } else {
+ $mos_comparison = '';
+ }
+ //$mos_comparison = check_str($_REQUEST["mos_comparison"]);
+ $mos_score = check_str($_REQUEST["mos_score"]);
}
+
+
//build the sql where string
if ($missed == true) {
$sql_where_ands[] = "billsec = '0'";
@@ -126,6 +154,7 @@ else {
if (strlen($write_codec) > 0) { $sql_where_ands[] = "write_codec like '%".$write_codec."%'"; }
if (strlen($remote_media_ip) > 0) { $sql_where_ands[] = "remote_media_ip like '%".$remote_media_ip."%'"; }
if (strlen($network_addr) > 0) { $sql_where_ands[] = "network_addr like '%".$network_addr."%'"; }
+ if (strlen($mos_comparison) > 0 && strlen($mos_score) > 0 ) { $sql_where_ands[] = "rtp_audio_in_mos " . $mos_comparison . " ".$mos_score.""; }
//if not admin or superadmin, only show own calls
if (!permission_exists('xml_cdr_domain')) {
@@ -201,6 +230,9 @@ else {
$param .= "&remote_media_ip=".$remote_media_ip;
$param .= "&network_addr=".$network_addr;
$param .= "&bridge_uuid=".$bridge_uuid;
+ $param .= "&mos_comparison=".$mos_comparison;
+ $param .= "&mos_score=".$mos_score;
+
if ($_GET['showall'] && permission_exists('xml_cdr_all')) {
$param .= "&showall=" . $_GET['showall'];
}
@@ -297,6 +329,7 @@ else {
else {
$sql .= " limit ".$rows_per_page." offset ".$offset." ";
}
+
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
diff --git a/app/xml_cdr/xml_cdr_search.php b/app/xml_cdr/xml_cdr_search.php
index e61e247ed8..50c6e809f8 100644
--- a/app/xml_cdr/xml_cdr_search.php
+++ b/app/xml_cdr/xml_cdr_search.php
@@ -53,7 +53,7 @@ echo " if ($('#caller_id_number').is(':visible')) { $('#caller_id_number').foc
echo " }";
echo " }";
echo "";
-
+
echo "