Hi all.
I've got a perl script that connects to Asterisk's management interface using
Asterisk::AMI. So far, its proven to be very useful.
I'm hoping to use this to detect and respond to asterisk restarts and sip
reloads.
However, my script gets disconnected quite frequently, causing false alarms in
my monitoring.
Here's what the code looks like:
=========================================================
while ($more) {
$change = 0;
while (!$ami->connected(5)) {
Event::Shutdown(Event=>"Shutdown");
send_to_subscribers( {"Event" => "Shutdown", "customer_id" =>
0}, "Connection to Asterisk lost on $server");
$change++;
sleep(1);
ami_connect();
next;
}
$watchdog = 10;
while ($ami->get_event(1) && $watchdog--) {
if ($watchdog < 2) { print "Watchdog timer too short.\n"; }
$change++;
}
Do other stuff from here.
if ($change == 0) {
sleep(2);
}
}
exit 1;
=========================================================
When this scrip disconnects, the asterisk console simply says that the manager
logged off from 127.0.0.1 and got logged back on. No reall
error indication given.
Any suggestions on how to make this script keep it's connection?
TIA.
--
Take care and have fun,
Mike Diehl.
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users