clanService:phonebox: fax echo feature
This commit is contained in:
@@ -30,7 +30,12 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
asterisk = pkgs.asterisk.overrideAttrs (old: {
|
||||||
|
propagatedNativeBuildInputs = [ pkgs.spandsp3 ];
|
||||||
|
});
|
||||||
|
|
||||||
user = "asterisk";
|
user = "asterisk";
|
||||||
|
faxDir = "/run/asterisk/fax";
|
||||||
rtpPortFrom = 10000;
|
rtpPortFrom = 10000;
|
||||||
rtpPortTo = 20000;
|
rtpPortTo = 20000;
|
||||||
ata-interface = settings.ata-ethernet-iface;
|
ata-interface = settings.ata-ethernet-iface;
|
||||||
@@ -191,6 +196,7 @@
|
|||||||
|
|
||||||
services.asterisk = {
|
services.asterisk = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
|
package = lib.mkDefault asterisk;
|
||||||
confFiles =
|
confFiles =
|
||||||
let
|
let
|
||||||
machines = lib.attrNames roles.default.machines;
|
machines = lib.attrNames roles.default.machines;
|
||||||
@@ -240,6 +246,13 @@
|
|||||||
syslog.local0 => notice,warning,error
|
syslog.local0 => notice,warning,error
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
"modules.conf" = ''
|
||||||
|
[modules]
|
||||||
|
autoload=yes
|
||||||
|
|
||||||
|
load => res_fax_spandsp.so
|
||||||
|
'';
|
||||||
|
|
||||||
# Dial plan config
|
# Dial plan config
|
||||||
"extensions.conf" =
|
"extensions.conf" =
|
||||||
let
|
let
|
||||||
@@ -257,6 +270,16 @@
|
|||||||
same => n,Playback(hello-world)
|
same => n,Playback(hello-world)
|
||||||
same => n,Hangup()
|
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 {
|
+ (genLocalExtenConf {
|
||||||
localNumber = config.clan.core.vars.generators.phonebox.files.ata-local-number.value;
|
localNumber = config.clan.core.vars.generators.phonebox.files.ata-local-number.value;
|
||||||
@@ -318,6 +341,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d ${faxDir} 0755 ${user} ${user} - -"
|
||||||
|
];
|
||||||
|
|
||||||
systemd.services.asterisk-watcher = {
|
systemd.services.asterisk-watcher = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Asterisk Configuration files watcher";
|
description = "Asterisk Configuration files watcher";
|
||||||
|
|||||||
Reference in New Issue
Block a user