New service alongside phonebox. Boxes get a random 6 digit number (100000-999999) signed by the machine's yggdrasil key. A serf gossip cluster on yggdrasil port 7946 exchanges the signed records; phonebox-sync verifies key -> address derivation and the signature and writes the number -> address map to /run/phonebox/numbers for the asterisk dialplan. Any yggdrasil node running the service can reach any other; clan-core's ygg-input filter is opened for SIP, RTP and gossip. Includes a two-node VM test proving directory convergence and a call over yggdrasil. The existing phonebox service is untouched.
24 lines
370 B
Nix
24 lines
370 B
Nix
{
|
|
inputs,
|
|
self,
|
|
...
|
|
}:
|
|
let
|
|
module = ./default.nix;
|
|
in
|
|
{
|
|
clan.modules = {
|
|
phonebox-global = module;
|
|
};
|
|
perSystem =
|
|
{ ... }:
|
|
{
|
|
clan.nixosTests.service-phonebox-global = {
|
|
imports = [ ./tests/vm/default.nix ];
|
|
_module.args = { inherit self inputs; };
|
|
|
|
clan.modules."@clan/phonebox-global" = module;
|
|
};
|
|
};
|
|
}
|