Skip to content

EventEmitter(catch like 'StasisStart') #157

@LabelMinsk

Description

@LabelMinsk

I have trying fetching data from Asterisk (ARI) and can`t catch events. When nodemon started i can get some data(what i want like channels ari.channels.list(()=>...)), but if call is incoming i cant catch data realtime and i need reload server for grab data(like phone number). Thank you so much! P.s. stackoverflow dont work on this question...

  • Asterisk version - 13
  • Node version - 18.15
  • ARI client version - 2.2.0

Simple code:

server.js
Screenshot_2

`const http = require('http');
const app = require('./app');

const PORT = process.env.PORT || 3008;

http.createServer(app)
.listen(PORT, 'localhost', () => {
console.log(PORT)
})`

and second with logic app.js:
Screenshot_1

`const express = require('express');
const util = require('util');
require('dotenv').config();

const app = express();

const client = require('ari-client');

const config = {
host: process.env.ARI_HOST,
user: process.env.ARI_USER,
pass: process.env.ARI_PASS
}

client.connect(config.host, config.user, config.pass, client_loaded);

function client_loaded (err, ari) {
if (err) {
throw err; // program will crash if it fails to connect
}

//GRAB phone number
ari.channels.list((err, channels) => {
channels.forEach(channel => {
console.log(channel.caller.number)
})
})

//Events doesn`t work
ari.on('StasisStart', ()=> console.log('work pls;)'));

///.......
ari.start('hello');
}`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions