sip.conf
Sekce:
[general] - zde se definuje globální nastavení, které lze pak upřesňovat(měnit) v nastavení jednotlivých kanálů, vyskytuje se jen jednou
[nazev_kanalu] - definice kanálu, musí mít unikátní název, slouží jako username při authentikaci, může se vyskytovat v lib.počtu
[nazev_sablony](!) - vykricnik v zavorkach říká, že se jedná o šablonu kanálu
[nazev_kanalu](nazev_sablony) - kanal s aplikovanou šablonou
Pořadí v jakém asterisk načítá parametry:
Sekce konkrétního kanálu
Šablona sekce
Sekce [general]
Defaultní nastavení
Příklad konfigurace:
[general]
context=unauthenticated ;default context for incoming calls
allowguest=no ;disable unauthenticated calls
srvlookup=yes ;enabled DNS SRV record lookup on outbound calls
udpbindaddr=0.0.0.0 ;listen for UDP requests on all interfaces
tcpenable=no ;disable TCP support
[office-phone](!) ;create a template for our devices
type=friend ;the channel driver will match on username first, IP second
context=LocalSets ;this is where calls from the device will enter the dialplan
host=dynamic ;the device will register with asterisk
nat=yes ;assume device is behind NAT
secret=s3CuR#p@s5 ;a secure password for this device
dtmfmode=auto ;accept touch-tones from the devices, negotiated automatically
disallow=all ;reset which voice codecs this device will accept or offer
allow=ulaw ;which audio codecs to accept from, and request to, the device
allow=alaw ;in the order we prefer
; define a device name and use the office-phone template
[0000FFFF0001](office-phone)
; define another device name using the same template
[0000FFFF0002](office-phone)
[general]
context - defaultni kontext je vhodne definovat tak, aby nebylo mozne z nej nikam volat
allowquest - povoluje volani bez authentikace!
udpbindaddr - lze povolit buď všechny interfacy(0.0.0.0 nebo ::), nebo jen jeden konkrétní(např. 10.0.0.1), nelze povolit např. jen dva ze tří apod.
tcpbindaddr - to samé jako udpbindaddr jen s tím, že se použije v případě povolené TCP signalizace SIP
tlsenable - slouží k nastavení SIP over TLS
tlsbindaddr - slouží k nastavení SIP over TLS
[šablona](!) nebo [kanál]
type
peer - příchozí požadavky ověřuje(matchuje s kanálem) dle zdroj.IP adresy a č.portu
user - příchozí požadavky ověřuje(matchuje s kanálem) dle hlavičky From, která musí odpovídat názvu kanálu v hranatých závorkách
friend - zapne matchování oběma metodami (peer a user)
host
dynamic - host se bude registrovat a tím ústředně dá najevo kde se nachází
např.192.168.1.158 - staticky definovaná adresa hosta, (tedy bez registrace)
nat - info, zda se host nachází za NATem. V případě, že ano, zapnou se potřebné fičury.
secret - heslo
dtmfmode - definuje způsob přenosu DTMF volby
disallow - jmenuje zakázané kodeky
allow - jmenuje povolené kodeky, priotita dle pořadí v jakém jsou zapsány
Pozor některé hodnoty šablony lze v kanálu bez problému přepsat, kromě type,allow,disallow!
Vztah se souborem extensions.conf
Aplikace změn:
$ sudo asterisk -r
*CLI> module reload chan_sip.so
nebo
*CLI> sip reload
*CLI> sip show peers
*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
0000FFFF0001/0000FFFF0001 192.168.1.100 D N 5060 Unmonitored
0000FFFF0002/0000FFFF0002 192.168.1.101 D N 5060 Unmonitored
;Status - Unmonitored, znamená, že jsme nepoužili v konfiguraci direktivu qualify=yes
*CLI> sip show users
Registrace vs. Autentikace
Registrace slouží jen k tomu, aby zařízení dalo vědět ústředně kde se nachází. A tím bylo možné na něj směrovat hovory.
Autentikace slouží k ověření oprávnění provést hovor.
Má-li zař. správné auth.údaje a NEní zaregistrováno, může normálně provést odchozí hovor - příchozí hovory však fungovat nebudou, protože PBX neví kde se zařízení nachází.