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.
- With the detour
- Joined inside
Faster to connect
With the engine doing call setup as well:
- Before
- Now
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.