Dieses Wiki ist ein Archiv bis 2023. Das aktuelle Wiki findet sich unter https://wiki.hamburg.ccc.de/
Difference between revisions of "VoIP:Vermittlung"
m (→Mail: minor version corrections) |
(HowTo Update The GehFrickel) |
||
Line 72: | Line 72: | ||
===Telefonvermittlung=== | ===Telefonvermittlung=== | ||
* Asterisk | * Asterisk | ||
− | ** Version 1.2. | + | ** Version 1.2.X |
** siehe auch: (Link auf VOIP:Konfiguration) | ** siehe auch: (Link auf VOIP:Konfiguration) | ||
+ | |||
+ | ===Update von Asterisk & Co.=== | ||
+ | Nach Kernelupdate müssen häufig zaptel und misdn neu übersetzt werden und die eine oder andere neue Version. | ||
+ | |||
+ | * Zaptel | ||
+ | ** http://downloads.digium.com/pub/zaptel/ | ||
+ | ** 1.2 | ||
+ | ** Patches: | ||
+ | *** zaptel_nodev.patch: keine Devices im Install-Verzeichnis anlegen | ||
+ | **** Devices existieren bereits mit owner asterisk.asterisk | ||
+ | **** Alternative Möglichkeit root.dialout, vielleicht besser? | ||
+ | ** kompilieren: | ||
+ | *** <code>nice make -j 2 KVERS=2.6.20 KSRC=/usr/src/kernel/2.6.20-vermittlung/linux DESTDIR=/usr/src/asterisk_pbx/install-zaptel all install</code> | ||
+ | ** Verzeichnisstruktur anpassen | ||
+ | *** dev löschen - ist eh leer | ||
+ | *** etc löschen - zaptel.conf existiert schon | ||
+ | *** lib/modules/... nach /lib/modules/.../extra | ||
+ | *** <code>mv usr/* .; rmdir usr</code> | ||
+ | ** installieren nach /usr/local/stow/zaptel-1.2.xx | ||
+ | *** <code>chown -R root.root</code> | ||
+ | *** <code>stow -D -v zaptel-1.2.<alt></code> | ||
+ | *** <code>stow -v zaptel-1.2.<neu></code> | ||
+ | |||
+ | |||
+ | * mISDN | ||
+ | ** http://www.misdn.org/downloads/releases/ | ||
+ | ** Patches: | ||
+ | *** misdn_kmemcompat.patch: Kompatibilität zu Kernel 2.6.20 | ||
+ | *** ohne das gibts <strong>"error: too few arguments to function 'kmem_cache_create'"</strong> | ||
+ | <pre>--- mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/capi.c 2008-01-18 10:24:49.000000000 +0100 | ||
+ | +++ mISDN-1_1_7_2-vermittlung/drivers/isdn/hardware/mISDN/capi.c 2008-04-19 07:52:44.000000000 +0200 | ||
+ | @@ -2,6 +2,8 @@ | ||
+ | * | ||
+ | */ | ||
+ | |||
+ | +#define MISDN_COMPAT_KMEMCACHE 1 | ||
+ | + | ||
+ | #include <linux/module.h> | ||
+ | #include "core.h" | ||
+ | #include "m_capi.h" | ||
+ | </pre> | ||
+ | ** kompilieren: | ||
+ | *** <code>nice make -j 2 KVERS=2.6.20 LINUX=/usr/src/kernel/2.6.20-vermittlung/linux LINUX_SOURCE=/usr/src/kernel/2.6.20-vermittlung/linux DEPMOD=/bin/true MODULES_UPDATE=/bin/true UPDATE_MODULES=/bin/true INSTALL_PREFIX=/usr/src/asterisk_pbx/install-misdn all install</code> | ||
+ | ** Verzeichnisstruktur anpassen | ||
+ | *** etc löschen | ||
+ | *** lib/modules/... nach /lib/modules/.../extra | ||
+ | *** <code>mv usr/* .; rmdir usr</code> | ||
+ | ** installieren nach /usr/local/stow/mISDN-1.1.xx | ||
+ | *** <code>chown -R root.root</code> | ||
+ | *** <code>stow -D -v mISDN-1.1.<alt></code> | ||
+ | *** <code>stow -v mISDN-1.1.<neu></code> | ||
+ | |||
+ | * mISDNuser | ||
+ | ** http://www.misdn.org/downloads/releases/ | ||
+ | ** kompilieren: | ||
+ | *** <code>nice make MISDNDIR=/usr/src/asterisk_pbx/install-misdn INSTALL_PREFIX=/usr/src/asterisk_pbx/install-misdnuser all install</code> | ||
+ | *** irgendwo stimmen die Abhängigkeiten im Makefile nicht, mit -j 2 braucht man zwei Durchgänge wegen "No rule to make target `lib/libtenovis.a'" | ||
+ | ** Verzeichnisstruktur anpassen | ||
+ | *** <code>mv usr/* .; rmdir usr</code> | ||
+ | ** installieren nach /usr/local/stow/mISDNuser-1.1.xx | ||
+ | *** <code>chown -R root.root</code> | ||
+ | *** <code>stow -D -v mISDNuser-1.1.<alt></code> | ||
+ | *** <code>stow -v mISDNuser-1.1.<neu></code> | ||
+ | |||
+ | |||
+ | * WENN man Asterisk auf einem anderen Host kompilieren möchte, ohne mISDN lokal zu installieren, muss man install-misdn/* und install-misdnuser/* in ein Verzeichnis install-misdnboth/ zusammenkopieren. | ||
+ | |||
+ | |||
+ | * spandsp | ||
+ | ** http://www.soft-switch.org/downloads/spandsp/ | ||
+ | ** 0.0.4 | ||
+ | ** kompilieren: | ||
+ | *** <code>./configure --enable-mmx --enable-sse</code> | ||
+ | *** <code>nice make DESTDIR=/usr/src/asterisk_pbx/install-spandsp all install</code> | ||
+ | *** mit -j 2 zerlegt sich manchmal der Make-Vorgang. merkwürden. | ||
+ | ** Verzeichnisstruktur anpassen | ||
+ | *** <code>mv usr/local/* .; rm -r usr/</code> | ||
+ | ** installieren nach /usr/local/stow/spandsp-0.0.xx | ||
+ | *** <code>chown -R root.root</code> | ||
+ | *** <code>stow -D -v spandsp-0.0.<alt></code> | ||
+ | *** <code>stow -v spandsp-0.0.<neu></code> | ||
+ | |||
+ | |||
+ | * Asterisk | ||
+ | ** http://downloads.digium.com/pub/asterisk/ | ||
+ | ** 1.2 | ||
+ | ** Patches: | ||
+ | *** app_fax_apps.patch: app_rxfax, app_txfax | ||
+ | *** app_fax_makefile.patch | ||
+ | *** chan_iax2_calleridprefix.patch | ||
+ | *** chan_misdn_makefile.patch | ||
+ | *** fileperms_apps.patch | ||
+ | *** fileperms_voicemail.patch | ||
+ | *** spandsp_header.patch | ||
+ | ** kompilieren: | ||
+ | *** <code>nice make -j 2 all; make DESTDIR=/usr/src/asterisk_pbx/install-asterisk install</code> | ||
+ | *** /etc/asterisk.makeopts: | ||
+ | <pre>K6OPT = -DK6OPT | ||
+ | PROC = pentium4 | ||
+ | </pre> | ||
+ | ** Verzeichnisstruktur anpassen | ||
+ | *** etc löschen | ||
+ | *** var löschen - ist alles schon vorhanden | ||
+ | *** <code>mv usr/* .; rmdir usr</code> | ||
+ | *** bin löschen - ist eh leer | ||
+ | ** Patch safe_asterisk | ||
+ | *** Incorrect paths | ||
+ | *** | ||
+ | <pre>--- sbin/safe_asterisk.orig 2008-04-19 09:40:47.000000000 +0200 | ||
+ | +++ sbin/safe_asterisk 2008-04-19 09:40:58.000000000 +0200 | ||
+ | @@ -5,8 +5,8 @@ | ||
+ | #NOTIFY=ben@alkaloid.net # Who to notify about crashes | ||
+ | MACHINE=`hostname` # To specify which machine has crashed when getting the mail | ||
+ | DUMPDROP=/tmp | ||
+ | -ASTSBINDIR=/usr/sbin | ||
+ | -ASTPIDFILE=/var/run/asterisk.pid | ||
+ | +ASTSBINDIR=/usr/local/sbin | ||
+ | +ASTPIDFILE=/var/run/asterisk/asterisk.pid | ||
+ | |||
+ | # | ||
+ | # Don't fork when running "safely" | ||
+ | </pre> | ||
+ | ** installieren nach /usr/local/stow/asterisk-1.2.xx | ||
+ | *** <code>chown -R root.root</code> | ||
+ | *** <code>stow -D -v asterisk-1.2.<alt></code> | ||
+ | *** <code>stow -v asterisk-1.2.<neu></code> | ||
+ | |||
+ | * chan_misdn | ||
+ | ** http://www.beronet.com/downloads/chan_misdn/stable/chan_misdn.tar.gz | ||
+ | |||
===Mail=== | ===Mail=== |
Revision as of 08:47, 19 April 2008
Contents
Server-Dokumentation vermittlung.hamburg.ccc.de
Server
(Bild)
(Specs)
Ansprechpartner
Der Verteiler für allgemeine Anfragen, die mit der Telefonvermittlung zu tun haben, ist: frollein(at)vermittlung.hamburg.ccc.de (Hauke, Bayer, Pirx, Ali. Wer mag, darf sich in /etc/aliases gerne selber hinzufügen)
Mail an postmaster und faxmaster wird von Hauke gelesen.
Mail an root wird an Hauke und den Bayern verteilt (wer mag, darf sich in /etc/aliases gerne selber hinzufügen).
Sudo-Accounts haben:
Ali (ali(at)hamburg.ccc.de)
Bayer (bayer(at)hamburg.ccc.de)
Haegar (haegar(at)ccc.de)
Hauke (packbart(at)hamburg.ccc.de)
Pirx (pirx(at)ccc.de)
README.root
(wichtige Dinge, die man wissen sollte, kommen noch in diesen Abschnitt)
- Reboot: Die verschlüsselte Partition /srv wird nicht automatisch gestartet
- Nach Reboot einloggen und als root
mount /srv
aufrufen - GPG-Passphrase befindet sich in der Mappe
- Danach
/etc/init.d/exim4 start
und/etc/init.d/asterisk start
aufrufen - Wenn asterisk sofort stirbt, den Restart-Zyklus mit
killall safe_asterisk
o.ä. abbrechen und Fehler suchen- z.B. in /var/log/asterisk/messages
- Evtl. noch vserver starten?
- Nach Reboot einloggen und als root
- Unregelmäßige Backups nach /backup/backup/vermittlung/
- dort liegt ein kleines mkbackup.sh, das / und /srv als .tar.bz2.gpg sichert
- Backups werden mit dem GPG Public Key von "root" verschlüsselt
- GPG-Passphrase befindet sich in der Mappe
- Backup von pubring.gpg und secring.gpg in .gnupg/
- Die Backups sollten evtl. auf einem anderen Server oder auch offsite gesichert werden
- Eine CD mit Public und Private Keys sollte in den Safe
- Austausch verschlüsselter Backups übers VPN? Hamburg sichert Hannover und Berlin, Hannover sichert Hamburg und Berlin, etc.
- Notizen zu wichtigen Wartungsmaßnahmen finden sich in /root/doc/
- doku-sync der Faxe und Voicemails auf doku.ccc.de läuft per cron um 02,23,42 Minuten
- Neue SIP-Accounts sollten in /etc/asterisk/accounts/$fnord/sip.conf angelegt werden
- Anleitung zum Anlegen neuer Accounts mit Fax und Voicemail in /root/doc/doku-sync.txt
- Sourcen zur Asterisk-Installation in /usr/src/asterisk_pbx/
- Wir benutzen die jeweils die neueste "stable"
- asterisk (http://www.asterisk.org/)
- zaptel (http://www.asterisk.org/)
- mISDN (http://www.misdn.org/)
- mISDNuser (http://www.misdn.org/)
- spandsp (http://www.soft-switch.org/)
- asterisk-vermittlung-fileperms+fax.patch für Asterisk 1.2
- fügt app_txfax und _rxfax im Makefile hinzu
- app_txfax.c und app_rxfax.c müssen nach apps/ kopiert werden
- http://www.soft-switch.org/downloads/snapshots/spandsp/test-apps-asterisk-1.2/
- setzt die Rechte für Voicemail-Dateien group-readable, damit doku-sync sie lesen kann
- fügt app_txfax und _rxfax im Makefile hinzu
- Installieren nach /usr/local/stow/$paketname-$version/, kein unüberlegtes "make install"
- mit stow -Dv <alt>, stow -v <neu> dann die Links aktualisieren
- Wir benutzen die jeweils die neueste "stable"
- Haegar kompiliert gelegentlich einen neuen Kernel
- mISDN- und Zaptel-Module müssen ggf. mit den neuen Kernel-Sourcen gebaut und installiert werden
Installierte Software
- Die Auswahl installierter Debian-Pakete wird immer mal mit
dpkg --get-selections
in /root/doc/dpkg-selections dokumentiert.
Telefonvermittlung
- Asterisk
- Version 1.2.X
- siehe auch: (Link auf VOIP:Konfiguration)
Update von Asterisk & Co.
Nach Kernelupdate müssen häufig zaptel und misdn neu übersetzt werden und die eine oder andere neue Version.
- Zaptel
- http://downloads.digium.com/pub/zaptel/
- 1.2
- Patches:
- zaptel_nodev.patch: keine Devices im Install-Verzeichnis anlegen
- Devices existieren bereits mit owner asterisk.asterisk
- Alternative Möglichkeit root.dialout, vielleicht besser?
- zaptel_nodev.patch: keine Devices im Install-Verzeichnis anlegen
- kompilieren:
nice make -j 2 KVERS=2.6.20 KSRC=/usr/src/kernel/2.6.20-vermittlung/linux DESTDIR=/usr/src/asterisk_pbx/install-zaptel all install
- Verzeichnisstruktur anpassen
- dev löschen - ist eh leer
- etc löschen - zaptel.conf existiert schon
- lib/modules/... nach /lib/modules/.../extra
mv usr/* .; rmdir usr
- installieren nach /usr/local/stow/zaptel-1.2.xx
chown -R root.root
stow -D -v zaptel-1.2.<alt>
stow -v zaptel-1.2.<neu>
- mISDN
- http://www.misdn.org/downloads/releases/
- Patches:
- misdn_kmemcompat.patch: Kompatibilität zu Kernel 2.6.20
- ohne das gibts "error: too few arguments to function 'kmem_cache_create'"
--- mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/capi.c 2008-01-18 10:24:49.000000000 +0100 +++ mISDN-1_1_7_2-vermittlung/drivers/isdn/hardware/mISDN/capi.c 2008-04-19 07:52:44.000000000 +0200 @@ -2,6 +2,8 @@ * */ +#define MISDN_COMPAT_KMEMCACHE 1 + #include <linux/module.h> #include "core.h" #include "m_capi.h"
- kompilieren:
nice make -j 2 KVERS=2.6.20 LINUX=/usr/src/kernel/2.6.20-vermittlung/linux LINUX_SOURCE=/usr/src/kernel/2.6.20-vermittlung/linux DEPMOD=/bin/true MODULES_UPDATE=/bin/true UPDATE_MODULES=/bin/true INSTALL_PREFIX=/usr/src/asterisk_pbx/install-misdn all install
- Verzeichnisstruktur anpassen
- etc löschen
- lib/modules/... nach /lib/modules/.../extra
mv usr/* .; rmdir usr
- installieren nach /usr/local/stow/mISDN-1.1.xx
chown -R root.root
stow -D -v mISDN-1.1.<alt>
stow -v mISDN-1.1.<neu>
- kompilieren:
- mISDNuser
- http://www.misdn.org/downloads/releases/
- kompilieren:
nice make MISDNDIR=/usr/src/asterisk_pbx/install-misdn INSTALL_PREFIX=/usr/src/asterisk_pbx/install-misdnuser all install
- irgendwo stimmen die Abhängigkeiten im Makefile nicht, mit -j 2 braucht man zwei Durchgänge wegen "No rule to make target `lib/libtenovis.a'"
- Verzeichnisstruktur anpassen
mv usr/* .; rmdir usr
- installieren nach /usr/local/stow/mISDNuser-1.1.xx
chown -R root.root
stow -D -v mISDNuser-1.1.<alt>
stow -v mISDNuser-1.1.<neu>
- WENN man Asterisk auf einem anderen Host kompilieren möchte, ohne mISDN lokal zu installieren, muss man install-misdn/* und install-misdnuser/* in ein Verzeichnis install-misdnboth/ zusammenkopieren.
- spandsp
- http://www.soft-switch.org/downloads/spandsp/
- 0.0.4
- kompilieren:
./configure --enable-mmx --enable-sse
nice make DESTDIR=/usr/src/asterisk_pbx/install-spandsp all install
- mit -j 2 zerlegt sich manchmal der Make-Vorgang. merkwürden.
- Verzeichnisstruktur anpassen
mv usr/local/* .; rm -r usr/
- installieren nach /usr/local/stow/spandsp-0.0.xx
chown -R root.root
stow -D -v spandsp-0.0.<alt>
stow -v spandsp-0.0.<neu>
- Asterisk
- http://downloads.digium.com/pub/asterisk/
- 1.2
- Patches:
- app_fax_apps.patch: app_rxfax, app_txfax
- app_fax_makefile.patch
- chan_iax2_calleridprefix.patch
- chan_misdn_makefile.patch
- fileperms_apps.patch
- fileperms_voicemail.patch
- spandsp_header.patch
- kompilieren:
nice make -j 2 all; make DESTDIR=/usr/src/asterisk_pbx/install-asterisk install
- /etc/asterisk.makeopts:
K6OPT = -DK6OPT PROC = pentium4
- Verzeichnisstruktur anpassen
- etc löschen
- var löschen - ist alles schon vorhanden
mv usr/* .; rmdir usr
- bin löschen - ist eh leer
- Patch safe_asterisk
- Incorrect paths
- Verzeichnisstruktur anpassen
--- sbin/safe_asterisk.orig 2008-04-19 09:40:47.000000000 +0200 +++ sbin/safe_asterisk 2008-04-19 09:40:58.000000000 +0200 @@ -5,8 +5,8 @@ #NOTIFY=ben@alkaloid.net # Who to notify about crashes MACHINE=`hostname` # To specify which machine has crashed when getting the mail DUMPDROP=/tmp -ASTSBINDIR=/usr/sbin -ASTPIDFILE=/var/run/asterisk.pid +ASTSBINDIR=/usr/local/sbin +ASTPIDFILE=/var/run/asterisk/asterisk.pid # # Don't fork when running "safely"
- installieren nach /usr/local/stow/asterisk-1.2.xx
chown -R root.root
stow -D -v asterisk-1.2.<alt>
stow -v asterisk-1.2.<neu>
- installieren nach /usr/local/stow/asterisk-1.2.xx
- Exim 4
- Standard Debian-Paket (exim4-daemon-heavy)
- Konfiguration in /etc/exim4/exim4.conf, keine automatische Frickelei mit conf.d
- Einsatz als Backup-MX ist in /root/doc/README.postmaster beschrieben
- ClamAV
- aus Haegars Debian-Paket (aktuell: 0.90.3-0.sdinetB1)
- Daemon lauscht auf /var/run/clamav/clamd.ctl, nicht über TCP
- clamav-freshclam ist installiert und aktualisiert regelmäßig die Signatur-Datei
- Spamassassin
- aus Haegars Debian-Paket (aktuell: 3.2.1-0.sdinetB1)
- Daemon lauscht auf /var/run/spamd/spamd.ctl, nicht über TCP
- sa-update aktualisiert täglich die Tests
Sonstiges
- ntpd
- Bezieht die Zeit von mehreren nahegelegenen Stratum-2-Servern
- Icecast
- Für Streaming aus Asterisk-Konferenzen (app_ices)
- Todo: Iceast als On-demand-Relay für Streams konfigurieren um Bandbreite zu schonen, wenn mehrere Personen demselben Stream über die Vermittlung lauschen
Todo
- Software, die evtl. noch installiert werden könnte:
- Apache mit dynamischen Geraffel - aber wozu?
- Postgres/MySQL/sonstwas als Datenbank - aber wozu?
- Hauke sagt: Dann können wir gleich eine bunte LDAP-Datenbank entwerfen und darin Mitglieder, Telefonnummern, etc. verwalten
Konfiguration
(Dinge, die nicht in README.root stehen)
Siehe VoIP:Konfiguration_neu für Asterisk-nahen Kram inkl. Fax, libtiff usw.