====== sip.conf ======
* obsahuje konfiguraci modulu //chan_sip.conf//
* Zde se konfigurují všechny SIP účty (ať pro jednotlivé telefony tak i pro trunky)
===== 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
* auto - preferuje rfc2833, je-li to možné
* inband - přenáší se v hlasovém kanále jako zvuk
* rfc2833 - out-of-band dle příslušného RFC
* disallow - jmenuje zakázané kodeky
* all - zakáže všechny, používá se často následováno allow s vyjmenovanými povolenými kodeky. Pozor musí být zapsáno vždy jako první v definici kodeků, jinak zakáže opravdu vše.
* allow - jmenuje povolené kodeky, priotita dle pořadí v jakém jsou zapsány
* all,ulaw,alaw,gsm
:!: Pozor některé hodnoty šablony lze v kanálu bez problému přepsat, kromě **type,allow,disallow**!
===== Vztah se souborem extensions.conf =====
{{:wiki:voip:asterisk:relationship-sip-extensions.png?direct&600 |}}
===== 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í.