What are we thinking about for 2.11

With 2.10 finalized and humming along on thousands of systems, it's time to start deciding what to do for the next release. With the current trend of double digit release numbers, maybe we should name it 11 instead of 2.11? If you have an opinion feel free to express it but for now let's discuss more interesting topics, like what should be in it!! Some of us developers got on a phone conference last week to start this dialog. We've got some ideas which I'll express next but as always we want to hear from you!

For starters, our general consensus was to target the next Astricon for a release timeframe. Astricon is held annually towards the end of October, so that gives us about 7 months from now. We kept the discussion at a high level with the expectation to summarize here and begin to get your feedback on things to work on. From an Asterisk perspective, we will support the current LTR (Long Term Release) of Asterisk 1.8, plus 10 and 11 which will be the next LTR due out about that time also.

One big change in Asterisk 10 is the rewrite of the ConfBridge application. MeetMe has been the “primary” conferencing application prior to 10 but has some problematic requirements which also keep it form handling wide band codecs. The Asterisk team rewrote what looks to be an awesome new version of the ConfBridge application which has so much flexibility and power that it deserves a complete rewrite of our conferencing module in FreePBX! In order to get some early exposure to the new ConfBridge, we’ll add support in the current Conferencing Module for FreePBX 2.10, but the real flexibility won’t come until the module get’s rewritten!

The biggest undertaking for 2.11 is to finally replace the User Portal (ARI - Asterisk Recording Interface) with a new and modern version that is written from the ground up. Schmooze Com, Inc has stepped up to the plate with the current intention of leading up this effort and providing significant contributions to the rewrite.This will be an ambitious undertaking and we are very excited that it is en-route to becoming a reality!

Another technology we discussed investigating is the ability to remotely monitor ExtensionState information (Asterisk “hints”) between two or more PBX systems. This underlying technology uses XMPP as its transport mechanism and requires an outside XMPP server to configure and run. Potential applications range from BLF enabled buttons that monitor remote extensions at another branch, to ExtensionState information about remote queue members being available to the local queue, to separate Voicemail Servers with MWI information available locally and more. Our starting point will be an investigation and then explore what we might do to take advantage of it. Ward (from Nerd Vittles) indicated some interest in getting a test bed up and going but if anyone else out there wants to join the party and help with the effort you would be more than welcome!

We’ve also started exploring the Call Event Logging (CEL) infrastructure added to Asterisk 1.8. The CEL is an event based subsystem with the focus of comprehensive “billing” systems in mind. Today, we have the CDR records that form the basis of our call reports. These have some use but a lot of limitations and can often be difficult to read. What becomes particularly hard is to try and track a complex call that may go through various stages such as attended and blind transfers, call pickups, parking and more. With CEL, you will get MANY more events from a given call, but it’s possible to process those events in such a way that we can group all information related to a single call which becomes quite useful for someone trying to bill for or otherwise account for a full call flow. The CEL subsystem is quite flexible so there are a lot of possibilities available. We expect 2.11 will be just the beginning!

There was some additional discussion including what level of support we should or even could provide to Google Voice if a developer were able to commit to keeping after it, as well as CallerID Superfecta which currently is not at all in our control as it is not even housed in any of our repositories. For the most part though, we were looking at the above “bigger” technologies we want to play with and hopefully introduce and then come here to start asking you to throw out your ideas. We will be digging through the feature request tickets as is always the case but your comments are very welcome here so please feel free to fire away!

As a quick side note, May is approaching faster then expected, as well as the end of March deadline for Early Bird Pricing on the upcoming OTTS training coming to Minneapolis, MN so if that’s something you are considering don’t procrastinate too long and miss out on the savings! Signups have already started and the last two events ended up selling out so make sure to reserve your spot!

For now, let us know what your ideas are for the next FreePBX release!

Philippe - On Behalf of the FreePBX Team!

Hi Philippe,

All sounds really good. New user portal and conference management would be great.

How easy would it to be to have more abstraction between FreePBX and Asterisk, so that FreePBX could be set up to update 2 Asterisk system - a primary and a failover.

I’m unsure how far this could be taken. Whether FreePBX would just keep the 2 systems in sync, or whether there could be an active/active setup between the two.

Just thinking out loud …

Cheers, Matt

Matt,

thanks for the thoughts! Depending on how you define ‘abstraction’ the two are fairly separated. There is a lot that is held within the AstDB of the expected instance though that is moving to sqlite in 10 if I’m not mistaken so there will be more flexible options.

The remote hints point in the direction of multiple system management though it’s a bit of a path to get there. However, as far as backup’s for redundancy and failure purposes, the Backup Module is VERY powerful in helping with that. It was rewritten in 2.10 and fully supports features to handle warm backups and similar between one or more systems.

So thanks for the ideas, hopefully there will be more people chiming in with input and to get the juices flowing!

Are you saying that Asterisk 10 and 11(when release) will be available on 2.11?

I would love to see that as I’d like to use the t.38 gateway support to ATAs within the LAN. This would prevent the need for a card with FXS ports and running wires to the fax machine.

I also must say that I am a convert trixbox person. I installed 2.10 and am blown away. I didn’t have to do a bunch of hacking to get things to work right. I can even yum update and not worry that it’ll blow up.

Thank you!

–Conrad

Philippe-

Everything you mentioned so far sounds really exciting! I’m even considering moving from Ast 1.8 to Ast 10 for the ConfBridge updates and to see what other neat features exist. This brings me to an idea for the next version:

How difficult would it be to integrate Asterisk updating/upgrading as a feature from within FreePBX? Such as going from Ast 1.8.8.0 to 1.8.9.0 without the need to either do a package check, or in my case build from source.

Will keep an eye on this blog post, and looking forward to other ideas people have!

As in Elastix, when you install a new analogue (or Digital) card, it can configure the equipment settings (and echo cancellation) Etc - like plug and play… be nice if FREEpbx had something similar… And I wish the module, (and ZAPTel) for PSTN trunks would work out of the box when using these cards, without having to make edits to the .conf files…

(Or as a noob, am I totally missing something?)

But GREAT work as always!!! Thanks!

Replying to Conrad … Asterisk 10 is supported on 2.10 already. There are likely issues which we will try to address as they get reported, but in general it should work.

The current conference module is being updated to work with 10 now as indicated, though it will be mostly limited to current functionality until the new module is written as we plan on doing.

ChewableFritter,

Thanks for the info. Keep in mind the 2.10 support for the new ConfBridge will not do much more than what the current module features are. We’ll work on expanding that for 2.11.

As far as the Asterisk upgrades from within FreePBX, if you run the FreePBX Distro and want full GUI control, you can purchase the System Admin Pro module which is very inexpensive, $25, and it not only includes this functionality but also some additional features that are useful.

The $25 doesn’t even come close to paying for the constant efforts involved in keeping all the different components of a distro working together, but it does do a slight offset. You can get the scripts for free and run all the updates from the Linux command line if you want, the module simply allows that to be done from the GUI and provides a bunch of other handy admin tools.

We have been playing around with a DAHDI module the issue is this is a Distro feature not a FreePBX GUI thing as it takes root level permissions to setup the cards the first time. If you look on a Elastix box they give the FreePBX GUI user root level permissions for installing yum packages which means it can also run the setup commands for the cards. In my eyes this is very dangerous to allow the GUI user access to yum comamnds because if their is a exploit in the GUI or Apache the user can not start installing packages on your PBX.

Once we come up with a clean solution for this and get some more development time I would expect to see this feature in a future version of the Distro.

Thank you for your response…

I’ll be looking forward yjrm to “some good news in da future”!

I see that the current FREEpbx Distro offers script install assistance for Sangoma Cards…

How about Digium Cards >> eg: " WCTDM/0 “Wildcard TDM410P” >> And how does it work with Dahdi/Zaptel? (Any Info/links on how?-PLS)…

If its easy to do, I’m quite happy to switch over to TOMORROW… LOL!

Best Regards…

Sorry this might not be exactly the right place to post this - but if a future SUPPORTED “Google-Voice Module” could be considered, as the currently unsupported module (v0.70 - By Marcus Brown - only semblance of a module for this that I can find online) for integration of Google Voice will not load, as it returns an error:

Reload failed because retrieve_conf encountered an error: 255

exit: 255
PHP Fatal error: Cannot redeclare class ext_gosub in /var/www/html/admin/libraries/extensions.class.php on line 471
1 error(s) occurred, you should view the notification log on the dashboard or main screen to check for more details.

Also see: http://www.freepbx.org/forum/freepbx/beta-program-issues/error-after-applying-latest-beta-10-module-upgrades#comment-46839

Would love for this to be a featured and supported module (easier to configure) than what is currently out there!

Cheers…

That error is un-related to google voice.

The google voice module doesnt reference class ‘ext_gosub’ therefore not a google voice issue

Also. You double posted this (here and in the actual google voice thread)

The Digium 410P is supported out of the box by DAHDI. The dahdi_genconf script will provision it.

I bought sys admin pro, applied the key and everything, but for the life of me i can’t figure out how to tell it to install asterisk 10. I can do it from the CLI, but I want to to work in the GUI.

Asterisk 10 is not available yet for the Distro and because of the less then mature nature of Asterisk 10 it is still going to be a separate beta from the production 1.8 Distro branch. As such, I don’t know what the plan is for that wrt to the Pro module.

I’m sure Tony can pipe in and clarify how that will work.

What about including DHCP and fixing the network part in system admin?
I often run a seperate NIC for phones and seperate switch to ease network congestion. I set up dhcp on the second NIC and provision the phones from there.
When i do a freepbx install i have to install dhcp and then configure. When i look in the network section in system admin, after changing interfaces in the drop down, the information does not change between eth0 and eth1.

Recently ported over from trixbox and i must say i am very impressed so far. I love the endpoint manager although i have found a small problem with it that i just fix on the phones themselves.
Keep up the great work.

I believe that FreePBX is not the correct place for configuring Dahdi as Phillipe mentions because of root privileges. A better place is Webmin which runs as root. In my little world, Webmin configures the server hardware and FreePBX configures the PBX software.

I’m currently writing a Webmin - Dahdi HW module and know the problems associated with configuring Dahdi. Autoconfiguring FXS or FXO ports seems like a no brainer until you realize that Sangoma cards and Astribanks have their own proprietary interfaces to Dahdi (wanpipe and xpp_loader) and their own issues in addition to the Dahdi interface.

Now, how do you auto configure a card that can be a T1 or E1 card? How do you autoconfigure the LBO length? How about if it is the master timing source, slave, or 1, 2, 3 backup master? Throw in BRI cards and dynamic Dahdi spans (TDMoE) and you start to open up a can of worms. What about the order of the card drivers if multiple different cards are installed? Which card do you want to have configured for the first channels? What about if you want to use E&M signaling or ls, ks or gs signaling? Which echocanceller should you use? mg2, hwec, oslec, etc…?

I think you get the point. I feel that the end-user has a responsibility of knowing a little bit about the card that they are installing. They have to understand the configuration process. I’ve included as much direction and help as I can in the module to aid in configuring. The module should be ready for Beta testing this week. I will be releasing it over at the PiaF forums for testing.

It is a pain to keep working because they keep changing the rules to connect to it. You would need to update the “Google Voice” module routinely to keep up with the changes.

I am always sceptical of free services like Google Voice because you have to ask the basic question" “How do they make their money?”. I’ve participated in too many free services that abruptly closed because they were losing money. Lots of free web hosting sites that shut down and all the data was lost. I truly expect that Google Voice to close down in the future or migrate to a pay based system.

Here’s an eye opening article that discusses What does Google want out of your Voice?

Have you kept up with webmin and security?

My point about the Distro isn’t so much FreePBX not being the place as it is the place, but more that it needs to be done in conjunction with Linux level facilities thus similar to the way other things are done in the System Administrator module.

It does make sense for the GUI part to ultimately be in FreePBX because it allows for tie ins to other configuration pages. We did this to the Digium DAHDi module but unfortunately, that module was never supported.

I wold be concerned about webmin if it runs as root because that translates into exposing an http accessible GUI that if exploited provides root access. With FreePBX it’s bad enough that a compromise can give web user level access but root level is even more damaging. The Distro accomplishes all of its root level access requirements without any sudo privileges. It uses a loosely couple and very contained mechanism for each root level task that needs to be done to do everything possible to guard against exploits such that if a system is compromised, the root tasks it could achieve would be contained to these. In contrast, if running as root, or if providing the types of ‘sudo’ access we have seen in distros such as trixbox and Elastix, we have seen the attackers have often been able to obtain access to a root level shell by penetrating into interactive modes of root level command or in some cases I have seen Distro’s provide sudo privileges to run bash as root…

So if webmin runs as root and is compromises you end up with the same thing, plus, by running webmin you simply increase the attack surface of the system. I’ll reiterate though, I have not followed webmin to know if there are safe guards I am not aware of.

I understand your concerns. Webmin has been around for over 10 years and appears to be a pretty secure tool (until I finish writing my module!). A quick google search on “webmin security risk” returns very few hits and most are from the early 2000s. Naturally, I wouldn’t open Webmin access to the Internet or any administrative tool for that matter. I would limit access to the local LAN.