Add Call Disposition

This commit is contained in:
FusionPBX
2026-01-15 12:53:54 -07:00
committed by GitHub
parent d104b6e7dd
commit a768bb8bc1
3 changed files with 39 additions and 5 deletions

View File

@@ -224,7 +224,6 @@
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_call_disposition";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "xml_cdr_hangup_cause";

View File

@@ -1106,6 +1106,33 @@ $text['label-status']['zh-cn'] = "地位";
$text['label-status']['ja-jp'] = "スターテス";
$text['label-status']['ko-kr'] = "상태";
$text['label-call_disposition']['en-us'] = "Call Disposition";
$text['label-call_disposition']['en-gb'] = "Call Disposition";
$text['label-call_disposition']['ar-eg'] = "تحديد مكالمة";
$text['label-call_disposition']['de-at'] = "Anrufverlauf";
$text['label-call_disposition']['de-ch'] = "Anrufverlauf";
$text['label-call_disposition']['de-de'] = "Anrufverlauf";
$text['label-call_disposition']['el-gr'] = "Αποτέλεσμα κλήσης";
$text['label-call_disposition']['es-cl'] = "Disposición de llamada";
$text['label-call_disposition']['es-mx'] = "Disposición de llamada";
$text['label-call_disposition']['fr-ca'] = "Disposition d'appel";
$text['label-call_disposition']['fr-fr'] = "Disposition d'appel";
$text['label-call_disposition']['he-il'] = "תוצאות קרייה";
$text['label-call_disposition']['it-it'] = "Esito chiamata";
$text['label-call_disposition']['ka-ge'] = "სარეკვეთო შედეგი";
$text['label-call_disposition']['nl-nl'] = "Gespreksafhandeling";
$text['label-call_disposition']['pl-pl'] = "Rozwiązanie połączenia";
$text['label-call_disposition']['pt-br'] = "Disposição de chamada";
$text['label-call_disposition']['pt-pt'] = "Disposição de chamada";
$text['label-call_disposition']['ro-ro'] = "Dispoziție apel";
$text['label-call_disposition']['ru-ru'] = "Результат звонка";
$text['label-call_disposition']['sv-se'] = "Anropshantering";
$text['label-call_disposition']['uk-ua'] = "Результат дзвінка";
$text['label-call_disposition']['tr-tr'] = "Arayüz sonucu";
$text['label-call_disposition']['zh-cn'] = "通话处理";
$text['label-call_disposition']['ja-jp'] = "通話処理";
$text['label-call_disposition']['ko-kr'] = "통화 처리";
$text['label-start_range']['en-us'] = "Start Range";
$text['label-start_range']['en-gb'] = "Start Range";
$text['label-start_range']['ar-eg'] = "نطاق البداية";

View File

@@ -38,8 +38,12 @@
$language = new text;
$text = $language->get();
//get variables from the session
$domain_uuid = $_SESSION['domain_uuid'];
$user_uuid = $_SESSION['user_uuid'];
//add the settings object
$settings = new settings(["database" => $database, "domain_uuid" => $_SESSION['domain_uuid'], "user_uuid" => $_SESSION['user_uuid']]);
$settings = new settings(["database" => $database, "domain_uuid" => $domain_uuid, "user_uuid" => $user_uuid]);
$transcribe_enabled = $settings->get('transcribe', 'enabled', false);
$transcribe_engine = $settings->get('transcribe', 'engine', '');
$call_log_enabled = $settings->get('cdr', 'call_log_enabled', false);
@@ -79,6 +83,7 @@
$record_path = trim($row["record_path"] ?? '');
$record_name = trim($row["record_name"] ?? '');
$record_transcription = trim($row["record_transcription"] ?? '');
$call_disposition = trim($row["call_disposition"] ?? '');
$status = trim($row["status"] ?? '');
}
unset($sql, $parameters, $row);
@@ -90,13 +95,13 @@
file_exists($record_path.'/'.$record_name)) {
//prepare the params
$params['domain_uuid'] = $_SESSION['domain_uuid'];
$params['domain_uuid'] = $domain_uuid;
$params['xml_cdr_uuid'] = $uuid;
$params['call_direction'] = $call_direction;
//add the recording to the transcribe queue
$array['transcribe_queue'][$x]['transcribe_queue_uuid'] = uuid();
$array['transcribe_queue'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['transcribe_queue'][$x]['domain_uuid'] = $domain_uuid;
$array['transcribe_queue'][$x]['hostname'] = gethostname();
$array['transcribe_queue'][$x]['transcribe_status'] = 'pending';
$array['transcribe_queue'][$x]['transcribe_app_class'] = 'call_recordings';
@@ -277,7 +282,7 @@
//build the call flow summary array
$xml_cdr = new xml_cdr(["database" => $database, "settings" => $settings, "destinations" => $destinations]);
$xml_cdr->domain_uuid = $_SESSION['domain_uuid'];
$xml_cdr->domain_uuid = $domain_uuid;
$xml_cdr->call_direction = $call_direction; //used to determine when the call is outbound
$xml_cdr->status = $status; //used to determine when the call is outbound
if (empty($call_flow)) {
@@ -388,6 +393,9 @@
$summary_array['start'] = escape($start_stamp);
$summary_array['end'] = escape($end_stamp);
$summary_array['duration'] = escape(gmdate("G:i:s", (int)$duration));
if (permission_exists('xml_cdr_call_disposition')) {
$summary_array['call_disposition'] = escape($call_disposition);
}
if (isset($status)) {
$summary_array['status'] = escape($status);
}