Asterisk to bardzo wdzięczna programowa centrala telefoniczna. Mimo tego, że jest wielkim kombajnem bez problemów można ja zainstalować nawet na Raspberry Pi i obsługiwać malutką sieć VoIP.
Zakładamy, że używamy Debiana (nie ważne na jakiej platformie) a pliki konfiguracyjne Asteriska nie są zmodyfikowane - mamy doczynienia z konfiguracją startową dla Debiana.
Asterisk jest dostępny wprost z repozytoriów:
apt install asterisk
Cała konfiguracja Astriska przetrzymywana jest w katalogu /etc/asterisk. Użytkowników dodajemy w pliku /etc/asterisk/users.conf
Pliki konfiguracyjne mają strukturę plików .ini. Poniższej konfiguracja dla dwóch użytkowników:
[81]
fullname = Jacek
secret = PASSWORD
hassip = yes
context = wewnetrzne
host = dynamic
[82]
fullname = Placek
secret = PASSWORD
hassip = yes
context = wewnetrzne
host = dynamic
Cóż to wszystko oznacza?
[8x] to nazwa użytkownika i zarazem numer telefoniczny danego klienta
fullname wartość używana jako identyfikator rozmówcy
secret hasło użytkownika wymagane do zalogowania się
hassip ten parametr mówi Asteriskowi, że ma utowrzyć konto SIP dla tego użytkownika
context to kontekst w którym pojwią się połączenia od tego użytkownika - parametr używanym w dialplanie
host informuje Asteriska czy dany użytkownik ma stały czy zmienny adres IP
Przeładowujemy konfigurację Asteriska by wprowadzone zmiany stały się aktywne:
asterisk@asterisk:~# rasterisk -vvv
asterisk*CLI> reload
asterisk*CLI> sip show users
Username Secret Accountcode Def.Context ACL Forcerport
81 PASSWORD wewnetrzne No No
82 PASSWORD wewnetrzne No No
Użycie parametru -vvv powoduje, że konsola Asteriska będzie wyświetlać bardziej szczegółowe dane (tryb verbose na poziomie 3).
Dla poprawnej konfiguracji klienta potrzebne są następujące dane:
W przypadku Debiana jako klient SIP dobrze sprawuje się Jami a na Androidzie ZoIPer. Niestety od wersji 12 Android nie wspiera w standardowym dialerze opcji klienta SIP.
Po poprawnym skonfigurowaniu klienta i połączeniu z centralką w konsoli Asteriska powinniśmy zobaczyć
Registered SIP '81' at 192.168.1.104:5060
Asterisk daje możliwość podglądu statusu klientów SIP przy użyciu polecenia:
asterisk*CLI> sip show peers
Name/username Host Dyn Forcerport Comedia ACL Port Status Description
81/81 192.168.1.104 D Auto (No) No 5060 Unmonitored
82 (Unspecified) D Auto (No) No 0 Unmonitored
2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 1 online, 1 offline]
Na tą chwilę klienci SIP tak naprawdę nic nie mogą zrobić. By jakiekolwiek połączenia były możliwe do wykonania musimy dodać odpowiednie reguły do dialplanu (w pliku extensions.conf)
Dodajemy sekcję wewnetrzne czyli konteks który ustaliliśmy w konfiguracji klientów SIP.
[users]
exten => 81,1,Dial(SIP/81)
exten => 82,1,Dial(SIP/82)
Teraz wystarczy przeładować konfigurację dialplanu by połączenia między klientami stały się możliwe.
CLI> dialplan reload