poniedziałek, 7 grudnia 2015

Własny serwer VoIP

 Wstęp

Ostatnio jak przeglądałem, różne oferty pracy, zaobserwowałem takie pojęcia jak SIP, RTP, PBX czy też VoIP i dlatego powstał ten oto post. Opisywać poszczególne pojęcia będę w trakcie tworzenia serwera umożliwiającego komunikacje głosową przez sieć komputerową. 

Co to jest VoIP i narzędzia

Najprostszym sposobem by było odesłać was do Wikipedii, ale to zbyt proste. VoIP (Voice over IP) zwana jest także jako telefonia IP i polega ona na przetworzeniu sygnału audio do formatu cyfrowego i wysłaniu go przez siec komputerową. 
Wiedząc mniej więcej jak działa ta technologia, teraz potrzebny jest serwer VoIP i komunikator, który umożliwia nam przesyłanie sygnału audio. Ja do tego wykorzystam serwer PBXa o nazwie Asterix. PBX (Private Branch eXchange) jest to nic innego jak centrala telefoniczna. Twinkle posłuży mi jako komunikator audio.

Instalacja i konfiguracja Asterixa

Instalacja serwera Asterix nie jest trudna na systemach typu Linux, bo większość z nich posiada ten serwer w repozytorium. Instalacja jest pokazana niżej.

Po zainstalowaniu, musimy teraz sprawdzić czy Asterisk działa wykonujemy polecenie:
Powinno działać, w razie niepowodzenia, możemy spróbować odpalić ten serwis manualnie i wtedy pokaże on nam dlaczego nie może się uruchomić. Zakładając, że wszystko działa poprawnie przechodzimy do następnej czynności, czyli podłanczamy się do działającego serwera komendą:
Jak jesteśmy połączeni z serwerem Asterisk to teraz czas sprawdzić akie kodeki obsługuje nasz serwer.
Teraz trochę omówienia tego zestawienia. Serwer Asterisk, potrafi łączyć ze sobą kodeki, przez to pokazane są one w tej tabeli. Dodatkowo to nie są wszystkie kodeki, niektóre takie jak G.723 lub G.729 wymagają doinstalowaniu do serwera, jeszcze trzeba wybrać odpowiednią biharkę by mogła być obsłużona przez procesor. Kolejne zapytanie pokaże, co potrafi obsłużyć nasz serwis.
Jak widać, trochę tego jest, ale aktualnie nie wszystkie kodeki mamy wgrane do systemu. Teraz przejdziemy do konfigurowania naszego serwera - dokładniej trzeba konfigurować użytkowników i połączenie konferencyjne. Na początku trzeba zdefiniować użytkowników w pliku: sip.conf i dopisujemy na koniec pliku poniższą formułkę.
Teraz czas na plik extensions.conf w nim dopisujemy:
Resetujemy ustawienia naszego serwera komendą reload , jak jesteśmy połączeni do asteriska i czas na testowanie, czy nasz serwer PBXa działa poprawnie. Jak zadziała to przejdziemy do konfiguracji numeru do przeprowadzania konferencji. W celach testowych na innym komputerze zainstaluje sobie softphona o nazwie Ekiga - jest to darmowy program, dla systemów Windows i Linux.