Необходимо обрабатывать результат Originate через AMI. Для этого ожидаю событие originateResponse, которое
постоянно содержит
reason = 0
, вне зависимости от результата дозвона.
В какую строну копать?
Испытуемый: Asterisk 12.0.0, asterisk-ami@0.2.0-beta1 (node.js)
Пример на node.js
var AsteriskAmi = require('asterisk-ami'),
ami = new AsteriskAmi({"host": "192.168.0.22", "username": "***", "password": "***"});
ami.on('data', function(data){
console.log('AMI', data);
});
ami.on('login', function () {
ami.send({
action: 'originate',
channel: 'SIP/1102',
exten: '568',
Priority: 1,
context: 'test',
callerid: '1102',
async: true
});
});
ami.connect();
Asterisk, если сбрасываю телефон
-- SIP/1102-00001162 is ringing
-- Got SIP response 486 "Busy Here" back from 192.168.1.100:5060
-- SIP/1102-00001162 is busy
OriginateResponse, если сбрасываю телефон
{ event: 'OriginateResponse',
privilege: 'call,all',
actionid: '42075833072885870',
response: 'Failure',
channel: 'SIP/1102-00001162',
context: 'test',
reason: '0',
uniqueid: '1390211355.9012',
calleridnum: '1102',
calleridname: '<unknown>' }
Не хотелось бы вещаться на другие события.