Asterisk s neveřejnou ip adresou

Příchozí hovory odorik -> asterisk

Řekněme, že od nás máte třeba 20 různých geografických čísel a máte ústřednu asterisk, která nemá veřejnou IP adresu. Fakt, že nemá veřejnou IP ničemu nevadí. Ba naopak podstatně zvýší Vaši bezpečnost. Abychom mohli na Váš Asterisk poslat hovory na všechny vaše čísla, je nutné aby se Váš asterisk zaregistroval na sip.odorik.cz. Není ale nutné, aby se registroval pro každé číslo zvlášť. Stačí jediná registrace na jedinou linku. (nejlépe si na to zřiďte zvláštní linku určenou právě k tomuto účelu)

Asterisk pak pošlete hovor tak, že pro dané číslo nastavíte směrování sip:@408806. Číslo 408806 je číslo linky pod kterou je Asterisk registrován. Je to tedy obdoba volání na URI jen s tím rozdílem, že adresa a port se mění v čase, podle toho odkud je Váš asterisk zaregistrován.

Odchozí hovory Asterisk -> Odorik

U odchozích hovorů je nutné zaručit aby se předávalo správné číslo volajícího. Pro náš případ kdy máme více různých linek je výhodné, pokud pošleme všechny odchozí hovory pomocí jediné linky. Pak ale nastává problém jak správně přenést číslo volajícího, když možné je volat z více různých telefonních čísel.

Abychom vyřešili tento požadavek, používáme k tomu sip hlavičku rpid, kde zůstane původní callerid (volající).

Náš SIP proxy sip.odorik.cz zkontroluje, zda-li dané id patří do povoleného rozsahu a pokud ano, callerid se zachová.

Pro danou linku ale musíme povolit povolený rozsah callerid kvůli čemu je nutné nás kontaktovat.

sip.conf

[general]
allowguest=no ; anonymní příchozí hovory nejsou dovoleny
alwaysauthreject=yes ; hacker nezjistí, které klapky existují
register => 408806:bz3zx6cN@81.31.45.51 ; zaregistrujeme se  na sip.odorik.cz
; budeme tak moci moci přijímat hovory i když jsme na neveřejné ip adrese
sendrpid=yes ; sendrpid zaručí, že se kopie callerid (informace o tom kdo volá) vloží do SIP hlavičky rpid
; tohle se uplatňuje u odchozích hovorů (asterisk -> odorik)

[301]
type=friend
username=301
secret=qe21rt6d65d    ; nespoléhejte se na to že jste za NATem, volte hodně bezpečná hesla
callerid=00420539085858  ; zde dáte číslo, které se má zobrazovat  pokud budete z klapky 301 volat
host=dynamic
context=outgoing ; hovory uskutečněné z klapky 301 budou v souboru extensions.conf v kontextu outgoing
nat=yes
qualify=yes ; díky tomuhle můžeme sledovat jestli zařízení odpovídá pomocí příkazu  "sip show peers"


[201]
type=friend
username=201
secret=qe23rt6dd
callerid=00420539085858
host=dynamic
context=outgoing
nat=yes
qualify=yes

[408806]
type=friend
; friend protože služí k nastavení jak příchozích tak odchozích hovorů
username=408806
fromuser=408806
secret=bz3zx6cN
host=81.31.45.51  ; sip.odorik.cz
canreinvite=no
insecure=invite
context=incoming ; v případě příchozích hovorů, bude  v extensions.conf použit kontext incoming

extensions.conf

[outgoing]
exten => _X.,1,noop(CALLERID(number))  ; pro účely ladění nám vypíše kdo volá. Callerid se úspěšně přenese na naši ústřednu pomocí rpid

;exten => _X.,1,Set(CALLERID(number)=00420539085858) ; Kdybychom chtěli, můžeme si i zde natvrdo nastavit callerid, středník na začátku
; ale značí že celá řádka výše je jen poznámka
exten => _X.,n,Dial(SIP/${EXTEN}@408806) ; hovor pošle na sip.odorik.cz, tak aby se zaúčtoval pod linku 408806

exten => _*X.,1,noop(CALLERID(number)) ; to stejné pokud chci volat v síti odorik 
exten => _*X.,1,Dial(SIP/${EXTEN}@408806)

[incoming]
exten => _X.,1,Dial(SIP/201)  ; všechny hovory zvoní na klapce 201 (pravděpodobně to ale takto nechcete)
exten => _X.,n,Hangup()

exten => _*X.,1,Dial(SIP/201) ; všechny hovory  začínající hvěždičkou zvoní také na klapce 201
exten => _*X.,n,Hangup()
 
odorik_s_asteriskem_s_verejenou_ip.txt · Poslední úprava: 2011/06/15 18:04 autor: xsouku04