node-agi
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:node.js AGI (Asterisk Gateway Interface)
# node-agi

Client for asterisk AGI protocol.  Parses incomming messages into events.  Dispatches AGI commands and their responses from asterisk.  Most commonly used as a low level client for a fAGI server.

## note: still a work in progress

## install
```
npm install agi
```

## API

### agi.createServer([listener])

Returns a new net.Server instance.  The _listener_ will be called on a new agi connection with a single __Context__ object as described below.

```js
require('agi').createServer(function(context) {
  //context is a new instance of agi.Context for each new agi session
  //immedately after asterisk connects to the node process
  context.on('variables', function(vars) {
    console.log('received new call from: ' + vars.agi_callerid + ' with uniqueid: ' + vars.agi_uniqueid);
  });
}).listen(3000);
```

### new agi.Context(stream)

Constructor to create a new instance of a context.  Supply a readable and writable stream to the constructor.  Commonly _stream_ will be a `net.Socket` instance.

### context.exec(command, [args], [callback])

Dispatches the `EXEC` AGI command to asterisk with supplied command name and arguments.  _callback_ is called with the result of the dispatch.

```js
context.exec('ANSWER', function(err, res) {
  //the channel is now answered
});

context.exec('RecieveFax', '/tmp/myfax.tif', function(err, res) {
  //fax has been recieved by asterisk and written to /tmp/myfax.tif
});
```

### context.hangup([callbac])

Dispatches the 'HANGUP' AGI command to asterisk.  Does __not__ close the sockets automatically.  _callback_ is called with the result of the dispatch.

```js
context.hangup(function(err, res) {
  //the channel has now been hungup.
});
```

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。