Based on Jason's suggestion in the comments for Rolling My Own Unified Home Phone System, I signed up for the voip.ms service and purchased a DID (phone number). Then I configured the Cisco SPA303 according to the voip.ms guidance as best I could (the guidance didn’t exactly match the phone). After that, I could receive calls but none of the calls I dialed went through. After much Googling and a moderately long back-and-forth with voip.ms support, the new line finally started working…sort of.
One thing voip.ms has going for it are multiple support vectors. You can email them, open a ticket, or get on live chat. I started with a support ticket and the next day, I was encouraged to open a live chat to work on the problem I was experiencing. After much calling of different numbers by me and by the support person, I was asked to change the SIP transport agent setting from UDP to TCP. That seemed to work.
(I’m stumped as to why that should work. My understanding of UDP is that it is faster than TCP and it has low latency = better voice quality. Still, the proof is in the pudding: TCP worked with voip.ms and UDP didn’t. The voip.ms blog addresses using TCP vs. UDP.)
Unfortunately, the lag time after dialing a number proved to be unacceptable, averaging about 15 seconds between completing the entry of numbers and the call being initiated. When I expressed some unhappiness about this to the support person, the response was that it was probably something in the phone device. I found that to be a very interesting response since line 2 is the LES.NET line and my outbound calls through LES.NET take at most 2 to 3 seconds to initiate…over UDP.
I then experimented with other voip.ms proxy locations and found significant differences. All of the Seattle proxies (located geographically closest to me) were much slower to respond than the Los Angeles proxies. I also experimented with UDP and TCP on a few different ports and found that TCP on a certain port was a bit quicker and more reliable than using UDP.
But there is a reliability problem. When I dial our home cell phones via the LES.NET DID, the calls go through. Every time. When I dial those same phones via the voip.ms DID, only about half of them actually connect. That's a problem.
LES.NET doesn't have a pretty web-based configuration interface. Their interface looks like something out of the late 80s or early 90s. If you want support, you email them. There is no FAQ or wiki. When I set up the LES.NET account and configured my phone, I had trouble because I was trying to use TCP as the SIP transport. Once I switched to UDP it started to work flawlessly. Instead of an email, one of the senior folks at LES.NET called my phone once we got it working to make sure it was working well. That is the personal level of service that LES.NET offers.
In contrast, the voip.ms interface is bright and modern. There are more support methods available through voip.ms, but at this point, I venture to say that perhaps they need more methods because the service isn't working for me nearly as smoothly as does LES.NET.
I also find that voice quality seems perceptibly better on LES.NET than calls on voip.ms, at least to my ears. Both lines are using the same codec.
I'll keep the voip.ms service a bit longer and fiddle a bit more to see if I can resolve whatever is causing the substantial difference in dialing delay and in successful connections. Meanwhile, I’ll award some ratings based on my experience so far. On a scale of 1 to 10, with 10 being best:
LES.NET
10 for reliability
10 for call quality
6 for additional services
2 for modern support channels
voip.ms
2 for reliability
8 for call quality
10 for additional services
8 for support channels
Please note that to me, the numbers don't really tell the tale because reliability has to be weighted first, call quality second, and everything else a distant third. On a weighted basis, LES.NET wins this comparison.
I will test voip.ms a bit more over the coming days. My gut feeling is that their proxy network is much more complex than for LES.NET, and that complexity is somehow contributing to the dialing delay and lack of reliability I’m experiencing. Perhaps with more time for data to propagate within their network, I’ll see less delay and more reliability.
If you’d like to sign up for LES.NET, visit: https://les.net/voice-services/
If you’d like to sign up for voip.ms, please use this code: MzU4MTQz
You should never really be able to hear the difference between UDP and TCP or TLS. The fact that you can, and your struggle with latency on your old voip provider, keep me thinking of a firewall issue. The firewalls in consumer routers are notorious for doing funny and unpredictable things with SIP UDP packets. Glad you got a different provider working. I would make sure your dial plan in your phone dials immediately after 10 or 11 digits, and that any "SIP" functions of your router are disabled, but otherwise, use what works for you! Enjoy.