https://github.com/roramirez/qpanel
Dashboard for Queues in Asterisk and FreeSWITCH. app_queue panel for Asterisk and mod_callcenter in FreeSWITCH. Get news -> http://eepurl.com/dxKt7X
https://github.com/roramirez/qpanel
Last synced: 21 days ago
JSON representation
Dashboard for Queues in Asterisk and FreeSWITCH. app_queue panel for Asterisk and mod_callcenter in FreeSWITCH. Get news -> http://eepurl.com/dxKt7X
- Host: GitHub
- URL: https://github.com/roramirez/qpanel
- Owner: roramirez
- License: mit
- Created: 2015-07-31T23:00:27.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-21T19:48:41.000Z (about 2 years ago)
- Last Synced: 2024-07-31T19:22:26.760Z (almost 2 years ago)
- Language: CSS
- Homepage: https://boxtub.com/qpanel/
- Size: 8.73 MB
- Stars: 173
- Watchers: 30
- Forks: 111
- Open Issues: 87
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: code_of_conduct.md
Awesome Lists containing this project
README
The Dashboard for Queues/CallCenter in Asterisk and FreeSWITCH

## 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](doc/api.md) for data query related to queues
## Requirement
* Python 3.6+
* [Asterisk](http://www.asterisk.org) 1.4+ and enabled manager or [FreeSWITCH](http://www.freeswitch.org) and connection permission to Event Socket Library.
The feature to scheduler reset stats for the queues is required Redis >= 3.0.0.
If you run the QPanel as service (WSGI) you need reset stats using the script `run-worker.py` in `supervisord` or other process control system.
### 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_ for 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](patches) 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](patches/freeswitch) 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
```
; Use FreeSWITCH as backend. Use mod_callcenter
freeswitch = True
```
To use a FreeSWITCH need install `SWIG`. In system Debian base run
```
apt-get install swig
pip install -r requirements/fs.txt
```
## 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](samples/configs). 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](doc/StatsConfig.md)
or see the section `[queue_log]` of the [sample configuration file](samples/samples/config.ini-dist)
## New features?
If you like new features or something is wrong [please open a issue](https://github.com/roramirez/qpanel/issues/new)
If you want check the development version get checkout of `develop` branch
```
git clone -b develop https://github.com/roramirez/qpanel.git
```
## Updating source new in a release
Go the QPanel directory
```
cd qpanel
```
Get the new code
```
git pull
```
Update dependencies
```
pip install -r requirements.txt
npm install
```
## Notes
### Errors
#### pip update
For error in instalation process of requirements. `UserWarning: python_requires requires setuptools version > 24.3`
`pip install --upgrade setuptool`
## 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 :)