aboutsummaryrefslogtreecommitdiffstats
path: root/packages/freeswitch/freeswitch_status.tmp
diff options
context:
space:
mode:
authorMark Crane <mcrane@pfsense.org>2008-10-07 03:20:59 +0000
committerMark Crane <mcrane@pfsense.org>2008-10-07 03:20:59 +0000
commitf0fbaedf848ba8478191ff335f32c8146d89dc5a (patch)
tree5912f7342bdd84b3f6d38669800fca588aa350b6 /packages/freeswitch/freeswitch_status.tmp
parentf1220b9074dc3411e6ae9f4c6917edfd8bd23ba6 (diff)
downloadpfsense-packages-f0fbaedf848ba8478191ff335f32c8146d89dc5a.tar.gz
pfsense-packages-f0fbaedf848ba8478191ff335f32c8146d89dc5a.tar.bz2
pfsense-packages-f0fbaedf848ba8478191ff335f32c8146d89dc5a.zip
freeswitch package files
Diffstat (limited to 'packages/freeswitch/freeswitch_status.tmp')
-rw-r--r--packages/freeswitch/freeswitch_status.tmp225
1 files changed, 225 insertions, 0 deletions
diff --git a/packages/freeswitch/freeswitch_status.tmp b/packages/freeswitch/freeswitch_status.tmp
new file mode 100644
index 00000000..dcdeede3
--- /dev/null
+++ b/packages/freeswitch/freeswitch_status.tmp
@@ -0,0 +1,225 @@
+<?php
+/* $Id$ */
+/*
+ tinydns_view_logs.php
+ part of pfSense (http://www.pfsense.com/)
+
+ Copyright (C) 2006 Scott Ullrich <sullrich@gmail.com>
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+
+require("guiconfig.inc");
+
+/* Defaults to this page but if no settings are present, redirect to setup page */
+//if(!$config['installedpackages']['tinydns']['config'][0]) {
+// Header("Location: /pkg_edit.php?xml=tinydns.xml&id=0");
+//}
+
+function event_socket_create($host, $port, $password) {
+ $fp = fsockopen($host, $port, $errno, $errdesc)
+ or die("Connection to $host failed");
+ socket_set_blocking($fp,false);
+
+ if ($fp) {
+ while (!feof($fp)) {
+ $buffer = fgets($fp, 1024);
+ usleep(100); //allow time for reponse
+ if (trim($buffer) == "Content-Type: auth/request") {
+ fputs($fp, "auth $password\n\n");
+ break;
+ }
+ }
+ return $fp;
+ }
+ else {
+ return false;
+ }
+}
+
+
+function event_socket_request($fp, $cmd) {
+
+ if ($fp) {
+ fputs($fp, $cmd."\n\n");
+ usleep(100); //allow time for reponse
+
+ $response = "";
+ $i = 0;
+ $contentlength = 0;
+ while (!feof($fp)) {
+ $buffer = fgets($fp, 4096);
+ if ($contentlength > 0) {
+ $response .= $buffer;
+ }
+
+ if ($contentlength == 0) { //if contentlenght is already don't process again
+ if (strlen(trim($buffer)) > 0) { //run only if buffer has content
+ $temparray = split(":", trim($buffer));
+ if ($temparray[0] == "Content-Length") {
+ $contentlength = trim($temparray[1]);
+ }
+ }
+ }
+
+ usleep(100); //allow time for reponse
+
+ //optional because of script timeout //don't let while loop become endless
+ if ($i > 10000) { break; }
+
+ if ($contentlength > 0) { //is contentlength set
+ //stop reading if all content has been read.
+ if (strlen($response) >= $contentlength) {
+ break;
+ }
+ }
+ $i++;
+ }
+
+ return $response;
+ }
+ else {
+ echo "no handle";
+ }
+}
+
+
+$pgtitle = "FreeSWITCH: Status";
+include("head.inc");
+
+$password = "ClueCon";
+$port = "8021";
+$host = "192.168.1.1";
+
+
+?>
+<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
+<?php include("fbegin.inc"); ?>
+<p class="pgtitle"><?=$pgtitle?></font></p>
+<?php if ($savemsg) print_info_box($savemsg); ?>
+
+<div id="mainlevel">
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<?php
+
+ $tab_array = array();
+ $tab_array[] = array(gettext("Settings"), false, "/pkg_edit.php?xml=freeswitch.xml&amp;id=0");
+ $tab_array[] = array(gettext("Dialplan"), false, "/pkg_edit.php?xml=freeswitch_dialplan.xml&amp;id=0");
+ $tab_array[] = array(gettext("Extensions"), false, "/pkg.php?xml=freeswitch_extensions.xml");
+ $tab_array[] = array(gettext("External"), false, "/pkg_edit.php?xml=freeswitch_external.xml&amp;id=0");
+ $tab_array[] = array(gettext("Gateways"), false, "/pkg.php?xml=freeswitch_gateways.xml");
+ $tab_array[] = array(gettext("Internal"), false, "/pkg_edit.php?xml=freeswitch_internal.xml&amp;id=0");
+ $tab_array[] = array(gettext("Modules"), false, "/pkg_edit.php?xml=freeswitch_modules.xml&amp;id=0");
+ $tab_array[] = array(gettext("Public"), false, "/pkg_edit.php?xml=freeswitch_public.xml&amp;id=0");
+ $tab_array[] = array(gettext("Status"), true, "/freeswitch/freeswitch_status.php");
+ $tab_array[] = array(gettext("Vars"), false, "/pkg_edit.php?xml=freeswitch_vars.xml&amp;id=0");
+ display_top_tabs($tab_array);
+
+?>
+</table>
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <td class="tabcont" >
+
+<?php
+
+echo "<br /><br />\n\n";
+
+$fp = event_socket_create($host, $port, $password);
+$cmd = "api sofia status";
+$response = event_socket_request($fp, $cmd);
+echo "<b>sofia status</b><br />\n";
+echo "<pre style=\"font-size: 9pt;\">\n";
+echo $response;
+echo "</pre>\n";
+fclose($fp);
+echo "<br /><br />\n\n";
+
+$fp = event_socket_create($host, $port, $password);
+$cmd = "api sofia status profile internal";
+$response = event_socket_request($fp, $cmd);
+echo "<b>sofia status profile internal</b><br />\n";
+echo "<pre style=\"font-size: 9pt;\">\n";
+echo $response;
+echo "</pre>\n";
+fclose($fp);
+echo "<br /><br />\n\n";
+
+$fp = event_socket_create($host, $port, $password);
+$cmd = "api sofia status profile external";
+$response = event_socket_request($fp, $cmd);
+echo "<b>sofia status profile external</b><br />\n";
+echo "<pre style=\"font-size: 9pt;\">\n";
+echo $response;
+echo "</pre>\n";
+fclose($fp);
+echo "<br /><br />\n\n";
+
+$fp = event_socket_create($host, $port, $password);
+$cmd = "api status";
+$response = event_socket_request($fp, $cmd);
+echo "<b>status</b><br />\n";
+echo "<pre style=\"font-size: 9pt;\">\n";
+echo $response;
+echo "</pre>\n";
+fclose($fp);
+echo "<br /><br />\n\n";
+
+$fp = event_socket_create($host, $port, $password);
+$cmd = "api show channels";
+$response = event_socket_request($fp, $cmd);
+echo "<b>show channels</b><br />\n";
+echo "<pre style=\"font-size: 9pt;\">\n";
+echo $response;
+echo "</pre>\n";
+/*
+$response = "<table border='0'><tr><td>".$response;
+$response = str_replace("\n", "</td></tr>\n<tr><td>", $response);
+$response = str_replace(",", "</td><td>", $response);
+$response = $response."</td></tr>\n<table>\n";
+echo $response;
+*/
+fclose($fp);
+echo "<br /><br />\n\n";
+
+$fp = event_socket_create($host, $port, $password);
+$cmd = "api show calls";
+$response = event_socket_request($fp, $cmd);
+echo "<b>show calls</b><br />\n";
+echo "<pre style=\"font-size: 9pt;\">\n";
+echo $response;
+echo "</pre>\n";
+fclose($fp);
+echo "<br /><br />\n\n";
+
+?>
+
+ </td>
+ </tr>
+</table>
+
+</div>
+<?php include("fend.inc"); ?>
+<meta http-equiv="refresh" content="60;url=<?php print $_SERVER['SCRIPT_NAME']; ?>">
+</body>
+</html>