I have a jailbroken iPhone 4S on AT&T in Cambridge, MA. My location has unreliable AT&T coverage, and I can't use Verizon or Sprint (too much coverage = pilot pollution). It's got to the point where I can't even reliably initiate a call, and if I can, it'll get dropped within 10 minutes. AT&T has been no help.
I get 2-3 bars on AT&T, so I can't use an AT&T MicroCell; those work best with no coverage, and they have handoff problems when you already have some reception.
I would prefer to stay with my iPhone if at all possible. What are my least-painful alternatives for making and receiving voice calls? So far, I've tried:
Google Talk via Talkatone. This is a very brittle app; after a few hours of network configuration, I was able to receive and place some calls, but it often crashes back to SpringBoard and it often sends calls straight to voicemail.
Skype via the native iPhone app. Their app isn't a great replacement for Phone.app; I have to re-enter my password frequently, remember to launch Skype after a reboot, have no way to silence a call while it's ringing (even flipping the "mute" switch doesn't stop it!), have poor integration with the native phonebook, etc.
Skype + AppFront. This adds a "call with Skype" button to Phone.app, but requires extra pop-up dialogs, doesn't handle Skype being offline or needing a password, etc.
I've looked at Viber but AFAICT this only uses WiFi when both parties have Viber.
What are my other options? I'd be happy to go as far as running my own VOIP server if it'd give me reliable phone service via my iPhone.