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 }