Internet-Telefonie mit Linphone

Aus LinuxUser 12/2005

Internet-Telefonie mit Linphone

Internet-Telefonie

Um Verwandte und Freunde rund um den Globus anzurufen, greifen man heute nicht mehr zum Telefon, sondern zum Headset. Mit Linphone verfügen Linux-Anwender über ein komfortables Programm zum Telefonieren via Internet.

Der Preiskampf im Bereich der Internet-Telefonie – oder präziser Voice over IP – ist spektakulär: Noch nie war Kommunikation rund um die Welt so günstig. Neueste Angebote für einmalig ein paar Euro ermöglichen Telefonate in die meisten europäischen Festnetze – so oft und so lange Sie wollen.

Inzwischen gibt es zahlreiche Anbieter für Internet-Telefonieleistungen – selbst die Deutsche Telekom erwägt zur Zeit einen entsprechenden Dienst. Auch unter Linux stehen verschiedene Möglichkeiten zur Auswahl, um von der neuen Technologie Gebrauch zu machen. Das Programm Linphone gehört zu den komfortablen Möglichkeiten (Abbildung 1).

Abbildung 1: Linphone ermöglicht einen komfortablen Zugang zur Sprachkommunikation via Voice over IP.

Abbildung 1: Linphone ermöglicht einen komfortablen Zugang zur Sprachkommunikation via Voice over IP.

Für VoIP benötigen Sie zunächst einen Internet-Anschluss; am besten eignet sich für diesen Zweck ein DSL-Zugang. Bei einer ISDN-Leitung leidet die Sprachqualität recht stark, und auch bei einer DSL-Verbindung sollten Sie die Bandbreite nebenbei nicht zu sehr strapazieren: Schon das Versenden einer großen E-Mail führt mitunter zum Abbruch des Gespräches.

Wie für die klassische Telefonie gibt es für VoIP mehrere Anbieter, auch Provider genannt. Diese sind fast immer vom Internet-Anbieter unabhängig, viele Nutzer verwechseln diese jedoch häufig. Sie dürfen also zum Beispiel einen VoIP-Vertrag mit Sipgate über einen Internet-Anschluss von Arcor nutzen (Abbildung 2).

Für die Wahl des VoIP-Anbieters lohnt es sich, alle Möglichkeiten zu vergleichen: Der eine Anbieter ist für Gespräche ins europäische Festnetz sehr günstig, der andere gut für Anrufe auf Mobiltelefone. Viele VoIP-Provider haben untereinander sogenannte Routing-Abkommen, die Teilnehmern des einen Netzes erlauben, kostenlose Gespräche zu den Kunden eines anderen Anbieters aufzubauen.

Bei den meisten Accounts bekommen Sie auch eine aus dem Fest- und Mobilnetz erreichbare Nummer. Damit könnte der VoIP-Anschluss als ein vollwertiger Telefonersatz fungieren. Eine kleine Übersicht über VoIP-Provider finden Sie auf der Web-Seite Onlinekosten.de [1].

Für diesen Beitrag gehen wir von zwei hypothetischen VoIP-Accounts mit der Kennung “pinguin” bei den Providern Sipsnip und Purtel aus. Der Teilnehmer telefoniert dabei über den Sipsnip-Account, möchte aber auf dem Purtel-Account Anrufe entgegennehmen.

Abbildung 2: Telefonie über das Internet läuft über die Protokolle SIP und RTP. Firewalls und Router erweisen sich dabei mitunter als Hindernis.

Abbildung 2: Telefonie über das Internet läuft über die Protokolle SIP und RTP. Firewalls und Router erweisen sich dabei mitunter als Hindernis.

Zum Telefonieren fehlt nur noch die Hardware. Bei Voice over IP bietet sich neben dem Einsatz von Telefon-ähnlichen Geräten die Nutzung so genannter Softphones an. Wer also den Hörer in der Hand nicht missen will, greift zu einem Hardware-Telefon. Mit einem Softphone fällt der Einstieg allerdings wesentlich günstiger aus. Hier übernimmt ein Programm auf einem Rechner den Verbindungsaufbau und die Kommunikation.

In Kombination mit Softphones, wie Linphone, eignen sich am besten sogenannte Headsets, die Mikrofon und Kopfhörer vereinen. Dabei empfiehlt sich ein Gerät aus dem mittleren Preissegment ab 15 Euro. Im Test kamen ein Wintech WH8 und ein Plantronics Audio 40 zum Einsatz, die beide zufriedenstellende Leistungen erbrachten.

Installation

Linphone [2] gehört zu den bekanntesten Softphone-Anwendungen. Sie wurde für den Gnome-Desktop optimiert; es spricht jedoch nichts gegen den Einsatz unter KDE. Sie finden die Quellen der Release 1.1.0 zusammen mit den entsprechenden Bibliotheken auch auf der Heft-CD zu dieser Ausgabe im Verzeichnis LinuxUser/linphone/.

Mandriva Linux 2006 bringt die aktuelle Version 1.1.0 bereits mit. Benutzer von Gentoo Linux installieren Linphone 1.1.0 durch ein simples emerge. Suse 9.3 und 10.0 kommen mit Linphone in der Version 1.0.0, die für den täglichen Bedarf ausreicht. Hier versteckt sich die Software im KDE-Menü hinter dem Eintrag Telefon. Verwenden Sie Debian Testing (“Etch”) oder Ubuntu Linux 5.10 (“Breezy Badger”), liefert das Repository die geringfügig neuere Version 1.0.1.

Wenn Sie das Programm von Hand kompilieren und installieren, beachten Sie beim Übersetzen unbedingt die korrekte Reihenfolge. Linphone verwendet für die Kommunikation mit dem VoIP-Anbieter die Bibliothek Libosip2. Darum installieren Sie diese zuerst. Öffnen Sie ein Terminal – unter KDE heißt es Konsole – und melden Sie sich durch den Befehl su und die anschliessende Eingabe des Passworts für das Root-Benutzerkonto als Administrator an. Entpacken Sie das Archiv mit tar xzf libosip2-2.2.0.tar.gz, und wechseln Sie mit cd libosip2-2.2.0 in den neu entstandenen Ordner. Die folgende Befehle übersetzen und installieren die Bibliothek:

./configure --prefix=/usr
make
make install
ldconfig

Verlassen Sie nun den Linosip2-Ordner entpacken Sie als nächstes das Linphone-Archiv mit dem Befehl tar xzf linphone-1.1.0.tar.gz. Mit cd linphone-1.1.0 wechseln Sie wiederum ins passende Verzeichnis wechseln und nutzen dort die gleichen Befehle zum kompilieren und übersetzen verwenden, wie bei der Bibliothek.

Unter Umständen fehlen Entwicklerpakete, wie das des Speex-Codecs. Die Installation dieser Pakete verläuft von Distribution zu Distribution unterschiedlich. Hier empfiehlt es sich, im Installationsprogramm nach Paketen ähnlichen Namens zu suchen und diese zu installieren.

Zugang einrichten

Nach dem Start begrüßt Sie Linphone mit einer minimalistisch gehaltenen Benutzeroberfläche. Von Ihrem VoIP-Anbieter erhalten Sie Zugangsdaten, mit denen Sie sich nun am Server anmelden. Neben einem Benutzernamen und einem Kennwort gibt es dazu eine Domain. Wie bei einer E-Mail-Adresse setzt sich die SIP-Kennung – also die Telefonnummer im VoIP-Netz – aus dem Benutzernamen und der Domain zusammen.

In unserem Beispiel wäre die SIP-Kennung pinguin@sipsnip.de für den Sipsnip-Account. Bei Purtel sieht die Domain jedoch anders aus als erwartet, sie lautet dort pinguin@deu1.purtel.com. Über die Homepage des VoIP-Anbieters haben Sie Zugriff auf die Daten und ändern diese dort bei Bedarf. Dabei unterscheiden viele VoIP-Providern zwischen der Telefonnummer und dem Benutzernamen. Eine Ausnahme ist Purtel, bei dem der Benutzername der Purtel-Telefonnummer enspricht, und dieser deswegen nur aus Ziffern besteht.

Mit Ihren Zugangsinformationen ausgestattet, ist die Konfiguration schnell erledigt. Im Menü Start finden Sie den Punkt Einstellungen. Auf dem Reiter SIP tragen Sie zuerst die Identität oder SIP-Kennung ein. In unserem Beispiel steht bei Ihre Sip-Adresse: zuerst pinguin und nach dem Klammeraffen (“@”) sipsnip.com. Das Häkchen bei Automatisch einen gültigen Hostnamen erraten darf dafür nicht gesetzt sein.

Als nächstes teilen Sie Linphone mit, zu welchem Internet-Server Sie eine Verbindung wünschen, um Anrufe zu tätigen. Im Rahmen Dienste auf entferntem Server verwenden Sie den Knopf Füge Proxy/Registrator hinzu. In folgenden Popup-Fenster geben Sie bei SIP Identität die vollständige SIP-Kennung und bei SIP Proxy den Hostnamen des SIP-Servers ein. Dieser heißt bei den von uns getesteten Providern genauso wie die Domain.

Wenn Sie durch einen Klick auf Ok bestätigen, fragt das Programm Sie direkt nach Benutzernamen und Kennwort. Diese Informationen speichert es dann, und Sie brauchen sie nicht noch einmal eingeben.

Direkter Draht zur Welt

Haben Sie die Account-Daten eingetragen und der Server Benutzername und Passwort akzeptiert, steht dem ersten Gespräch nichts mehr im Weg. Tragen Sie im Hauptfenster unter Sip-Adresse die anzurufende SIP-Identität ein (mehr zu Identitäten im Kasten “Rufnummern und SIP-Identitäten”). Bei Linphone Version 1.1.0 wählen Sie zusätzlich aus, über welchen eigenen VoIP-Account Sie kommunizieren – falls Sie mehrere VoIP-Accounts besitzen.

Rufnummern und SIP-Identitäten

Bei der Rufnummer handelt es sich im einfachsten Fall um eine gewöhnliche Telefonnummer, gefolgt von der SIP-Domain, also etwa 123456789@sipsnip.com. Wenn Sie einen VoIP-Anschluss eines anderen Anbieters anrufen möchten, geht das oft einfach über das Eintragen der entsprechenden SIP-Identität (etwa pinguinfreund@sipgate.de) oder auch über die Rufnummer des Anschlusses bei Sipgate (123456789@sipgate.de).

Leider unterstützen nicht alle Provider diese Form des Wählens. Purtel-Kunden telefonieren zum Beispiel kostenlos mit Sipsnip-Kunden, allerdings nicht durch Wählen der jeweiligen SIP-Identität. Sie geben stattdessen eine besondere Provider-Vorwahl, gefolgt von der Sipsnip-Rufnummer ein. Für Sipsnip wäre diese Vorwahl die 000555.

Unter Benutze Proxy-Server wählen Sie einen Server aus. Durch einen Klick auf Anrufen oder Entgegennehmen (in der noch nicht komplett eingedeutschten Fassung Call or Answer) baut die Software die Verbindung auf, mit Auflegen oder Abweisen (Hangup or Refuse) weist das Programm den Anrufer ab, oder es legt auf.

Zu leichteren Auswahl geben Sie jedem Adressbuch-Eintrag einen Namen, tragen die SIP-Identität ein und geben wiederum – falls Sie mehrere VoIP-Accounts besitzen – an, über welchen Account Sie diesen Kontakt anrufen wollen. Bei einem vollständigen Kontakt reicht ein Klick auf das Feld Auswählen, um die Einstellungen zu laden.

Setzen Sie im Linphone-Fenster das Häkchen bei Mehr anzeigen, präsentiert das Programm Optionen für die Lautstärke des Lautsprechers und die Empfindlichkeit des Mikrofons. Im Reiter Meine Online-Freunde sehen Sie den Online-Status von Einträgen aus dem Addressbuch – im Test funktionierte dies allerdings nicht. Wahrscheinlich hängt dies mit den von uns getesteten VoIP-Providern zusammen.

Wenn nun ein Testanruf auf eine Nummer Ihrer Wahl funktioniert, stimmt die Konfiguration an sich. Klappt auch ein Anruf von einem Festnetz- oder Mobiltelefon auf die von Ihrem VoIP-Anbieter für Sie reservierte Telefonnummer, haben Sie einen kostengünstigen Ersatz für die gute alte Wählscheibe in Händen. Leider existieren eine Reihe von Faktoren, die Ihnen hierbei einen Strich durch die Rechnung machen könnten.

Fehlersuche

Internet-Telefonie ist eine komplexe Angelegeheit, verglichen mit Standarddiensten wie Mail und Surfen. Es existieren mehrere potenzielle Fehlerquellen: Häufig hängen Probleme mit der Firewall oder der Internet-Verbindung zusammen; die Einstellungen der Soundkarte bereiten hin und wieder ebenfalls Probleme. Zudem kommt es gelegentlich zu Konflikten mit den ausgewählten Kompressionsverfahren, kurz Codecs.

Angenommen, die Kommunikation via VoIP zwischen Ihnen und der Mehrzahl anderer Teilnehmer klappt problemlos; bei einem bestimmten Anschluss versteht Ihr Gegenüber Sie, von dort kommt aber kein Ton bei Ihnen an. Hier liegt der Verdacht nahe, dass die Firewall des entsprechenden Teilnehmers nicht korrekt konfiguriert wurde.

Die meisten Anwender schützen heute ihre ans Internet angeschlossenen Rechner durch eine Firewall, oder sitzen hinter einem Router. Das SIP-Protokoll weist aber eine Reihe von Besonderheiten auf, die das Zusammenspiel mit diesen Schutzeinrichtungen schwierig gestalten. Die Hintergründe erläutert der Kasten “SIP im Detail”. Übrigens traten im Test bei den meisten Linux-Firewalls keine Probleme auf: Hier hilft die eingebaute “Intelligenz” der Firewall.

SIP im Detail

Das Session Initiation Protocol SIP verwaltet als Netzwerkprotokoll Internet-Telefonate mit einem oder mehreren Teilnehmern. Dabei übernimmt es lediglich die Koordination, signalisiert also nur das Gespräch. Die eigentliche Datenübertragung bewältigt das Realtime Transport Protocol (RTP). Die Teilnehmeradressen ähneln der von Mails bekannte Form: sip:Benutzer@domain. Viele aktuelle VoIP-Geräte setzen SIP ein; es hat als Quasi-Standard das Protokoll H.323 fast verdrängt.

SIP und RTP bauen beide auf dem verbindungslosen UDP-Protokoll auf. Aus dieser Eigenschaft und aus dem Aufteilen in die beiden Komponenten SIP und RTP heraus entstehen einige Probleme beim Verbinden über eine Firewall hinweg. SIP teilt dem VoIP-Anbieter sowohl IP-Adresse als auch Port mit, die Anrufer kontaktieren sollen.

Bei einer direkten Internet-Verbindung mit aktivierter Firewall setzt das ein Freischalten der entsprechenden Ports voraus. Es gibt ein spezielles Zusatzprotokoll zu SIP namens Simple Traversal of UDP over NATs (STUN), das hier aushilft. Derzeit unterstützt Linphone es jedoch noch nicht.

Falls Probleme mit der Ausgabe auftreten und Sie keinen Router einsetzen, aber eine elektronische Brandmauer betreiben, öffnen Sie zuerst die Ports 7078/udp und 5060/udp. Wenn die Schwierigkeiten weiter bestehen, liegt es an der Soundkarte oder den Codecs. Setzen Sie einen Router ein, leiten Sie diese beiden Ports für das UDP-Protokoll auf Ihre interne IP-Adresse weiter.

Führt dieser Schritt nicht zum erhofften Erfolg, liegt das Problem häufig bei den Einstellungen der Sound-Karte. Nehmen Sie für einen Test mit einem Aufnahmeprogramm einen kurzen Text über Ihr Headset auf. Bei Gnome heisst dieses Programm Audio Recorder; bei KDE bietet sich das Programm Krecord an, das sich im Menü unter Aufnahme findet.

Enthält die Aufnahme nur Stille, drehen Sie am Regler. Starten Sie dazu – je nach Desktop-Oberfläche – das Programm Kmix (Abbildung 3) oder Gnome-volume (Abbildung 4). Dort finden Sie eine Reihe von Optionen, abhängig von der Soundkarte und dem verwendeten Desktop. Im Bereich Wiedergabe schalten Sie das Mikrophon stumm, da Sie sich sonst selber hören. Im Reiter Aufnahme drehen Sie dagegen das Mikrophon und, falls vorhanden, den Pegel für Capture langsam auf.

Das Symbol eines Mikrophons unter diesen beiden Reglern sollte aktiviert sein. Existiert für Ihre Soundkarte noch der Reiter Schalter, verwenden Sie dort die Option Microphone Boost, um Ihr Signal nochmal einmal zu verstärken.

Abbildung 3: Bei Schwierigkeiten mit der Tonübertragung hilft ein Blick auf die Einstellungen der Soundkarte.

Abbildung 3: Bei Schwierigkeiten mit der Tonübertragung hilft ein Blick auf die Einstellungen der Soundkarte.

Abbildung 4: Mit einem Hilfsprogramm wie Gnome-volume verändern Sie die Werte für die Soundkarte so, dass die Kommunikation störungsfrei läuft.

Abbildung 4: Mit einem Hilfsprogramm wie Gnome-volume verändern Sie die Werte für die Soundkarte so, dass die Kommunikation störungsfrei läuft.

Im Reiter Option stellen Sie gegebenenfalls die Aufnahmequelle ein – also auf das Mikrophon. Unter KDE sollten bei Input die grünen Lämpchen beim Mikrophon und (falls vorhanden) bei Capture aus sein, die roten Lämpchen jedoch an. Beide müssen auch auf einen hohen Aufnahmepegel gestellt werden. Auch hier gibt es eventuell unter Switches die Aufnahmequelle und einen “Microphone Boost”.

Selten kommt es bei der VoIP-Kommunikation zu Problemen mit der Auswahl an Kompressionsverfahren (Codecs). Es existieren mehrere solcher Verfahren, und nicht immer unterstützen alle Parteien eines Gesprächs die gleichen. Linphone wartet jedoch mit einer ganzen Reihe Codecs auf, und im Test traten entsprechende Probleme nicht auf.

Treffen Sie doch einmal auf ein Problem, das sich durch die obigen Tricks nicht beheben lässt, versuchen Sie im Menüpunkt Einstellungen unter dem Register Codecs die Reihenfolge der Codecs zu verändern. Am häufigsten akzeptieren Programme die Verfahren PCMU und PCMA. Daher verschieben Sie diese im Problemfall nach oben. Die beste Sprachqualität bietet meistens der Speex-Codec mit einer Abtastrate von 16 kHz.

Fazit

Linphone hat einen bereits einen guten Funktionsumfang erreicht, und das Entwicklungstempo nimmt derzeit etwas ab. Viele Anwender wünschen sich insbesondere eine verbesserte Firewall-Unterstützung in Form des STUN-Protokolls (siehe Kasten “SIP im Detail”), die die Entwickler aller Wahrscheinlichkeit nach demnächst auch implementieren. Insgesamt präsentiert sich Linphone als gelungenes und komfortables Softphone. (agr/jlu)

Softphones für Linux

Es existieren noch eine Reihe weiterer Softphones für Linux. Relativ bekannt ist das auf dem Qt-Toolkit aufbauende KPhone [4] (siehe Artikel auf S. 49). Das unter Windows-Systemen weit verbreitete Softphone X-Lite steht nun auch für Linux zur Verfügung [5]. Auch die Entwicklerversion des benutzerfreundlichen Gnome Meeting [6] beherrscht nun das SIP-Protokoll.

Die Autorin

Simone Schäfer studiert zur Zeit Computervisualistik und beschäftigt sich am liebsten damit, ihr Arch-Linux-System zu reparieren. Sie testet aber auch gerne andere Distributionen.

Infos

[1] Übersicht über deutsche VoIP-Anbieter: http://www.onlinekosten.de/voip/anbieter/

[2] Linphone-Homepage: http://www.linphone.org/?lang=us

[3] Download der Linphone-Quellen: http://simon.morlat.free.fr/download/1.1.x/source/

[4] KPhone-Homepage: http://www.wirlab.net/kphone/

[5] Download X-Lite: http://www.xten.com/index.php?menu=download

[6] Entwicklerversion von Gnome Meeting: http://snapshots.seconix.com

LinuxUser 12/2005 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben