Can I do all this with FreePBX?

I need to setup a PBX system. I started out trying to use PBX in a Flash but I’m not getting very far with it. I’m finding configuration to be difficult and the learning curve steep and I just don’t have a ton of time to put into this. I’m hoping FreePBX might be a little more user-friendly. I’ll post my goals below, but first, a little background…

I’m an entrepreneur with multiple business ventures (some active, some not – all based out of my home). When I start a venture, I always…
Register a domain
Setup [bizname]
Get a Google Voice phone number

My primary/most active venture is a mobile tech services business (focusing on computing, wireless/networking, etc.) A busy day is maybe 20 calls. I have a similar business that focuses on audio/video/home theater. Not very active, maybe one call per day but I expect this to increase soon. For either of these businesses, my role puts me at my customers’ houses and I don’t like to waste their time/money on calls from other customers. My wife, Krista, is my office manager/receptionist/personal assistant. She fields all the calls, schedules appointments, etc. She calls and/or texts me as necessary, and I have special ring/text tones for her because, if she’s calling, it’s probably important.

There are a couple of others businesses that currently have little/no call volume (which could change in the near future) and then there’s the parent company/LLC which receives an occasional call (2 or 3 per month) from a vendor or distributor, that’s all.

Current phone setup…

Krista and I use our mobile phones exclusively for personal calls. We don’t have a land line/”home number”, but I did purchase a Magic Jack for business usage. Google voice for my primary business (“TGM”) is configured to ring the MagicJack. It also rings my iPhone. It’s supposed to also ring an app (GV Mobile) on Krista’s iPhone but it doesn’t. Because Google won’t allow me to forward multiple GV numbers to the same phone, I paid $10 each for three Sipgate accounts (unlimited incoming minutes) and had the GV numbers for two additional ventures – plus the parent company number forwarded to the Sipgate numbers, which then forwarded to the MJ, and Krista’s/my iPhones. But Sipgate shut down their U.S. operations, so now only the TGM line is active. All other callers have to leave a voice mail and get a call back.

I have a dedicated server for use as my PBX box. It’s a dual-core Celeron machine. Since it’ll be running 24/7, I wanted to go with something that’s easy on the electric bill.

I don’t have any SIP phones yet. Krista doesn’t work from an office/desk – she works from wherever, using a multi-handset (analog) cordless phone system. I have a Linksys SPA2102 ATA (from when I was with some VOIP provider or another – maybe Vonage – several years ago). I believe it works but I’m open to buying cordless SIP phones if the ATA isn’t recommended.

So, finally, here are my goals - I’d appreciate hearing from you if you’ve actually done one or more of these with FreePBX so I know that each one is possible. I’d also appreciate your thoughts on how easy or hard it was to get it setup and working properly…

  1. When the phone rings, the caller ID should have a prepended prefix so that Krista knows which business was called and how to answer the phone.

  2. Krista should be able to put a caller on hold, call me, and talk to me before putting a call through OR hang up with me, get back to the caller, then put them through to my voice mail.

  3. When I get a voicemail message, I’d like to be notified on my iPhone by text message.

  4. Any time a customer leaves a voicemail message in the general mailbox,both Krista and I should be notified by text message and email, preferably with a link that lets us dial in to hear the message.

  5. When Krista calls a customer, she should be able to dial a prefix before the number, and this prefix will determine what (outbound CID) number is displayed to the customer.

  6. From outside the house, I would like to be able to call the desired business number, have it recognize me via my iPhone’s CID, then take me to a menu that would allow me to:
    6.1. Dial a customer- preferably by voice recognition/speaking the customer’s name or alternately by entering (on the phone/app keypad) the first few digits of the customer’s name. The call would then be placed with the desired outbound CID displayed to the customer – NOT my iPhone number.
    6.2. Listen to my voicemail messages
    6.3. Leave a voicemail message for Krista or another extension
    6.3.1. It should do this without actually ringing the phones in our house so Krista doesn’t answer/isn’t distracted by such calls
    6.4. All of the above should also be available to Krista via her iPhone when she is outside the house.

  7. Ideally, there would be a way (via iPhone app + open firewall ports/VPN/whatever) so that iPhones that are outside the house could function as though they were just another extension inside the house.

  8. Krista/I should be able to quickly/easily select from a few different outgoing messages – which would automatically change call routing. Ideally, this would be done by picking up a handset, dialing a 2 or 3 digit number, then hanging up.

  9. Krista needs to be able to put us on “Do Not Disturb” for a specified amount of time - at the end of which, the system would automatically take itself OFF Do Not Disturb. Ideally, this would work by calling a 2 or 3 digit number and responding to the system prompt, "All calls will be routed to the general voicemail box for how many minutes?"
    9.1. If possible, the 2 items above should be applied to all trunks/businesses automatically. If necessary, maybe a speed dial could be setup to dial the right 3 digit codes – with pauses in between – to set this up “macro-style”.

  10. Each trunk/business should automatically go on/off “Do Not Disturb” at specified times/days.

  11. An IVR system to give customers the option to listen to helpful announcements.

Thank you for your time and consideration.

Yeap, See and other modules!