User Tools

Site Tools


wiki:voip:asterisk:extensions_conf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:voip:asterisk:extensions_conf [2012/11/16 19:02]
root
wiki:voip:asterisk:extensions_conf [2014/12/26 18:31] (current)
Line 74: Line 74:
   * 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**)   * 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)   * **Playback(digits/1)** - řekne zadanou číslovku (jedna)
 +  * **Playback(silence/1&auth-thankyou)** - další příklad 1s ticho pak thankyou
  
 === Background(), WaitExten() === === Background(), WaitExten() ===
Line 86: Line 87:
    same => n,WaitExten(5)            ;čeká na volbu dalších 5s      same => n,WaitExten(5)            ;čeká na volbu dalších 5s  
 </code> </code>
 +===SayDigits()===
 +  * přeříká zadané číslo
  
 === Goto() === === Goto() ===
   * same => Goto(context,extension,priority)   * same => Goto(context,extension,priority)
 +  * má tři argumenty, ale všechny nejsou povinné
 +  * Počet zadaných argumentů:
 +    * 1 - (priority) - asterisk jej vyhodnotí jako prioritu v této extenzi
 +    * 2 - (extension,priority)
 +    * 3 - (context,extension,priority)
 <code> <code>
-exten => 201,1,Goto(TestMenu,start,1)+[TestMenu] 
 +exten => start,1,Answer(
 +   same => n,Background(main-menu) 
 +   same => n,WaitExten(5)
  
 +exten => 1,1,Playback(digits/1)
 +   same => n,Goto(TestMenu,start,1)
 +
 +exten => 2,1,Playback(digits/2)
 +   same => n,Goto(TestMenu,start,1)
 +</code>
 +
 +=== Dial() ===
 +  * **Dial(destination,timeout,option,uri)**
 +  * Hodnoty lze vynechávat - např. Dial(destination,,option,uri) nebo Dial(destination)
 +  * Synatxe destination při volání extenze na vzdáleném systému: **Dial(technology/user[:password]@remote_host[:port][/remote_extension])**
 +
 +== Destination ==
 +<code>
 +;vyzvoneni jednoho kanalu
 +exten => 104,1,Dial(SIP/0004F2001122)
 +
 +; vyzvoneni nekolika kanalu soucasne (spojka &)
 +exten => 105,1,Dial(DAHDI/1&SIP/0004F2001122&IAX2/Softphone)
 +
 +; vyzvoneni extenze na vzdalenem systemu
 +exten => 500,1,Dial(IAX2/guest@misery.digium.com/s)
 +</code>
 +
 +== Timeout ==
 +<code>
 +exten => 201,1,Dial(DAHDI/1,10)          ;zkousi zvonit 10s
 +   same => n,Playback(vm-nobodyavail)
 +   same => n,Hangup()
 +</code>
 +
 +== Option ==
 +  * písmený symbol něajké spec.akce
 +  * např. **m** = musiconhold místo ringback tónu volajícímu do sluchátka
 +<code>
 +exten => 201,1,Dial(DAHDI/1,10,m)
 +   same => n,Playback(vm-nobodyavail)
 +   same => n,Hangup()
 +</code>
 +
 +== URI ==
 +  * sloužík zaslání URI pokud cílová stanice podporuje jeho zobrazení, příliš se nepoužívá.
 +
 +
 +
 +
 +===== Invalid Entries and Timeouts =====
 +  * Invalid extension **i** - extenze, která není platná v daném kontextu.
 +  * Timeout **t** - slouží pro definování akce po vypršení timeoutu, např. není li zadána volba během WaitExten()
 +<code>
 [TestMenu] [TestMenu]
 exten => start,1,Answer() exten => start,1,Answer()
 +   same => n,Background(main-menu)
 +   same => n,WaitExten(5)
 +
 +exten => 1,1,Playback(digits/1)
 +   same => n,Goto(TestMenu,start,1)
 +
 +exten => 2,1,Playback(digits/2)
 +   same => n,Goto(TestMenu,start,1)
 +
 +exten => i,1,Playback(pbx-invalid)
 +   same => n,Goto(TestMenu,start,1)
 +
 +exten => t,1,Playback(vm-goodbye)
 +   same => n,Hangup(
 </code> </code>
 +===== Proměnné =====
  
 +==== Global variables ====
 +  * Platí v celém dialplánu
 +<code>
 +[globals]
 +LEIF=SIP/0000FFFF0001
 +JIM=SIP/0000FFFF0002
 +RUSSELL=SIP/0000FFFF0003
 +
 +[LocalSets]
 +exten => 100,1,Dial(${LEIF})
 +exten => leif,1,Dial(${LEIF})
 +
 +exten => 101,1,Dial(${JIM})
 +exten => jim,1,Dial(${JIM})
 +
 +exten => 102,1,Dial(${RUSSELL})
 +exten => russell,1,Dial(${RUSSELL
 +</code>
 +
 +==== Channel variables ====
 +  * platí vždy jen pro jeden konkrétní hovor
 +<code>
 +exten => 202,1,Set(MagicNumber=42)
 +   same => n,SayNumber(${MagicNumber})
 +</code>
 +
 +==== Environment variables ====
 +  * Umožňují přístup k proměnným operačního systému
 +  * ${ENV(var)} - kde //var// je název UNIXové proměnné
 +===== Pattern Matching =====
 +  * pattern/vzorec začíná vždy podtržítkem **_**
 +  * **X** - jedno číslo 0-9
 +  * **Z** - jedno číslo 1-9
 +  * **N** - jedno číslo 2-9
 +  * **[125-7]** - vyjmenovaná čísla a rozsahy, zde např čísla 1,2,5,6,7
 +  * **.** //(tečka)// - jedno a více čísel (znaků)
 +  * **!** //(vykřičník)// - žádné a více čísel či znaků
 +  * **_X.** - vhodný způsob pro použití pokud chci všechna čísla
 +
 +===== Proměnná ${EXTEN} =====
 +  * obsahuje právě vytočené číslo
 +<code>
 +exten => _XXX,1,Answer()
 +   same => n,SayDigits(${EXTEN})
 +</code>
 +
 +Úpravy proměnné:
 +  * ${EXTEN:x:y} - kde //x//=startovací pozice, //y//=počet čísel která se mají vrátit
 +  * Příklady pro číslo 0326706166
 +    * ${EXTEN:1:3} - vrátí 326
 +    * ${EXTEN:1:9} - vrátí 326706166
 +    * ${EXTEN:-9:9} - začne 9 čísel od konce a vrátí 9 čísel - tedy 326706166
 +    * ${EXTEN:2:-4} - začne 2 č.od začátku, vrátí zbytek bez posledních 4č. - tedy 2670
 +    * ${EXTEN:-6:-4} - začne 6č. od konce a vrátí zbytek bez 4 posledních čísel - tedy 70
 +    * ${EXTEN:1} - začne od 1č. a vrátí zbytek bez ohledu na délku - tedy 326706166
 +
 +===== Includes =====
 +  * umožňuje includovat kontexty do sebe
 +  * **include => context**
 +<code>
 +[interni]
 +...
 +
 +[externi]
 +...
 +
 +[mezinarodni]
 +...
 +
 +[tisnova_volani]
 +...
 +
 +[zamestnanci]
 +include => interni
 +include => externi
 +include => tisnova_volani
 +
 +[manageri]
 +include => interni
 +include => externi
 +include => mezinarodni
 +include => tisnova_volani
 +</code>
 ===== Aplikace změn ===== ===== Aplikace změn =====
 > *CLI> **dialplan reload** > *CLI> **dialplan reload**
wiki/voip/asterisk/extensions_conf.1353088963.txt.gz · Last modified: 2014/12/26 18:31 (external edit)