I've been using
http://www.inphonex.com/ for a couple of years, for personal use, and also at work with an asterisk pbx. They are not the cheapest but I have yet to have a problem, and their support (which I have only used for configuration issues) is great.