Szukaj

Samouczek Asteriska: minimalna konfiguracja użytkowników/peerów SIP

Samouczek Asteriska: minimalna konfiguracja użytkowników/peerów SIP

Jeżeli zastanawiałeś się jak zarejestrować urządzenia końcowe SIP na Twojej centralce Asterisk i jak połączyć się z Twoim dostawcą usług VoIP lub z drugim serwerem Asterisk w innej lokalizacji, to jest artykuł dla Ciebie. 

Znajdziesz tu podstawową listę zmiennych wymaganych przy minimalnej konfiguracji użytkowników/peerów SIP, oraz tych, które umożliwią połączenie z zewnętrznym serwerem VoIP.

Poniższa konfiguracja umożliwia tylko i wyłącznie konfigurację konieczną do rejestracji telefonu lub operatora i NIE ZAWIERA ŻADNYCH ZABEZPIECZEŃ. Jest to jedynie punkt odniesienia do dalszej konfiguracji opisanej w kolejnych postach.

Spis treści

1) Sekcja SIP [general]

Zanim zaczniemy rejestrować urządzenia końcowe zdefiniujmy podstawowe zmiennie, które umożliwią rejestrację urządzeń końcowych. Poniżej znajdziesz podstawową listę wraz z krótkim wyjaśnieniem.

ZmiennaOpis
context=publicDomyślny kontekst dla połączeń przychodzących (zamiast domyślnego „default”)
bindaddr=0.0.0.0Nasłuchuje na dowolnym adres IP na porcie UDP 5060. Możesz sprecyzować konkretny adres IP i/lub port wpisując np. bindaddr=192.168.1.200:5070. Możesz też zdefiniować adres IP oraz porty niezależnie dla UDP, TCP i TLS, określając różne wartości dla „udpbindaddr”, „tcpbindaddr” i „tlsbindaddr”.
transport=udpDomyślna metoda komunikacji. Kolejność określa podstawową domyślną metodę transportu, np. transport=udp,tcp,tls.

2) Lokalne konto SIP

Poniżej znajdziesz podstawową listę zmiennych koniecznych do rejestracji telefonu, bramki lub innego urządzenia końcowego odbierającego połączenie.

ZmiennaOpis
[100]Unikalny lokalny numer (lub nazwa), na który będzie wykonane połączenie (w tym przypadku będzie to Dial(SIP/100).
type=friendTyp urządzenia końcowego. Dla urządzeń lokalnych, służących do obierania połączeń zazwyczaj będzie to 'friend’.
host=dynamicAdres IP, z którego możliwa jest rejestracja. Dla konkretnego adresu IP należy wpisać np. host=192.168.1.101
secret=TwojeSuperHasloHasło do rejestracji urządzenia. Czym bardziej skomplikowane tym lepiej.
context=internalKontekst urządzenia, czyli miejsce w dialplanie, z którego startuje to urządzenie podczas wykonywania połączenia.
callerid=”Moja nazwa” <100>Informacja o tym, jak się ma prezentować urządzenie. Składa się z dwóch części: „nazwa” oraz „numer”. Kilka urządzeń może mieć taką samą prezentację.

3) Połączenie z zewnętrznym serwerem VOIP

Poniżej znajdziesz podstawową listę zmiennych, które umożliwią połączenie z zewnętrznym serwerem VOIP. Możesz umożliwić komunikację np. z Twoim dostawcą usług VOIP lub innym serwerem Asterisk w innej lokalizacji (celem wykonywana bezpłatnych, lokalnych połączeń między jednostkami).

W zależności od konfiguracji możliwa jest autoryzacja na kilka sposobów.

3.1) Autoryzacja za pomocą adresu IP

Tutaj sprawa jest bardzo prosta, bo do komunikacji wystarczy wskazać adres IP docelowego urządzenia.

ZmiennaOpis
[CARRIER]Unikalna nazwa użytkownika, z którą nawiązujemy połączenie. Można też na nią wykonać połączenie poprzez użycia Dial(SIP/numer@nazwa) np. Dial(SIP/123456789@CARRIER)
type=peerTyp urządzenia końcowego. Dla zewnętrznych serwerów zazwyczaj będzie to 'peer’.
host=1.2.3.4Adres IP, z którym nawiązywane jest połączenie.
port=5060Port wykorzystywany do komunikacji z urządzeniem.

3.2) Autoryzacja za pomocą nazwy użytkownika i hasła

W tym przypadku niezbędne są dwie zmiany w pliku sip.conf.

Najpierw w sekcji [general] należy dodać ciąg rejestracyjny. Pełny wpis wydaje się dosyć skomplikowany:

register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]

Najprostszym sposobem będzie następująca struktura nazwa_użytkownika:hasło@host, np.:

register => username:password@1.2.3.4

Następnie należy dodać urządzenie zgodnie z poniższą tabelą.

ZmiennaOpis
[CARRIER]Unikalna nazwa użytkownika, z którą nawiązujemy połączenie. Można też na nią wykonać połączenie poprzez użycia Dial(SIP/numer@nazwa) np. Dial(SIP/123456789@CARRIER)
type=peerTyp urządzenia końcowego. Dla zewnętrznych serwerów zazwyczaj będzie to 'peer’.
host=1.2.3.4Adres IP, z którym nawiązywane jest połączenie.
fromdomain=1.2.3.4jak wyżej
defaultuser=UzytkownikNazwa użytkownika wykorzystywana do autoryzacji podczas wykonywania połączeń.
fromuser=Uzytkownikjak wyżej
secret=ZdalneHasloHasło do drugiego urządzenia (nadawane przez np. operatora) wykorzystywane do autoryzacji podczas wykonywania połączeń.

Całość w pliku (domyślnie /etc/asterisk/sip.conf) będzie wyglądała następująco:

[general]
register => CarrierUSERNAME:CarrierSECRET@1.2.3.4
context=public
bindaddr=0.0.0.0
transport=udp

[100]
type=friend
callerid="My name" <100>
host=dynamic
secret=YourSECRET
context=internal

[CARRIER_IP_AUTH]
type=peer
host=1.2.3.4
port=5060

[CARRIER_USER_AUTH]
type=peer
host=1.2.3.4
fromdomain=1.2.3.4
defaultuser=CarrierUSERNAME
fromuser=CarrierUSERNAME
secret=CarrierSECRET


Jeśli wprowadzimy w pliku rzeczywiste dane i przeładujemy moduł w Asterisku (polecenie asterisk -r) możemy wykonać polecenia, które wyświetlą naszą konfigurację.

				
					sip reload        # configuration reload 
sip show peers    # list of peers 
sip show registry # list of external registrations
				
			
Podpowiedź
Jeśli chcesz sprawdzić czy dodane konta są dostępne, możesz dodać qualify do każdego 'peer’, 'user’ lub 'friend’ lub dodać tą zmienną globalnie w sekcji [general].

Dla przykładu, dodanie qualify=yes do sekcji [general] w pliku sip.conf wyświetli nam informacje o połączeniu z urządzeniami.

qualify = yes

Jeszcze raz podkreślmy, że powyższa konfiguracja kont SIP, operatorów, itp… nie zawiera żadnych reguł bezpieczeństwa. Zostaną one opisane w osobnych postach. Zobacz serię artykułów "Asterisk security" w kategorii Asterisk na naszym blogu.

Jeżeli chciałbyś dowiadywać się na bieżąco o wszystkim co dzieje się na Twojej centrali wypróbuj nasze autorskie oprogramowanie VOIPERO

System niedawno wystartował i teraz jest udostępniany całkowicie za darmo.  Instalacja i konfiguracja zajmuje kilka minut.

Dowiedz się jakie możliwości ma system VOIPERO jeżeli chodzi o raportowanie i monitorowanie na żywo systemów VoIP bazujących na asterisku.

Share this post

Masz pytania lub potrzebujesz oferty?

Skontaktuj się z naszym doradcą.

Popularne wpisy

Powiązane posty

Projekt wystartował!

Monitorowanie i raportowanie Twojego serwera VoIP