Changes for version 0.1.4

  • Changed namespace from AMI to Asterisk::AMI
  • Massive Internal changes. Entire core re-written to use AnyEvent. This module is still usuable without an event loop, but now can integrate easily into any event loop supported by AnyEvent.
  • Out put from cli commands (from issueing Action: Command) is now placed in $response->{'CMD'}. As a bonus from rewriting how we parse packets (to work with anyevent) we can now very easily identify all lines associated with command output.
  • Object is no longer also a filehandle. No longer required because of the use of AnyEvent
  • Event handling from AMI::Event merged into Core.
  • Add more advance options for error handling, check the documentation for the constructor.
  • Removed number of 'useless' functions. You should check the documentation.
  • Fixed a memory 'leak' (total consumtion was still capped by our ring buffer) that could happen when many responses were timeing out. Essentially we were still buffering the subsequent packets even if they action had already timed out. Now we properly discard them.
  • AMI::get_action is now AMI::get_response. Behavior is the same, only the name has changed.
  • Re-wrote event_proxy.pl example to utilize the new integration with AnyEvent.
  • New example server called 'cmd_server.pl' which allows for a few basic commands. It demonstrates the use of callbacks.

Modules

Perl moduling for interacting with the Asterisk Manager Interface
Extends the AMI module to provide simple access to common AMI commands and functions
Extends AMI::Common to include functions for the current development branch of asterisk