diff --git a/machines/rigel/configuration.nix b/machines/rigel/configuration.nix index 025ff57..ce05492 100644 --- a/machines/rigel/configuration.nix +++ b/machines/rigel/configuration.nix @@ -1,4 +1,9 @@ -{ config, pkgs, self, ... }: +{ + config, + pkgs, + self, + ... +}: { imports = [ (import ../../lib/auto-accept-zerotier-members.nix { @@ -10,7 +15,7 @@ }) ]; - nixpkgs.overlays = [ self.overlays.packagesOverlay ] ; + nixpkgs.overlays = [ self.overlays.packagesOverlay ]; system.stateVersion = "25.11"; clan.core.sops.defaultGroups = [ "admins" ]; diff --git a/modules/clan/phonebox/default.nix b/modules/clan/phonebox/default.nix index 9b772a1..5b8c97a 100644 --- a/modules/clan/phonebox/default.nix +++ b/modules/clan/phonebox/default.nix @@ -31,6 +31,7 @@ }: let user = "asterisk"; + faxDir = "/run/asterisk/fax"; rtpPortFrom = 10000; rtpPortTo = 20000; ata-interface = settings.ata-ethernet-iface; @@ -259,26 +260,20 @@ ) "" nodes; in '' - [send-fax-sub] - exten => s,1,SendFAX($FAXFILE) - same => n,Return() - - [sendfax] - exten => s,1,SendFAX(/run/asterisk/test.tiff) - same => n,Hangup() - [from-internal] exten => 999,1,Answer() same => n,Playback(hello-world) same => n,Hangup() exten => 000,1,Answer() - same => n,ReceiveFAX(/run/asterisk/test.tiff) - same => n,Set(FAXFILE=/run/asterisk/test.tiff) - same => n,Hangup() + same => n,ReceiveFAX(${faxDir}/echo-''${UNIQUEID}.tiff) + same => n,Set(FAXFILE=${faxDir}/echo-''${UNIQUEID}.tiff) + same => n,Set(FAXECHO=true) - exten => h,1,NoOp(After Hangup) - same => n,Originate(PJSIP/00,app,SendFAX,/run/asterisk/test.tiff) + exten => h,1,GotoIf($[''${FAXECHO}]?sendfax) + same => n,Hangup() + same => n(sendfax),Originate(PJSIP/00,app,SendFAX,${faxDir}/echo-''${UNIQUEID}.tiff) + same => n,Set(FAXECHO=false) '' + (genLocalExtenConf { @@ -341,6 +336,10 @@ }; }; + systemd.tmpfiles.rules = [ + "d ${faxDir} 0755 ${user} ${user} - -" + ]; + systemd.services.asterisk-watcher = { enable = true; description = "Asterisk Configuration files watcher";