Hi Earl,
I was looking for something completely stateless - the problem with the approach you propose is that sometimes an event gets lost, or not logged correctly, and an engine like QueueMetrics' contains way too much code to handle such cases, even though Asterisk's logging facilities are usually quite reliable....

I was thinking that there must be a way to tell Asterisk "give me a complete dump of all the available channel information including variables", as it seems a reasonable query to me :) - of course there are possible real-life workarounds, like caching a channel's status and variables and avoiding querying it again and again unless a timer has expired, but this is of course more complex and a bit less reliable than just asking for a fresh snapshot.

BTW, I personally love Python, though I'm personally more fluent with Perl, after 12+ years using it :)

Thanks for your offer anyway - I'll check it!
l.

In data Wed, 18 Apr 2007 01:09:54 +0200, Earl Terwilliger <[EMAIL PROTECTED]> ha scritto:

Hi Lenz,

Why not do it the same way as you do the queue log (for queuemetrics)?
i.e. have a program which captures all events (or certain events), logs them
to a MySql database and then you just query the database.

There are many packages out there that run an Asterisk manager command at
frequent intervals to obtain what they want. To me (as you have found this is
very inefficient).

I have an open source package called Asterisk Event Monitor that has a python script (ah.. I think you like perl better? but I like python) that connects to the Asterisk Manager and logs all events to a MySql table. There are PHP
scripts that show the events and display the status of sip users, zap
channels,etc. but you don't need that. The python script is similar to your qloader script in that my script grabs all the events and writes them to a MySql database. Anything you need to see is thus more efficiently extracted
from the database table.

any question about it , holler..

the code is here:

        http://www.micpc.com/eventmonitor

earl

On Tuesday 17 April 2007 17:32, Lenz wrote:
Hello list,
we are developing a new application that uses the Manager API in order to find a set of channels where variables are set in a predefined way. To do this, we currently send a Status command to obtain all available channels and then query them all, one by one, fot the status of a certain dialplan
variable. As you can imagine, this gets rapidly pretty tedious as the
number of active channels on a server grows and requires a lot of
round-trips to and from the Asterisk server.

I was wondering if there are more efficient ways to get:
1. a variable as set on all channels
2. the complete list of channel variables for one channel, using standard manager response block and not reverting to an execute CLI command " show
channel Local/[EMAIL PROTECTED] "

Anybody has ideas/hints on how to make all this a bit less cumbersome?
Best regards,
l.
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users




--
Home of QueueMetrics - http://queuemetrics.com

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to