Asterisk is generally a good choice. One of the main reasons for that is its maturity. It's been around for a long time, and it has an unbelievably large user base, so you're more likely to be able to find answers on Google than with other open-source PBXs. Furthermore, if you're doing standard things, you're very unlikely to run into problems that other people haven't run into before.
There are alternatives though. Many argue that Asterisk is getting arcane and is building on top of old and obsolete code. FreeSWITCH is an alternative to Asterisk. It's getting fairly popular, and claims to tackle a lot of deep-rooted problems with Asterisk. I think FreeSWITCH is a very appealing PBX, but personally I shy away from it due to its heavy use of XML configuration files.
In summary; I definitely think an open-source PBX is the way to go. Whether it is Asterisk, CallWeaver (Asterisk v1.2 fork) or FreeSWITCH doesn't really matter. Just make sure to steer clear of proprietary systems. They're just not worth it these days.