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 [i]ConfBridge[/i] application. MeetMe has been the [i]”primary”[/i] 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 [i]ExtensionState[/i] information (Asterisk [i]”hints”[/i]) 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 [i]”billing”[/i] 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 [url=/open-telephony-training-seminar]OTTS training coming to Minneapolis, MN[/url] 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!

[b]Philippe[/b] – On Behalf of the FreePBX Team!

34 thoughts on “What are we thinking about for 2.11

  1. 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

  2. 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!

  3. 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

  4. 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!

  5. 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!

  6. 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.

  7. 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.

  8. 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.

  9. 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…

  10. 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….

  11. 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)

  12. 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.
  13. 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.

  14. 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.

  15. 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.

  16. 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?

  17. 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.

  18. 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.
  19. Hi,

    How about retaining the account code for a CDR record of the extension that has the forward set?

    Ring groups to have account codes too… so external calls out of them can be tracked to appropiate dept.

  20. As said, Webmin is a great tool and well developed. Jamie Cameron works for Google too. Jamie and Joe got together and created Virtualmin and Cloudmin too.

    Their products are great to manage web/email sever(virtualmin) and virtual servers(cloudmin. I use virtualmin a lot.

    http://www.virtualmin.com

  21. Geeky I know but I would love a module or something that enabled watchdog features.
    example1:

    IP address to ping: xxx.xxx.xxx.xxx
    ping frequency in seconds: xx
    number of failed pings before action:xx
    number to call upon fail:
    recording to play:
    destination after recording:

    the ability to setup several ip’s to monitor.

    example2:
    setup alerting when certain trunks or extensions fail to register
    high cpu alert
    low disk space
    option to email and or call number etc.

    Regards,
    Josh

  22. I love the new ideas planned for 2.11. I sure appreciate the changes in the 2.10 version that I’m using. It was such a great job!

    Since we are talking about suggestions, one thing I’ve always wished for was the CNAM transmitted along with the number on forwarded calls. Right now, only the number shows up. I have a ring group setup where 2 extensions ring plus an outside phone number. The outside phone number never sees the name. IE:

    Extension 33 rings with “DOE JOHN” <9994445454>
    Extension 34 rings with “DOE JOHN” <9994445454>
    9998885555# rings with <9994445454>

    There may be a technical dead end as to why CNAM is not transmitted with the number. Hopefully there’s a way around it as it would be an excellent enhancement.

    The other thing that would be nice is email notifications for extensions that become unregistered. Right now I find myself constantly checking the SIP INFO to ensure everything is registered ok.

    Thanks for your time.

  23. Guys, You are doing an excellent job.
    One area I see that needs improvement is the Voicemail Admin module.
    It would be awesome if there was a way to export to a csv the details of all voicemail boxes. I sometime find that wen folks have voicemail going to email and to the phone don’t check the phone and it fills up and stops taking messages.
    A report that I can print out or if the system could send an email stating that the voicemail box is full would be perfect.

    Mike Zenft

  24. Hey guys, I really love FreePBX, helps a lot with asterisk. The only thing that is annoying me is that my asterisk somehow shuts the dahdi channels down when ever I apply changes in FreePBX. I am on asterisk 1.8 and FreePBX 2.8 at the moment as upgrading to 2.10 step by step put the whole system to an unrecoverable state, so I decided to stay. Maybe there is an easy fix to that.

  25. This would be on my ARI wishlist…

    1) Do away with the folders, and the convoluted process of placing a checkmark next to the recordings you want to move, selecting a folder, and then clicking the move_to button. Instead, implement one or both of these two concepts:

    A) Give the ability to drag and drop recordings into a folder.
    B) People sometimes look at their voicemail the way they look at their to-do list. Therefore, Give people the ability to drag and drop voicemails up and down the list.

    2) Enable the voicemails to be delivered as secure podcasts. I have a custom script that I use today that iterates through the .WAV file and creates MP3’s and delivers those as a secure RSS feed. I wouldn’t want to lose that ability.

    3) Retain the ability to store the voicemails as separate files with the MSG0001.WAV, MSG0002.WAV naming convention. I have processes that move and archive voicemails based on that.

    4) Less important, but a consideration is that for multi-tenant applications, ensure the “forward to” functionality can be hidden in the UI as to not expose everyone’s name.

    5) Lose the “Pager notification” verbiage. Give the ability to forward the voicemail to more than one email address, and to text the notification.

    6) Allow the ability to email a voicemail from a smartphone to an extension. In other words, using the Smartphone’s voice recorder, someone can dictate a message, and email it to someones Asterisk account.

  26. Probably sounds like I’m coming out of left field, but what about a giant leap to just FreePBX 3? It’s always been a lucky number for me. The drastic change to the look and feel may have warranted a 3 to begin with. It really is kind of a new animal. Plus, it would be nice to have a numbering pattern more unique and separate from the Asterisk versions to lesson the confusion when talking about the different species. ;]
  27. It would be nice to choose a destination for a particular trunk instead of just inbound caller ID.

    For instance, in a system that answers for multiple tenants or systems we may have 3 or 4 POTS lines that we want to direct to individual IVR’s or ring groups.

  28. @mdoran, would it work to use the inbound DID number setting on inbound routes to direct calls coming in from particular POTS lines (each which would have a separate DID) to your preferred internal destination? If the lines were dialed separately by outside callers (not part of a hunt group), that might work.

    Similarly to mdoran’s feature request, the reverse would also be helpful. For outbound routes, be able to select a particular outbound trunk based on the source extension, not just pattern-matching the outbound destination number.

    This is helpful if a particular device should always use a particular trunk to dial out, e.g. an analog fax machine that always should use a T.38-enabled SIP trunk, or a business group that should be assigned just a subset of trunks based on their source extensions.

    We found this workaround to accomplish this with the 2.10 release:

    1. create a custom context in extensions_custom.conf that adds a special numeric prefix to dialed numbers

    e.g.


    [from-fax-fxs-1]
    exten => _1NXXNXXXXXX,1,goto(from-internal,999${EXTEN},1)
    exten => _NXXNXXXXXX,1,goto(from-internal,999${EXTEN},1)
    exten => _NXXXXXX,1,goto(from-internal,999${EXTEN},1)
    include => from-internal

    2. assign the special extension in “context” field of the extension settings to use the new custom context “from-fax-fxs-1”

    3. add an outbound route with a dial pattern what will only match the strings dialed by this extension and remove the sentinel pattern before dialing out:

    e.g.


    999|1NXXNXXXXXX
    999|NXXNXXXXXX
    999|NXXXXXX

    and only assign the desired trunk to this outbound route.

    But having build-in support for this would be much nicer!

    Regards,
    Tim Miller Dyck

  29. Remote extension monitoring etc.. would be fantastic.

    Where asterisk + freepbx is most useful is for companies that have multiple branches (so a pbx at each branch) and quite a few inter office calls.

    Unfortunately the hacks you have to work with to get remote extensions working nicely in queues etc.. makes it usually easier to have a vpn between branches, and setup a second extension for any phone, that needs to be in a queue that way your not disabling phone voicemail, and blf works etc..etc..

  30. Since I support many sites across the US I find it difficult to know which extensions is part of which Pickup Group.
    If there was a way to print out a report I would be a happy man.
    I can’t tell you how many times I assigned an extension to a Pickup Group that is already used.

    Regards,
    Mike Z

Leave a Reply