VoIP w wersji open source

Trzy lata temu Jon "maddog" Hall, prezes Linux International zapowiadał, że opensource'owe rozwiązania telefonii internetowej (VoIP - Voice over Internet Protocol), m.in. Asterisk, będą generowały większe dochody niż cały ówczesny rynek linuksowy. Okazuje się jednak, że duże firmy nadal w małym stopniu interesują się takimi rozwiązaniami. Przyczyna takiego stanu rzeczy jest bardzo prosta - większość z nich uważa, że to zbyt ryzykowne. Spróbujmy odpowiedzieć na pytanie, czy te zastrzeżenia są rzeczywiście słuszne.

Trzy lata temu Jon "maddog" Hall, prezes Linux International zapowiadał, że opensource'owe rozwiązania telefonii internetowej (VoIP - Voice over Internet Protocol), m.in. Asterisk, będą generowały większe dochody niż cały ówczesny rynek linuksowy. Okazuje się jednak, że duże firmy nadal w małym stopniu interesują się takimi rozwiązaniami. Przyczyna takiego stanu rzeczy jest bardzo prosta - większość z nich uważa, że to zbyt ryzykowne. Spróbujmy odpowiedzieć na pytanie, czy te zastrzeżenia są rzeczywiście słuszne.

Gdy nastąpi awaria sieci komputerowej, chociaż może wiązać się z utratą zysków, to pozostaje wykonanie telefonu do działu informatyki. Gdy jednak z awarią sieci wiąże się awaria systemu telefonicznego, może to oznaczać być albo nie być dla firmy. Obecnie tradycyjne centrale telefoniczne (PBX - Private Branch eXchange) dają gwarancję pracy bez przestoju na poziomie 99,999% (cały rok bez 5 min). Z tego powodu nadal znajdują nabywców.

Jednak idea wymiany tradycyjnej centrali telefonicznej na rozwiązanie VoIP kusi coraz bardziej. Z tego powodu producenci urządzeń PBX również wchodzą na rynek telefonii internetowej, oferując rozszerzenia tego typu dla swoich znanych i sprawdzonych produktów. Nawet połączenia VoIP pomiędzy różnymi lokalizacjami firmy zapewniają już istotną redukcję kosztów bez żadnego wpływu na działanie lokalnego systemu telefonicznego.

Pozostaje pytanie, co wybrać: komercyjny produkt czy rozwiązanie open source? Możliwość kontaktu z producentem w każdej sprawie związanej z działaniem wykorzystywanego rozwiązania jest sytuacją o wiele bardziej komfortową niż ponoszenie odpowiedzialności za jego poprawną pracę samodzielnie, co zdaniem klienta korporacyjnego miałoby miejsce, gdyby skorzystać z produktu open source.

Nie oznacza to jednak, że duże firmy w ogóle nie doceniają zalet otwartego oprogramowania. Wręcz przeciwnie, zanim zaczną rozważać produkty komercyjne, coraz częściej sprawdzają, czy nie istnieje tania alternatywa. Jednym z wyjątków od tej reguły są jednak systemy telefoniczne, gdyż większość korporacji nie pozwala sobie na opensource'owe eksperymenty na tym polu.

Odmiennie wygląda sytuacja w małych i średnich przedsiębiorstwach, gdzie perspektywa znacznej redukcji kosztów i większej kontroli nad rozwiązaniem bywa wystarczającą zachętą do jego wdrożenia. Realizowane jest ono samodzielnie albo przez doświadczonego integratora, oferującego najczęściej dodatkowo własne rozszerzenia.

Asterisk, SipX i inne projekty open source

Asterisk jest obecnie najpopularniejszą implementacją centrali telefonicznej w technologii VoIP. Coraz większe zainteresowanie wzbudza jednak SipX, oferujący pod wieloma względami dojrzalszą technologię. Rozwijane są również inne projekty, takie jak CallWeaver (dawna nazwa OpenPBX), będący odgałęzieniem Asteriska, czy FreeSwitch, napisany od podstaw. Te ostatnie nie mają jednak za sobą dużej liczby deweloperów i komercyjnego wsparcia.

Wstępna konfiguracja Asteriska jest realizowana przy użyciu prostego kreatora webowego.

Wstępna konfiguracja Asteriska jest realizowana przy użyciu prostego kreatora webowego.

Odnoszące największe sukcesy w zastosowaniach produkcyjnych Asterisk i SipX mogą być instalowane na dowolnym sprzęcie, co dodatkowo redukuje koszty wdrożenia w porównaniu z komercyjnymi rozwiązaniami IP PBX. Społeczność open source zgromadzona wokół tych rozwiązań zajęła się ich gruntownym testowaniem, usuwaniem błędów oraz wprowadzaniem przydatnych rozszerzeń.

Interesującym rozwiązaniem jest też Yate (Yet Another Telephony Engine), którego cechą wyróżniającą jest architektura. Zbudowany jest z powiązanych ze sobą modułów, nawet w przypadku elementarnych funkcjonalności. Mogą one być przygotowywane w popularnych językach skryptowych (Perl, , Python), chociaż w celu optymalizacji warto je przepisać później w języku C++, w którym napisany jest podstawowy silnik. Wymiana informacji pomiędzy nimi następuje za pomocą wiadomości zawartych w parametrach wywołania modułu. Ułatwia to bardzo rozwijanie projektu. Opracowywany jest również dedykowany programowy telefon o nazwie YateClient.

Licencjonowanie VoIP

Narzędzie konfiguracyjne SipX ma interfejs w języku polskim.

Narzędzie konfiguracyjne SipX ma interfejs w języku polskim.

Mark Spencer stworzył Asteriska w 1999 r., gdy jego ówczesna firma nie mogła sobie pozwolić na zakup tradycyjnej centrali telefonicznej. Udostępnił go światu na zasadach licencji GNU GPL, zatem z całym kodem źródłowym. Obecnie stworzone oprogramowanie jest podwójnie licencjonowane, tzn. jest darmowa wersja, którą można wykorzystać w celach produkcyjnych na własną rękę lub do testów, oraz wersja komercyjna, oferowana przez firmę Digium, licencjonowana na podstawie liczby linii wewnętrznych, zapewniająca gwarancję i wsparcie ze strony producenta.

Trochę inaczej sytuacja wyglądała w przypadku SipX, który początkowo był oprogramowaniem na prawach własności. Jego kod w marcu 2004 r. został przekazany na zasadach licencji GNU Lesser GPL do organizacji SIPfoundry przez firmę Pingtel. Chciała ona w ten sposób zwiększyć upowszechnienie tej technologii oraz powiązanej z nią kreatywności. W rezultacie oprogramowanie jest również podwójnie licencjonowane.

Wdrożenia na świecie i u nas

Projekt Yate (Yet Another Telephony Engine) obejmuje także dedykowany programowy telefon (softphone) o nazwie YateClient.

Projekt Yate (Yet Another Telephony Engine) obejmuje także dedykowany programowy telefon (softphone) o nazwie YateClient.

Firma Digium, opierająca swoją działalność na wdrażaniu Asteriska i oferowaniu powiązanych z nim produktów, może pochwalić się wieloma projektami (dostępne na jej stronie WWW), w tym dwoma dużymi. Pierwszym z nich było zastąpienie rozwiązania Cisco CallManager, obsługującego prawie 2 tys. numerów wewnętrznych akademika stanowego uniwersytetu Sam Houston. W rezultacie wyeliminowano koszty licencjonowania dotychczasowego rozwiązania, a w nowym zyskano większą elastyczność i bezpieczeństwo. Całościowe koszty telefoniczne spadły o ponad połowę. Drugim wdrożeniem było przygotowanie od podstaw systemu telefonicznego dla firmy Summer Bay Resorts, oferującej wakacje we własnych ośrodkach wypoczynkowych. Prawie cała działalność firmy jest bezpośrednio uzależniona od sprawnego funkcjonowania systemu telefonicznego, a pomimo to zdecydowała się na rozwiązanie open source, które rejestruje obecnie ponad milion minut rozmów telefonicznych w miesiącu na 13-serwerowym systemie wykorzystującym Asterisk. Koszt całego przedsięwzięcia zmieścił się, przy 600 telefonach IP firmy Polycom w różnych lokalizacjach, w kwocie 90 tys. USD. Oferta konkurencyjnego, komercyjnego rozwiązania zakładała koszt 1000 USD od stanowiska telefonicznego.

Asterisk jest rozwiązaniem, które najczęściej jest instalowane na Linuksie.

Asterisk jest rozwiązaniem, które najczęściej jest instalowane na Linuksie.

Pomimo referencji dowodzących, że duże instalacje oparte na Asterisku są wykonalne, firma Digium stara się koncentrować na średnich przedsiębiorstwach. Zdaniem Marka Spencera, twórcy Asteriska, a jednocześnie prezesa i dyrektora ds. technologii w firmie Digium, większe wdrożenia są co prawda atrakcyjne, a Asterisk jest w stanie sprostać stawianym wymaganiom, to jednak firma woli się zajmować mniejszymi klientami. Taka postawa wynika z wspomnianego już faktu, że korporacje mają wiele wątpliwości co do wykorzystywania opensource'owych rozwiązań VoIP. Główne zastrzeżenia dotyczą braku wsparcia i określonych funkcjonalności, stopnia doświadczenia administratorów, którzy mogliby wdrożyć i zarządzać tym rozwiązaniem, oraz kompatybilności produktu z wykorzystywanym sprzętem. Chociaż te obawy nie mają uzasadnienia, bo Asterisk już teraz można wykorzystywać w korporacjach, to często trudno do tego przekonać osoby decyzyjne.