Asterisk AMI Connector for NodeJS (ES2015)
This library is a part of Asterisk's AMI Client library.
$ npm i asterisk-ami-connector
Base example with promises.
const connector = reconnect: true;connector;
co for synchronous code style
const connector = reconnect: true;const co = ;;
co like synchronous style
Some details about module functionality
Options of connection setup to Asterisk AMI:
- reconnect - default is
false. Reconnection during connection setup.
- maxAttemptsCount - default is
null(infinity). Max count of attempts of reconnection.
- attemptsDelay - default is 1000 (ms). Time delay between attempts of reconnection.
It takes the following parameters:
- login - Asterisks AMI login;
- secret - Asterisks AMI password;
- options - standard options for
It always returns promise. That promise will be resolved with instance of AmiConnection, or will be reject with AmiAuthError.
It is a class-wrapper for Asterisk's AMI socket, which was inherit from EventEmitter.
- .close() - close current Asterisk AMI connection;
- .write(message) - write message into current Asterisk's AMI socket;
- .isConnected -
truewhen connection to Asterisk AMI established;
- .lastEvent - last event by Asterisk;
- .lastResponse - last response by Asterisk;
- .lastWroteData - last wrote data to Asterisk's AMI socket (from client's code);
- event - it fires when AMI event was received. Handler receives AMI event object.
- response - it fires when AMI response was received. Handler receives AMI response object.
- close - it fires when AMI connection was closed.
- error - it fires when error occurred. Handler receives error.
- data - it fires when data was received from AMI socket. Handler receives buffer of received data.
It class of Asterisk AMI auth-errors, which was inherit from Error.
DEBUG=* for print to console of steps of connection establishment.
For examples, please, see
./examples/* or tests
Tests require Mocha.
Test coverage with Istanbul
npm run coverage
Licensed under the MIT License