Updates

The case of the calls that never arrived

Incoming calls stopped quietly behind an office router. Here is what it was and how we fixed it.

A good one for the scrapbook. Incoming calls stopped arriving, and the log showed nothing at all.

Nothing in the log

When a call fails, there is usually a trail: a request arrives, something refuses it, and you can read why. This time there was no trail, because there was no call. As far as Pidgin Talk could tell, nobody had rung.

Outgoing calls worked. The provider showed us as connected. Callers heard ringing and then gave up.

The cause

Two facts met in an unlucky way.

First, a basic office router only lets traffic in from an address you have recently sent something to. That is how it tells a reply from a stranger.

Second, a provider can deliver calls from more than one of its servers. Ours had two behind one name.

We were sending a small keepalive to one of them. Calls that happened to arrive from the other met a closed door at the router and were dropped before they ever reached us.

The fix

Pidgin Talk now finds every server a provider has and sends a keepalive to each of them, every twenty seconds. The path stays open whichever one delivers the call.

While we were in there, it also learned its own public address from what the provider reports back, and uses it in the messages it sends outside, so replies come to the right place.

The lesson

Silence in a log is a clue too. If nothing arrived, look at what stands between you and the sender. Calls came back, and so did our blood pressure.

Curious whether Kahevo fits?

Tell us what you run today and how many phones, and we will tell you honestly. Mahalo for reading.