Dieses Wiki ist ein Archiv bis 2023. Das aktuelle Wiki findet sich unter https://wiki.hamburg.ccc.de/

VoIP:Vermittlung

From CCCHHWiki
Revision as of 08:47, 19 April 2008 by Packbart (talk | contribs) (HowTo Update The GehFrickel)
Jump to: navigation, search

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?
  • 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
  • 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?
    • 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-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>
  • 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
--- 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>


Mail

  • 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.