Compare commits
8 Commits
0fba719518
...
mob/fax-bo
| Author | SHA1 | Date | |
|---|---|---|---|
| a7112fc880 | |||
| ddb21e6e4a | |||
| 326fb0a54d | |||
| 02b83e06d3 | |||
| 78cf530fd3 | |||
| 39bfcd0080 | |||
| 6f9791746e | |||
| d093103d86 |
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,8 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
config,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(import ../../lib/auto-accept-zerotier-members.nix {
|
||||
@@ -10,6 +14,8 @@
|
||||
})
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [ self.overlays.asteriskOverlay ];
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
clan.core.sops.defaultGroups = [ "admins" ];
|
||||
clan.core.networking.targetHost = "root@[${config.clan.core.vars.generators.zerotier.files.zerotier-ip.value}]";
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
}:
|
||||
let
|
||||
user = "asterisk";
|
||||
faxDir = "/run/asterisk/fax";
|
||||
rtpPortFrom = 10000;
|
||||
rtpPortTo = 20000;
|
||||
ata-interface = settings.ata-ethernet-iface;
|
||||
@@ -240,6 +241,13 @@
|
||||
syslog.local0 => notice,warning,error
|
||||
'';
|
||||
|
||||
"modules.conf" = ''
|
||||
[modules]
|
||||
autoload=yes
|
||||
|
||||
load => res_fax_spandsp.so
|
||||
'';
|
||||
|
||||
# Dial plan config
|
||||
"extensions.conf" =
|
||||
let
|
||||
@@ -257,6 +265,16 @@
|
||||
same => n,Playback(hello-world)
|
||||
same => n,Hangup()
|
||||
|
||||
exten => 000,1,Answer()
|
||||
same => n,ReceiveFAX(${faxDir}/echo-''${UNIQUEID}.tiff)
|
||||
same => n,Set(FAXFILE=${faxDir}/echo-''${UNIQUEID}.tiff)
|
||||
same => n,Set(FAXECHO=true)
|
||||
|
||||
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 {
|
||||
localNumber = config.clan.core.vars.generators.phonebox.files.ata-local-number.value;
|
||||
@@ -318,6 +336,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${faxDir} 0755 ${user} ${user} - -"
|
||||
];
|
||||
|
||||
systemd.services.asterisk-watcher = {
|
||||
enable = true;
|
||||
description = "Asterisk Configuration files watcher";
|
||||
@@ -338,6 +360,12 @@
|
||||
asterisk -rx "pjsip reload"
|
||||
;;
|
||||
esac
|
||||
case "$file" in
|
||||
extensions.conf)
|
||||
echo "restarting core"
|
||||
asterisk -rx "core restart now"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -2,5 +2,10 @@
|
||||
{
|
||||
flake.overlays = {
|
||||
packagesOverlay = import ../pkgs/overlay.nix;
|
||||
asteriskOverlay = final: prev: {
|
||||
asterisk = prev.asterisk.overrideAttrs (old: {
|
||||
propagatedNativeBuildInputs = [ prev.pkgs.spandsp3 ];
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
00
|
||||
Reference in New Issue
Block a user