ekiga nutzt die Adressbücher von evolution (PIM unter Gnome). Das Standard-Adressbuch wird gespeichert unter ~/.evolution/addressbook/local/system/addressbook.db und besteht aus vCard-Einträgen in einem binären Datenbankformat. Für ekiga sind dabei (pro vCard) nur zwei, allerdings proprietäre, Einträge relevant:
in vCards verwendet:

TEL;X-GNOMEMEETING-SPEEDDIAL=01: (eine leere Telefonnummer mit zus. Attribut)
X-EVOLUTION-VIDEO-URL:0049123456789

Sowohl ekiga als auch kaddressbook bieten eine LDAP-Nachschlagefunktion, jedoch keine Möglichkeit in ein LDAP-Verzeichnis zu schreiben. Dies ist also als gemeinsame Datenbasis nicht verwendbar, und ein Export nach LDAP ist nicht besser als ein Export in eine lokale Datei, mit anschließendem Import in ekiga.

Um weiterhin kaddressbook zur Speicherung aller Adressdaten zu verwenden sollte man:

  • Eine Kategorie “ekiga Telefonbuch” in kaddressbook anlegen mit allen Kontakten die man im ekiga Telefonbuch aufnehmen will.
  • eikiga-Kurzwahlnummern als spezielle Telefonnummern aufnehmen.
  • Diese Kategorie als Multiple-vCard-Datei exportieren.
  • Ein Script schreiben das Kontakte in mehrere aufteilt (einer je Telefonnummer, da ekiga nur eine VoIP-URL pro Kontakt im Adressbuch auswertet), »X-EVOLUTION-VIDEO-URL:« für die Telefonnummer verwendet und »TEL;X-GNOMEMEETING-SPEEDDIAL=01:« für eine Schnellwahl.
  • Die exportierte Datei in ekiga importieren.
  • Diesen Vorgang wiederholen wann immer sich wieder einige Kontakte geändert haben.

Statt diesem aufwändigen Verfahren bietet es sich eher an, aus kaddressbook heraus anzurufen mit Hilfe von »ekiga -c URL«.

Problem hier: twinkle erhält (zumindest bei 1&1 als Provider) Nummern eingehender Anrufe im Format »49123456789 <49123456789>«, in kaddressbook jedoch sind die Nummern (hier) im Format »0049 123 456789« gespeichert.
Eine Korrektur ist möglich über »Edit -> User profile -> Address format -> Number conversion«. Diese Einstellungen wirken auf die Nummer (nicht den Namen), und zwar sowohl bei abgehenden als auch bei eingehenden Anrufen. Mit »Match Expression: (.*)« und »Replace: 00$1« erhält man z.B. nun Nummern als
»49123456789 <0049123456789>«. Dabei ist zu beachten dass die jeweils aktiven regulären Ausdrücke auch auf die Ansicht der Anrufliste angewandt werden.

Damit twinkle die Nummern im vorliegenden Fall in kaddressbook nachschlagen kann ist folgende Rufnummernkonvertierung einzutragen: »Match Expession: ^([^0].)(…)(.*)$« und »Replace: 00$1 $2 $3«. Das funktioniert jedoch nur bei dreistelligen Vorwahlen. Jedoch ist anscheinend die gesamte Funktion zum Nachschlagen im Adressbuch fehlerhaft, denn auch wenn die Rufnummer in twinkle und in kaddressbook nicht übereinstimmen wird der Name nicht korrekt nachgeschlagen. Erklärung zu obigem regulären Ausdruck noch: Zwar beginnen alle Nummern eingehender Anrufe mit dem Ländercode ohne »00«, jedoch würde eine Voranstellung von »00« in jedem Fall auch Nummern ausgehdender Anrufe betreffen und unbrauchbar machen.

Deshalb muss folgende alternative Lösung gewählt werden: bash-Script schreiben das von twinkle bei eingehenden Anrufen ausgeführt wird, die Environment-Variable SIP_FROM_USER untersucht, den entsprechenden Datensatz in kaddressbook ermittelt und den zugehörigen Namen »caller_name=…« auf stdout schreibt. Dieser Name wird statt des von twinkle in kaddressbook nachgeschlagenen Namens und statt eines evtl. vom Anrufenden übergebenen display names angezeigt. Siehe http://www.xs4all.nl/~mfnboer/twinkle/manual.html .

Unter »Einstellungen -> Adressbuch einrichten … -> Allgemein -> Skript-Einbindung -> Telefon« trage man ein: »twinkle –call %N –immediate«. Üblicherweise akzeptieren VoIP-Anbieter Telefonnummern in internationalem Format (z.B. 0049 641 2345678), meist dürfen auch beliebig viele Leerzeichen enthalten sein. Andere Nummmernkonvertierungen die in twinkle selbst über »Edit -> User profile -> Address format -> Number conversion« gemacht werden können jedoch zu inakzeptablen Nummern führen da sie vor dem Anrufen der jeweiligen Nummer durchgeführt werden. Bei Bedarf können solche Nummernkonvertierungen auch außerhalb von twinkle gemacht werden indem man statt o.a. Befehl etwas verwendet wie: »twinkle –call “$(less ‘%N’ | sed ‘s/0049 /0/’)” –immediate«.

  1. Eigenes Bild in seinen Kontaktdaten in kaddressbook speichern (Format JPG, Breite 96px, Höhe beliebig).
  2. Eigene öffenliche Schlüssel als Verschlüsselungsschlüssel auswählen und mit den Kontaktdaten speichern.
  3. Man wählt in kaddressbook: »Datei -> Exportieren … -> vCard 3.0 exportieren -> Ausgewählter Kontakt«.
  4. »Einstellungen -> Erweiterung anzeigen -> Adressbücher« aufrufen und ein neues Adressbuch mit der gerade exportierten Datei anlegen.
  5. Den Eintrag im neu hinzugefügten Adressbuch bearbeiten mit kaddressbook: alle nicht gewünschten Felder entfernen, Felder wie »NOTE« nach Wunsch ändern.
  6. Die zugehörige Datei nun noch in einem Texteditor bearbeiten. Es müssen weitere Felder entfernt werden (z.B. UID, da nur auf dem eigenen Rechner von Bedeutung). Auch kann man die Felder in einer logischen Reihenfolge anordnen.

Die korrekte Konfiguration in /etc/network/interfaces ist:

iface wlan_test_dhcp inet dhcp
hostname matthias
  wireless_essid Ansorg_WLAN
  wireless_nick MATTHIAS
  wireless_mode Managed
  wireless_key off
iface wlan_test_static inet static
  address 192.168.178.20
  netmask 255.255.255.0
  gateway 192.168.178.1
  dns-nameservers 192.168.178.1
  hostname matthias
  wireless_essid Ansorg_WLAN
  wireless_nick MATTHIAS
  wireless_mode Managed
  wireless_key off

Diese Kondigurationen berücksichtigen die Besonderheiten der Elsa AirLancer MC-11 wie dokumentiert in http://osdir.com/ml/freifunk.wlanware/2004-12/msg00060.html . (Nämlich dass bei der AirLancer MC-11 im Mode »managed« kein Kanal gesetzt werden kann, was aber auch nicht notwendig ist um eine lauffähige Konfiguration zu erhalten.)

Und die richtigen Befehle zum Verbinden, direkt nach dem Einstecken der Karte, als root:

ifup eth1=wlan_salzburg_test_dhcp

bzw.

ifup eth1=wlan_salzburg_test_static

Beide Befehle funktionierten auf einem Computer mit Ubuntu 7.10, und auf einem anderen mit Ubuntu 7.10 nicht. Dabei wird der Computer als WLAN-Gerät korrekt angemeldet (erscheint hier als aktiv in der Liste der WLAN-Geräte in einem Fritz!Box-Router), erhält aber bei Konfiguration per DHCP keine IP-Adresse zugewiesen (»No DHCPOFFERS received.«), und bei statischer Konfiguration ist ping ebenfalls nicht möglich.

Eine Fehlermeldung bei »ifdown eth1« ist aber normal und tritt auch bei anderen WLAN-Karten auf:

Error for wireless request "Set Mode" (8B06) :
  SET failed on device eth1 ; Operation not supported.

Der Unterschied zwischen den Rechnern liegt also anscheinend nicht an einer einseitig falschen Konfiguration von DHCP. Evtl. falscher DHCP-Client oder Problem mit resolv.conf?

Am Beispiel von vmware-player unter Ubuntu Linux 7.04: vorgehen nach http://ubuntuforums.org/archive/index.php/t-425313.html , Kommentar von 2007-10-01, 03:34 PM .
Also in /var/lib/dpkg/info/vmware-player.prerm zu Anfang “exit 0” einfügen, dann ausführen:

sudo apt-get remove --purge vmware-player

dpkg -r –force-all ist keine Alternative und behebt das Problem nicht.