I've heard lots of bad things about BroadVoice but I am looking for incoming PSTN service so I thought I'd try them. They have "unlimited" incoming calls on all of their plans. Even though they are SIP only, they openly provide all of the configuration data.
I subscribed to the "BYOD (bring your own device) Lite" plan of DID service and 100 minutes of outgoing calls for $5.95 (plus taxes) per month. The BYOD plan eliminates a good chunk of the large connect and disconnect fees. (It's hard for me to figure out why anyone would get a device through BV.)
This was the first time I'd used SIP but the VoIP-info setup instructions
I experimented a little with outgoing calls. I think I've determined that the outbound CallerID must be the account's. I tried changing the "fromuser" but then outgoing calls fail. Unfortunately calls also fail sometimes when I change it back.
Not being able to set the outgoing CallerID is a pain. It means I can't set my wife's calls to look like they're from her mobile number while mine appear to be from one of my numbers. Also, I haven't found a way to check the number of outgoing minutes used (which is so easy to do with Gafachi) so I'd have to keep track of them on my own. (That is surely something I could do with Asterisk but I don't know how yet.)
I'd rather use IAX2 for my calls, especially so that they could be handled by my colocated server or efficiently rerouted to another machine but the low fixed price for incoming calls is hard to beat. For outgoing calls I'll just use other services, perhaps with BV as a last resort, although if they permitted changing CallerID I'd be tempted to use their "unlimited business" plan for some projects. (I would still be reluctant due to the lack of encryption.)
--kyler