v3 spun off to give it full independence

There have been some inquiries over the last few weeks along with some additional news that has come out concerning the direction of FreePBX v3 and the lack of activity in SVN.

Rest assured that the intensive work that has gone into this project is live and well but will be continuing under a new project name.

When we set off with the development of v3 we wanted to rewrite a system from ground up and that is exactly how the project was executed. Darren (pyte) was and has been the chief architect of v3 from the beginning. In an attempt to make sure v3 could flourish with maximum creativity and not necessarily be hampered with any “baggage” from v2, the projects were run fairly independently though they shared this same website.

The fact that they were both under the same “FreePBX” umbrella started to create a bit of confusion in places like the Forums and IRC channel. There was also often concern that v2 development, which supports an installed base of probably 500K systems, would be slowed because of v3. Given that v3 has been a rewrite from ground up there was also concern by some when its feature set in the early “betas” was a subset in many ways of what AMP 1.0 had 5.5 years ago.

It became clear that the best thing that could be done for both projects was to spin v3 off into its own identitty thus allowing both FreePBX and the new rewrite to flourish and serve the community in the best possible way. The new project, still run by Darren, is named 2600hz Project and will be the new home to allow v3 to flourish, while FreePBX (v2) continues to evolve and serve the large installed base that it enjoys today.

We will be cleaning up the current web site over the next week to reflect these directions and are excited as always for all the great work that is being done in this place and by all the contributors that help us make such a great project!

Philippe on behalf of the FreePBX Team

FreePBX 2.8 out the Door and 2.9 Coming Strong

We are excited to have the 2.8 release finalized and released for general availability. We moved to final release status at the beginning of this past week finishing the [url=/v2/milestone/2.8]2.8 Milestone[/url] with [url=/v2/query?status=closed&group=component&milestone=2.8&order=priority]332 closed tickets[/url] comprising of 231 bugs and 101 feature requests and similar. As always, a majority of the bug fixes are bugs from version 2.7 and earlier which are usually only addressed in the new release.

The efforts of 2.8 have been going strong since the beginning of March and we extended the beta testing period to assure a solid release since there were several changes in critical sections of the dialplan. There are way too many changes to recap all the added benefits throughout the release, some visible, some hidden. Some of the big areas that had substantial improvements include [url=/news/2010-03-20/sneak-preview-of-2-8]Outbound Routes[/url] (and some visual changes to outbound trunks), the new [url=/news/2010-05-09/preview-the-all-new-directory]Company Directory[/url], some [url=/news/2010-05-30/high-availability-backup-and-restore]HA related enhancements to the Backup and Restore module[/url], some significant scalability improvements to Queues, [url=/news/2010-03-20/sneak-preview-of-2-8]visual improvements to tool tips and “destination select boxes”[/url] thoughout and a host of other enhancements and new features across the system.

Join the 3900 systems who have moved to 2.8 so far and spend some time digging around to see what new features may be valuable to your system!

While we relish in a job well done on 2.8, the steam is already building up on work for 2.9! I mentioned plans around the Endpoint Manager and DAHDi configuration modules in [url=/news/2010-07-06/plans-for-the-next-milestone-2-9]last week’s blog[/url] and progress on that front continues to be strong! The definition of other features for 2.9 is still very much in the planning state as you will notice if you visit the [url=/v2/milestone/2.9]2.9 Milestone[/url]. We’ve had some suggestions in the forums and in tickets concerning other important areas people would like us to work on but more input is very welcome. If you already have feature requests in the ticket system, feel free to bump them onto the the radar scope. We will be looking though existing requests but they can be easy to miss when there are almost 500 tickets to sift through!

For now, have a great weekend and then we look forward to your help in defining the next great release!

[b]Philippe[/b] – On Behalf of the FreeBPX Team

Plans for the Next Milestone (2.9)

I’m hoping that all of you in the States had a good July 4th Weekend, or for our Northern neighbors, a great Canada Days celebration! The current 2.8 release is looking great with over 2700 systems running the new version and very little noise on the bug tracker front. With those stats, we will be moving it from a release candidate to a final release this week so stay tuned!

With 2.8 winding down we will start gearing up our focus even more on the next milestone for version 2.9. We are really excited about some of the things that we have in store for this next version but as always will be looking towards to community for other ideas and contributions to keep things rolling.

There are a couple modules that we are hoping to make part of this next milestone and they are currently available to play with in the contributed_modules SVN repository.

The first is an End Point manager to be officially part of the FreePBX application. There were some efforts over a year ago by some active community members to get this effort going which did gain some initial momentum for a while. In the last 6 months a very dedicated developer, Andrew (tm1000) picked up the project and started the long task of cleaning it up and moving it forward. He has since moved this module into our repository and started working with the team to integrate it closely in FreePBX. We are all very excited on the prospects this has and look forward to working with tm1000 to get this module fully integrated.

Next is the DAHDi configuration module that was developed by Digium and recently included in their AsteriskNOW 1.7 ISO of FreePBX. This module allows FreePBX to detect and configure DAHDi cards on your system for use within FreePBX. I’ve added this module to the contributed_modules SVN repository and added several enhancements to integrate into the DAHDi Trunk and Extension configuration pages, such that the configuration provided by the modules are offered up in select boxes to these pages vs. the vanilla text boxes that are necessary when no DAHDi configuration module is present. We are excited to be bringing this module into the FreePBX application as well!

Currently there are [url=/v2/query?status=new&status=assigned&status=reopened&group=type&milestone=Cut+Line&order=priority]468 Active Feature Requests and Other Tickets[/url] which we will be sifting through as well to start filling out the target feature set for this next release. That’s a lot of tickets to sift through and it’s easy to miss ones so as always, feedback from you will help in considering what we try to get in to the release. So speak up and let us know!

For now, go try out version 2.8 if you haven’t already and we’ll be back soon with more information and updates!

[b]Philippe[/b] – On behalf of the FreePBX team!

FreePBX 2.8 Release Candidate Released

We hinted at the potential of a release candidate [url=/news/2010-06-18/freepbx-2-8-almost-ready-for-release-candidate]in last week’s blog[/url] and from the great stability we’ve seen so far here we are! We’ve now had about 1500 testers on the previous beta which is enough with the low bug rate to move forward as we just did! As of this blog we’ve closed 299 tickets against the [url=/v2/milestone/2.8?by=type]2.8 Milestone[/url] many of them being new features or bug fixes that existed in prior releases (and are often ONLY fixed in this release!)

We mentioned last week that we provided a [url=/news/2010-03-20/sneak-preview-of-2-8]Sneak Preview[/url] of the release in an earlier blog, and have discussed just a few of the exciting features such as the [url=/news/2010-05-09/preview-the-all-new-directory]Company Directory Module[/url] and the enhanced [url=/news/2010-05-30/high-availability-backup-and-restore]Remote Backup (e.g poor man’s HA)[/url] capabilities in earlier blogs as well. We are also excited to have upgraded the sound files in the Company Directory, as always much thanks to Allison for her great voice talent!

We’ll reiterate that there are way too many enhancements both big and small to try and list them here, and some of them you may find are quite “hidden” without digging though. For example, did you know that you can now collapse/expand categories in the Left Navigation bar by simply clicking on the category? If you are really picky, have a look at the new “secret” [url=/v2/ticket/4311]freepbx_admin.conf INI file[/url], which lets you completely re-arrange the layout and names on the Left Navigation bar. (Sorry, there’s no GUI or module for that yet, maybe in the future…). You can drill down in the [url=/v2/milestone/2.8?by=type]2.8 Milestone[/url] and then into the tickets to get an idea of all that 2.8 is bringing.

For now, we are looking forward that you to spend some time exploring all the small and big things we have done with version 2.8. As we wrap up this milestone, we are really excited to start planning for the next one. We have some great ideas in mind and as always we’ll be sifting through the trac system looking at open tickets to consider when planning the next release. We’ve also been thinking about a new facelift as it’s been a while, maybe we’ll get motivated … stay tuned!

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

High Availability Backup and Restore

In our never ending quest to make FreePBX the best phone system that doesn’t require money to buy (and even better than most that do cost money…), allow us to introduce you to the latest features in the Backup & Restore module. [url=/news/2010-05-09/preview-the-all-new-directory]Last week[/url] we alluded to a critical server error, but left you guessing as to how we address that. This is a big step in that direction.

Along with the kind assistance provided by some customers of [url=/support-and-professional-services]FreePBX Professional Support[/url] (in the form of time donated for a feature they needed for their business), the boys over at Schmoozecom (disclaimer: including yours truly) have once again surpassed all expectations. As of FreePBX 2.8, (currently in beta – more on that later) the Backup module includes built in support for High Availability clustering!

[img]/files/images/HA-backup.png[/img]

The following is an interview I had with Me (aka myself), elaborating on the new features:

[b]I: So, what is this new HA (High Availability) feature, and why are we so excited with it?[/b] [b]Me:[/b] To ensure that their critical infrastructure maintains a high level of reliability, many business seek out HA solutions of one type of another. To that end, we have introduced an automated capability for a designated server (herein: backup server) to periodically backup a production server (herein: primary server) and to restore said backup on the backup server. This ensures that the backup server always has a fresh copy of the primary server’s settings, and is ready to take over should the primary server fail.

[b]I: Billions of bilious blistering barnacles – that’s not true HA! True HA means the backups in real time and instant hand off between the two servers?![/b] [b]Me:[/b] Actually, according to ( wait for it – you’ll never guess!) Wikipedia, HA is [i]“is a system design … to ensures a certain degree of operational continuity…“.[/i] While there may be some benefit to having both the backups and hand-offs in real-time, such solutions can to be overly complex and way above the requirements of many organizations. Additionally, such solution tend to require a unique and complex setup with additional components not usually installed on FreePBX based distributions. Being OS agnostic, FreePBX is best not left to deal with the configuration and maintenance of such solutions. Instead, FreePBX takes a simplistic approach, removing much obscurity and confusion from the picture. Keep in mind, however, that FreePBX’s HA implementation can be used as part of a greater HA solution, perhaps including real-time fail-over support.

[b]I: So, how does FreePBX backup a server?[/b] [b]Me:[/b] The backup server can perform backups at any requested interval – ranging from every minute (not recommended for most scenarios) to multiple times per hour/day/week/month, etc. It then restores the backup to itself, wiping away any previous configurations, and replacing them with the latest setting from the production server.

Optionally, the backup server can be configured NOT to restore the setting locally, and act as a storage area for backing up MANY primary servers. In this configuration, the backup server keeps copies of backups handy, ready to be restored locally in the event of a failure to any of the primary servers. Please note that in this scenario, the backup server will continue to function as a backup server, even in the capacity of a surrogate to the failed production server.

[b]I: How does production move to the backup server?[/b] [b]Me:[/b] As mentioned previously, on its own – it doesn’t. The sysadmin is required to manually change the ip address of the server so that all peers can find it. This also allows the sysadmin more control of the switching over process, more notification to error’s and an incentive to ensure that the primary server doesn’t fail in the first place!

Additionally, there are services that can do the fail over automatically, but those are beyond the scope of this discussion. Apparently, these can be enabled in certain routers as well.

[b]I: Great! This is the perfect way to backup my CDR’s![/b] [b]Me:[/b] Actually, if you require real-time backups of cdr’s, your probably better off with a master-slave setup for your database (for the cdrs that is).

[b]I: After a backup is restored, what happens to my trunks – will they automatically try to register to my provider and ‘steal’ the incoming calls from the primary server?[/b] [b]Me:[/b] No. FreePBX requires that you click the orange bar at the top of the screen for any changed settings to go in to affect. This can be done manually or, if you’re using other elements as part of you HA solution, programmaticly by calling [code]/var/lib/asterisk/bin/module_admin reload[/code]. If you have traditional PSTN trunks (not VoIP), additional measures will have to be taken to connect those lines to your PBX and assure they are up and running.

[b]I: Bougainvillea! How do I backup the backup server?![/b] [b]Me:[/b] Exposed now in the GUI are many different options that can be run after a backup is complete. For example, copy the backup to an ftp server, ssh the backup to another host, or even have it emailed to you.

[b]I: Doesn’t the ability to pull a backup off a primary server pose a security risk?[/b] [b]Me:[/b] We have gone to great lengths to ensure that your phone system remains safe and secure throughout this process. The backups are all executed over ssh and encrypted with the public key.

[b]I: Public keys rock! (Uh, What are public keys?)[/b] [b]Me:[/b] Public/private keys are a method to encrypt data sent over insecure connections – easily considered one of the securest method in the world. See here for more info.

[b]I: Right, I knew that! But just to make sure, can you ‘remind’ me how to set up ssh keys?[/b] [b]Me:[/b] That’s probably something better left for the wiki/forums, but here is a very, very, very quick primer (designed for Cent OS systems, assuming asterisk is running as Linux user asterisk):
[code] sudo -u asterisk ssh-keygen
hit [enter] hit [enter] hit [enter] [/code] Then copy the public key to the primary server:
[code]sudo -u asterisk ssh-copy-id -i /var/lib/asterisk/.ssh/id_rsa.pub root@[/code] Your output should look something like this:
[code] [root@localhost /]# sudo -u asterisk ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/asterisk/.ssh/id_rsa):
Created directory ‘/var/lib/asterisk/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/asterisk/.ssh/id_rsa.
Your public key has been saved in /var/lib/asterisk/.ssh/id_rsa.pub.
The key fingerprint is:
ae:2d:fd:b7:19:d3:e8:34:8a:a9:7d:76:1c:71:c4:a8 asterisk@localhost.localdomain

[root@localhost /]# sudo -u asterisk ssh-copy-id -i /var/lib/asterisk/.ssh/id_rsa.pub root@myserver.example.com

The authenticity of host ‘myserver.example.com (21.158.66.3)’ can’t be established.
RSA key fingerprint is 8e:ae:6a:49:bb:1b:1b:91:3f:02:4f:65:ab:e7:5e:6b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘myserver.example.com,21.158.66.3’ (RSA) to the list of known hosts.
root@myserver.example.com’s password:
Now try logging into the machine, with “ssh ‘root@myserver.example.com'”, and check in:

.ssh/authorized_keys

to make sure we haven’t added extra keys that you weren’t expecting.
[root@localhost /]#

[/code] [b]I: Duh! Now, what do I need to do in the backup module?[/b] [b]Me:[/b] Under Remote Backup Options, put in the hostname or IP address of the primary server, the user name (probably root), and the private ssh key (if you followed the steps above, that should be: [code]/var/lib/asterisk/.ssh/id_rsa[/code]). To restore the backup immediately, check “Restore to this server”.
[url=/files/images/ha-backup-opts.png][img=235×75]/files/images/ha-backup-opts.png[/img][/url] [b]I: Great, I’m all set. One last thing – why don’t I see these options in my backup module?[/b] [b]Me:[/b] These options were included starting with FreePBX 2.8, currently in beta. Feel free to start beta testing 2.8! Have a look [url=/news/2010-05-24/freepbx-2-8-beta2]here[/url] for more info.

[b]I: Thank you so much for sharing your thoughts with me. Is there anything else you would like to add?[/b] [b]Me:[/b] Yes. As of [url=/news/2010-05-09/preview-the-all-new-directory]last week[/url] there were some issues threatening the continuity of Custom Contexts as of FreePBX 2.8. Congratulation and a tip of the hat to all those that step up to [url=/bounties/custom-context]contribute and help resolve[/url] the issue!

[b]Moshe Brevda[/b]