Yeaphone

Konfiguration

Die Konfiguration erfolgt in 3 Schritten:

  1. Einstellung des SIP-Servers über linphonec, die Konsolenversion von Linphone
  2. Angabe verschiedener Yeaphone-spezifischer Parameter
  3. Erstellen einer udev-Regel

Einstellen des SIP-Servers

Zunächst wird linphonec aufgerufen, und zwar als jener Benutzer, unter dem später Yeaphone laufen soll.

user@NSLU2:~# linphonec
Ready
Warning: video is disabled in linphonec. Run with -V option to enable it.
linphonec> proxy add
Adding new proxy setup. Hit ^D to abort.
Enter proxy sip address: sip:sipgate.at
Your identity for this proxy: sip:1234567@sipgate.at
Do you want to register on this proxy (yes/no): yes
Specify register expiration time in seconds (default is 600): 600
Expiration: 600 seconds
Specify route if needed: [leer lassen]
No route specified.
--------------------------------------------
sip address: sip:sipgate.at
route:
identity: sip:1234567@sipgate.at
register: yes
expires: 600
--------------------------------------------
Accept the above proxy configuration (yes/no) ?: yes
Proxy added.
linphonec>
Password for 1234567 on "sipgate.at": [Passwort eingeben]
Registration on sip:sipgate.at sucessful.
linphonec>

Es wurde nun eine Datei ~/.linphonerc im HOME-Verzeichnis angelegt, die die eingegebenen Parameter enthält.

Mit linphonec kann man auch gleich prüfen, ob die VoIP-Verbindung prinzipiell funktioniert, bevor man auf Yeaphone umsteigt. Kommandos müssen jedoch noch über das Terminal und die PC-Tastatur eingegeben werden. Unter Umständen wird jedoch jetzt noch eine andere angeschlossene Sound-Karte verwendet und nicht der Lautsprecher und das Mikrofon des Yealink-Hörers. Yeaphone wählt später selbständig die korrekten Audioeinstellungen aus.

Die wichtigsten Kommandos von linphonec sind:

  • help [<Kommando>]
    zeigt alle verfügbaren Kommandos bzw. gibt detailierte Hilfe zu bestimmten Kommandos aus
  • call <Rufnummer oder SIP-Adresse>
    wählt die angegebene Nummer oder SIP-Adresse
  • answer
    beantwortet einen eingehenden Anruf
  • terminate
    beendet einen (abgehenden oder ankommenden) Anruf
  • quit
    hebt die Registrierung beim VoIP-Anbieter auf und beendet linphonec

Sobald Anrufe auf diese Weise funktionieren, kann linphonec beendet werden.

Angabe Yeaphone-spezifischer Parameter

Es wird nun die Konfigurationsdatei ~/.yeaphonerc händisch angelegt. Um die Telefonnummern eingehender Anrufe korrekt verstehen und kürzen zu können, sind die Parameter intl-access-code, natl-access-code und country-code anzugeben.

Ein Beispiel für Österreich:

intl-access-code  00
natl-access-code  0
country-code      43

Oder für die USA:

intl-access-code  011
natl-access-code  1
country-code      

In ~/.yeaphonerc können auch spezielle Klingeltöne für bestimmte Rufnummern festgelegt werden, wie im folgenden Beispiel gezeigt:

ringtone_default   /usr/share/yeaphone/ringtones/default_p1k.bin
ringtone_01234567  /usr/share/yeaphone/ringtones/special_p1k.bin
ringtone_0555777   doorbell_p1k.bin

Ein relativer Dateipfad bezieht sich hier auf das Verzeichnis ~/.yeaphone/ringtone.

Eine weitere Funktion, die in ~/.yeaphonerc konfiguriert wird, ist die Mindestklingeldauer. Dabei wird angegeben, wie lange es bei einem eingehenen Anruf einer bestimmten Rufnummer mindestens läuten soll, auch wenn der Anrufer bereits aufgelegt hat. Im folgenden Beispiel werden 5 Sekunden eingestellt:

minring_01234567  5

Falls das Display im Ruhezustand außer der aktuellen Uhrzeit auch einen bestimmten Text anzeigen soll, hilft die Option display-id weiter. Das kann v.a. dort Sinn machen, wo mehrere Hörer in unmittelbarer Nähe zueinander betrieben werden und Verwechslungsgefahr bestünde. Beispiel:

display-id  "  --1234--"

Erstellen einer udev-Regel

Da Yeaphone aus Sicherheitsgründen nicht als root-Benutzer laufen sollte, müssen die Zugriffsrechte jener Dateien angepasst werden, die die Schnittstelle zum Yealink-Treiber bilden. Die folgende Zeile stellt die Gruppe von root auf voip um unter der Annahme, dass der Yeaphone-Benutzer Mitglied dieser Gruppe ist. Die Zeile muss in die Datei /etc/udev/rules.d/99-yealink.rules geschrieben werden.

KERNEL=="event*", ATTRS{name}=="Yealink*", GROUP="voip", RUN+="/bin/sh -c '/bin/chgrp voip /sys$env{DEVPATH}/device/device/*'"

Damit die Regel aktiv wird, muss nun der Hörer einmal kurz abgesteckt und wieder angesteckt werden.

Verwendung

Mit Starten von yeaphone sollten ungefähr folgende Ausgaben auf der Konsole erscheinen:

user@NSLU2:~# yeaphone
Ready
Registration on sip:sipgate.at successful.

Gleichzeitig erscheint am Display des Hörers das aktuelle Datum und die Uhrzeit, in kurzer Folge diverse Statusmeldungen, danach ist der untere Teil der Anzeige leer. Nun kann über die Tastatur des Hörers gewählt werden und Anrufe können angenommen werden.

Die Bedeutung der Tasten ist:

  1. vor einem Telefongespräch
    • 0-9,*,#
      Wählen einer Telefonnummer
    • C
      Löschen der letzten Ziffer der gewählten Nummer
    • C lange gedrückt
      Löschen der gesamten Nummer
    • <rote Taste>
      Löschen der gesamten Nummer
    • <grüne Taste>
      Anruf tätigen
    • ▲ + <0-9>
      Noch keine Ziffern gewählt: Nummer aus Speicherplatz X holen und anzeigen
      Bereits Ziffern gewählt: Aktuell angezeigte Nummer auf Speicherplatz X speichern
  2. während eines Telefongesprächs
    • 0-9,*,#
      Erzeugung von DTMF-Tönen
    • <rote Taste>
      Beenden des Gesprächs
    • VOL+/-
      Lautstärke des Lautsprechers anpassen
  3. nach einem Telefongespräch (bei angezeigter letzter Nummer)
    • 0-9
      Wählen einer neuen Telefonnummer
    • C
      Löschen der gesamten letzten Nummer
    • <rote Taste>
      Löschen der gesamten letzten Nummer
    • <grüne Taste>
      Letzte Nummer noch einmal wählen
    • ▲ + <0-9>
      Letzte Nummer auf Speicherplatz X speichern
  4. bei Läuten des Telefons
    • #
      Läuten Stummschalten ohne abzuheben
    • <rote Taste>
      Anruf sofort beenden ohne abzuheben
    • <grüne Taste>
      Anruf annehmen
  5. allgemein
    • <rote Taste> lange gedrückt
      Stoppen und Starten der VoIP-Verbindung (entspricht Ein-/Ausschalten des Telefons)
Hinweis:
Die Verwendung dieser Software erfolgt auf eigene Gefahr, der Autor übernimmt keinerlei Haftung für allfällige Schäden oder negative Auswirkungen, die durch Installation oder Verwendung dieser Software entstehen.