[asterisk-users] Ongoing calls interface

David de Boer boerdedavid at gmail.com
Fri Feb 5 02:38:27 CST 2010


I'm currently working on a PHP web interface to show (1) the registered endpoints and (2) their status: available, outgoing call or incoming call. (In the future, this interface should also be able to redirect calls etc.)

(1) The interface already shows a list of all registered endpoints. For this, I had to work around Asterisk's delay in monitoring when an endpoint is unregistered. What I the interface does, is ping each endpoint to make sure it is still registered. Is there a better way to retrieve the endpoints still registered, instead of those that were registered an hour or so ago but might be unregistered already?

(2) For each registered endpoint, the status needs to be displayed in the web interface. As I see it, there are two ways to retrieve this information. (a) Either I pull the information from Asterisk, by using some kind of "core show channels" command. I tried to use CDR to write calls made by the endpoints to a database. This works, but the rows are only written when a call is disconnected; I want to be able to see the status before that. (b) Another way is to keep track of notifications sent by endpoints. This is what I'm doing now. I added "action URIs" to all phones to make them send their data to a URL when they initiate a call, end a call etc. At that URL, a PHP script reads the data and saves it to a database. This works, but it feels like writing functionality that might already be available in Asterisk itself.

Are there any other (better ways)? Which of the methods would be fastest for a large number of endpoints, and most reliable? Any help is greatly appreciated.

With kind regards,

David de Boer


More information about the asterisk-users mailing list