nostikj 72f2dbab31 Corrects some cases where dialplan conditions were not fully handled (#1850)
* Remove unsed variable

* Fix cases where time condition are lost

When processing a new condition statement and condition_tag_status == "open",
then there has been a previous condition statement that is in one of three
possible states:
  (1) a previous condition of type default has been saved into the
      'condition' string and will need to be output as XML with either '>' or '/>'
  (2) one or more time conditions have been saved into the
      'condition_attribute' string.  More time conditions may be added.
      After the last time condition it will need to be output as XML with either '>' or '/>'
  (3) a previous <condition ....> start tag has already been output as XML
      and needs to be closed with a </condition> statement.

The change here checks for all three above situations at the places where
pending condition statements need to be finalized.

Note that when processing condition new statements and we are finalizing
a previous time condition, the XML statement uses the 'condition_break'
value from the previous loop, therefore setting condition_break for the
new condition must be after previous conditions are finalized.

At the start of each new extension, initialize 'condition' and
'condition_attribute'.

* Remove unused variables

* Indent one block to match surrounding code at same level

* Prevent two dialplans uuids being merged into single extension

If a dialplan manager entry ended with an action statement NOT inside
a condition, the generated XML would combine this dialplan uuid with the next
uuid by not closing and reopening a new extension.  This change ensures
each dialplan uuid is enclosed in it own <extension></extension>.
2016-08-25 08:50:54 -06:00
2016-08-23 14:21:27 -06:00
2016-08-09 16:13:56 -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 925 MiB
Languages
PHP 80.1%
JavaScript 16.5%
Lua 3.2%