nixos

NixOS server files. Mirror from https://git.nordgedanken.dev/kubernetes/nixos
git clone git://archive.git.mtrnord.blog/MTRNord/nixos.git
Log | Files | Refs | README

asterisk.nix (3937B)


      1 {
      2   lib,
      3   pkgs,
      4   config,
      5   ...
      6 }: {
      7   nixpkgs = {
      8     # Configure your nixpkgs instance
      9     config = {
     10       asterisk = {
     11         withOpus = true;
     12       };
     13     };
     14   };
     15   services.asterisk = {
     16     enable = true;
     17     confFiles = {
     18       "cel.conf" = ''
     19         [general]
     20         enable = yes
     21         apps=dial,park
     22         events=ALL
     23       '';
     24       "cdr.conf" = ''
     25         [general]
     26         enable = yes
     27       '';
     28       "extensions.conf" = ''
     29         [tests]
     30         exten => 100,1,Answer()
     31         same => n,Verbose(0, 1s)
     32         same => n,Wait(1)
     33         same => n,Verbose(0, Playing jazz)
     34         same => n,Playback(/var/lib/asterisk/sounds/music/waiting)
     35         same => n,Hangup()
     36 
     37         [epvpn]
     38         exten => _00XXXX!,1,Set(CALLERID(num)=2903)
     39         same => n,Verbose(0, Going to play hello)
     40         same => n,BackGround(/var/lib/asterisk/sounds/en/calling)
     41         same => n,Verbose(0, Going to dial ''${EXTEN:2}@eventphone)
     42         same => n,Dial(PJSIP/''${EXTEN:2}@eventphone,30,r)
     43 
     44         [internals]
     45         include => epvpn
     46         include => tests
     47         exten => 200,1,Answer()
     48         same => n,Verbose(0, Going to play hello)
     49         same => n,BackGround(/var/lib/asterisk/sounds/en/calling)
     50         same => n,Verbose(0, Going to dial ''${PJSIP_DIAL_CONTACTS(webrtc_client)})
     51         same => n,Dial(''${PJSIP_DIAL_CONTACTS(webrtc_client)},30,rm)
     52 
     53         exten => 6001,hint,PJSIP/6001
     54 
     55         exten => i,1,Answer()
     56         same  => n,Playback(/var/lib/asterisk/sounds/en/check-number-dial-again)
     57         same => n,Hangup()
     58 
     59         [externals]
     60         exten => 2903,1,Answer()
     61         same => n,BackGround(/var/lib/asterisk/sounds/en/agent-newlocation)
     62         same => n,Verbose(0, Going to wait for exten)
     63         same => n,WaitExten(30)
     64         same => n,Verbose(0, After wait for exten. Hanging up)
     65         same => n,Playback(/var/lib/asterisk/sounds/en/cannot-complete-as-dialed)
     66         same => n,Hangup()
     67 
     68         ; exten => 7903,1,Answer()
     69         ; same => n,BackGround(/var/lib/asterisk/sounds/en/agent-newlocation)
     70         ; same => n,Verbose(0, Going to wait for exten)
     71         ; same => n,WaitExten(30)
     72         ; same => n,Verbose(0, After wait for exten. Hanging up)
     73         ; same => n,Playback(/var/lib/asterisk/sounds/en/cannot-complete-as-dialed)
     74         ; same => n,Hangup()
     75 
     76         exten => 1,1,Answer()
     77         same => n,Verbose(0, Routing to 6001)
     78         ;same => n,BackGround(/var/lib/asterisk/sounds/music/waiting)
     79         same => n,Dial(''${PJSIP_DIAL_CONTACTS(6001)},30,rm)
     80         same => n,Verbose(0, Failed to call 6001. Hanging up)
     81         same => n,Playback(/var/lib/asterisk/sounds/en/cannot-complete-as-dialed)
     82         same => n,Hangup()
     83 
     84         exten => 1-NOANSWER,1,Playback(/var/lib/asterisk/sounds/en/all-circuits-busy-now)
     85         same => n,Hangup()
     86 
     87         exten => i,1,Answer()
     88         same  => n,Playback(/var/lib/asterisk/sounds/en/check-number-dial-again)
     89         same => n,Hangup()
     90 
     91         [webrtc]
     92         include => tests
     93 
     94         exten => 6001,1,Answer()
     95         same => n,Verbose(0, Routing to 6001)
     96         same => n,Dial(''${PJSIP_DIAL_CONTACTS(6001)},30,rm)
     97         same => n,Verbose(0, Failed to call 6001. Hanging up)
     98         same => n,Playback(/var/lib/asterisk/sounds/en/cannot-complete-as-dialed)
     99         same => n,Hangup()
    100 
    101         [unauthorized]
    102       '';
    103 
    104       "logger.conf" = ''
    105         [general]
    106 
    107         [logfiles]
    108         ; Add debug output to log
    109         syslog.local0 => notice,warning,error,dtmf,debug,verbose
    110       '';
    111 
    112       "musiconhold.conf" = ''
    113         [general]
    114         [default]
    115         mode=files
    116         directory=/var/lib/asterisk/sounds/music/
    117       '';
    118 
    119       "http.conf" = ''
    120         [general]
    121         enabled = yes
    122         bindaddr = 127.0.0.1
    123         bindport=8088
    124 
    125         enablestatic=yes
    126         prefix=
    127         sessionlimit=100
    128         session_inactivity=30000
    129         session_keep_alive=15000
    130       '';
    131     };
    132   };
    133 }