Command Examples
- Command – Execute an Asterisk CLI command in an Asterisk manager session
- Login – Establish a new Asterisk manager session.
- Originate – Place a call from a device to an extension.
- Redirect – with ExtraChannel
- Transfer – Transfer a call to another extension
Application Examples
Mac OS X
- (AppleScript only) Dialing from OS X Address Book – (Well “Expect” too but that’s part of the OS so we won’t worry too much about that!)
- (AppleScript, XML-RPC, PHP) Dialing from OS X Address Book – I wanted to be able to originate an outgoing call on my Asterisk PBX by selecting the number in my Apple OS X Address Book. So I assembled a system, using XML-RPC called from AppleScript, that lets Address Book on my desktop talk to the Asterisk Manager running on my server.
Clojure
- clj-asterisk – Documented Clojure bindings for Asterisk Manager API.
C#
VB.NET
- Asterisk Connection Manager: A VB.NET Library
C++
- Asterisk-Cpp: C++ Static Library a C++ library for Asterisk integration (asterisk-java port).
- C++ Asterisk Manager API wrapper. Supports receiving events from the Asterisk server and sending actions to Asterisk.
Bash
- Offending channels. Check for channels which are up for a too long using bash
- Simple Asterisk Manager Bash example. Use Asterisk manager API from Your shell.
Java
- Java library – Supports receiving events from the Asterisk server and sending actions to Asterisk. (See Asterisk-java for details)
Perl
- Asteriks gtk2 call notifier and dialer anotify. It needs Asterisk::Manager with asynchronous events VERSION>=0.02 Manager.pm
- CPAN: Asterisk::AMI – Simple interface for accessing the asterisk manager API. It has built in functions for common tasks (such as retrieving the asterisk db) as well as a powerful Event and Action callback implementation that supports several event loops.
- CPAN: Asterisk manager – This module can allow you to monitor and control Asterisk using Perl and POE.
- TACI – (Trivial Asterisk Call-generator Interface) An example example of a “click to call” Web CGI. It requires Net::Telnet, the included README walks you through the whole setup.
- CPAN: Asterisk::CoroManager – Asterisk Manager Interface, Coro version
PHP
- Asterisk PHP CLI Asterisk Commander is a PHP script, that allows remote execution of Asterisk commands (like asterisk cli ‘asterisk -r’) through a web browser; Download.
- PAGI and PAMI (for PHP, clean, modular, easy, OOP compatible interfaces and clients for asterisk manager and agi): http://github.com/marcelog/PAMI – http://github.com/marcelog/PAGI
- Asterisk Manager API for PHP provided by Straw Dogs under BSD license with examples and documentation.
- floAPI – A PHP class for connecting to API manager. Includes event support. (PHPClasses.org August 2005 Innovation Award Nominee)
- Numerous PHP examples – A collection of PHP examples varying in complexity.
Python
- Fats – FastAGI and AMI protocols for the Twisted framework. Include full code covered tests and examples for the Mock Object pattern development. Released under MIT license (no longer active)
- pyst – A set of interfaces and libraries to allow programming of asterisk from python beginning with agilib.py for programming agi applications and moving to tightly integrated long running python processes for telephony applications.
- pyst2 – A fork of the famous python pyst library for Asterisk.
- StarPy – Set of protocols to allow Twisted-Python applications to communicate via both FastAGI and AMI
Ruby
- Adhearsion provides a Ruby-based framework for developing both AGI and AMI applications.
- RAMI (Ruby Asterisk Manager Interface) provides a client library and built-in proxy server in Ruby for interfacing with the Asterisk manager interface (no longer active).
Tcl
- amclient.tcl – For die-hard Tcl fans, here is a robust open source Tcl wrapper which hides the manager protocol syntax from the Tcl script writer. It comes with a simple demo program that can also be used to talk to Asterisk servers for diagnostic purposes in an interactive script-as-you-go kind of way.
- TclMyAst supports all Asterisk v1.2 manager commands; cross-platform; allows registering callbacks on ActionID, UniqueID, and/or Event/Response; operation as proxy that maintains state of channels; demo Tk GUI with integrated command reference.