Version 2.8 seems like regression for business and advanced users

I would like to alert the FreePBX team and all users about the fact that version 2.8 is a regression for business and advanced users.

There are three reasons for this :

  • Custom context module is fully broken. This module is popular, stopping to support it is like saying : you have now to wait for version 3.0 to become release. But version 3.0 is about 1 or 2 years from the release date because of the early state it is actually compared to version 2.7.

  • advanced routing module is broken as well.

  • The outbound routes new gui is difficult to use because patterns in fields disappear when you click inside them. I’ve opened a feature request for this in the track.

So i would advice users needing custom contexts to not update to 2.8 and stay with version 2.6 or 2.7.

I can’t see any reasons to continue developpment of version 2.7 if this is to introduce some big incompatibilities in the code.

I think it would be better to spend full time on the development of version 3.0, and only address bugs and security problems on version 2.7 branch.

It’s my point of vue, but i’m sure that a non negligeable pourcentage of users share the same one.

I fail to see it as you do.

We use FreePBX at our company, and have been doing that since almost 4 years now. At first we did a lot of customization to the dialplan but I found that this added a huge burden on me as every change that I had to do to the system required a lot of tinkering with the dialplan. I did look at the custom context module but seeing it was in the contributed repository I opted not to use it as there was no active development of that module.

So when 2.6 was released I did a top-down rebuild of our system and scrapped every customization of our system. I do everything from GUI now. No tinkering with dialplans whatsoever.

2.7 is in use at our company now, and we will upgrade to 2.8 as soon as it is released as there are some new features in it that we can benefit from.

So for my point of view, FreePBX is very mature for business, and the continuing development of the 2.x branch is something that we will benefit from years from now.

As for the custom context module, I have always believed that this module was for home users that like to “fiddle” around with things in their pbx and not the module that business users would select. I might be wrong about that, but I don’t think so (stiking my neck out).

kenn10 did a poll about the custom context module to try to raise funds for someone to step in take over the development of the module: FreePBX | Open source, web-based, IP PBX management tool.

What is the advanced routing module?

That sound more like a bug, and that is why 2.8 is still in beta, to catch those things.

I think that custom context is usefull. I’m using it mainly to restrict usage of some functions to group of users, like intercom, test applications, and as well as to allow separate billing when there is only one IPBX for more than one company in the same building. (bot those companies needs to communicate through local numbers).

A redisgned custom context module, simpler to use, with the look and feel of the 2.8 Gui would be even more usefull.

olivier,

concerning the issue raised of the pattern field disappearing, you should change your ticket to a bug. I’ve been struggling if I should change that behavior or not (it’s a symptom of the jquery plugin we are using but I believe I can change the behavior of it). I had not yet decided if it should be ‘fixed’ or not, waiting to see if others brought it up.

concerning the custom context, I will first address mickecarlsson. Mick, I believe that custom context is very much a business feature probably more so then a home/hobby feature. It has a lot of issues which are unknown to a lot of people who use it to create a sense of multi-tenancy like olivier mentions in one of his cases. It’s fine if you understand the ‘security’ implications though I suspect most who use it that way do not. But it does provide some very useful features that can not be done elsewhere.

This module has never been part of core for a variety of reasons one of them being that we knew the day was coming that the outbound route schema structure was going to change and break it. There has been much warning and have also been people who have stepped up to the plate like kenn10 to spear head a drive to provide the funds for someone to update it for 2.8. I’ve already contacted naftali5 but he is just too swamped to continue to maintain it.

The fact of the matter is you are right that there are a lot of businesses and in particular resellers who use this module. As a result, and if it is really as important as you and many say it is, then there should be no issue for you and all the others who are profiting from it to spend a few hundred dollars each when the collection pot comes around to pay for someone to make sure it is up and running in 2.8. (I’ll be looking for your name to spear head the drive and throw in the first donation into that pot :slight_smile: Of course if one of these groups who makes heavy use of it wants to simply adopt the code and make the changes necessary that would be just as valuable. Remember, the purpose of Open Source is a bi-directional street, to give back as much as to consume.

Concerning Advanced Routing, I am not aware of which module you are referring to either. There are a handful of modules that handle outbound routing. Route permissions is in the contributed svn repository but not in the online extended repository as there were issues that are broken from the start that have not been addressed. If it is something else that is in general use, then it would be wise of the author to have a look at upgrading the module, and even wiser to toss it into our repository for more developer eyes to have access to.

We make extraordinary efforts to maintain compatibility with new versions and do better than most projects in doing such. However, there are some things that do require change and this is one of them. It is also why we have gotten 2.8 out as early as we have and why we are leaving it for a very long cycle to both catch issues and give other developers an opportunity to check their modules and make changes that may be necessary.

As far as where you think efforts should be spent on 3.0 vs 2.x you are clearly entitled to your opinion. However I get the impression that your opinion is that we are going to finally have the opportunity to use FreeSWITCH in place of Asterisk and everything is going to get better. That is the message I have gotten from other posts you have provided. I think you need to get real about this perspective. There are a lot of nice things that FreeSWICH brings to the table and for all I know, in your specific situation maybe you have already evaluated it against your own needs and find that it is a much better match. However, it comes with its own baggage and will have the same type of growing pains as Asterisk and any complex project has. As an example, I’ve personally appreciated that I don’t have to restart Asterisk to fix memory leaks any longer. I’m sure there are still ones hiding in there or new ones being introduced, but its maturity has made this a thing of the past. I can’t say the same for FreeSWITCH but I’m sure over time they will also find their issues.

However, the other reality is that Asterisk is much more feature rich and from a PBX perspective, especially geared at the SMB market as FreePBX is, I think you will find that Asterisk may likely mature much quicker on FreePBX v3 then FreeSWITCH. I personally hope that we help in some small way for both products to further flourish but as it stands today, Asterisk still has a few years of head start on features that FreeSWITCH will need to catch up on, and Asterisk is not standing still either.

So in conclusion, you are clearly welcome to your opinions and even more importantly, maybe you want to get involved and help push v3 along faster through some development effort (or find a way to sponsor a developer…). In the meantime, there are hundreds of thousands of 2.X systems out there, many of them depending on features that are going to take time to mature. We are not going to turn around and abandon that installed base by prematurely pulling resources from 2.X. Furthermore, it’s Open Source and not something that “we” can do as “we” don’t control the open source community. You will notice that a substantial amount of the development that has not only gone into 2.7 (and prior releases) but is also going into 2.8 comes from the community and that is not going to go away any time soon. In the same way, v3 has made some amazing progress for the same reason, because it has substantial community support and some great developers who have gotten interested and involved. I personally hope that once we get the general preview release out we can stimulate more interest for more contributions to help v3 quickly catchup to v2 so we can eventually do what you suggest, once it is at a point where the bulk of the critical features and capabilities are present to allow much wider migration.

Sorry it is “Extended routing” module, not advanced routing.

We are using it to send callers to an operator extension if the route is falling.

Description :

"Adds Extended Routing capabilities to FreePbx. Adds a failover destination to outbound routes. Allows you to choose an outbound routes as a destination from other parts of the dialplan.

More info: http://aussievoip.com.au/wiki/freePBX-ExtendedRouting"

We ever donated two times to the FreePBX project if i remember well, and i would be happy to do the same in a few weeks. Not possible actually because of heavy charges.

I think you would have got much more money, if each business people, would have donated even a small amount.

So i encourage this as well, as FreePBX is one of the more serious, more usefull and more interesting project of the opensource community.

For Asterisk, we tried 1.6.0, 1.6.1 and 1.6.2 and each time we had things not working like call parking or fully broken things like SIP TCP.

So we stopped to spend time on Asterisk 1.6.

We are actually locked to version 1.4 who seems quite stable with FreePBX and the devstate function.

And for FreePBX, we are locked to version 2.6 or 2.7, because we must definitly keep custom contexts available, even if not used actually at some sites. Somtimes, a client can ask a funny thing, not possible to do without custom context. As we are using opensource, we can’t say “we can’t do it”.

Do you know what is our bigger hassle actualy ? This is not Astetisk, neither FreePBX version 2.8. It is the Music on Hold / System recording / Voicemail announces audio file management.

We have found that this part of FreePBX needs improving. We often need to manually copy files between locations to get what we need. For a final client, doing this is simply to much complicated. More, the audio files are located at three different deep locations, making the work even more difficult when you don’t do this everyday.

To make things even more complicated, Asterisk think that .WAV files are GSM encoded files. So if you upload a linear 16 bits wave file named *.WAV from Windows for example, it does not work, your calls are ending with a congestion. You need to verify that you are uploading a *.wav and not a *.WAV.

To much complicated for most users.

Hmm,

well the extended routing module seems to be a bit of a mystery since the aussievoip wiki isn’t there anymore.

as far as donations, I don’t recall asking about donations. I mentioned that there are community members who will be making an effort to pull together funds to pay someone to bring custom context up to date. That’s paying someone a bounty. I’ve just offered to help kenn10 coordinate that and collect the funds in advance (since experience by others seems to show that just a fraction of bounties are typically paid, so collecting the money in advance will be needed for whomever is going to do the work).

As far as Asterisk 1.6, I agree the whole set of 1.6.X releases seem to be a bit of a disaster from an observers perspective. I think there is a lot of potential in trunk/1.8 but suspect it’s probably a year or so out before it hits a good stable state. (And that assumes they release 1.8 within the next few months).

The MoH issues should be handled during the upload process in FreePBX since they are run through sox. However, both the MoH module and the recordings module both “suck” and could use some major work. Maybe someone will come along who really cares about those and decide to spearhead and rewrite them as they could both use rewriting more or less from scratch.

“I’ve just offered to help kenn10 coordinate that and collect the funds in advance (since experience by others seems to show that just a fraction of bounties are typically paid, so collecting the money in advance will be needed for whomever is going to do the work).”

This model cannot work, because donators don’t know if their donations will be enough to get the work done. So only a small part of potential donators will effectively donate.

It would be more efficient, for such module work, to do the job, then make a protected module, and selling it.

Then, after enough sellings, could go back in unprotected free form.

The selling could be done transparently, so that everyone could see the number of sellings, and see the limit needed to reach the “free” state opening.

GPL prohibits distribution of “protected” modules together with GPL released code.
So a “protected” module can never exists in the Contributed Modules repository. It must be hosted elsewhere. And it can’t be made selectable in the Module Admin either.

As I believe in openness, to protect a module it not the way to do it.
The offer from Philippe is very generous.
But before this would happen we need someone to actually volunteer to do the coding and set a price tag and a time line on the work. After the amount is established donations are welcome and Philippe could run a tab to display the donations made and show the progress.

If no match is made, i.e, not enough donations, a simple return of funds would be appropriate.

Of course it can work, it’s no different then bounties with the exception that it is collected in advance, into an “escrow” where if there are inadequate funds, the money is returned and the work is not done.

It’s not a donation, it’s people like you saying “I need this, it is important to my business which brings home the paycheck, so I am willing to pay for it to be done because the cost to me of a few hundred dollars is peanuts compared to the value that I am getting out of this software that would cost me thousands or tens of thousands of dollars in the Closed Source market.”

Collections like this have been done plenty successfully in the past, even when they were donations, such as back when Rob first had to replace the server and needed to collect a few thousand dollars to cover the first year’s cost…

As far as having closed source modules in general, that is a perfectly fine thing to have and there are others who do have various specialized modules that are closed source and they charge for those modules. One of those companies is Schmooze who thankfully also makes huge contributions back to the Open Source project as well. There are probably others out there who work more in the “mercenary” mode, all take and nothing back. But that is the nature of the business and this space…

olivier1010, I fail to see your name on the bounty page for Custom Contexts. Do you want it fixed, or do you just like to make noise?

So many people have stated that the Custom-Contexts module is vital. I’m still amazed at how few have stepped up to contribute.

A number of outstanding commercial users/resellers have stepped up as have a number of individual users. We’re so close but still have not met the bounty total…

Has been done.

When i make noise it is for a good reason.

If there is no noise, there is no life, and no progress.

Now it is more than noise for me, it is real signal.

If you watch in the FreePBX donation history, if there is one available, you will see that it is the third donation i do.

Why don’t have a public donation History for FreePBX ? Not only for Bounties ? I would be interested to see how much big professional users have donated for the project, compared to how many are using it professionaly.

Thank you. You are truly a gentleman and a scholar.

On behalf of your fellow users of Custom Context I’m sure your payment towards Custom Context improvements is appreciated.

For everyone’s sake though, let’s make sure to be clear on something. Those contributing towards the Custom Context bounty are not making donations but are purchasing development resources for a software module that they see as vital towards their businesses. (And as such, in most countries, this is a completely valid business expense that should be presented to your accountants). None of this money is going to “The FreePBX Project.”

As far as donations to FreePBX, there is no longer a donation button on the site since the significant Corporate Sponsorship was provided 1.5 years ago. The project is funded through paid services such as SIPSTATION SIP trunking services (mostly useful for US based businesses today), FreePBX paid support and in the future likely other offerings.

It is not un-common for support customers to pay for features to be developed and put back into the project or simply to have bugs fixed (and when the support engineers just happen to fix bugs as a result of paid support customers, these are always put back into the code base regardless). This is the only means to financially support the project and has the benefit of no ambiguity that it is a legitimate business expense.

Beyond that, the best way to support the project is to be active in the forums and on the site, help improve the site documentation, help with testing, provide bug fixes, code contributions, etc. etc. - basically help FreePBX to continue to grow and be vibrant and help each other in the process.

Thanks for clarifications Philippe.

There is no doubt that the custom context will find the missing monney.

I’ve contacted a small company here, i hope they will donate.