67 lines
2.1 KiB
Nix
67 lines
2.1 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
# todo: the prestart service copies to the wrong dir
|
|
services.asterisk = {
|
|
enable = true;
|
|
#extraArguments = ["-vvvddd"];
|
|
confFiles."asterisk.conf" = ''
|
|
[directories]
|
|
astetcdir => /etc/asterisk/
|
|
astmoddir => ${pkgs.asterisk}/lib/asterisk/modules
|
|
astvarlibdir => /var/lib/asterisk
|
|
astdbdir => /var/lib/asterisk
|
|
astkeydir => /var/lib/asterisk
|
|
astdatadir => /var/lib/asterisk
|
|
astagidir => /var/lib/asterisk/agi-bin
|
|
astspooldir => /var/spool/asterisk
|
|
astrundir => /var/run/asterisk
|
|
astlogdir => /var/log/asterisk
|
|
astsbindir => ${pkgs.asterisk}/sbin
|
|
'';
|
|
};
|
|
environment.etc = {
|
|
# Loading all modules by default is considered sensible by the authors of
|
|
# "Asterisk: The Definitive Guide". Secure sites will likely want to
|
|
# specify their own "modules.conf" in the confFiles option.
|
|
"asterisk/modules.conf".text = ''
|
|
[modules]
|
|
autoload=yes
|
|
'';
|
|
|
|
# Use syslog for logging so logs can be viewed with journalctl
|
|
"asterisk/logger.conf".text = ''
|
|
[general]
|
|
[logfiles]
|
|
syslog.local0 => notice,warning,error
|
|
console => debug,notice,warning,error,verbose,dtmf,fax
|
|
'';
|
|
};
|
|
environment.systemPackages = with pkgs; [
|
|
asterisk
|
|
];
|
|
#networking.firewall.allowedUDPPorts = [5060];
|
|
#networking.firewall.allowedTCPPorts = [5060];
|
|
networking.firewall.extraCommands = ''
|
|
iptables -A nixos-fw -p udp -s 193.169.138.0/23 -j nixos-fw-accept
|
|
iptables -A nixos-fw -p udp -s 91.232.130.0/24 -j nixos-fw-accept
|
|
iptables -A nixos-fw -p udp -s 81.205.5.19 -j nixos-fw-accept
|
|
iptables -A nixos-fw -p tcp -s 193.169.138.0/23 -j nixos-fw-accept
|
|
iptables -A nixos-fw -p tcp -s 91.232.130.0/24 -j nixos-fw-accept
|
|
iptables -A nixos-fw -p tcp -s 81.205.5.19 -j nixos-fw-accept
|
|
'';
|
|
# nixpkgs.config = {
|
|
# packageOverrides = pkgs : {
|
|
# asterisk = pkgs.asterisk.overrideDerivation (attrs: rec {
|
|
# version = "13.11.2";
|
|
# broken = false;
|
|
|
|
# src = pkgs.fetchurl {
|
|
# url = "http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-${version}.tar.gz";
|
|
# sha256 = "0fjski1cpbxap1kcjg6sgd6c8qpxn8lb1sszpg6iz88vn4dh19vf";
|
|
# };
|
|
# });
|
|
# };
|
|
# };
|
|
}
|