This is an old revision of the document!
extensions.conf
Kontexty
Dialplán lze dělit na kontexty - oddělené “routovací pravidla” hovorů
tel.čísla v kontextu nemohou využít funkcí (směrování) jiného kontextu není-li to vysloveně nakonfigurováno.
Pomocí kontextů lze tedy definovat oprávnění volání (např.interní,externí,mezinárodní) či definovat rozdílné IVR pro různé skupiny telefonů apod.
kontexty jsou definovány názvem (max.79 znaků) v hranatých závorkách - nesmí se jmenovat global,general či default
speciální kontexty: [general] a [global]
[general] - zde bývají speciální nastavení týkajcí se dialplánu, která však v drtivé většině případů necháváme defaultní
[globals] -
Extensions
exten ⇒ name, priority, application()
např. exten ⇒ 123,1,Answer()
Priority
Číslované priority:
exten => 123,1,Answer()
exten => 123,2,do something
exten => 123,3,do something else
exten => 123,4,do one last thing
exten => 123,5,Hangup()
Nečíslované priority:
exten => 123,1,Answer()
exten => 123,n,do something
exten => 123,n,do something else
exten => 123,n,do one last thing
exten => 123,n,Hangup()
'same =>' operator
exten => 123,1,Answer()
same => n,do something
same => n,do something else
same => n,do one last thing
same => n,Hangup()
Priority labels
exten => 123,n(label),application()
Applications
každá aplikace provádí nějakou činnost - přehrání hudby, přijetí volby, select do DB, vytočení kanálu, zavěšení hovoru apod.
Progress()
Answer()
Přijme hovor
Nemá žádné argumenty
Hangup()
Zavěsí hovor, je vhodné jej použít vždy na konci kontextu, aby se účastníkovi zamezilo v nějaké další nepředvídatelné činnosti.
Bez argumentů, lze ale použít ISDN cause code např. Hangup(16)
Playback()
Přehraje zadaný zvukový soubor
Ignoruje event.zadané volby uživatelem
Zdroj souborů /etc/asterisk/sounds/
Synatxe Playback(filename), kde filename se píše bez přípony a odkazuje na soubor filename.wav
Použití relativní cesty (k adr./etc/asterisk/sounds): Playback(subdir/filename)
Lze také použít absolutní cestu: Playback(/home/lukas/filename)
Je-li v adresáři více souborů se stejným názvem a rozdílnou příponou, asterisk si vybere ten nejvhodnější dle náročnosti na CPU (náročnost formátů na CPU lze zjistit *CLI> show translation)
Playback(digits/1) - řekne zadanou číslovku (jedna)
Background(), WaitExten()
Přijímají stisknutá čísla od volajícího
Background navíc při čekání na volbu přehrává zadaný zvukový soubor, přijme-li nějaké číslo či čísla, přeruší přehrávání zvuku a přeskočí na příslušnou extenzi
Takto se dají dělat hlasová menu
Vhodné je kombinovat obě aplikace, čímž zajistíme, že uživatel může zadat volbu i po přehrání celého zvukového souboru
[TestMenu]
exten => start,1,Answer()
same => n,Background(main-menu) ;přehraje soubor main-menu, přičemž očekává volbu
same => n,WaitExten(5) ;čeká na volbu dalších 5s
Goto()
exten => 201,1,Goto(TestMenu,start,1)
[TestMenu]
exten => start,1,Answer()
Aplikace změn
*CLI> dialplan reload
nebo:
$ sudo /usr/sbin/asterisk -rx “dialplan reload”