New to VOIP & need advice on setting up a new system

Hello guys.
Im new to VOIP and have been reading up on it. I want to provide a virtual answering service for my clients.

What system or how would I go about organising the following.
I want my clients to register with me I gave them a VOIP number, they give this number as their office number. When a client of theirs ring they VOIP number. I want a system that will show me what company they are ringing so my staff can type it in to the pc and the company details will come on screen and they can then answer the call as if they worked for that company. They can then use a CRM system to keep account of the calls. I would also like a system were the call can be forwarded to a mailbox which my client can ring in at any time and check their messages, or I could forward them an sms or email or fax passing on the message. I would like to offer music on hold etc as well.
I want to bill my clients a monthly charge for the number and also for calls received.

Thanks for any advice given.

Have you googled asterisk crm, asterisk call center, etc? I’m pretty sure there are commercial offerings that satisfy your needs.