Linux E X P R E S

Facebook

Softwarové telefony

Pokud si chcete vybrat nějaký softwarový telefon pro VoIP volání pomocí protokolu SIP, patrně začnete na na některém z vyhledávačů, který vám vrátí množství odkazů na volně šiřitelné i komerční programy, které takové volání umožňují. Zabývejme se nyní těmi volně dostupnými a zároveň fungujícími na Linuxu. Zjistíme tak, jak si open-source projekty stojí v tomto segmentu. Zdeněk Pižl.


Jak už to u open-source projektů bývá, existuje přehršel programů snažících se pokrýt oblast klientských programů pro VoIP, tedy takzvaných softwarových telefonů. A jak už je zvykem, daří se jim to s různou úspěšností. Protože by bylo velmi obtížné popsat všechny varianty, vybral jsem se tři zástupce, které v následujícím textu podrobím testu v oblasti instalace, konfigurace, nabídky funkcí a uživatelského komfortu. Podle abecedního pořádku postupně přijdou na řadu Ekiga, KPhoneSI a Twinkle. Všechny tři programy jsem testoval na plně aktualizované linuxové distribuci Fedora Core 4.

Ekiga

Ekiga je nástupcem programu GnomeMeeting. Je to velice komplexní program podporující protokoly SIP a H.323 pro VoIP, video hovory pomocí H.261 QCIF protokolu a nebo H.245 Text Chat. Ekiga také spolupracuje s Evolution 2.0, podporuje LDAP a bez problémů funguje jak v GNOME, tak i v KDE.

SIP (Session Initiation Protocol) - česky protokol pro inicializaci relací je internetový protokol určený pro přenos signalizace v internetové telefonii. Normálně používá UDP port 5060, ale může fungovat i nad TCP/5060. Protokol pro zajištění VoIP spojení pracuje v součinnosti s dalšími protokoly. Vlastní přenos hovoru se uskutečňuje pomocí protokolu RTP. Detaily o vlastnostech zahajovaného přenosu popisuje protokol SDP, který je přenášen v datové části SIPu.
Starší standard pro signalizaci v internetové telefonii je H.323, který byl vyvinut telekomunikační organizací ITU-T je příliš složitý a nectí vlastnosti internetu. Protokol SIP proto vznikl jako reakce na tento standard a snaží se být co nejjednodušší a založený na internetem prověřených principech. Proto vychází z osvědčeného protokolu HTTP a je mu velmi podobný. Také využívá položek podobných osvědčeným položkám SMTP protokolu při posílání e-mailů.
Zdroj: Wikipedia

Obrázek: 1.jpg

Instalace

Na stránkách projektu jsou ke stažení připravené binární balíky vlastního programu i potřebných závislostí, knihoven OPAL a PWLIB, pro hlavní linuxové distribuce. Stačí si jen stáhnout balíky pro tu svou a instalace je pak otázkou okamžiku.

Konfigurace

Při prvním spuštění se aktivuje průvodce konfigurací, který Vás lehce a přehledně provede definicí globálních i uživatelských nastavení. Průvodce Vám nabídne vytvoření účtu na ekiga.net, nebo můžete později nadefinovat účet u jiného poskytovatele, program detekuje případný překlad adres a zvolí vhodné nastavení, provede Vás detekcí audio a video zařízení. Vše probíhá skutečně hladce a jednoduše.

Obrázek: 2.jpg

Funkce

Ani v této oblasti není co vytknout, seznam funkcí je dlouhý a nechybí nic, co byste mohli potřebovat. Počínaje volbami zrychleného vytáčení (speed dial) přes nastavení automatické odpovědi až po podrobný záznam událostí. Ekiga podporuje s jednou výjimkou snad všechny audio kodeky, které se běžně používají - iLBC, GSM-06.10, MS-GSM, G.711-Alaw, G.711-uLaw, G.726, G.721 a Speex. Tou jedinou výjimkou je komerčně licencovaný kodek G.729. V hardwarové oblasti jsou podporována zvuková zařízení s ovladači OSS a ALSA a také video zařízení pod taktovkou Video4Linux, Video4Linux2 a Firewire. V neposlední řadě je příjemnou vlastností možnost mít nadefinovaných více účtů.

Shrnutí

Na projektu Ekiga je vidět dlouhá historie jeho vývoje a protože tento vývoj není závislý na jedné osobě, jistě se bude dál úspěšně vyvíjet. Dokumentace projektu je na vysoké úrovni a komunita uživatelů roste. Pokud bych měl známkovat, dal bych devět hvězdiček z deseti možných.

KPhoneSI

KPhoneSI má zajímavou historii. Původně byl tento softphone pod názvem KPhone vyvíjen v centru WIRLAB v Seinäjoki jako jeden z projektů reálného nasazení nových technologií. Vzhledem k nedostatku zdrojů pro udržení vývoje byl však KPhone uvolněn pod licencí GNU GPL a nyní přežívá jako mnoho dalších projektů na sourceforge.net.

Obrázek: 3.jpg

Instalace

Poslední stabilní verzí je verze 1.0, kterou lze stáhnout ve formě zdrojového balíku ze stránek projektu. (Balíčky v distribucích jsou pravděpodobně spíše zastaralé, pozn. red.) Kompilace vlastního balíku závisí na přítomnosti Qt, OpenSSL a SRTP. SRTP je implementace protokolu Secure Real-Time Transport a bez existence této knihovny na hostitelském systému se mi nepodařilo KPhoneSI přeložit. SRTP je k dostání na http://srtp.sourceforge.net. Pokud jsou nainstalovány všechny závislosti, je vlastní instalace KPhoneSI otázkou spuštění standardní trojkombinace.

Konfigurace

Při prvním spuštění KPhoneSI (kpsi) se objeví dialog pro zadání informací vašeho uživatelského účtu. Bohužel lze v KPhoneSI nadefinovat pouze jeden účet, pokud jich lze mít více, nepřišel jsem na to, jak je nadefinovat. Program sám nedetekuje nastavení sítě, zda jste za firewallem (a tedy zda-li je třeba zapnout podporu pro NATované spojení) a ani automaticky nedetekuje audio zařízení. Tato nastavení je nutné nastavit manuálně v preferencích. V konfiguraci lze nastavit jak statický NAT traversal tak i STUN NAT traversal pro překonání firewallu.

Funkce

KPhoneSI podporuje standardní množinu funkcí - můžete hovory iniciovat, forwardovat, nastavovat automatické odpovědi nebo se tvářit zaneprázdněně. Program nabízí vlastní telefonní seznam, který však není propojený se seznamy z KDE nebo GNOME (například KAdressBook).

V konfiguraci KPhoneSI je také položka pro video konference, zdá se však, že tato funkce je zastaralá a v současné verzi pouze přežívá, jak dokumentuje i obsah souboru MISSING ve zdrojovém balíku: "vic is pretty old, and will not cooperate with a SBC! no solution in sight".

Bohužel se mi podařilo při normální práci program dostat do stavu, kdy neodpovídal na události generované uživatelským rozhraním a několikrát ukončil svou existenci také neoprávněným přístupem do paměti.

Shrnutí

KPhoneSI je průměrný softwarový telefon se standardní sadou funkcí. Zdá se však, že si s sebou nese historickou zátěž nechtěného dítěte, kterou dobrovolníci pracující na jeho vylepšení zatím nedokázali odstranit. Známkuji čtyři hvězdičky z deseti možných.

Twinkle

Jak říká jeho autor na domovské stránce projektu - Twinkle je softphone pracující nad prokolem SIP a v současné době je dostupná pouze verze pro Linux.

Obrázek: 5.jpg

Instalace

Přeložit a nainstalovat program se může zdát na první pohled složitější, na stránkách projektu v sekci Download je však seznam knihoven, na kterých úspěšná instalace Twinkle závisí. Program vyžaduje instalaci GNU Common C++ (commoncpp2) a následně také RTP stacku implementovaném právě v commoncpp2. Z dalších závislostí je zásadní nutností přítomnost knihoven libsndfile a QT. Pokud je na hostitelském stroji nainstalováno KDE, bude Twinkle přeložen a nainstalován také s touto podporou.

Konfigurace

První start programu vyvolá dialog pro vytvoření uživatelského profilu. Twinkle umožňuje nadefinovat více uživatelských účtů/profilů a mít za běhu programu těchto profilů více aktivních. Při dalším startu se jako první zobrazuje seznam profilů a uživatel si vybírá, se kterými chce pracovat.

Obrázek: 4.jpg

Program opět bohužel nedetekuje samostatně ani síťové nastavení ani audio zařízení a uživatel musí tyto skutečnosti nastavit sám. Jsou podporována jak ALSA tak OSS audio zařízení. V síťové sekci konfigurace lze nastavit jak statický NAT traversal tak i STUN NAT traversal pro překonání firewallu.

Funkce

Seznam funkcí je poměrně dlouhý, na rozdíl od KPhoneSI je hlavně dostupný na stránkách projektu. Twinkle dovoluje pracovat se všemi standardními funkce SIP telefonů, jako jsou pozdržení hovoru, přesměrování hovoru za různých podmínek (na požádání, nepodmíněně, při obsazené lince), předání hovoru nebo například "3-way conference calling".

K tomu přidává možnost použití více profilů, dvě linky, integraci s KAddressBook v KDE a třeba také podporu uživatelských skriptů pro zpracování příchozích hovorů.

Shrnutí

Twinkle je povedený projekt, malým problémem může být fakt, že to je "projekt jednoho muže", který jej vyvíjí od jeho počátku, kdy to byl jen pokus o vyvolání SIP komunikace až do současnosti, kdy je to softwarový telefon s plnou výbavou.

Musím se přiznat, že Twinkle je můj oblíbený softphone, ale vzhledem k složitější instalaci a zmíněnému riziku pro další vývoj ho hodnotím o něco hůře než Ekigu - dávám mu osm hvězdiček z deseti možných.

Zavoláme si?

Na třech různých projektech jsem ukázal tři různé přístupy k projektu implementace SIP softwarového telefonu s různými výsledky. Krásou open-source vývoje však zůstává jeho volnost a svoboda, vždyť neexistují jen zmíněné tři projekty, existuje mnoho dalších jako například Linphone, Shtoom, sipXphone nebo Kiax pro IAX protokol. Prostě pokud chcete, tak si z Linuxu zavoláte.

Diskuze (14) Nahoru