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.
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.
Zmienna | Opis |
---|---|
context=public | Domyślny kontekst dla połączeń przychodzących (zamiast domyślnego “default”) |
bindaddr=0.0.0.0 | Nasł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=udp | Domyś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.
Zmienna | Opis |
---|---|
[100] | Unikalny lokalny numer (lub nazwa), na który będzie wykonane połączenie (w tym przypadku będzie to Dial(SIP/100). |
type=friend | Typ urządzenia końcowego. Dla urządzeń lokalnych, służących do obierania połączeń zazwyczaj będzie to ‘friend’. |
host=dynamic | Adres IP, z którego możliwa jest rejestracja. Dla konkretnego adresu IP należy wpisać np. host=192.168.1.101 |
secret=TwojeSuperHaslo | Hasło do rejestracji urządzenia. Czym bardziej skomplikowane tym lepiej. |
context=internal | Kontekst 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.
Zmienna | Opis |
---|---|
[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=peer | Typ urządzenia końcowego. Dla zewnętrznych serwerów zazwyczaj będzie to ‘peer’. |
host=1.2.3.4 | Adres IP, z którym nawiązywane jest połączenie. |
port=5060 | Port 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ą.
Zmienna | Opis |
---|---|
[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=peer | Typ urządzenia końcowego. Dla zewnętrznych serwerów zazwyczaj będzie to ‘peer’. |
host=1.2.3.4 | Adres IP, z którym nawiązywane jest połączenie. |
fromdomain=1.2.3.4 | jak wyżej |
defaultuser=Uzytkownik | Nazwa użytkownika wykorzystywana do autoryzacji podczas wykonywania połączeń. |
fromuser=Uzytkownik | jak wyżej |
secret=ZdalneHaslo | Hasł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ź
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
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.