Instalacja i konfiguracja centrali telefonicznej Asterisk

przez | 10 grudnia 2012

Asterisk jest to oprogramowanie centrali telefonicznej opartej na licencji GPL.

Działa na systemach operacyjnych Microsoft Windows, Linux, BSD, Mac OS X.

Przykład instalacji oparty na systemie Linux – Debian.

W celu zainstalowania centrali Asterisk, w konsoli wykonujemy polecenie :

apt-get install asterisk

Podczas instalacji wyskoczy okno konfiguracyjne:

asterisk1

Zatwierdzamy OK jeśli konfigurujemy centralę dla Polski. Czekamy aż dobiegnie końca instalacja.

Pozostałe Międzynarodowe Kody można znaleźć na stronie :

http://pl.wikisource.org/wiki/Mi%C4%99dzynarodowe_kody_telefoniczne

Poniższym poleceniem sprawdzamy czy centrala Asterisk się uruchomiła po instalacji :

/etc/init.d/asterisk status

Jeśli nie, to wykonujemy polecenie : /etc/init.d/asterisk start , które spowoduje wystartowanie usługi.

Instalacja pakietu asterisk-GUI  ( interfejs graficzny konfiguracji Asterisk przez przeglądarkę internetową ) 

Wykonujemy polecenie apt-get install subversion

Przechodzimy do katalogu /usr/share/asterisk i ściągamy paczkę asterisk-gui :

cd /usr/share/asterisk

svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0  asterisk-gui

Przechodzimy następnie do katalogu /usr/share/asterisk/asterisk-gui i wykonujemy polecenia :

./configure
make
make install

W katalogu  /usr/share/asterisk należy wykonać polecenia :

rm -rf /usr/share/asterisk/static-http/
ln -s /var/lib/asterisk/static-http/ /usr/share/asterisk/
cd /var/lib/asterisk
chown -R asterisk.asterisk static-http
chown -R asterisk.asterisk scripts
chown -R asterisk.asterisk gui_backups

Restartujemy następnie centralę Asterisk:

/etc/init.d/asterisk restart

KONFIGURACJA ASTERISK:

Przed zmianą zawartości plików konfiguracyjnych, zalecam zrobić kopię katalogu Asterisk wykonując polecenie :

cp -r /etc/asterisk /etc/asterisk.backup

asterisk.backup – to kopia katalogu /etc/asterisk

Przechodzimy do pliku manager.conf :

/etc/asterisk/manager.conf

oraz zmieniamy zawartość pliku na :

[important][general]
enabled = yes
webenabled = yes
port = 5060
bindaddr = 0.0.0.0[/important]

——————————————————————————————————————–

port = 5060 – jest portem UDP dla Asteriska. 5060 jest wartością domyślną.

bindaddr = 0.0.0.0 – jest adresem na którym nasłuchuje Asterisk. Wartość 0.0.0.0 oznacza dowolny adres IP.

——————————————————————————————————————–

Należy również w tym samym pliku (manager.conf) dodać użytkownika np. o loginie admin, dzięki któremu będzie można się logować do panelu konfiguracyjnego:

[important][admin]
secret = password      
read = system,call,log,verbose,command,agent,config
write = system,call,log,verbose,command,agent,config,originate[/important]

——————————————————————————————————————–

secret = password – podajemy tutaj hasło dla użytkownika, który będzie się logował do panelu administracyjnego. W tym przykładzie dla użytkownika o loginie admin.

——————————————————————————————————————–

W następnej kolejności edytujemy plik http.conf, który się znajduje w katalogu  /etc/asterisk/

Plik można otworzyć poleceniem :

nano /etc/asterisk/http.conf

W zawartości pliku powinny się znaleźć następujące wartości :

[important][general]
enabled=yes
enablestatic=yes
bindaddr= 0.0.0.0
bindport = 8088
prefix = asterisk
enablestatic = yes[/important]

Po zmianach w plikach konfiguracyjnych należy wykonać restart centrali Asterisk:

/etc/init.d/asterisk restart

Sprawdzenie poprawności konfiguracji centrali sprawdzimy poleceniem make checkconfig

będąc w katalogu /usr/share/asterisk/asterisk-gui :

cd /usr/share/asterisk/asterisk-gui

make checkconfig  

asterisk2

Konfiguracja przebiegła poprawnie. Wszędzie mamy status OK.

Polecenie wyświetla nam link po którym wchodzimy do panelu administracyjnego.

Logowanie do panelu konfiguracyjnego.

W przeglądarce jako adres wpisujemy :

http://adres_ip_serwera:8088/asterisk/static/config/index.html

Tak wygląda interfejs graficzny :

digium1

Oznaczenia na panelu :

Free – oznacza że abonent jest zarejestrowany i wolny

Ringing – oznacza że abonent jest zarejestrowany i aktualnie wywoływany

Busy – oznacza że abonent jest zarejestrowany i prowadzi w danym czasie rozmowę

UnAvaible – oznacza że abonent jest niedostępny

digium2

Analog Trunks – Tutaj konfigurujemy analogowe linie miejskie

VOIP Trunks – Tutaj konfigurujemy operatorów VOIP

  • W tym przykładzie przedstawię jak skonfigurować operatora VOIP:

Klikamy na zakładkę VOIP Trunks. Następnie na New SIP/IAX Trunk. Otwiera nam się okno konfiguracyjne :

digium3

Jako Type wybieramy rodzaj wykorzystanego protokołu (zazwyczaj SIP lub IAX)

Jako Provider Name wpisujemy nazwę operatora VOIP

Jako Hostname wpisujemy adres IP lub nazwę domenową centrali operatora VOIP (uzyskane od operatora)

Jako Username wpisujemy login do konta SIP (uzyskane od operatora)

Jako Password wpisujemy hasło do konta SIP (uzyskane od operatora)

Po wpisaniu danych zatwierdzamy ustawienia.  Przycisk Apply Changes.

Podczas testowania miałem problem z połączeniami przychodzącymi. Należy przejść do edycji operatora :

Ustawić insecure. Jest to zabezpieczenie stosowane przed nieuprawnionym użyciem konta u operatora VoIP.

Ja ustawiłem na very.

asterisk_users2

asteriskprovider

W zakładce System Status powinna widnieć informacja że operator został zarejestrowany (Registered).

W następnej kolejności konfigurujemy reguły ruchu wychodzącego:

digium6

Jako Calling Rule Name wstawiamy dowolną nazwę reguły

Jako Pattern wstawiamy maskę numeru. Każda maska zaczyna się od znaku _

Znaczenie symboli w masce :
X – cyfra od 0 do 9
Z – cyfra od 1 do 9
N – cyfra od 2 do 9
[12345-9] – cyfra zawarta w nawiasach []
. oznacza resztę cyfr

W Caller ID wpisujemy numer, który zostanie wyświetlony u osoby do której będziemy dzwonić.

Send to Local Destination – ustawienie realizacji połączeń w kierunku numerów wewn. centrali.

W Destination możemy ustawić miejsce docelowe.

W sekcji Send this call through trunk ustawiamy przez jaką linię – operatora połączenia będą wykonywane.

Poprzez wartość Strip możemy usunąć odpowiednią ilość cyfr z początku wybranego numeru.

W Prepend these digits możemy dodać cyfry przed numerem wybieranym.

W sekcji Use FailOver Trunk możemy ustawić alternatywną linię do połączeń wychodzących.

Przykładowa konfiguracja reguły ruchu wychodzącego :

asteriskdialplan

Przechodzimy do konfiguracji Dial Plan:

Przykład konfiguracji :

asterisk_users4

W tym oknie przydzielamy prawa konkretnym abonentom, którzy będą mogli wykonywać połączenia wychodzące.

Dostępne opcje :

W DialPlan Name podajemy nazwę dla danego Dialplanu.

W Include Outgoing Calling Rules wybieramy listę reguł wychodzących. Opcja wyboru dostępna gdy skonfigurujemy reguły ruchu wychodzącego.

W Include Local Contexts wybieramy wewnętrzne funkcje, które wejdą w skład Dialplanu.

Dostępne funkcje :

default – domyślne

parkedcalls – włączenie możliwości parkowania połączeń

conferences – możliwość tworzenia konferencji

ringgroups – możliwość grup dzwoniących

voicemenus – dostępne menu głosowe

queues – włączenie kolejkowania i grupowania

voicemailgroups – ustawienie grup dla poczty głosowej

directory – dopisanie abonentów do wewnętrznej książki tel.

Następnie przechodzimy do konfiguracji lokalnych kont użytkowników telefonii :

digium7

Ponieważ domyślnie w Digium tworzenie nowych kont zaczyna się od numeru 6000 należy najpierw wartości zmienić w zakładce Options :

Tak wyglądają domyślne ustawienia :

asterisk_users5

Ja w tym przykładzie zmieniłem na takie :

asterisk_users6

W Globar OutBound CID możemy wstawić numer, który będzie się wyświetlał przy każdym połączeniu wychodzącym (domyślnie).

Następnie przechodzimy do tworzenia kont-użytkowników.

Dostępne opcje :

W sekcji General ustawiamy parametry główne konta. Jako Extension należy wstawić numer wewnętrzny abonenta. W CallerID Number wpisujemy numer, który będzie wyświetlany podczas dzwonienia do kogoś. W DialPlan przydzielamy prawa dla abonenta.

Opcja Enable Voicemail for this User umożliwia włączenie poczty głosowej dla abonenta. Należy ustawić hasło dostępowe do poczty – VoiceMail Access PIN code. 

W sekcji Technology ustawiamy parametry związane z protokołem do komunikacji.

Po wpisaniu wszystkich potrzebnych wartości, naciskamy przycisk Update. Użytkownik zostaje utworzony.

Przykład tworzenia nowego konta :

asterisk_users7Podobnie postępujemy przy zakładaniu kolejnych kont.

Przykładowy wykaz utworzonych kont :

asterisk_users8

Aktywność telefonów :

asteriskcall2

Jeżeli mamy kilka telefonów w jednym miejscu (np. w Recepcji), są np. trzy osoby odpowiedzialne za odbiór telefonów od klientów. Chcemy aby telefony dzwoniły wszystkie trzy jednocześnie. Należy utworzyć grupę i dodać konta, które chcemy połączyć.

Przykład tworzenia takiej grupy :

asterisk_users9

Dostępne ustawienia :

RingGroup Name – wstawiamy nazwę grupy.

Extension for this ring group – wstawiamy numer grupy. Po wybraniu tego numeru zaczną dzwonić telefony, które zostały dodane do tej grupy.

Ring Group Members – Telefony dodane do danej grupy.

Strategy – ustawienie strategii grupy. Możemy ustawić aby telefony dzwoniły po kolei (Ring in Order) lub aby dzwoniły wszystkie w tym samym czasie (Ring all simultaneously)

Seconds to ring each member – ustawienie czasu przez który będzie dzwonić telefon.

If not answered Goto -tutaj ustawiamy to co się stanie jeśli telefon nie zostanie odebrany.

Możemy ustawić :

User Extension – aby połączenie trafiło do innego użytkownika (konta)
Hangup – spowoduje rozłączenie
Congestion – spowoduje sygnał zajętości 

Ponieważ jest to Recepcja to zazwyczaj jeśli ktoś z zewnątrz dzwoni to dzwoni najpierw na recepcję. Należy ustawić w regułach połączeń przychodzących połączenie z recepcją. W tym przykładzie z grupą recepcja :

asterisk_users11

Jeśli ktoś z zewnątrz będzie dzwonił na Recepcję to powinny dzwonić 3 telefony w jednym czasie :

asteriskcall

Menu głosowe:

Aby stworzyć menu głosowe możemy nagrać swój głos lub użyć np. syntezatora mowy.

Aby stworzyć menu głosowe wykorzystując własny nagrany głos przechodzimy do :

asterisk_users12w File Name wpisujemy nazwę pliku do którego zostanie zapisany głos.

w Format wybieramy format pliku dźwiękowego.

Następnie należy wybrać numer wewnętrzny telefonu aby telefon zadzwonił i można było nagrać swój głos.

Klikamy Record.

Przykładowo nagraliśmy powitalny wstęp „Witamy w Firmie … ”

asterisk_users13

Podobnie postępujemy przy nagrywaniu innych „części głosowych menu”.

Wszystkie nagrane glosy znajdują się w katalogu : /var/lib/asterisk/sounds/record

Po przygotowaniu głosów przechodzimy do tworzeniu menu głosowego :

asterisk_users14

Zawsze po konfiguracji należy zatwierdzić ustawienia

Apply Changes

asterisk_users10

 

markos
Specjalizuję się w systemach komputerowych Windows oraz Linux. Oprócz wykonywanej pracy w zawodzie, informatyka jest moją pasją.
0 0 vote
Article Rating
Subscribe
Powiadom o
guest
10 komentarzy
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
arek
arek
6 lat temu

Witam
Zrobiłem wszystko jak w opisie, ale w przeglądarce asteriks się nie odpala… 🙁
Jaki może być powód ?

e-proit
e-proit
6 lat temu
Reply to  arek

Apache lub jakis inny serwer WWW postawiony jest na tym serwerze ?

Aby panel konfiguracyjny się odpalał w przeglądarce potrzebny jest serwer WWW.

arek
arek
6 lat temu

Tak mam apacha, ale może mam problem z systemem, w związku z tym stawiam czysty system i się odezwę.

czołk
czołk
6 lat temu

Witam
A czy jest wersja PL ?

e-proit
e-proit
6 lat temu
Reply to  czołk

Jeśli chodzi o Digium to kiedyś szukałem i nie znalazłem spolszczenia. Ale konfiguracja nie jest trudna. Postaram się w wolnym czasie uzupełnić artykuł. Brakuje mi czasu 🙂

arek
arek
6 lat temu

Z tym czasem, to całkowicie ciebie rozumiem. Dla mnie już nawet doba jest za krótka…
Ale fajnie, że są osoby, które poświęcają swój czas na takie rzeczy… Ku chwale ojczyzny 😉

arek
arek
6 lat temu

Ciężki temat ten Asterisk.
Chciałbym połączyć 5 komputerów, które są skupione na osiedlu, aby móc rozmawiać przez Asteriska za free Nie mając przy tym neta, bo w innym przypadku mogę użyć skypa. Jest to możliwe ?

e-proit
e-proit
6 lat temu

Po LAN będzie też chodzić. Wybierasz numer wewnętrzny i dzwoni 😉

Marek
Marek
6 lat temu

Zainstalowałem Asteriska według Twojego tutoriala, zainstalowałem też apache2 ale nadal nie mam dostępu z przeglądarki. Pomożesz?

Marek
Marek
6 lat temu

Call from ********** to extension ‚s’ rejected because extension not found in context ‚DID_trunk_1’.

Co jest nie tak z konfiguracją, że nie mam połączeń przychodzących? Próbowałem kierowania na grupę oraz na pojedynczy numer wewnętrzny i zawsze to samo