Best practice seems to be - implement highly resilient core system, preferably as dual data centre model, with centrally deployed unified comms applications (and call centre apps, if appropriate). Distribute calls, apps and customer data via resilient corporate MPLS or SIP network.
Removes all location dependencies, reduces local equipment deployment requirements (network switch, phone, pc only required), and centralises management, administration and support of the system.
for more info.
Hope this helps!
From my perspective, the answer is simple...use a SaaS-based, on-demand Unified Communications solution that provides full-featured hosted PBX, ACD, mobile messaging and full mobile-integrated functionality, amongst other things.
The flexibility and zero entry cost (presuming the satellite offices have broadband connectivity), with a low cost base service that is paid for a on a per-seat, per-month basis makes it ideal for this kind of application.
In the US, I would look at companies like Panterra Networks, who not only provide all of the above, but whose user interface is both highly intuitive and doesn't even require a software download or installation (so that the full suite of services are available on any PC, at any time, simply by logging and accessing all of the features and functions).
Hope that helps!