A simple web-based CLI-like debugger for the Asterisk Manager Interface.
Writing applications that use the AMI is not always easy - if the solution is still unclear and you need to explore what Asterisk does under different conditions it may take a while to write scripts that simulate the required interactions.
The AMI is also extremely verbose and asynchronous - so you get a ton of logs out and you have to filter them to access the information you are looking for.
Being tasked with writing new logic for the WombatDialer, I found myself at loss trying to find a sort of interactive shell for the AMI. At the same time, I had been looking at Akka for a while and wanted to try it in the context of a web application. So the amiDebugger was born.
- lenz
- Persistent AMI connection in the context of a traditional, transactional Java webapp thanks to Akka
- Use a text box to send AMI commands to Asterisk
- Graphical coloring of different events - inputs, responses, events are displayed differently
- Real-time, live filtering of blocks that contain a certain substring - so you can e.g. follow a channel, an unique-id or a multi-block response.
- Buttons for common AMI commands - showing channels, queues, parking slots, system status and more
- Button for common templates - like Originate, Bridge, Hangup and more
- Buttons for Asterisk help texts (handy when you don't remember a command)
- By clicking on a "Channel" in the output, it is copied as-is in the command area - so e.g. to hang up a channel, you click on the Hangup button, click on the channel and send the command
- Feel free to fork and modify
We're on GitHub. Use the bug tracker GitHub offers.
Download and install Tomcat.
Download the webapp from http://www.loway.ch/dl/amiDebugger.war and copy it into the webapp directory.
Tomcat might pick it up immediately or it may need a restart. In either case, will nt take much :)
Create a web developement project and add the webroot and the classes.
Run gradle so that it downloads the required libs (it may fail at the moment, never mind).
Run the project.