I can speak for Grasshopper. I used this service for a client years ago to get a local phone number that we could track. We subscribed to a number and did a whole lot of citation cleanup, but in the end we could track call volumes generated from these listings.
For a PBX, I've been using Fonality for about 7 seven years. We hosted our own phone server, but since then fonality have taken the PBX to the cloud. I would recommend Fonality.
For call tracking I've used Call Rail and Kall8. Both these services will allow you to track calls and record calls for playback. Call Rail allows you to assign number for specific traffic sources like Adwords.
I found I needed a little more conversion tracking with call tracking and developed our own solution. We've rolled this out as WhatConverts.
New advertising option:
A review of your product or service posted by a Sterling Sky employee. This will also be shared on the Sterling Sky & LSF Twitter accounts, our Facebook group, LinkedIn, and both newsletters.