How do I upgrade from 2.2.1 to 2.5.x without breaking everything?

I’m not entirely new to * and FPBX. I’ve been using different combinations dating back to A@H. However, I’ve never done an upgrade of an operational system before. It’s always been a build from scratch.

I’ve got a system I’ve been running since Dec 2006 on Centos 4.4 w/ asterisk, 1.4.0, libpri 1.4.0, and zaptel 1.4.0 (all from the 1.4 launch). On top of it I run freePBX 2.2.1. The system works great and does what I need it so thus I’ve never upgraded it.

Now that they’ve upgraded us at work to Vista, IE7+Flash is no longer compatible with my legacy version of freePBX! I’m forced to upgrade to get FOP working correctly again, but I’m wary to pull the trigger for fear of breaking stuff and I do NOT want to re-build this PBX from scratch…

Simply put:

  1. What is the generally accepted, established, and most importantly PROVEN methodolgy for upgrading freeBPX on an operational system when it involves skipping several versions forward?

  2. How do I get all of my extension/trunk information re-populated into FreeBPX/FOP after the upgrade?

  3. Will my call records still work or will I need to re-configure the DB (MySQL)

  4. Can I run FreeBPX 2.5.x with Asterisk 1.4.0. I do not intend to upgrade Asterisk if I can avoid it.

Thanks in advance!