From aabd4059be684efd7f6c3490aac2a77ab6d9d601 Mon Sep 17 00:00:00 2001
From: agree <37550360+greenbea@users.noreply.github.com>
Date: Wed, 23 Sep 2020 12:29:13 -0400
Subject: [PATCH] cdr add call flow summary (#5454)
---
app/xml_cdr/app_languages.php | 21 +++++++++++++++++
app/xml_cdr/xml_cdr_details.php | 40 +++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+)
diff --git a/app/xml_cdr/app_languages.php b/app/xml_cdr/app_languages.php
index c4651bb7f2..366fd4a3f5 100644
--- a/app/xml_cdr/app_languages.php
+++ b/app/xml_cdr/app_languages.php
@@ -819,6 +819,27 @@ $text['label-summary']['ru-ru'] = "Сводка";
$text['label-summary']['sv-se'] = "Summa";
$text['label-summary']['uk-ua'] = "";
+$text['label-call_flow_summary']['en-us'] = "Call Flow Summary";
+$text['label-call_flow_summary']['en-gb'] = "";
+$text['label-call_flow_summary']['ar-eg'] = "";
+$text['label-call_flow_summary']['de-at'] = ""; //copied from de-de
+$text['label-call_flow_summary']['de-ch'] = ""; //copied from de-de
+$text['label-call_flow_summary']['de-de'] = "";
+$text['label-call_flow_summary']['es-cl'] = "";
+$text['label-call_flow_summary']['es-mx'] = ""; //copied from es-cl
+$text['label-call_flow_summary']['fr-ca'] = ""; //copied from fr-fr
+$text['label-call_flow_summary']['fr-fr'] = "";
+$text['label-call_flow_summary']['he-il'] = "";
+$text['label-call_flow_summary']['it-it'] = "";
+$text['label-call_flow_summary']['nl-nl'] = "";
+$text['label-call_flow_summary']['pl-pl'] = "";
+$text['label-call_flow_summary']['pt-br'] = ""; //copied from pt-pt
+$text['label-call_flow_summary']['pt-pt'] = "";
+$text['label-call_flow_summary']['ro-ro'] = "";
+$text['label-call_flow_summary']['ru-ru'] = "";
+$text['label-call_flow_summary']['sv-se'] = "";
+$text['label-call_flow_summary']['uk-ua'] = "";
+
$text['label-status']['en-us'] = "Status";
$text['label-status']['en-gb'] = "Status";
$text['label-status']['ar-eg'] = "";
diff --git a/app/xml_cdr/xml_cdr_details.php b/app/xml_cdr/xml_cdr_details.php
index 2e0beeecee..dee13f107e 100644
--- a/app/xml_cdr/xml_cdr_details.php
+++ b/app/xml_cdr/xml_cdr_details.php
@@ -169,6 +169,18 @@
}
$caller_id_name = urldecode($row["caller_profile"]["caller_id_name"]);
$caller_id_number = urldecode($row["caller_profile"]["caller_id_number"]);
+
+ $call_flow_summary[$x]["destination_number"] = urldecode($row["caller_profile"]["destination_number"]);
+ $tmp_start_stamp = urldecode($row["times"]["profile_created_time"]) / 1000000;
+ if ($x == 0) {
+ $tmp_end_stamp = urldecode($row["times"]["hangup_time"]) / 1000000;
+ }
+ else {
+ $tmp_end_stamp = urldecode($row["times"]["transfer_time"]) / 1000000;
+ }
+ $call_flow_summary[$x]["start_stamp"] = date("Y-m-d H:i:s", $tmp_start_stamp);
+ $call_flow_summary[$x]["end_stamp"] = date("Y-m-d H:i:s", $tmp_end_stamp);
+ $call_flow_summary[$x]["duration"] = gmdate("G:i:s", $tmp_end_stamp - $tmp_start_stamp);
$x++;
}
unset($x);
@@ -238,6 +250,34 @@
echo "";
echo "
\n";
+ echo "\n";
+ echo "
\n";
+ echo "\n";
+ echo "| ".$text['label-call_flow_summary']." | \n";
+ echo " | \n";
+ echo "
\n";
+ echo "
\n";
+
+ echo "\n";
+ echo "\n";
+ echo "| ".$text['label-destination']." | \n";
+ echo "".$text['label-start']." | \n";
+ echo "".$text['table-end']." | \n";
+ echo "".$text['label-duration']." | \n";
+ echo "
\n";
+
+ foreach (array_reverse($call_flow_summary) as $row) {
+ echo "\n";
+ echo " | ".escape($row["destination_number"])." | \n";
+ echo " ".escape($row["start_stamp"])." | \n";
+ echo " ".escape($row["end_stamp"])." | \n";
+ echo " ".escape($row["duration"])." | \n";
+ echo "
\n";
+ $c = $c ? 0 : 1;
+ }
+ echo "
";
+ echo "
\n";
+
//channel data loop
$c = 0;
$row_style["0"] = "row_style0";