Dashboard for Queues in Asterisk and FreeSWITCH. app_queue panel for Asterisk and mod_callcenter in FreeSWITCH. Get news -> http://eepurl.com/dxKt7X
Latest commit 5c2b49f Sep 7, 2018
Permalink
Failed to load latest commit information.
doc Add documentation for queue_log database connections. Aug 28, 2018
patches add Port patches Asterisk 11.X for app_queue Mar 31, 2016
qpanel Merge branch 'theme' into develop Sep 8, 2018
requirements Add documentation for queue_log database connections. Aug 28, 2018
samples Add documentation for queue_log database connections. Aug 28, 2018
tests Merge remote-tracking branch 'origin/develop' into theme Jul 10, 2018
.bowerrc refactor code. Mode code into package module called qpanel Sep 30, 2016
.codeclimate.yml remove static/js/bootstrap-switch.js Jun 29, 2016
.gitignore Add .pytest_cache to .gitignore Jun 23, 2018
.travis.yml Add flake8 to travis Jun 22, 2018
CHANGELOG.md Version 0.15.0 Sep 8, 2018
LICENSE Update copyright year 201 Jun 11, 2018
README.md Add documentation for queue_log database connections. Aug 28, 2018
VERSION Version 0.15.0 Sep 8, 2018
app.py refactor code. Mode code into package module called qpanel Sep 30, 2016
bower.json add bower for add packages and replace static js and css components. Jul 18, 2016
code_of_conduct.md add code of conduct. Feb 3, 2016
package.json Update bower version Feb 16, 2017
parser_queuelog.py Update copyright year 201 Jun 11, 2018
requirements.txt restructure requirements files for dependencies Sep 6, 2016
run_test.sh Update script for run all tests Jun 21, 2018
start.wsgi Add support for wsgi Jun 21, 2018
tox.ini Add flake8 to travis Jun 22, 2018
travis.sh Add git diff for flake8 Jun 22, 2018
update_config.py Update copyright year 201 Jun 11, 2018

README.md

Qpanel

Join the chat at https://gitter.im/qpanel/Lobby Build Status

Qpanel is dashboard for Queues in Asterisk and FreeSWITCH

Demo

Overview

Qpanel is a panel for queues on Asterisk and FreeSWITCH, powerful and simple monitor in realtime:

  • General resume for calls. Abandoned, Incoming, Answer time and Waiting time.
  • Show information on detail by queue.
  • Show agents status if these are free, busy or unavailable.
  • Pause reason and time to agents.
  • Percent of abandoned calls.
  • Allows rename the queue name or hide in case if required not show a determined queue.
  • Show callers by queue with the priority and wait time.
  • Spy, Whisper and Barge for agents on queues.
  • Show service level of queues
  • Hangup incomming calls
  • Authentication Access.
  • Simple configuration. Just use Asterisk manager.
  • Multi languages availables: English, Spanish, German, Russian and Portuguese.
  • Written on Python.
  • Responsive design.
  • Opensource by MIT licence.

Also you can use a API of Qpanel for data query related to queues

Requirement

  • Python 2.7, 3.4
  • Flask 0.10+
  • Asterisk 1.4+ and enabled manager or FreeSWITCH and connection permission to Event Socket Library.

The feature to scheduler reset stats a queue is required Redis Redis >= 2.6.0

Asterisk

On /etc/asterisk/manager.conf do you set command permission for read and write, example:

    [qpanel]
    secret = mi_super_secret_password
    read = command
    write = command,originate,call,agent

AMI options

  • originate ofor spy, whisper and barge.
  • call feature hangup calls.
  • agent remove agents from the queues.

Some features maybe not included in your Asterisk version. In the patch directory you can find the patchs for add more powerfull to the QPanel.

Freeswitch

The feature realtime counter for answered and abandoned calls in a queues if not included in your FreeSWITCH version. In the patch directory you can find the patch

You can configure a freeswitch section for your config.ini file like

    [freeswitch]
    host = 127.0.0.1
    port = 8021
    password = ClueCon

In general section set config

    freeswitch = True ; Use FreeSWITCH as backend. Use mod_callcenter

1. Clone this repository

 git clone https://github.com/roramirez/qpanel.git

2. Install dependencies

 $ pip install -r requirements.txt

If dont have pip in your system. For install

Debian and Ubuntu

sudo apt-get install python-pip

Fedora

sudo yum install python-pip

Get Javascript, CSS and external web libraries

Is necessary have installed Node.

   npm install

3. Go and prepair environment

 cd qpanel
 cp samples/config.ini-dist config.ini

Edit config.ini file with Manager Asterisk parameters

Note: Can set the absolute path for configuration file in an enviroment variable called QPANEL_CONFIG_FILE.

4.- Translations

 pybabel compile -d qpanel/translations

5.- Run and relax

   python app.py

Go url of machine http://IP:5000

If you want run QPanel like a service, see the samples configurations files. There are a example for use with uWSGI + NGINX

QueueLog Stats for Asterisk

You could use the stats for queue of Asterisk from QueueLog. If need more informacion about this go Stats, Realtime and other things or see the section [queue_log] of the sample configuration file

New features?

If you like new features or something is wrong please open a issue

If you want check the development version get checkout of develop branch

git clone -b develop https://github.com/roramirez/qpanel.git

How to contribute

  • Fork the project
  • Create a feature branch (git checkout -b my-feature)
  • Add your files changed (git add file_change1 file_change2, etc..)
  • Commit your changes (git commit -m "add my feature")
  • Push to the branch (git push origin my-feature)
  • Create a pull request

Happy coding :)