bvm-prosody: eventphone stuff
This commit is contained in:
parent
d04959acf9
commit
855faad5a0
3 changed files with 118 additions and 3 deletions
14
ops/nixos/bvm-prosody/asterisk-override.nix
Normal file
14
ops/nixos/bvm-prosody/asterisk-override.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ asterisk, fetchFromGitHub, fetchpatch, ... }:
|
||||
|
||||
asterisk.overrideAttrs (old: {
|
||||
#src = /home/lukegb/Projects/asterisk;
|
||||
#patches = [ /home/lukegb/Projects/asterisk.patch ];
|
||||
patches = [
|
||||
#(fetchpatch {
|
||||
# url = "https://p.lukegb.com/raw/MultiplyMagicalKoi.patch";
|
||||
# sha256 = "056iy9415xyp9g69xs8ckyvccs8sskc7zp7frnwrvl7wlxnsf2va";
|
||||
#})
|
||||
/home/lukegb/Projects/asterisk.patch
|
||||
];
|
||||
enableParallelBuilding = true;
|
||||
})
|
|
@ -6,6 +6,7 @@
|
|||
{
|
||||
imports = [
|
||||
../lib/bvm.nix
|
||||
./eventphone-asterisk.nix
|
||||
];
|
||||
|
||||
# Networking!
|
||||
|
@ -58,9 +59,6 @@
|
|||
services.prosody = {
|
||||
enable = true;
|
||||
admins = [ "admin@lukegb.com" "lukegb@lukegb.com" ];
|
||||
package = pkgs.prosody.override {
|
||||
withCommunityModules = [ "external_services" ];
|
||||
};
|
||||
|
||||
virtualHosts."lukegb.com" = {
|
||||
enabled = true;
|
||||
|
@ -112,6 +110,9 @@
|
|||
secret = turn_secret,
|
||||
}
|
||||
}
|
||||
|
||||
Component "asterisk.lukegb.com"
|
||||
component_secret = "thisisasampleofspeex"
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
100
ops/nixos/bvm-prosody/eventphone-asterisk.nix
Normal file
100
ops/nixos/bvm-prosody/eventphone-asterisk.nix
Normal file
|
@ -0,0 +1,100 @@
|
|||
# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
{ depot, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
services.asterisk = {
|
||||
enable = true;
|
||||
confFiles = {
|
||||
"pjsip.conf" = ''
|
||||
[transport-udp]
|
||||
type=transport
|
||||
protocol=udp
|
||||
bind=92.118.28.3
|
||||
|
||||
[transport-udp-v6]
|
||||
type=transport
|
||||
protocol=udp
|
||||
bind=2a09:a441::3
|
||||
|
||||
[eventphone-registration]
|
||||
type=registration
|
||||
transport=transport-udp
|
||||
outbound_auth=eventphone-auth
|
||||
server_uri=sip:voip.eventphone.de
|
||||
client_uri=sip:5422@voip.eventphone.de
|
||||
contact_user=5422
|
||||
retry_interval=60
|
||||
forbidden_retry_interval=600
|
||||
expiration=3600
|
||||
line=yes
|
||||
endpoint=eventphone
|
||||
|
||||
[eventphone-auth]
|
||||
type=auth
|
||||
auth_type=userpass
|
||||
username=5422
|
||||
password=BPun1r0l7JJZ
|
||||
realm=voip.eventphone.de
|
||||
|
||||
[eventphone]
|
||||
type=endpoint
|
||||
allow=!all,ulaw,alaw
|
||||
context=eventphone-incoming
|
||||
outbound_auth=eventphone-auth
|
||||
transport=transport-udp
|
||||
aors=eventphone-aor
|
||||
from_domain=voip.eventphone.de
|
||||
|
||||
[eventphone-aor]
|
||||
type=aor
|
||||
contact=sip:voip.eventphone.de
|
||||
max_contacts=10
|
||||
|
||||
[eventphone-identify]
|
||||
type=identify
|
||||
endpoint=eventphone
|
||||
match=45.15.105.12/32
|
||||
'';
|
||||
"motif.conf" = ''
|
||||
[default](!)
|
||||
disallow=all
|
||||
allow=ulaw
|
||||
allow=h264
|
||||
context=incoming-motif
|
||||
|
||||
[prosody](default)
|
||||
transport=ice-udp
|
||||
connection=prosody
|
||||
'';
|
||||
"xmpp.conf" = ''
|
||||
[general]
|
||||
debug=yes
|
||||
|
||||
[prosody]
|
||||
type=component
|
||||
serverhost=localhost
|
||||
username=asterisk.lukegb.com
|
||||
secret=thisisasampleofspeex
|
||||
port=5347
|
||||
context=xmpp-incoming
|
||||
debug=yes
|
||||
usetls=no
|
||||
usesasl=no
|
||||
autoregister=yes
|
||||
buddy=lukegb@lukegb.com
|
||||
'';
|
||||
"extensions.conf" = ''
|
||||
[eventphone-incoming]
|
||||
exten => _X.,1,Answer()
|
||||
exten => _X.,n,Dial(Motif/prosody/lukegb@lukegb.com)
|
||||
|
||||
[xmpp-incoming]
|
||||
exten => _X.,1,Dial(PJSIP/''${EXTEN:1}@eventphone)
|
||||
'';
|
||||
};
|
||||
package = pkgs.callPackage ./asterisk-override.nix {};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue