Alexey Melnichuk 9076df2302 Add. Support onInterval method to EventConsumer class (#1747)
* Add. Support `onInterval` method to EventConsumer class

Usage
```Lua
-- execute action each 30 sec
events:onInterval(30*1000, function() end)

-- execute action once after 5 min
events:onIntervalOnce(5*60*1000, function() end)
```

* Fix. Remove timers

* Fix. Reset timer before callback

It allows stop timer inside callback.
Also it produce more accurate interval invocation
if callback take quite a long time.
E.g. Interval = 10 sec and callback took 5 sec then
if we reset timer after this callback then gap between
invocation will be 15 sec.

* Add. Timers now have TimeEvent class type.

Add. `reset` method to IntervalTimer class.

```Lua
events:onIntervalOnce(1000, function(self, timer)
  -- timer has type TimeEvent

  -- restart timer so it will be invoke again
  timer:restart()

  -- or reset new interval
  -- timer:reset(5000)
end)
```

* Fix. Typo in variable name
2016-07-13 09:43:51 -06:00
2016-07-11 17:06:32 -06:00
2015-12-25 10:33:41 +03:00
2016-04-15 18:40:23 -06:00
2016-06-13 07:34:38 -06:00

What is FusionPBX?

FusionPBX is a flexible, customizable administration web GUI that takes FreeSwitch and converts it into a single- or multi-tenant gateway or PBX system out of the box. It can be run on any operating system and x86-based hardware of your choice. It provides the functionality your business needs and brings corporate-level phone system features to small, medium, and large businesses. Read more at FusionPBX.

In addition to providing all of the usual PBX functionality, FusionPBX allows you to configure:

  • Multi-Tenant
  • Unlimited Extensions
  • Voicemail-to-Email
  • Music on Hold
  • Call Parking
  • Automatic Call Distribution
  • Interactive Voice Response
  • Ring Groups
  • Find Me / Follow Me
  • Dialplan Features that can be endlessly combined for your preferences
  • Many other Features

Free Support

We provide several avenues for you to get your system up and running on your own and learn the basics of the system.

  1. Old Documentation
  2. New Documentation
  3. How to Contribute
  4. IRC in the #fusionpbx channel

Commercial Support

These options support the project and cover any kind of help you might need from architecture, installation, best practices, troubleshooting, custom feature programming, and training.

  1. Commercial Paid Support
  2. Custom Feature Development
  3. Admin Training
  4. Advanced Training
  5. Developer Training

Software Requirements

  • Debian Jessie - Recommended This is the distribution recommended by the FreeSwitch team
  • Fusion will also install on Debian Wheezy, Ubuntu 10.10 LTS and is known to work on FreeBSD
  • FusionPBX Installer

Community

We have a pretty thriving community. You can find us here:

Contributing

###Requirements It's easy to contribute to FusionPBX the only thing we ask before accepting your pull request is that you sign a Contributor License Agreement. We ask that you sign the Contributor License Agreement for the following reasons:

  1. It protects FusionPBX by you gauranteeing that your contributions are yours to contribute and not the property of an employer or something found on the web.
  2. It protects you from using code that belongs to others that is subject unfriendly licensing.

How to Contribute

How to Install FusionPBX

  • As root do the following:
apt-get update && apt-get upgrade && apt-get install -y git
cd /usr/src
git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
chmod 755 -R /usr/src/fusionpbx-install.sh
cd /usr/src/fusionpbx-install.sh/debian
./install.sh

This install script is designed to be an fast, simple, and in a modular way to install FusionPBX. Start with a minimal install of Debian 8 with SSH enabled. Run the following commands under root. The script installs FusionPBX, FreeSWITCH release package and its dependencies, IPTables, Fail2ban, NGINX, PHP FPM and PostgreSQL.

Some installations require special considerations. Visit https://github.com/fusionpbx/fusionpbx-install.sh readme section for more details.

Description
No description provided
Readme 926 MiB
Languages
PHP 80%
JavaScript 16.6%
Lua 3.2%