Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ include "root.php"; require_once "includes/require.php"; require_once "includes/checkauth.php"; if (permission_exists('gateways_view')) { //access granted } else { echo "access denied"; exit; } require_once "includes/header.php"; require_once "includes/paging.php"; $order_by = $_GET["order_by"]; $order = $_GET["order"]; //connect to event socket $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if ($fp) { if (strlen($_GET["a"]) > 0) { $profile = $_GET["profile"]; if (strlen($profile) == 0) { $profile = 'external'; } if ($_GET["a"] == "stop") { $gateway_name = $_GET["gateway"]; if (count($_SESSION["domains"]) > 1) { $cmd = 'api sofia profile '.$profile.' killgw '.$_SESSION['domain_name'].'-'.$gateway_name; } else { $cmd = 'api sofia profile '.$profile.' killgw '.$gateway_name; } $response = trim(event_socket_request($fp, $cmd)); $msg = 'Stop Gateway:
'.$response.'
'; } if ($_GET["a"] == "start") { $gateway_name = $_GET["gateway"]; $cmd = 'api sofia profile '.$profile.' rescan'; $response = trim(event_socket_request($fp, $cmd)); $msg = 'Start Gateway:
'.$response.'
'; } } if (!function_exists('switch_gateway_status')) { function switch_gateway_status($gateway_name, $result_type = 'xml') { $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if (count($_SESSION["domains"]) > 1) { $cmd = 'api sofia xmlstatus gateway '.$_SESSION['domain_name'].'-'.$gateway_name; } else { $cmd = 'api sofia xmlstatus gateway '.$gateway_name; } return trim(event_socket_request($fp, $cmd)); } } } echo "
"; echo "\n"; echo "\n"; echo " "; echo ""; echo "
\n"; echo "
"; echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " Gateways\n"; echo " "; echo " \n"; echo "
\n"; echo " \n"; echo " Gateways provide access into other voice networks. These can be voice providers or other systems that require SIP registration.\n"; echo " \n"; echo "
"; echo "
\n"; echo "
\n"; $sql = "select * from v_gateways "; $sql .= "where domain_uuid = '$domain_uuid' "; if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $num_rows = count($result); unset ($prep_statement, $result, $sql); $rows_per_page = 10; $param = ""; $page = $_GET['page']; if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); $offset = $rows_per_page * $page; $sql = "select * from v_gateways "; $sql .= "where domain_uuid = '$domain_uuid' "; if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } $sql .= " limit $rows_per_page offset $offset "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $result_count = count($result); unset ($prep_statement, $sql); $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; echo "
\n"; echo "\n"; echo "\n"; echo th_order_by('gateway', 'Gateway', $order_by, $order); echo th_order_by('context', 'Context', $order_by, $order); if ($fp) { echo "\n"; echo "\n"; echo "\n"; } echo th_order_by('enabled', 'Enabled', $order_by, $order); echo th_order_by('description', 'Gateway Description', $order_by, $order); echo "\n"; echo "\n"; if ($result_count == 0) { //no results } else { //received results foreach($result as $row) { echo "\n"; echo " \n"; echo " \n"; if ($fp) { if ($row["enabled"] == "true") { $response = switch_gateway_status($row["gateway"]); if ($response == "Invalid Gateway!") { //not running echo " \n"; echo " \n"; echo " \n"; } else { //running try { $xml = new SimpleXMLElement($response); $state = $xml->state; echo " \n"; echo " \n"; echo " \n"; } catch(Exception $e) { //echo $e->getMessage(); } } } else { echo " \n"; echo " \n"; echo " \n"; } } echo " \n"; echo " \n"; echo " \n"; echo "\n"; if ($c==0) { $c=1; } else { $c=0; } } //end foreach unset($sql, $result, $row_count); } //end if results echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
StatusActionState\n"; if (permission_exists('gateways_add')) { echo " $v_link_label_add\n"; } echo "
".$row["gateway"]."".$row["context"]."StoppedStart RunningStop".$state."   ".$row["enabled"]."".$row["description"]."\n"; if (permission_exists('gateways_edit')) { echo " $v_link_label_edit\n"; } if (permission_exists('gateways_delete')) { echo " $v_link_label_delete\n"; } echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
 $paging_controls\n"; if (permission_exists('gateways_add')) { echo " $v_link_label_add\n"; } echo "
\n"; echo "
\n"; echo "
\n"; if ($v_path_show) { echo $_SESSION['switch']['gateways']['dir']."/sip_profiles\n"; } echo "
"; echo "
"; echo "

"; echo "

"; echo "
"; echo "
"; echo "

"; require_once "includes/footer.php"; ?>