diff --git a/app/devices/app_languages.php b/app/devices/app_languages.php index caa5dc1b5c..75ecf92aa3 100644 --- a/app/devices/app_languages.php +++ b/app/devices/app_languages.php @@ -1689,6 +1689,32 @@ $text['label-blf']['de-at'] = "BLF"; $text['label-blf']['ar-eg'] = ""; $text['label-blf']['he'] = ""; +$text['label-callers']['en-us'] = "Callers"; +$text['label-callers']['es-cl'] = "Llaamadas"; +$text['label-callers']['pt-pt'] = ""; +$text['label-callers']['fr-fr'] = ""; +$text['label-callers']['pt-br'] = ""; +$text['label-callers']['pl'] = ""; +$text['label-callers']['uk'] = ""; +$text['label-callers']['sv-se'] = ""; +$text['label-callers']['ro'] = ""; +$text['label-callers']['de-at'] = ""; +$text['label-callers']['ar-eg'] = ""; +$text['label-callers']['he'] = ""; + +$text['label-xfer']['en-us'] = "Xfer"; +$text['label-xfer']['es-cl'] = "Xfer"; +$text['label-xfer']['pt-pt'] = ""; +$text['label-xfer']['fr-fr'] = ""; +$text['label-xfer']['pt-br'] = ""; +$text['label-xfer']['pl'] = "Xfer "; +$text['label-xfer']['uk'] = ""; +$text['label-xfer']['sv-se'] = ""; +$text['label-xfer']['ro'] = ""; +$text['label-xfer']['de-at'] = ""; +$text['label-xfer']['ar-eg'] = ""; +$text['label-xfer']['he'] = ""; + $text['label-automata']['en-us'] = "automata"; $text['label-automata']['es-cl'] = "automata"; $text['label-automata']['pt-pt'] = "automata"; diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 7b363d6013..90a31a0c4c 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -882,14 +882,19 @@ require_once "resources/require.php"; ?> > > + > + > > + > + "; } } if (strtolower($device_vendor) == "cisco" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; ?> + > > > - - + - - - - - + + + + + + + + + + + + + + + + + + @@ -31,7 +43,7 @@ - + diff --git a/app/fifo_list/fifo_interactive_inc.php b/app/fifo_list/fifo_interactive_inc.php index 114140ea6d..0761c53436 100644 --- a/app/fifo_list/fifo_interactive_inc.php +++ b/app/fifo_list/fifo_interactive_inc.php @@ -188,5 +188,53 @@ else { if ($c==0) { $c=1; } else { $c=0; } } echo "\n"; + + + //Current logged members + //set the alternating row styles + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; + + //response div tag + echo "\n"; + echo "\n"; + echo "Logged in agents\n"; + + + //show the content + echo "\n"; + + + echo "\n"; + echo "".$text['label-username']."\n"; + echo "Total inbound calls\n"; + echo "Logged on since\n"; + echo "\n"; + + + //print_r($xml->fifo->outbound->member[0]); + //print_r($xml->fifo->outbound->member[1]); + + + foreach ($xml->fifo->outbound->member as $row) { + + + + $username=explode("@",$row); + $username=explode("/",$username[0]); + $username=$username[1]; + + $fifo_duration_formatted=$row["logged-on-since"]; + $fifo_total_inbound_calls=$row["outbound-call-total-count"]; + + echo "\n"; + echo "$username \n"; + echo "$fifo_total_inbound_calls \n"; + echo "$fifo_duration_formatted \n"; + echo "\n"; + if ($c==0) { $c=1; } else { $c=0; } + } + echo "\n"; } ?> diff --git a/app/operator_panel/index_inc.php b/app/operator_panel/index_inc.php index a1579b9ec1..e28c3f4425 100644 --- a/app/operator_panel/index_inc.php +++ b/app/operator_panel/index_inc.php @@ -100,7 +100,7 @@ echo " "; if (permission_exists('operator_panel_eavesdrop')) { echo " "; if (sizeof($_SESSION['user']['extensions']) > 1) { - echo " "; + echo " "; echo " "; echo " \n"; foreach ($_SESSION['user']['extensions'] as $user_extension) { @@ -109,7 +109,7 @@ if (permission_exists('operator_panel_eavesdrop')) { echo " \n"; } else if (sizeof($_SESSION['user']['extensions']) == 1) { - echo " "; + echo " "; } echo " "; } @@ -219,7 +219,12 @@ foreach ($activity as $extension => $ext) { $call_identifier = $ext['variable_bridge_uuid']; } else { - $call_identifier = $ext['call_uuid']; // transfer all other call types + if( $ext['call_uuid'] ) { + $call_identifier = $ext['call_uuid']; // transfer all other call types + } + else { + $call_identifier = $ext['uuid']; // e.g. voice menus + } } //determine extension draggable state @@ -328,7 +333,7 @@ foreach ($activity as $extension => $ext) { } //eavesdrop if (permission_exists('operator_panel_eavesdrop') && $ext_state == 'active' && sizeof($_SESSION['user']['extensions']) > 0 && !in_array($extension, $_SESSION['user']['extensions'])) { - $block .= ""; + $block .= ""; } //kill if (permission_exists('operator_panel_kill') || in_array($extension, $_SESSION['user']['extensions'])) { diff --git a/app/operator_panel/resources/functions/get_call_activity.php b/app/operator_panel/resources/functions/get_call_activity.php index 3490a159dd..fd3b224ca1 100644 --- a/app/operator_panel/resources/functions/get_call_activity.php +++ b/app/operator_panel/resources/functions/get_call_activity.php @@ -85,6 +85,7 @@ function get_call_activity() { $array[$x]["call_uuid"] = null; $array[$x]["sent_callee_name"] = null; $array[$x]["sent_callee_num"] = null; + $array[$x]["destination"] = null; //add the active call details $found = false; @@ -134,6 +135,7 @@ function get_call_activity() { $array[$x]["call_uuid"] = $field['call_uuid']; $array[$x]["sent_callee_name"] = $field['sent_callee_name']; $array[$x]["sent_callee_num"] = $field['sent_callee_num']; + $array[$x]["destination"] = $user; //calculate and set the call length $call_length_seconds = time() - $array[$x]["created_epoch"]; diff --git a/resources/install/scripts/app/ring_groups/index.lua b/resources/install/scripts/app/ring_groups/index.lua index 336f5ace28..fed00574a0 100644 --- a/resources/install/scripts/app/ring_groups/index.lua +++ b/resources/install/scripts/app/ring_groups/index.lua @@ -69,9 +69,8 @@ if (not default_voice) then default_voice = 'callie'; end --get record_ext - if (session:getVariable("record_ext")) then - record_ext = session:getVariable("record_ext"); - else + record_ext = session:getVariable("record_ext"); + if (not record_ext) then record_ext = "wav"; end @@ -491,11 +490,23 @@ session:execute("set", "hangup_after_bridge=true"); session:execute("set", "continue_on_fail=true"); - --set bind meta app - session:execute("bind_meta_app", "1 ab s execute_extension::dx XML "..context); - session:execute("bind_meta_app", "2 ab s record_session::"..recordings_dir.."/archive/"..os.date("%Y").."/"..os.date("%m").."/"..os.date("%d").."}/"..uuid..".wav"); - session:execute("bind_meta_app", "3 ab s execute_extension::cf XML "..context); - session:execute("bind_meta_app", "4 ab s execute_extension::att_xfer XML "..context); + local bind_target = 'both' + -- if session:getVariable("sip_authorized") ~= "true" then + -- bind_target = 'peer' + -- end + + --set bind digit action + local record_file = recordings_dir.."/archive/"..os.date("%Y").."/"..os.date("%m").."/"..os.date("%d").."}/"..uuid.."."..record_ext + local bindings = { + "local,*1,exec:execute_extension,dx XML " .. context, + "local,*2,exec:record_session," .. record_file, + "local,*3,exec:execute_extension,cf XML " .. context, + "local,*4,exec:execute_extension,att_xfer XML " .. context, + } + for _, str in ipairs(bindings) do + session:execute("bind_digit_action", str .. "," .. bind_target) + end + session:execute("digit_action_set_realm", "local") --if the user is busy rollover to the next destination if (ring_group_strategy == "rollover") then diff --git a/resources/switch.php b/resources/switch.php index 9ee5d78901..753639d677 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -83,8 +83,13 @@ function load_extensions() { if (count($result) > 0) { $x = 0; foreach($result as $row) { + $destination = $row['extension']; + if (strlen($row['number_alias']) > 0) { + $destination = $row['number_alias']; + } $_SESSION['user']['extension'][$x]['user'] = $row['extension']; $_SESSION['user']['extension'][$x]['number_alias'] = $row['number_alias']; + $_SESSION['user']['extension'][$x]['destination'] = $destination; $_SESSION['user']['extension'][$x]['extension_uuid'] = $row['extension_uuid']; $_SESSION['user']['extension'][$x]['outbound_caller_id_name'] = $row['outbound_caller_id_name']; $_SESSION['user']['extension'][$x]['outbound_caller_id_number'] = $row['outbound_caller_id_number'];