Git Product home page Git Product logo

amiws_queue's Introduction

amiws_queue

Build Status codecov Codacy Badge GPL

Warning

This project is outdated and I do not have time to support it so you can use it on your own risk. vuejs used in the project is very old and probably will not work with new node versions

Asterisk Queues Realtime Manager

Web realtime dashboard for Asterisk Queues. It is using another project, amiws, as a Back-End for AMI traffic to web-socket conversion. More screenshots here.

amiws_queue screenshot

Build Setup

Refere to amiws documentation to learn how to install and setup Back-End.

This project uses VueJS with webpack and it requires NodeJS. Setup and build it as following:

git clone https://github.com/staskobzar/amiws_queue.git
cd amiws_queue
npm install
WS_URL="'ws://10.20.30.01:8000'" npm run build

Use an IP and port of the server where amiws is running when defining shell variable WS_URL. Note, when defining WS_URL usage of double and single quotes : "'ws://IPADDR:PORT'".

After successful build files are stored in "dist" folder. Simply copy files from "dist" folder to the server with "amiws" Back-End, to the folder defined in parameter "web_root" of "amiws" config file.

Asterisk configuration

This dashboard was tested with Asterisk 11 and 13. Should work with other versions too (AMI v2 and before). Asterisk queues additional events MUST be enabled per queue.

In configuration file (Asterisk version older 12):

eventmemberstatus = yes
eventwhencalled = yes

When using realtime with DB this values must equal "1": eventmemberstatus = 1, eventwhencalled = 1

amiws_queue's People

Contributors

avdempsey avatar briareos12 avatar staskobzar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amiws_queue's Issues

eventwhencalled and eventmemberstatus removed in Asterisk 12

"The configuration options eventwhencalled and eventmemberstatus have been removed. As a result, the AMI events QueueMemberStatus, AgentCalled, AgentConnect, AgentComplete, AgentDump, and AgentRingNoAnswer will always be sent. The Variable fields will also no longer exist on the Agent* events. These events can be filtered out from a connected AMI client using the eventfilter setting in manager.conf." Does amiws_queue work in Asterisk 15 and 16?

Errors during nmp install

Error:

npm WARN tarball tarball data for [email protected] (sha512-vEAit4rVgufCAyaqQ6Cxs29A9cBNEKeXxWcPFXrG/AOp+19Vz2K6shoNTwpbdNpDDbp7Pjy1YnvjlG9aQrCsmQ==) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for [email protected] (sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for [email protected] (sha1-6Wrw6WmBmWodR/iOrY908evEQis=) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for [email protected] (sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ==) seems to be corrupted. Trying one more time.
...

PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Receiving...
  [==============--------------------------] 35%

Error making request.
Error: read ECONNRESET
    at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27)

Please report this full log at https://github.com/Medium/phantomjs
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-11-08T15_53_19_537Z-debug.log
[root@localhost amiws_queue]# 

small modification

Hello Sir !

Beautiful project;
But to have callers in queues agents, you need to update a small part of you code.
In asterisk 14, there is three way to recuperate interface :
+>

constructor(msg) {
...
this.interface = data.Location || data.Interface || data.StateInterface
...
}
update (data) {
....
if (data.Location) this.interface = data.Location
else if (data.Interface) this.interface = data.Interface
else if (data.StateInterface) this.interface = data.StateInterface
...
}

And at the end you need to remove condition : !this.incall

if (data.Event === 'AgentCalled') {
...
}

This modifications will resolve CallerIDNum ; CallerIDName and remove agent

Have a nice day :)

Invalid/Unknown command

I've installed amiws and amiws_queue.
Open http://ip-address:8000
Asterisk 15.6.1. What should I check?
All queues are shown, but a red window appears for serveral seconds:

Invalid/unknown command: Queues. Use Action: ListCommands to show available commands.

Event cumulate

hello sir,

I've a problem with the wallboard.
In fact, when there is many vue's instances, the data is cumulate.
For esample for total agent, if the value is 20 and if somebody open the instance, the value will change to 40.
Have you an idea to resolve this problem ?
Thanks in advance;

install on centos 7 nodejs 11 fail with errors

npm run build

[email protected] build /tmp/amiws_queue
node build/build.js

/tmp/amiws_queue/node_modules/webpack/lib/webpack.js:185
throw new RemovedPluginError(errorMessage);
^

Error: webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead.
at Object.get [as UglifyJsPlugin] (/tmp/amiws_queue/node_modules/webpack/lib/webpack.js:185:10)
at Object. (/tmp/amiws_queue/build/webpack.prod.conf.js:36:26)
at Module._compile (internal/modules/cjs/loader.js:799:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
at Module.load (internal/modules/cjs/loader.js:666:32)
at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
at Function.Module._load (internal/modules/cjs/loader.js:598:3)
at Module.require (internal/modules/cjs/loader.js:705:19)
at require (internal/modules/cjs/helpers.js:14:16)
at Object. (/tmp/amiws_queue/build/build.js:12:23)
at Module._compile (internal/modules/cjs/loader.js:799:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
at Module.load (internal/modules/cjs/loader.js:666:32)
at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
at Function.Module._load (internal/modules/cjs/loader.js:598:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:862:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: node build/build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.