Understanding the roll Asterisk plays in a phone system

I’ve been studying and reading a LOT on IP Phones, SIP providers and Asterisk. I need a simple setup for a small business office:

[] 1 Phone number for incoming calls (DID)
] 4 IP Phones for 4 people
[] Ability to have individual voicemails
] Ability to make multiple outbound calls, and receive multiple inbound calls at once on occasion.

If I understand everything correctly, I need to:

[] Purchase a plan from a SIP Provider with multiple channels (to make multiple calls at once), from some place like axvoice.com?
] Purchase a computer and install Asterisk, and setup asterisk with the SIP provider details.
[] Purchase IP Phones, and connect the phones to the Asterisk server. (Similar to as shown here (??): http://sysadminman.net/blog/2011/using-a-ciscolinksys-spa-504g-with-asterisk-and-freepbx-2714
] Setup extensions in Asterisk to handle the incoming calls.

Is this correct? I feel like I almost have it all figured out… I just have to actually get to doing it. But I’d hate to get everything purchased and setup… only to find that I missed one detail or something doesn’t work like I thought it did.

Thanks for any help!

That pretty much sums it up.
But for just 4 handsets you could look at a hosted solution for example as that will remove the expense of a server and time installing the software.