neděle 30. září 2012

Kanál Asterisku - LOCAL CHANNEL

Lokální kanál LOCAL CHANNEL, je metoda v Asterisku sloužící k rozšíření dialplanu, někdy také nazývána pseudo-kanál. LOCAL CHANNEL umožňuje větvení nebo rekurzivní směrování s možností vrácení se zpět do dialplanu po dokončení hovoru. Například volání na dvě destinace (SIP, DAHDI, atd.) s různým nastavením parametrů (časové parametry, identifikace ID, atd.). V Tab. 3-1 je ukázka větvení dialplanu pomocí lokálního kanálu. 
[dev]
exten => 333,1,NoOp(4,Volba pevného a mobilniho telefonu se zpozdenim 30s)
exten => 333,n,Dial(Local/pevny-333@ext&Local/mobile-333@ext,30)
exten => 333,n,Hangup()
[ext]
; Volba pevneho telefonu
exten => pevny-333,1,Verbose(4,Volani na pevny telefon 333)
exten => pevny-333,n,Dial(SIP/333)
; Volba mobilni stanice se 6s zpozdenim
exten => mobile-333,1,Verbose(4,Dialing cellphone of extension 201)
exten => mobile-333,n,Verbose(4,-- Waiting 6 seconds before dialing)
exten => mobile-333,n,Wait(6)
exten => mobile-333,n,Dial(DAHDI/g0/606606606)
 Tab. 3‑1 - Ukázka větvení dialplanu pomocí lokálního kanálu 
Na druhém řádku v kontextu [dev] jsou "vytočeny" dvě stanice na lokálním kanálu a při uplynutí 30s dojde k ukončení "vytáčení". Před tím, ale je předáno řízení do kontextu [ext] a dvou různých "exten". Každý "exten" může mít nastaveny různá pravidla. Kanál, který odpoví (propojí hovorový kanál), ukončí všechny ostatní rozvětvená pravidla. Může to být přijmutí hovoru nebo i příkaz v dialplánu Asterisku (např. Answer(), atd. )