Updates

The whole call, inside the engine

The Kahevo Rust Engine now carries browser and app calls too, joins calls inside itself, and is chosen with one switch.

Earlier today we said the engine was live, and listed what was not on it yet. That list just got shorter.

Browser and app calls

The phone in your browser and the iPhone app use a stricter kind of encryption than desk phones do, with keys agreed fresh for every call. The engine now carries those calls as well. As with everything else, the cryptography comes from an established library and none of it is ours.

Joined inside the engine

Until now, even with the engine carrying the audio, every packet took a detour: out of the engine, through the rest of Kahevo, and back in. Now, when two people are talking, their audio passes straight from one side to the other inside the engine, including when the two sides use different codecs or one is encrypted and the other is not.

Memory left to clean up in a 15-second test of 500 calls
With the detour
198 MB
Joined inside
52 MB

Faster to connect

With the engine doing call setup as well:

Time to set up one call, with 500 in progress
Before
66 milliseconds
Now
23 milliseconds

One switch

On the Settings page there is now a choice: the Kahevo Rust Engine, or Kahevo Legacy. The page shows which is actually running, since a change takes effect at the next restart of the call service, and says so.

Each branch office has the same switch for its own box, and that one needs no restart: calls already in progress finish as they began, and new ones use the new engine.

Tested the unkind way

There is a standard collection of fifty deliberately malformed and misleading call messages, written to break phone systems. The engine now has a verdict on every one. We also aimed a fuzzer at it, which threw millions of random inputs and found two faults. Both are fixed, each with a test.

What is left

Time. The legacy engine stays as the fallback until the Rust engine has run everywhere long enough for us to stop looking over our shoulder.

Curious whether Kahevo fits?

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