====== 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í.