Portions created by the Initial Developer are Copyright (C) 2008-2014 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane Luis Daniel Lucio Quiroz */ include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; require_once "resources/classes/status_registrations.php"; if (permission_exists("registration_domain") || permission_exists("registration_all") || if_group("superadmin")) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); $sip_profile_name = trim($_REQUEST["profile"]); $rdr = check_str($_GET['rdr']); $show = check_str($_GET['show']); $cmd = check_str($_GET['cmd']); $api_cmd = "api sofia xmlstatus profile ".$sip_profile_name." reg"; $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if ($fp){ $xml_response = trim(event_socket_request($fp, $api_cmd)); if ($xml_response == "Invalid Profile!") { $xml_response = "".$text['label-message'].""; } $xml_response = str_replace("", "", $xml_response); $xml_response = str_replace("", "", $xml_response); try { $xml = new SimpleXMLElement($xml_response); } catch(Exception $e) { echo $e->getMessage(); exit; } $registrations = get_registrations($sip_profile_name); // Not very sure about this require_once "resources/classes/array_order.php"; $order = new array_order(); $registrations = $order->sort($registrations, 'sip-auth-realm', 'user'); if (count($registrations) > 0) { foreach ($registrations as $row) { $agent = $row['agent']; $profile = check_str($_GET['profile']); $user = $row['user']; $domain = $row['sip-auth-realm']; $vendor = device::get_vendor_by_agent($agent); if ($cmd == "unregister") { $command = "sofia profile ".$profile." flush_inbound_reg ".$user." reboot"; } else { $command = "lua app.lua event_notify ".$profile." ".$cmd." ".$user." ".$vendor; $response .= $command; $response .= event_socket_request($fp, "api ".$command); $response .= event_socket_request($fp, "api log notice ".$command); //if ($cmd == "check_sync") { // $command = "sofia profile ".$profile." check_sync ".$user; //} } $_SESSION['message'] .= $text['label-event']." ".ucwords($cmd)."     ".$text['label-response'].$response; } } //close the connection fclose($fp); } //redirect the user if ($rdr == "false") { //redirect false echo $response; } else { header("Location: status_registrations.php?profile=".$profile."&show=".$show); } ?>