diff --git a/app/registrations/resources/classes/registrations.php b/app/registrations/resources/classes/registrations.php
new file mode 100644
index 0000000000..cc9da4f128
--- /dev/null
+++ b/app/registrations/resources/classes/registrations.php
@@ -0,0 +1,149 @@
+db) {
+ require_once "resources/classes/database.php";
+ $database = new database;
+ $database->connect();
+ $this->db = $database->db;
+ }
+ }
+
+ /**
+ * Called when there are no references to a particular object
+ * unset the variables used in the class
+ */
+ public function __destruct() {
+ foreach ($this as $key => $value) {
+ unset($this->$key);
+ }
+ }
+
+ /**
+ * get the registrations
+ */
+ public function get($show) {
+
+ //initialize the id used in the registrations array
+ $id = 0;
+
+ //create the event socket connection
+ $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
+
+ //get the default settings
+ $sql = "select sip_profile_name from v_sip_profiles where sip_profile_enabled = 'true' ";
+ $prep_statement = $this->db->prepare($sql);
+ $prep_statement->execute();
+ $sip_profiles = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ foreach ($sip_profiles as $row) {
+
+ //get sofia status profile information including registrations
+ $cmd = "api sofia xmlstatus profile ".$row['sip_profile_name']." reg";
+ $xml_response = trim(event_socket_request($fp, $cmd));
+
+ if ($xml_response == "Invalid Profile!") { $xml_response = "".$text['label-message'].""; }
+ $xml_response = str_replace("", "", $xml_response);
+ $xml_response = str_replace("", "", $xml_response);
+ if (strlen($xml_response) > 101) {
+ try {
+ $xml = new SimpleXMLElement($xml_response);
+ }
+ catch(Exception $e) {
+ echo $e->getMessage();
+ exit;
+ }
+ $array = json_decode(json_encode($xml) , true);
+ }
+
+ //normalize the array
+ if (is_array($array) && !is_array($array['registrations']['registration'][0])) {
+ $row = $array['registrations']['registration'];
+ unset($array['registrations']['registration']);
+ $array['registrations']['registration'][0] = $row;
+ }
+
+ //set the registrations array
+ if (is_array($array)) {
+ foreach ($array['registrations']['registration'] as $row) {
+
+ //build the registrations array
+ //$registrations[0] = $row;
+ $user_array = explode('@', $row['user']);
+ $registrations[$id]['user'] = $row['user'] ?: " ";
+ $registrations[$id]['call-id'] = $row['call-id'] ?: " ";
+ $registrations[$id]['contact'] = $row['contact'] ?: " ";
+ $registrations[$id]['sip-auth-user'] = $row['sip-auth-user'] ?: " ";
+ $registrations[$id]['agent'] = $row['agent'] ?: " ";
+ $registrations[$id]['host'] = $row['host'] ?: " ";
+ $registrations[$id]['network-port'] = $row['network-port'] ?: " ";
+ $registrations[$id]['sip-auth-realm'] = $row['sip-auth-realm'] ?: " ";
+ $registrations[$id]['mwi-account'] = $row['mwi-account'] ?: " ";
+ $registrations[$id]['status'] = $row['status'] ?: " ";
+ $registrations[$id]['ping-time'] = $row['ping-time'] ?: " ";
+
+ //get network-ip to url or blank
+ if(isset($row['network-ip'])) {
+ $registrations[$id]['network-ip'] = "".$row['network-ip']."";
+ } else {
+ $registrations[$id]['network-ip'] = " ";
+ }
+
+ //get the LAN IP address if it exists replace the external ip
+ $call_id_array = explode('@', $row['call-id']);
+ if (isset($call_id_array[1])) {
+ $agent = $row['agent'];
+ $lan_ip = $call_id_array[1];
+ if (false !== stripos($agent, 'grandstream')) {
+ $lan_ip = str_ireplace(
+ array('A','B','C','D','E','F','G','H','I','J'),
+ array('0','1','2','3','4','5','6','7','8','9'),
+ $lan_ip);
+ }
+ $registrations[$id]['lan-ip'] = "".$lan_ip."";
+ } else {
+ $registrations[$id]['lan-ip'] = " ";
+ }
+
+ //remove unrelated domains
+ if (count($_SESSION["domains"]) > 1) {
+ if (!(permission_exists('registration_all') && $show == "all")) {
+ if ($registrations[$id]['sip-auth-realm'] == $_SESSION['domain_name']) {}
+ elseif ($user_array[1] == $_SESSION['domain_name']){}
+ else {
+ unset($registrations[$id]);
+ }
+ }
+ }
+
+ //increment the array id
+ $id++;
+ }
+ }
+ }
+
+ //return the registrations array
+ return $registrations;
+ }
+ }
+}
+/*
+$obj = new registrations;
+$registrations = $obj->get();
+print($registrations);
+*/
+
+?>
diff --git a/app/registrations/resources/classes/status_registrations.php b/app/registrations/resources/classes/status_registrations.php
deleted file mode 100644
index a3a6ed7144..0000000000
--- a/app/registrations/resources/classes/status_registrations.php
+++ /dev/null
@@ -1,95 +0,0 @@
-".$text['label-message'].""; }
- $xml_response = str_replace("", "", $xml_response);
- $xml_response = str_replace("", "", $xml_response);
- if (strlen($xml_response) > 101) {
- try {
- $xml = new SimpleXMLElement($xml_response);
- }
- catch(Exception $e) {
- echo $e->getMessage();
- exit;
- }
- $array = json_decode(json_encode($xml) , true);
- }
-
- //normalize the array
- if (is_array($array) && !is_array($array['registrations']['registration'][0])) {
- $row = $array['registrations']['registration'];
- unset($array['registrations']['registration']);
- $array['registrations']['registration'][0] = $row;
- }
-
- //set the registrations array
- if (is_array($array)) {
- $x=0;
- foreach ($array['registrations']['registration'] as $row) {
-
- //build the registrations array
- //$registrations[0] = $row;
- $user_array = explode('@', $row['user']);
- $registrations[$x]['user'] = $row['user'] ?: " ";
- $registrations[$x]['call-id'] = $row['call-id'] ?: " ";
- $registrations[$x]['contact'] = $row['contact'] ?: " ";
- $registrations[$x]['sip-auth-user'] = $row['sip-auth-user'] ?: " ";
- $registrations[$x]['agent'] = $row['agent'] ?: " ";
- $registrations[$x]['host'] = $row['host'] ?: " ";
- $registrations[$x]['network-port'] = $row['network-port'] ?: " ";
- $registrations[$x]['sip-auth-realm'] = $row['sip-auth-realm'] ?: " ";
- $registrations[$x]['mwi-account'] = $row['mwi-account'] ?: " ";
- $registrations[$x]['status'] = $row['status'] ?: " ";
- $registrations[$x]['ping-time'] = $row['ping-time'] ?: " ";
-
- //get network-ip to url or blank
- if(isset($row['network-ip'])) {
- $registrations[$x]['network-ip'] = "".$row['network-ip']."";
- } else {
- $registrations[$x]['network-ip'] = " ";
- }
-
- //get the LAN IP address if it exists replace the external ip
- $call_id_array = explode('@', $row['call-id']);
- if (isset($call_id_array[1])) {
- $agent = $row['agent'];
- $lan_ip = $call_id_array[1];
- if (false !== stripos($agent, 'grandstream')) {
- $lan_ip = str_ireplace(
- array('A','B','C','D','E','F','G','H','I','J'),
- array('0','1','2','3','4','5','6','7','8','9'),
- $lan_ip);
- }
- $registrations[$x]['lan-ip'] = "".$lan_ip."";
- } else{
- $registrations[$x]['lan-ip'] = " ";
- }
-
- //remove unrelated domains
- if (count($_SESSION["domains"]) > 1) {
- if (!(permission_exists('registration_all') && $show == "all")) {
- if ($registrations[$x]['sip-auth-realm'] == $_SESSION['domain_name']) {}
- elseif ($user_array[1] == $_SESSION['domain_name']){}
- else {
- unset($registrations[$x]);
- }
- }
- }
-
- //increment the array id
- $x++;
- }
- }
-
- //return the registrations array
- return $registrations;
-}
-
-?>