I haven't tried 3CX yet, but I'm going to install it as soon as our new server gets here next week. I tried trixbox, but I'm going to try out a few Windows PBXes because if I ever leave this company somebody else will need to know how to maintain the system (linux = harder than windows).
It would be good to look up the number in an internal database. Most of the calls we get are from the same few companies. Our VOIP provider charges $.009 / lookup.
I'll let you know if I still feel this way in 3 weeks.