|Isn't the future wonderful?
||[Thursday 17th November 2016 at 9:26 pm]
So I was chatting with pleaseremove as he was on his way home, and the call dropped. This is not unexpected - his route goes through an area of patchy signal that regularly eats phone calls (Devon is a bit like that).
What was unexpected is that when he called me back, he commented that at the same time as the call dropped his phone received an email. So mobile operators have solved the non-problem of being able to send/receive emails from anywhere, but have in the process broken phone calls. Isn't the future wonderful?
The hilarity is in the past I've worked on phone networks, and so I have some idea of why everything is so broken. The short answer is 4G is awesome for data... and terrible for everything else. And the hilarious answer is there's no need for it to be terrible - voice over 4G should be a straightforward SIP call except that appears to be too much like hard work and so until I think late last year a 4G phone would fallback to 2G/3G to make a phone call. While SMS over 4G is just terrible by design (I should know, I once wrote a IP-SM-GW gateway to deal with it) - there was a wonderful opportunity to remove the 160-character length limit and the crazy 7-bit-packed encoding, and instead the solution is to take the radio-level packets from a 2G phone and tunnel them over SIP.
Anyway, after that pleaseremove had the bright idea of trying Skype instead since data seemed bizarrely more reliable than voice calls. Let's see how well that worked...
*** Call from pleaseremove ***
*** Call dropped, duration 01:39 ***
pleaseremove: I give up
pleaseremove: Speak to you whenever
We're not sure what happened. Our best guess is that as he got home his phone picked up his wifi signal, tried to switch to using wifi for data, and ate the call. Because migrating a Skype call from one internet connection to another is Hard... except funnily enough I'm currently working with VoIP tech, and modern VoIP protocols can do this. Theoretically. If whatever WebRTC stack you're using has actually bothered to support it.