From 421a49b463189430ec762d08510a7fce02e4d35d Mon Sep 17 00:00:00 2001 From: kurogeek Date: Fri, 19 Jun 2026 16:32:43 +0700 Subject: [PATCH] mob next [ci-skip] [ci skip] [skip ci] lastFile:modules/clan/phonebox/default.nix --- inventories/default.nix | 7 +++++++ modules/clan/phonebox/default.nix | 28 ++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/inventories/default.nix b/inventories/default.nix index d4c3d19..289110b 100644 --- a/inventories/default.nix +++ b/inventories/default.nix @@ -178,6 +178,7 @@ input = "clan-core"; }; roles.default.tags."phonebox" = { }; + roles.default.settings.extraYggdrasilIPs = [ "200:c806:c13b:b855:723f:473:55:7904" ]; roles.default.settings.extraPeers = [ "tls://ygg.jjolly.dev:3443" "tls://[2602:fc24:18:7a42::1]:993" @@ -195,6 +196,12 @@ roles.default.machines."adhil".settings = { ata-ethernet-iface = "end0"; }; + roles.default.machines."rigel".settings = { + extraClientNumbers = [ + "01" + "02" + ]; + }; }; pulse-stream = { diff --git a/modules/clan/phonebox/default.nix b/modules/clan/phonebox/default.nix index 9499094..d944567 100644 --- a/modules/clan/phonebox/default.nix +++ b/modules/clan/phonebox/default.nix @@ -24,6 +24,11 @@ description = ""; default = ""; }; + options.extraClientNumbers = lib.mkOption { + type = with lib.types; listOf str; + description = "List of client suffix number."; + default = [ ]; + }; }; perInstance = { @@ -126,6 +131,22 @@ remove_existing=yes ''; + genLocalSIPEndpointV6 = + { localNumber }: + '' + [${localNumber}](internal_endpoint) + transport=transport-udp6 + aors=${localNumber} + auth=${localNumber} + + [${localNumber}](userpass_auth) + username=${localNumber} + password=${localNumber} + + [${localNumber}](dynamiic_aor) + max_contacts=1 + ''; + genLocalExtenConf = { localNumber }: '' @@ -356,6 +377,9 @@ + (genLocalExtenConf { localNumber = config.clan.core.vars.generators.phonebox.files.ata-local-number.value; }) + + lib.concatStringsSep "\n" ( + builtins.map (number: genLocalExtenConf { localNumber = number; }) settings.extraClientNumbers + ) + serverConf; "rtp.conf" = '' @@ -387,6 +411,7 @@ [base_endpoint](!) type=endpoint + transport=transport-udp disallow=all allow=ulaw,alaw,g722,gsm direct_media=no @@ -409,6 +434,9 @@ + (genLocalSIPEndpoint { localNumber = config.clan.core.vars.generators.phonebox.files.ata-local-number.value; }) + + lib.concatStringsSep "\n" ( + builtins.map (number: genLocalSIPEndpointV6 { localNumber = number; }) settings.extraClientNumbers + ) + serverConf; }; };