====== Asterisk ======
===== Instalace =====
* v OpenWRT je aktuálně k dispozici verze 1.8,x 11.x a 13.x
djbuldog@Pharaon:~/Projekty/openwrt/rspro/attitude_adjustment$ scripts/feeds install asterisk18
Installing package 'asterisk-1.8.x'
Installing package 'popt'
Installing package 'iksemel'
Installing package 'gnutls'
Installing package 'libgcrypt'
Installing package 'libgpg-error'
Installing package 'libtasn1'
Installing package 'bluez-libs'
Installing package 'spandsp'
Installing package 'tiff'
* make menuconfig
* v sekci network/telephony/asterisk jsem vybral všechno, budu instalovat postupně :)
* mělo by stačit
* asterisk18 - nějaký základ
* asterisk18-codec-alaw - ALAW kodek, SIP telefon i Odorik jej podporuje. Jiné netřeba
* make V=s package/feeds/packages/asterisk-1.8.x/compile
* make package/feeds/packages/asterisk-1.8.x/install
* make package/index
root@HomeRouterIII:~# opkg install asterisk18
Installing asterisk18 (1.8.10.1-2) to root...
Downloading http://10.10.11.2/openwrt/rsproAA/packages/asterisk18_1.8.10.1-2_ar71xx.ipk.
Installing libpopt (1.7-5) to root...
Downloading http://10.10.11.2/openwrt/rsproAA/packages/libpopt_1.7-5_ar71xx.ipk.
Configuring libpopt.
Configuring asterisk18.
===== Konfigurace =====
==== Dial plan ====
* určuje, jak jsou příchozí/odchozí hovory směrovány
* konfigurační soubor ''extensions.conf'' obsahuje sekce
* se statickou konfigurací ([[http://www.voip-info.org/wiki/view/Asterisk+Dialplan+General|obecné nastavení]]/[[http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Globals|globální proměnné]])
* proveditelné volací plány (kontexty) obsahujcí definice klapek (extension)
* makra, což jsou uživatelsky definované procedury (šablony) usnadňující konfiguraci
* syntax ''exten => extension,priority,Command(parameters)'' [[http://www.voip- info.org/wiki/view/Asterisk+config+extensions.conf|zdroj]]
* místo šipky se může použít i jen znak rovnosti
* extension (klapka)
* popisek klapky, kterou definuje
* může být zadáno přímo číslo/řetězec, speciální extension nebo výraz
* speciální extension [[http://www.voip-info.org/wiki/view/Asterisk+standard+extensions|zdroj]]
* i : Invalid - pokud se volá neznámá klapka nebo neznámá volba v IVR menu
* s : Start - používá se při vstupu do kontextu bez konkrétní klapky
* h : Hangup - pro přehrání zprávy na rozloučenou nebo pro uklízení po hovoru
* t : Timeout - pro ukončení neaktivní linky po definovanou dobu
* T : AbsoluteTimeout - pro přehrávání notifikace po uplynutí definované doby
* a : Asterisk extension - zavoláno, pokud uživatel stiskne hvězdičku během hovoru
* o : Operator - pokud se odpojí operátor (stisk nuly v hlasové schránce)
* výrazy začínají symoblem **_** ([[http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns|zdroj]])
* **X** matches any digit from 0-9
* **Z** matches any digit from 1-9
* **N** matches any digit from 2-9
* **[1237-9]** matches any digit or letter in the brackets (in this example, 1,2,3,7,8,9)
* **[a-z]** matches any lower case letter (introduced in which Asterisk version?)
* **[A-Z]** matches any UPPER case letter (introduced in which Asterisk version?)
* **.** wildcard, matches one or more characters
* **!** wildcard, matches zero or more characters immediately (only Asterisk 1.2 and later, see note)
* priorita
* udává pořadí (na pořadí řádků tedy nezávisí)
* místo číselné priority lze použít zástupný symbol *n* - tj. předchozí priorita +1
* příkazy
* co se má provést
* [[http://www.voip-info.org/wiki/view/Asterisk+-+documentation+of+application+commands|seznam příkazů]]
==== SIP ====
* asterisk 1.8 používal sip.conf
* asterisk 13 používá novější pjsip.conf
* porovnání konfigurace [[https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip|zde]]
=== sip.conf ===
tlsenable=yes
register => tls://xxxxx:yyyyyyyy@sip.odorik.cz:6689
[phone1]
type=friend
context=myzone
secret=Moj3heslo
host=dynamic
nat=yes
dtmfmode=rfc2833
callerid=phone 1
dial=SIP/phone1
canreinvite=no
disallow=all
allow=alaw
=== pjsip.conf ===
* [[https://wiki.asterisk.org/wiki/display/AST/Dialing+PJSIP+Channels|využití pjsip ve volacím plánu]]
* [[https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Sections+and+Relationships|popis jednotlivých sekcí pjsip]]
* [[https://zadarma.com/en/support/instructions/asteriskpjsip/|příklad nastavení od nějakého VoIP]]
===== TODO =====
* zkusit Asterisk 13, protoze verze 1.8 na rspro nějak blbne
* (ověřeno na virtuálním debian.. jelo to tam bez porblémů se stejnou konfigurací)
* spustit Asterisk na routeru u mámi (OpenWRT), aby fungoval jako šifrovaná brána
* bude vystupovat jako TLS/SRTP klient (sip peer) poskytovalele Odorik
* a normální SIP server pro domácí IP telefon
* doplň informace ohledně openwrt do [[rspro]]
===== Zdroje =====
* https://wiki.openwrt.org/doc/howto/voip.asterisk
* ukázka konfigurace Asterisk 1.8.x na OpenWRT, 1 sip peer, 1+ sip telefon
* http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf
* příklad s popisem na sip peer + sip telefon
* https://wiki.asterisk.org/wiki/display/AST/Secure+Calling+Tutorial#SecureCallingTutorial-ConfiguringaTLS-enabledSIPclienttotalktoAsterisk
* návod na nastavení TLS/SRTP na Asterisk
* nejspíš ale pouze v režimu server
* https://www.root.cz/clanky/konfiguracia-ustredne-asterisk/
* návod na asterisk na root
* http://www.rjsystems.nl/en/2100-asterisk.php
* hezký komplexní návod na nastavení sip asterisk
* http://wiki.4smart.cz/doku.php?id=odorik_s_asteriskem_s_neverejenou_ip
* nastavovaní Odorik SIP trunk na Asterisk, hodí se :)
* http://forum.odorik.cz/viewtopic.php?f=7&t=1675
* připojení na odorik přes tls z Asterisk
* http://wiki.4smart.cz/doku.php/asterisk-odorik-peer
* další návody na Odorik vs Asterisk
* https://wiki.asterisk.org/wiki/display/AST/Calling+using+Google
* spojení Asterisk s Google Talk a Google Voice