Przykład ustawień Asterisk w Zadarma.
Dane przedstawione w przykładzie:
- 111111 - Twój numer SIP z Panelu klienta.
- Password - Twoje hasło numeru SIP z "Ustawienia-Konfiguracja konta SIP" Panelu klienta.
- 1234-100 - Twój numer wewnętrzny centrali telefonicznej z Panelu klienta
- Password - Twoje hasło numeru wewnętrznego centrali telefonicznej z Panelu Klienta
- 101 - Wewnętrzny numer Asterisk, do którego podłączany jest softphone/telefon IP w celu odbierania połączeń przychodzących i wykonywania połączeń wychodzących.
Standardowy przykład konfiguracji
Połączenia wychodzące z wirtualnego numeru 101 kierowane są na 111111 Połączenia przychodzące odbierane są po rejestracji i kierowane są na wirtualny numer 101
Edytujemy sip.conf
[general] srvlookup=yes [111111] host=sip.zadarma.com insecure=invite,port type=peer fromdomain=sip.zadarma.com disallow=all allow=alaw allow=ulaw dtmfmode=auto secret=password defaultuser=111111 trunkname=111111 fromuser=111111 callbackextension=111111 context=zadarma-in qualify=400 directmedia=no nat=force_rport,comedia [101] ;wewnętrzny numer asterisk secret=password host=dynamic type=friend context=zadarma-out
[general] srvlookup=yes [1234-100] host=pbx.zadarma.com insecure=invite,port type=peer fromdomain=pbx.zadarma.com disallow=all allow=alaw allow=ulaw dtmfmode=auto secret=password defaultuser=1234-100 trunkname=1234-100 fromuser=1234-100 callbackextension=1234-100 context=zadarma-in qualify=400 directmedia=no nat=force_rport,comedia [101] ;wewnętrzny numer asterisk secret=password host=dynamic type=friend context=zadarma-out
Przychodzące i wychodzące trasowanie jest konfigurowane w pliku extensions.conf
[zadarma-in] exten => 111111,1, Dial(SIP/101) ; wszystkie połączenia przychodzące z 111111 przekierowane na numer wirtualny 101 [zadarma-out] exten => _XXX,1,Dial(SIP/${EXTEN}) ; połączenia na trzycyfrowe numery Asteriska exten => _XXX.,1,Dial(SIP/${EXTEN}@111111) ; зpołączenia na numery czterocyfrowe lub więcej przez 111111
[zadarma-in] exten => 1234-100,1, Dial(SIP/101) ; wszystkie połączenia przychodzące z 1234-100 przekierowane na numer wirtualny 101 [zadarma-out] exten => _XXX,1,Dial(SIP/${EXTEN}) ; połączenia na trzycyfrowe numery Asteriska exten => _XXX.,1,Dial(SIP/${EXTEN}@1234-100) ; połączenia na numery czterocyfrowe lub więcej przez 111111
Standardowa konfiguracja zakończona.
P-Asserted-Identity (dla zaawansowanych użytkowników).
Podczas wykonywania połączeń wychodzących możesz użyć nagłówka SIP P-Asserted-Identity, aby wybrać Callerid z listy zakupionych numerów.
Numer z nagłówka P-Asserted-Identity będzie używany priorytetowo. Jeżeli nagłówek nie zostanie wysłany lub zostanie ustawiony błędny/niepodłączony numer, zostanie użyty numer domyślny.
[zadarma-out]
exten => _XXX.,1,Set(_SET_PAI=)
exten => _XXX.,n,Dial(PJSIP/${EXTEN}@111111,,b(add_header_pai^add^1))
[add_header_pai]
exten => add,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)=${SET_PAI})
exten => add,n,Return()
Jeśli masz podłączonych kilka numerów telefonicznych, w ramach wygody możesz nadać każdemu numerowi swoją nazwę, na przykładWarszawa i London, a także skonfigurować routing przychodzący w oaprciu o ten parametr. Nazwa numeru przekazywana jest w parametrze CALLERID(name).
W poniższym przykładzie połączenia z numeru Warszawa kierowane są na wirtualny numer 101, połączenia z numeru London kierowane są na numer 102, a wszelkie inne połączenia Asterisk będą przerywane sygnałem "Zajęte".
[zadarma-in]
exten => _X.,1,GotoIf($["${CALLERID(name)}" = "warszawa"]?2:3)
exten => _X.,2,Dial(SIP/101)
exten => _X.,3,GotoIf($["${CALLERID(name)}" = "london"]?4:5)
exten => _X.,4,Dial(SIP/102)
exten => _X.,5,Busy
Twój numer telefoniczny, na który zostało wykonane połączenie, przekazywany jest do CALLED_DID . W oparciu o ten parametr możesz skonfigurować trasowanie przychodzące.
W poniższym przykładzie połączenia z numeru 442045770077 kierowane są na wirtualny numer 101, połączenia z numeru 442037691880 kierowane są na numer 102, a wszelkie inne połączenia Asterisk będą przerywane sygnałem "Zajęte".
[zadarma-in]
exten => _X.,1,GotoIf($["${SIP_HEADER(CALLED_DID)}" = "442045770077"]?2:3)
exten => _X.,2,Dial(SIP/101)
exten => _X.,3,GotoIf($["${SIP_HEADER(CALLED_DID)}" = "442037691880"]?4:5)
exten => _X.,4,Dial(SIP/102)
exten => _X.,5,Busy
Konfiguracja zakończona.
Przykład konfiguracji №2 (SIP URI)
Jeśli serwer z Asterisk znajduje się na "białym" adresie IP (Nie za routerem, a na przykład w centrum danych), połączenia można odbierać bez rejestracji w schemacie SIP URI. Dane przedstawione w przykładzie:
- 15555555555 - Twój numer telefoniczny podłączony w Zadarma.
- 2.20.190.41 - Adres IP Twojego serwera z Asterisk.
W Panelu Klienta w rozdziale "Ustawienia - Numer telefoniczny" możesz przekierować połączenia z numeru telefonicznego na serwer zewnętrzny (SIP URI) w formacie 15555555555@2.20.190.41
Edytujemy sip.conf
[zadarma]
host=sipurifr.zadarma.com
type=peer
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
[zadarma2]
host=sipde.zadarma.com
type=peer
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
[zadarma3]
host=sipuriny.zadarma.com
type=peer
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
Trasowanie przychodzące w extensions.conf
[zadarma-in]
exten => 15555555555,1, Dial(SIP/101)
Konfiguracja zakończona.
Przykład konfiguracji z wykorzystaniem autoryzacji z pomocą adresu IP.