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

Difference between revisions of "VoIP:Vermittlung"

From CCCHHWiki
Jump to: navigation, search
(HowTo Update The GehFrickel)
(ins neue Wiki umgezogen)
(Tag: Replaced)
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
<h1>Server-Dokumentation vermittlung.hamburg.ccc.de</h1>
+
<span style="color: orange; display: inline-block; outline: 0.5em solid; padding: 0.25em">
 
+
<span style="color: black">
 
+
Diese Seite wurde ins [https://wiki.ccchh.net neue Wiki] migriert.<br>
==Server==
+
Sie ist nun hier zu finden: https://wiki.ccchh.net/club:archiv:voip-vermittlung:server
 
+
</span>
(Bild)
+
</span>
 
+
[[Category:umgezogen]]
(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)<br>
 
Mail an '''postmaster''' und '''faxmaster''' wird von Hauke gelesen.<br>
 
Mail an '''root''' wird an Hauke und den Bayern verteilt (wer mag, darf sich in /etc/aliases gerne selber hinzufügen).<br>
 
 
 
'''Sudo-Accounts''' haben:
 
 
 
Ali (ali(at)hamburg.ccc.de)<br>
 
Bayer (bayer(at)hamburg.ccc.de)<br>
 
Haegar (haegar(at)ccc.de)<br>
 
Hauke (packbart(at)hamburg.ccc.de)<br>
 
Pirx (pirx(at)ccc.de)<br>
 
 
 
 
 
==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 <code>mount /srv</code> aufrufen
 
** GPG-Passphrase befindet sich in der Mappe
 
** Danach <code>/etc/init.d/exim4 start</code> und <code>/etc/init.d/asterisk start</code> aufrufen
 
** Wenn asterisk sofort stirbt, den Restart-Zyklus mit <code>killall safe_asterisk</code> 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
 
 
 
* 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
 
** Installieren nach /usr/local/stow/$paketname-$version/, kein unüberlegtes "make install"
 
** mit stow -Dv <alt>, stow -v <neu> dann die Links aktualisieren
 
 
 
* 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 <code>dpkg --get-selections</code> 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:
 
*** <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===
 
* 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.
 

Latest revision as of 18:58, 8 December 2023

Diese Seite wurde ins neue Wiki migriert.
Sie ist nun hier zu finden: https://wiki.ccchh.net/club:archiv:voip-vermittlung:server