[Frage] Aktuelle Pakete?

srynoname

Neuer User
Mitglied seit
15 Okt 2009
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

gbits denn eine Distribution, die direkt aktuelle Pakete mitbringt? Die Pakete z.B. bei Ubuntu Server sind ja schon veraltet (1.8.10.x, aktuell 1.8.15.x). Oder gibts irgendwelche vernünftigen, alternativen Quellen für Ubuntu? Danke :)
 

sonyKatze

Aktives Mitglied
Mitglied seit
6 Aug 2009
Beiträge
1,269
Punkte für Reaktionen
113
Punkte
63
Für diese Anleitung brauchst Du 90 Minuten. Dafür bekommst Du
  1. eine Telefonanlage zu Hause in Deutschland (Software-Package Asterisk),
  2. nutzbar von Deinem Mobiltelefon (Apple iPhone, Google Android, Windows 10 Mobile, BlackBerry 10, Nokia Belle),
  3. von dem Du die ganze Welt anrufen kannst (VoIP-Anbieter dus.net),
  4. abhörsicher, damit nicht jeder mitlauschen kann (Software-Package libSRTP),
  5. hochauflösend, als würde Dein Gesprächspartner neben Dir stehen (Audio-Codec G.722, Opus-Codec, AMR-WB),
  6. erreichbar unter Deiner E-Mail-Adresse (SIP-URI),
  7. erreichbar unter Deiner Rufnummer wie bisher (ENUM)
und Du das Schönste: Du wählst Deine bisherigen Telefonnummern wie gewohnt – die Telefonanlage handelt für Dich alles automatisch aus (Verschlüsselung, Audio-Codec, Ziel-Adresse). Für eine solche Anlage musst Du lediglich den Inhalt in den folgenden Kästchen abarbeiten. Willst Du mehr erfahren, steht unter jedem Kasten eine kurze Erklärung – mit Hyperlinks zu Hintergrund-Literatur. Über Korrekturen und Verbesserungen freue ich mich – bitte als private Nachricht –; dann füge ich das ein.

Schritt 1 von 28:
Ist Dir die Erzeugung eines USB-Sticks zu kompliziert, erhältst Du eine Start-DVD mit Ubuntu auch in Zeitschriften-Läden.

Schritt 2 von 28:
Alle Apps » Terminal
Durch die Return-Taste werden die Befehle ausgeführt. Manche Befehle brauchen für ihre Ausführung länger: Wenn Du ein weiteres Mal die Return-Taste betätigst und wieder die gleiche Antwort erhältst, dann war der Befehl bereits vollständig ausgeführt worden. Tipp: Die Befehle hier in der Anleitung aus den Kästen kopieren und über Kontext-Klick in diese Terminal einsetzen.

Schritt 3 von 28:
Code:
sudo apt update && sudo apt full-upgrade && sudo apt autoremove
aktualisiert die Liste der bekannten Software-Packages, weil einige aus Universe stammen.

Schritt 4 von 28:
Code:
sudo apt --no-install-recommends --assume-yes install build-essential pkg-config libedit-dev libjansson-dev libsqlite3-dev uuid-dev libxslt1-dev
installiert alle Packages, die Du mindestens für Asterisk brauchst (aktuell: Ubuntu 20.04 LTS, Asterisk 13.33.0, libSRTP 2.3.0).

Schritt 5 von 28:
Code:
sudo apt --no-install-recommends --assume-yes install autoconf automake libssl-dev libldns-dev libunbound-dev
Asterisk enthält zwar ein Installationsskript unter ./contrib/scripts/install_prereq, aber das bereits fertige Package libSRTP hat nicht alle Features aktiv (beispielsweise AES-IN). Daher baust Du libSRTP in den nächsten Schritten selbst. (Open)SSL, LDNS, Unbound und autoconf brauchst Du für SIP-over-TLS und DNSSEC-DANE.

Schritt 6 von 28:
Code:
sudo apt --no-install-recommends --assume-yes install autoconf automake libspeexdsp-dev libgsm1-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev libcodec2-dev libcurl4 xmlstarlet libbfd-dev whois fail2ban
fügt die Audio-Codecs Speex, GSM, AMR(-WB) und Codec 2 hinzu. Dank xmlstarlet installiert Asterisk automatisch den Opus-Codec (benötigt libcurl4), SiLK und die beiden Polycom eigenen Siren-Codecs. Übrigens: Stößt Du auf ein Problem, melde Dich hier beim IP-Phone-Forum an und antworte hier in diesem Thread. Das Package libBFD hilft mir dann, Dir zu helfen. Die letzten beiden Packages wehren Eindringlinge von der Telefonanlage ab.

Schritt 7 von 28:
Code:
cd ~/Downloads
wget github.com/cisco/libsrtp/archive/v2.tar.gz
tar -zxf v2.tar.gz && rm v2.tar.gz
cd ./libsrtp-*
wget issues.asterisk.org/jira/secure/attachment/59069/srtpROC-LE_for_libsrtp2.3.x.patch
patch -p0 <./srtpROC-LE_for_libsrtp2.3.x.patch
./configure --enable-openssl
make shared_library
sudo make install
übersetzt und installiert das Package für verschlüsselte Audio-Daten: libSRTP.

Die Beschreibung jedes Software-Package erfolgt nach dem gleichen Schema:
  • Mit der 1. Zeile wechselst Du in das Verzeichnis.
  • Mit der 2. Zeile lädst Du den Quellcode des Packages aus dem Internet.
  • Mit der 3. Zeile dekomprimierst Du das Package. Das Archiv des Packages brauchst Du nicht mehr und die Zeile löscht das Archiv daher.
  • (5. und 6. Zeile) Du spielst eine Änderung ein (Patch; hier Issue-16898), welche für Nokia Belle nötig ist.
  • Mit der 7. Zeile passt sich libSRTP automatisch an Dein Ubuntu an. Außerdem sagst Du, dass libSRTP schneller laufen soll (kein Debugging, OpenSSL erlaubt AES-IN).
  • Mir der 8. Zeile erstellst Du aus dem Quellcode eine direkt nutzbare, ausführbare Bibliothek libsrtp.so.
  • Mit der 9. Zeile installierst Du diese Bibliothek (Shared-Library) und seine Beschreibung (Header), damit sie für andere Packages nutzbar ist.
Schritt 8 von 28:
Code:
cd ~/Downloads
wget www.etsi.org/deliver/etsi_ts/126400_126499/126443/15.01.00_60/ts_126443v150100p0.zip
unzip -qq ts_126443v*.zip
unzip -qq 26443-*-ANSI-C_source_code.zip
cd ./c-code
chmod +r ./lib_*/*.h
sudo mkdir /usr/local/include/3gpp-evs
sudo cp --verbose --target-directory=/usr/local/include/3gpp-evs ./lib_*/*.h
DEBUG=0 RELEASE=1 CFLAGS='-DNDEBUG -fPIC' make
cd ./build
rm ./decoder.o
cc -shared -o lib3gpp-evs.so *.o
sudo cp ./lib3gpp-evs.so /usr/local/lib/
übersetzt und installiert einen zusätzlichen Audio-Codec: 3GPP EVS auch bekannt als Full-HD bzw. Ultra-HD Voice. Die GSMA nennt es HD Voice+.

Schritt 9 von 28:
Code:
cd ~/Downloads
wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar -zxf asterisk-*.tar.gz && rm asterisk-*.tar.gz
wget github.com/traud/asterisk-evs/archive/master.tar.gz
tar -zxf master.tar.gz && rm master.tar.gz
wget github.com/traud/asterisk-amr/archive/master.tar.gz
tar -zxf master.tar.gz && rm master.tar.gz
wget github.com/traud/asterisk-codec2/archive/master.tar.gz
tar -zxf master.tar.gz && rm master.tar.gz
wget github.com/traud/asterisk-gsm-efr/archive/master.tar.gz
tar -zxf master.tar.gz && rm master.tar.gz
wget github.com/traud/asterisk-ilbc/archive/master.tar.gz
tar -zxf master.tar.gz && rm master.tar.gz
cd ./asterisk-*
wget github.com/asterisk/asterisk/commit/d04ae7d1d81ee157bea1295b2316e278c951d877.patch
patch -p1 --reverse <./d04ae7d1d81ee157bea1295b2316e278c951d877.patch
cp --verbose ../asterisk-evs*/codecs/* ./codecs/
cp --verbose ../asterisk-evs*/res/* ./res/
cp --verbose ../asterisk-evs*/include/asterisk/* ./include/asterisk/
patch -p0 <../asterisk-evs*/codec_evs.patch
patch -p0 <../asterisk-evs*/build_evs.patch
patch -p0 <../asterisk-evs*/force_limitations.patch
cp --verbose ../asterisk-amr*/codecs/* ./codecs/
cp --verbose ../asterisk-amr*/res/* ./res/
cp --verbose ../asterisk-amr*/include/asterisk/* ./include/asterisk/
patch -p0 <../asterisk-amr*/codec_amr.patch
patch -p0 <../asterisk-amr*/build_tools.patch
cp --verbose ../asterisk-codec2*/codecs/* ./codecs/
patch -p0 <../asterisk-codec2*/codec2.patch
patch -p0 <../asterisk-codec2*/build_codec2.patch
cp --verbose ../asterisk-gsm-efr*/codecs/* ./codecs/
patch -p0 <../asterisk-gsm-efr*/codec_gsm_efr.patch
cp --verbose ../asterisk-ilbc*/codecs/* ./codecs/
cp --verbose ../asterisk-ilbc*/res/* ./res/
cp --verbose ../asterisk-ilbc*/include/asterisk/* ./include/asterisk/
patch -p0 <../asterisk-ilbc*/codec_ilbc.patch
wget issues.asterisk.org/jira/secure/attachment/59175/srtp_aead_and_big_aes.patch
patch -p0 <./srtp_aead_and_big_aes.patch
wget issues.asterisk.org/jira/secure/attachment/59177/srtpROC-LE_for_Asterisk13.patch
patch -p0 <./srtpROC-LE_for_Asterisk13.patch
wget issues.asterisk.org/jira/secure/attachment/50791/srtp_patches_Asterisk12.diff
patch -p0 <./srtp_patches_Asterisk12.diff
wget issues.asterisk.org/jira/secure/attachment/52494/tls_rsa_ecc_dsa.patch
patch -p0 <./tls_rsa_ecc_dsa.patch
wget issues.asterisk.org/jira/secure/attachment/53234/no_rtpmap_for_static.patch
patch -p0 <./no_rtpmap_for_static.patch
wget issues.asterisk.org/jira/secure/attachment/54057/ast_file_descriptor_time.patch
patch -p0 <./ast_file_descriptor_time.patch
wget www.traud.de/voip/sip/patches/asterisk_sockaddr_init.patch
patch -p0 <./asterisk_sockaddr_init.patch
wget www.traud.de/voip/sip/patches/asterisk_dnssec_dane.patch
patch -p0 <./asterisk_dnssec_dane.patch
ändert den Quellcode:
  1. erlaubt das Umwandeln des 3GPP EVS zu bzw. von (allen) anderen Audio-Codecs aus (Transcoding)
  2. Umwandeln von AMR-Narrow-Band (AMR) als auch AMR-Wide-Band (AMR-WB), damit Du klar und deutlich telefonieren kannst. Weil dieser Audio-Codec – im Vergleich zu G.722 (AVM HD-Telefonie, Gigaset HDSP) bzw. G.711 (A-law) – nur die Hälfte der Bandbreite benötigt (39kb/s), kannst Du auch ohne UMTS oder EDGE telefonieren; trotzdem telefonierst Du hochauflösend – Nokia sei Dank!
  3. (Backport) Umwandeln von Codec 2,
  4. Umwandeln von GSM-Enhanced-Full-Rate (GSM-EFR),
  5. Issue-26218 (Backport) Umwandeln nicht nur von iLBC 30 wie bisher sondern nun auch iLBC 20,
  6. Issue-26190 (Backport) erlaubt eingehend SDES-sRTP auch mit nur AES-256 oder nur AES-GCM,
  7. Issue-16898 vermeidet One-Way-Audio nach 21 Minuten mit Nokia Belle,
  8. Issue-20234 (Backport) damit Du bei sRTP auch „preferred“ bzw. „optional“ wählen kannst,
  9. Issue-24815 (Backport) erlaubt nicht nur RSA sondern zusätzlich auch ECDSA basierte Zertifikate,
  10. Issue-25405 (Backport) zeigt, wann genau ein TCP-Socket vergessen wurde,
  11. Issue-25578 (Backport) reduziert den Datenverbrauch um 10%, aber nur beim Rufaufbau (SDP),
  12. DNSSEC-DANE.
Schritt 10 von 28:
Code:
./bootstrap.sh
./configure --without-pjproject
make menuselect.makeopts
./menuselect/menuselect --enable-category MENUSELECT_CORE_SOUNDS --enable-category MENUSELECT_EXTRA_SOUNDS --enable-category MENUSELECT_MOH --enable DONT_OPTIMIZE --disable COMPILE_DOUBLE --enable BETTER_BACKTRACES --enable DEBUG_FD_LEAKS --disable chan_alsa --disable chan_iax2 --disable chan_mgcp --disable chan_multicast_rtp --disable chan_oss --disable chan_phone --disable chan_pjsip --disable chan_skinny --disable chan_unistim --enable G711_NEW_ALGORITHM --enable codec_opus --enable codec_silk --enable codec_siren7 --enable codec_siren14
sudo make full install config samples
startet bootstrap, welches mittels autoconf das Skript configure neu erstellt. Dieses wiederum passt Asterisk an Dein Ubuntu an und erstellt seine Konfigurationsschnittstelle (menuselect). Über menuselect kann man Software-Bestandteile ein- bzw. ausschalten. Hier soll menuselect dafür sorgen, dass alle vorgefertigten Audio-Dateien geladen werden (SOUNDS und MOH). Wenn mal ein Problem auftaucht, und Du Hilfe brauchst, sorgt BETTER_BACKTRACES dafür, einen Stacktrace zu erstellen. Um das zu nutzen, darf der Compiler die entstehende Software nicht weiter optimieren (DONT_OPTIMIZE). Optimieren würde auch wenig bringen, weil Du nur zwei oder drei Gespräche gleichzeitig auf Deinem Asterisk laufen hast. Hier ist einfachere Fehlersuche wichtiger. DEBUG_FD_LEAKS erlaubt zu erkennen, ob Asterisk versehentlich eine Datei bzw. einen TCP-Socket vergessen hat zu schließen (FD = File-Deskriptor). Asterisk erstellt normalerweise haufenweise Channels, weil Asterisk aus einer Zeit kommt, in der viele verschiedene Medien und VoIP-Protokolle zusammengebracht werden mussten (SIP, ISDN, Cisco, …). Wir brauchen nur einen SIP-Channel und auch nicht den neuen chan_pjsip sondern den traditionellen chan_sip. Also alles andere aus, bitte! Am Ende der menuselect-Zeile aktivierst Du noch weitere Audio-Codecs, die aus Lizenzgründen schon vorgefertigt sind, also nicht als Open-Source vorliegen: Opus-Codec, SiLK und Polycom Siren. make erstellt dann endlich Asterisk; full stellt sicher, dass die Hilfetexte komplett sind. Der letzte Aufruf installiert alles (install) and der richtigen Stelle, lässt Asterisk beim Hochfahren mitstarten (config) und spielt eine Beispiel-Konfiguration ein (samples). Weil der Computer jetzt einiges zu tun hat, hast Du Dir erstmal eine Pause verdient. Bis diese Befehle abgearbeitet sind, weg vom Computer, Augen schonen, kleiner Spaziergang rund um den Block! Danach kommt das Feintuning:

Schritt 11 von 28:
Code:
cd ~/Downloads
wget asterisk.hosting.lv/bin/codec_g729-ast130-gcc4-glibc-x86_64-core2-sse4.so
sudo cp ./codec_g729-ast130-gcc4-glibc-x86_64-core2-sse4.so /usr/lib/asterisk/modules/codec_g729.so
wget asterisk.hosting.lv/bin/codec_g723-ast130-gcc4-glibc-x86_64-core2-sse4.so
sudo cp ./codec_g723-ast130-gcc4-glibc-x86_64-core2-sse4.so /usr/lib/asterisk/modules/codec_g723.so
erlaubt Transcoding der Codecs G.729 und G.723 zu bzw. von (allen) anderen Audio-Codecs.

Schritt 12 von 28:
Code:
cd /etc/asterisk
sudo rm ./extensions.conf
sudo rm ./features.conf
sudo rm ./logger.conf
sudo rm ./sip.conf
sudo wget www.traud.de/voip/sip/extensions.conf
sudo wget www.traud.de/voip/sip/features.conf
sudo wget www.traud.de/voip/sip/logger.conf
sudo wget www.traud.de/voip/sip/sip.conf
echo 'maxfiles = 1048576' | sudo tee --append ./asterisk.conf
tauscht Konfigurationsdateien aus, damit Du sofort mit SIP-over-TLS, sRTP und den neuen Audio-Codecs loslegen kannst. Außerdem können so das Maximum an Telefon-Gesprächen gleichzeitig geführt werden.


Erreichbarkeit von Überall SIP-URI

Auch dieser Teilabschnitt der Anleitung ginge komplett kostenlos. Aber wenn Du bereit bist 15,30€ pro Jahr auszugeben, erhältst Du folgende Vorteile:
  • DNSSEC-DANE (TLSA)
    reduziert die Angriffsziele von mehr als 160 Zertifikatsausgabe-Stellen (CA) auf 6: Core-Networks.de (Domain-Hoster), DENIC (.de), VeriSign (DNS-Root), Deinen E-Mail-Anbieter, Dein Telefon und Asterisk.
  • keine CA-Installation auf den Endgeräten
    zwar könnte man Let’s Encrypt als CA nehmen – deren Zertifikate sind kostenlos – aber Nokia-Mobiltelefone haben diese CAs nicht an Bord; Du müsstest die CA manuell installieren. Deswegen nutzt diese Anleitung stattdessen RapidSSL.
  • keine CA-Installation bei Deinen Anrufern
    jeder Deiner Anrufer müsste Deine CA im Vorfeld bei sich installieren, um wirklich abgesichert mit Dir zu telefonieren; manchmal sogar um überhaupt mit Dir zu telefonieren (VoIP-Client: Linphone)
  • Anrufer erhalten eine Visitenkarten-taugliche SIP-URI = E-Mail-Adresse
Überzeugt? Wenn Du ein Snom-Tischtelefon bzw. ein Nokia-Mobiltelefon hast, wirst Du später noch ein Argument finden: Du musst lediglich die SIP-URI und Dein Passwort eingeben; dann erkennt der eingebaute VoIP-Client dank DNS-NAPTR und DNS-SRV automatisch Deine Konfiguration und dass verschlüsselt werden kann/soll. Wenn doch nur alle VoIP-Clients so einfach wären!

Schritt 13 von 28:
  1. Bestelle Deine Domain…
  2. Core-Networks.de » Webinterface » Produkte » E-Mail » E-Mail-Adressen » Hinzufügen:
    • E-Mail-Adresse: hostmaster
    • Ziel: Weiterleitung
    • Weiterleitungen: Deine bestehende E-Mail
sonst kommt die E-Mail von RapidSSL nicht an.

Schritt 14 von 28:
Code:
sudo mkdir /etc/asterisk/keys
cd /etc/asterisk/keys
sudo openssl req -new -newkey rsa:2048 -sha256 -nodes -subj '/ST=Province' -keyout ./asterisk.key -out ./asterisk.csr
erzeugt Deinen Certificate-Signing-Request (CSR). asterisk.key ist Dein privater Schlüssel, der folglich Dein Haus nie und nimmer verlassen darf. Die Zertifikatsanfrage findet sich in der Datei asterisk.csr. Diese und nur diese Datei brauchst Du gleich.

Schritt 15 von 28:
Code:
sudo openssl dhparam -out ./dh.pem 1024
cat ./dh.pem | sudo tee --append ./asterisk.key
erzeugt Deine persönlichen Diffie-Hellman-Parameter für TLS-PFS mit 1024bit. Das ist bereits ganz ordentlich. Warum DH-Parameter mit 2048bit, ein Zertifikat mit 4096bit und AES-256 nicht zum Einsatz kommen: Grund 1 und Grund 2.

Schritt 16 von 28:
wähle statt einer einjährigen Laufzeit besser gleich zwei Jahre. Du wirst nach einem CSR gefragt; das ist die eben erstellte Datei asterisk.csr. Wenn Du nach einer DCV-Methode gefragt wirst, wählst Du ganz traditionell E-Mail aus. Wenn Du nach dem Hash-Algorithmus des Roots gefragt wirst, wähle SHA-1 – das ist kompatibler und trotzdem nicht unsicherer (Quelle). Wenn alles erfolgreich war, bekommst Du am Ende eine E-Mail mit der Überschrift „Complete“:

Schritt 17 von 28:
Code:
sudo touch /etc/asterisk/keys/asterisk.pem
gedit admin:///etc/asterisk/keys/asterisk.pem
Schritt 18 von 28:
  1. Kopiere aus der Complete-E-Mail von RapidSSL/GeoTrust den Text ab der Stelle -----BEGIN CERT.
  2. Füge das in die Datei asterisk.pem ein.
  3. Sichere
  4. Schließe
Schritt 19 von 28:
Code:
sudo wget --append-output=/etc/asterisk/keys/asterisk.pem https://crt.sh/?d=64747150
fügt noch ein weiteres Zwischen-Zertifikat (Intermediate) an: Baltimore CyberTrust. Nur damit bist Du mit älteren Systemen wie den Nokia-Telefonen kompatibel. DigiCert möchte, dass die ganze Welt ihr neues Wurzel-Zertifikat DigiCert Global unterstützt. Deswegen schickt DigiCert das von sich aus in der E-Mail nicht mit. Aber ohne Baltimore CyberTrust, müssten viele Deiner Anrufer erst DigCert Global installieren.


Anrufe wie gewohnt, Teil 1
Festnetz-Anrufe über dus.net (optional)

Der VoIP-Anbieter dus.net bietet sowohl verschlüsselten Rufaufbau (SIP-over-TLS) als auch verschlüsselte Sprache (sRTP) an. Du kannst dus.net kostenlos ausprobieren, weil sie Dir 45 Cent Startguthaben schenken. Später lädst Du Geld auf – genau wie bei einer Prepaid-Karte. Also los:

Schritt 20 von 28:
  1. Bestelle DUStel starter… (meine Tarifempfehlung, weil Prepaid)
  2. Konfiguriere Deine abgehende Telefonnummer…
  3. (Später) lade Guthaben manuell auf…
  4. (Optional) eingehende Telefonnummer…
Schritt 21 von 28:
Code:
gedit admin:///etc/asterisk/sip.conf
Schritt 22 von 28:
  • Ersetze 000387xxxxxx durch Deine Auth-ID (beide Male).
  • Dahinter steht einmal durch einen Doppelpunkt getrennt Dein-Kennwort. Ersetze das durch Dein dus.net-Kennwort aus der Registrierungsmail.
  • Ersetze example.com durch Deine Domain bei Core-Networks.de (beide Male).
Dadurch kannst Du nicht nur SIP-URIs sondern Telefonnummern auf der ganzen Welt anrufen. Dazu wählst Du ohne führende 0 aber mit +Landesvorwahl, also beispielsweise +49 211 2370 4140. Weil jetzt jedes Telefongespräch unterschiedlich sicher ist, kannst Du während einem Gespräch über die Taste 7 den aktuellen Stand der Sicherheit abrufen. Merkhilfe: Auf der Taste 7 ist bei mir s aufgedruckt, s wie Sicherheit. Hintergrundinfos stehen im eingespielten Patch für DNSSEC-DANE, genauer in der Datei include/asterisk/frame.h.


Anrufe wie gewohnt, Teil 2
Festnetz-Anruf, kostenlos als Internet-Anruf (optional)

Nutzt Dein Anrufer bereits ein SIP-Telefon, kann er mit Dir kostenlos telefonieren, auch dann wenn er noch nicht Deine SIP-URI sondern nur Deine Telefonnummer kennt – und zwar dank ENUM.

Schritt 23 von 28:
macht Deine E-Mail-Adresse zur SIP-URI. Dies ist ohne DNSSEC, weil die DENIC ihre eigene ENUM-Zone (+49…) nicht signiert. Warum auch immer.


Exposed-Host einrichten

Schritt 24 von 28:
Code:
sudo service asterisk restart
echo '[asterisk]' | sudo tee --append /etc/fail2ban/jail.local
echo 'enabled = true' | sudo tee --append /etc/fail2ban/jail.local
sudo service fail2ban restart
aktiviert fail2ban, damit Eindringlinge sich nicht laufend einloggen können, sondern immer länger warten müssen.

Schritt 25 von 28:
Code:
ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/'
ermittelt von Deinem Ubuntu die lokale IP-Adresse; die brauchst Du gleich.

Schritt 26 von 28:
  1. Webinterface: fritz.box…
  2. (Linke Seite) Internet » Freigaben » (Portfreigaben ») Hinzufügen:
    • IPv4-Adresse: (siehe vorherigen Schritt)
    • Dieses Gerät komplett für den Internetzugriff über IPv4 freigeben (Exposed Host): Ja
    • Dieses Gerät komplett für den Internetzugriff über IPv6 freigeben (Exposed Host): Ja
  3. OK » Übernehmen
  4. (Linke Seite) Heimnetz » (Heimnetzübersicht ») Netzwerkeinstellungen » DNS-Rebind-Schutz: Deine Domain ohne www
erlaubt Deine Zugangsbox keinen Exposed-Host (DMZ), erstelle drei Weiterleitungen (Port-Forwarding): TCP/5061, TCP/5060 und UDP/5060. Beispiel Telekom Speedport: speedport.ip » Internet » Portfreischaltung » Port-Weiterleitung » Umzuleitende Ports: (erster Kasten = Start des Bereichs) 1, (zweiter Kasten = Ende des Bereichs) 65535, (dritter Kasten = Start des Bereichs der Weiterleitung) 1. Das machst Du einmal für UDP und einmal für TCP. Wenn Du die (irreführende) Fehlermeldung „Folgende Ports sind für interne Zwecke reserviert“ erhältst, lösche mal alle Anbieter unter speedport.ip » Telefonie. Beispielsweise beim Speedport NEO hilft das. Ansonsten musst Du den in der Fehlermeldung genannten Port auslassen, also zusätzliche Weiterleitungen anlegen, beispielsweise UDP 1-5059, UDP 5061-65535, TCP 1-7546, TCP 7548-65535. Dass diese Fehlermeldung unsinnig ist, siehst Du daran, dass eine FRITZ!Box nicht meckert. Daher würde ich an Deiner Stelle den Telekom Speedport durch eine FRITZ!Box ersetzen, beispielsweise eine FRITZ!Box 7520 bekommst Du in eBay für 40€.


DNS einrichten

Schritt 27 von 28:
  1. Core-Networks.de » Webinterface » Produkte » Domain » DNS-Zonen…
  2. klicke in der Spalte „Zone“ auf Deine Domain
  3. erstelle den TLSA-Record:
    Taste „Assistent“ statt „MX“ den Wert „TLSA“ und dann erst die Taste „Assistent“ wählen
    1. Port: 5061
    2. Zertifikat: Kopiere aus der Complete-E-Mail von RapidSSL/GeoTrust den Text ab der Stelle -----BEGIN CERT.
    3. Rest (Defaults) würde ich so lassen; mehr Informationen…
  4. erstelle die SRV-Records:
    beim Assistent wählst Du nun statt MX den Wert SRV
    1. Dienst: sips
    2. Priorität: 10
    3. Port: 5061
    4. Server: Deine Domain ohne www aber mit einem Punkt am Ende, also beispielsweise example.com.
    5. Rest (Defaults) wieder so lassen
  5. beim Assistent wählst Du erneut statt MX den Wert SRV
    1. Dienst: sip (diesmal ohne s am Ende)
    2. Priorität: 20
    3. Port: 5060
    4. Server: genau wie eben, example.com.
  6. zum letzten Mal wählst Du beim Assistent statt MX den Wert SRV
    1. Dienst: sip (diesmal ohne s am Ende)
    2. Protokoll: UDP (vorher war es immer TCP)
    3. Priorität: 30
    4. Port: 5060
    5. Server: genau wie bereits, example.com.
  7. erstelle den NAPTR-Record:
    diesmal nutzt Du nicht den Assistenten sondern das Feld darunter
    1. example.com. NAPTR 10 10 "S" "SIPS+D2T" "" _sips._tcp
    2. Taste Hinzufügen
    3. example.com. NAPTR 20 20 "S" "SIP+D2T" "" _sip._tcp
    4. Taste Hinzufügen
    5. example.com. NAPTR 30 30 "S" "SIP+D2U" "" _sip._udp
    6. Taste Hinzufügen
Überprüfe nochmals, dass Du überall „example.com“ durch Deine Domain ersetzt hast.

Schritt 28 von 28:
  1. Core-Networks.de » Webinterface » Produkte » Domain » DNS-Zonen » Dynamisches DNS (Icon: Zahnräder)
  2. füge einen Zugang hinzu (Benutzername und Kennwort kannst Du frei wählen)
  3. fritz.box…
  4. (Linke Seite) Internet » Freigaben » DynDNS
    1. Anbieter: Benutzerdefiniert
    2. Update-URL: https://dyndns.core-networks.de/?hostname=<domain>&myip=<ipaddr> (so eintragen; nichts ersetzen)
    3. Domainname: example.com
    4. Benutzername und Kennwort wie eben bei Core-Networks angegeben
    5. Taste „Übernehmen“
Hat alles funktioniert, steht auf der Übersichtsseite der FRITZ!Box (unter Komfortfunktionen): „aktiviert, example.com, IPv4-Status: erfolgreich angemeldet“.


Mobiltelefon einrichten VoIP-Client

CounterPath Bria
  1. Installiere Bria:
  2. Öffne Bria
  3. Settings » Accounts » New/Plus » SIP
    Lass nicht erwähnte Felder einfach leer
    • Account Name: Asterisk
    • Username: malcolm
    • Password: malcolm
    • Domain: example.com
    • Account Advanced » Global IP: Aus (beide)
    • Account Advanced » SIP Transport: TLS
    • Account Advanced » Encrypt Audio: Best Effort
    • Account Advanced » Show Miscellaneous » Passive Session Timer: Aus
  4. Zurück und Save
  5. Registerkarte Phone » 600 » Call
Windows 10 Mobile oder Windows Phone 8.1
  1. Installiere Linphone…
  2. Alle Apps » Linphone » Settings » SIP account:
    Lass nicht erwähnte Felder einfach leer
    • Username: malcolm
    • Password: malcolm
    • Domain: example.com
    • Transport: TLS
    • Outbound proxy: An
  3. Save » Advanced settings » Media encryption: sRTP
  4. Zurück » 600 » Call
Nokia Belle (Symbian/S60)
  1. Nokia » Menü » Einstellungen » Profile » Offline » Aktivieren (damit es die Uhrzeit im Netz nicht abfragt; NITZ)
  2. Nokia » Menü » Einstellungen » Telefon » Uhrzeit und Datum » Datum » irgendwas im Jahr 2012 (weil das Code-Signing-Zertifikat abgelaufen ist)
  3. lade und installiere die SIP VoIP Settings
  4. Nokia » Menü » Einstellungen » Telefon » Uhrzeit und Datum » ändere wieder zurück auf das heutige Datum
  5. Nokia » Menü » Einstellungen oder System » Verbindungen » (Verwaltungseinstellungen ») Netzeinstellungen » Advanced VoIP » Create new service » Create new SIP profile
  6. Username: sips:[email protected]
  7. Passwort: malcolm
  8. OK » Would you like to create presence settings for the service? No
  9. jetzt bist in Kontakte und ein neuer Reiter hat sich oben aufgetan; noch nicht den Dienst aktivieren!
  10. drücke lange auf die Menütaste » Netzeinstellungen:
  11. VoIP services » … » Profile settings » Secure-Call Preference (SCP): Prefer secure
  12. jetzt zurück zu Kontakte, den Reiter mit example.com » Dienst aktivieren? Wählen » Keine Verbindungen definiert. WLAN-Netze suchen? OK
Deaktivieren kannst Du VoIP über den Menüpunkt Kontakte » example.com » Optionen. Während einem VoIP-Gespräch zeigt Dein Nokia kein offenes Schloss mehr an. Folglich nutzt Du SIP-over-TLS mit sRTP.


Würde mich freuen, wenn Ihre Eure Langzeiterfahrungen postet!

Gestützt habe ich diese Anleitung auf:
[1] Asterisk 11 on Ubuntu 12.04 LTS
[2] Asterisk Secure Calling Tutorial
[3] We are requesting sRTP for audio, but they responded without it!
[4] SSL-Troubleshooting with Wireshark
[5] Nokia N85 direkt an FRITZ!Box’ SIP-Registrar
[6] Asterisk 12 on Ubuntu 14.04 LTS

weitere VoIP/SIP-Clients (hauptsächlich für Apple iOS):
  • Klartext TLS-Cipher: iSoftphone 2.2
  • keine Hostname-Validierung: Join 2.3.0, Media5-fone Pro 4.20.1, PortGo 5.1
  • kein sRTP (abgehend): BeeHD 3.5.0.49, Zoiper Premium 1.13
  • kein TLS-PFS: Nokia Series 40, Nokia Asha Software Platform, Snom 3xx
  • kein AMR-WB: Acrobits Groundwire 3.3.4, Acrobits Softphone 5.6.9, Linphone 3.13, SessionChat 5.21, Snom
Linphone nutzt nicht die Zertifikate des Betriebssystems. Deswegen muss man für Linphone ein Zertifikat kaufen; siehe Schritt 17. Auch nutzt Linphone nicht das DNS des Betriebssystems sondern immer Server von Google. Daher erwähnte ich Linphone nur für Windows-Telefone. Wer AMR-WB nicht braucht, sondern den Opus-Codec für hochauflösende Gespräche nutzt, bekommt (allein) mit den beiden Software-Telefonen von Acrobits eine Alternative zum bereits erwähnten Bria. Aber wer mit einem Mobiltelefon auch mittels (Bluetooth-) Headset nicht zurecht kommt – also wer ein Tischtelefon braucht – dem seien (aktuelle) Snom-Tischtelefone empfohlen.
 
Zuletzt bearbeitet: