I currently use
www.voicenetwork.ca
They have DIDs in Canada and USA.
The only problem with them is sending DTMF tones from a landlines/cell to them. e.g. if in Asterisk you configure the option to confirm the call when using follow me setting, so you hit 1 to accept or 2 to decline. Those DTMF tones won't get passed down.
They know about the issue and I spent hours with them trying to fix it, hopefully in the new year they are going to replace their switch to fix this issue.
Another service i would recommend is
www.Les.net
Both provides support IAX2 to overcome WAN/NAT problems, as well as SIP.
Cheers,
Jakub