Asterisk vonalak, mellékek ellenőrzése (ok/unknown) crontab + php

Fórumok

értelemszerűen először is felvesszük crontabba, h. mit kell csinálni, jelen esetben egy lekérdezés percenként, h. mi a mellékek, vonalak állapota.

root@sip crontab -e

* * * * * /usr/sbin/asterisk -rx 'sip show peers' | grep D > / dev/null/checkpeer.txt

grep D azért kell mert engem csak a kliensek állapota érdekel....

dev/null értelemszerűen behelyettesítendő a számodra megfelelővel

majd elment fájlt létrehoz megfelelő jogokkal a megfelelő helyen és ez percenként fog frissülni

--------------------------

emellé van egy kis egyszerű php fájl ami a kapott txt minden sorát tömbbé alakítja, majd a státuszból kap egy háttérszint annak megfelelően, h. OK van UNKNOWN

<?php

$replacecolor = array('#9ACD32', '#CD5C5C');
$patterncolor = array('[OK]', '[UNKNOWN]', );
$unknown = "#CD5C5C";
$ok = "#9ACD32";

$querys = file('/dev/null/checkpeer.txt');
#print_r($res);

echo "

\n";
foreach ($querys as $querys_num => $query) {
$p = "/[\s,]+/";
$query_res = preg_split($p, $query, -1);
list($ext, $ip, $D, $N, $A, $port, $state) = $query_res;

$color=preg_replace ($patterncolor, $replacecolor, $state, 1);
if ($color == $unknown){
echo "

echo "CENTER";
echo "\">";
echo "$ext";
echo "

\n";
}
else if ($color == $ok) {
echo "

echo "CENTER";
echo "\">";
echo "$ext IP:$ip ";
echo "

\n";
}
else {}
}
echo "

\n";
?>

Hozzászólások

Frissítve, egyszerű táblába rendezve, + színek is helyükre kerültek.

<?php

$replacecolor = array('#9ACD32', '#CD5C5C');
$patterncolor = array('[OK]', '[UNKNOWN]', );
$unknown = "#CD5C5C";
$ok = "#9ACD32";

$querys = file('/dev/null/checkpeer_all.txt');

#print_r($res);

echo "

\n";
foreach ($querys as $querys_num => $query) {
$p = "/[\s,]+/";
$query_res = preg_split($p, $query, -1);
list($ext, $ip, $D, $N, $A, $port, $state) = $query_res;

$color=preg_replace ($patterncolor, $replacecolor, $state, 1);
if ($color == $unknown){
echo "

\n";
}
else if ($color == $ok) {
echo "

\n";
}
else {}
}
echo "

";
echo "$ext";
echo "
";
echo "$ext IP:$ip ";
echo "

\n";
?>

------------------------

Nincs a világon se jó, se rossz. A gondolkodás teszi azzá... (W. Shakespeare)

csak kérdem, hogy ez miért jó, amikor a FreePBX tudja ill. van Nagios-hoz és Munin-hoz is modul?

Ez mondjuk azért kérlek alássan, mert egy mobil telefon +3G kombón nem fogok belépkedni mondjuk freepbxbe, hanem csak megnyitom, és látom a mellékek épp aktuális állapotát.
No meg ha birizgálni kell a mellékhez tartozó készüléket, akkor egyből látom az ip-t amin lóg...

egyébkérdés?

üdv

Balooo

------------------------

Nincs a világon se jó, se rossz. A gondolkodás teszi azzá... (W. Shakespeare)

Ha php-agival csinálod, akkor megspórolhatod a crontabozást és a fájlozást, és oldalfrissítéskor frissül (ha ez jó neked).

Én itt így csináltam meg:
http://kohoclan.eu/
A "VOIP Státusz" blokk, jobb oldalon.

A kód egy kicsit hosszú, nem másolnám be ide, de ha érdekel valakit felrakom valahova.

--
http://csuhai.hu