pátek 21. prosince 2012

Co přináší nový Asterisk 11 ?

Po roce je tu opět nová verze ústředny Asterisk. Přináší několik zásadních novinek. Tou nejviditelnější je podpora nadějného protokolu WebRTC, který v budoucnu umožní telefonování přímo z vašeho webového prohlížeče. Kromě toho přibylo několik protokolů pro překonávání NATu a mnoho dalších užitečných drobností.Celý článek na root.cz >>>.

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. )

sobota 7. července 2012

Asterisk Gateway Interface AGI

Asterisk dialplan se programuje vlastním jednoduchým programovacím jazykem. Avšak mnoho uživatelů, speciálně programátorů, preferuje svůj programovací jazyk. Použití vlastního programovacího jazyka usnadňuje integraci do jiného IT systému. AGI rozhraní proto umožňuje vývojářům kontrolovat (ovládat) ústřednu Asterisk programovacím jazykem, dle vlastního výběru.
exten => 500,1,AGI(ahoj-svete.sh)

Tab. 3‑17 - Volání jednoduchého AGI skriptu "Ahoj světe" z dialplanu
Existuje několik variant AGI, které se liší především v metodě komunikace s Asteriskem.

1.1     Základní varianta AGI

Nejjednodušejší varianta, zmíněná hned na začátku této kapitoly. AGI skript je spuštěn v dialplanu Asterisku. Zápis syntaxe skriptu ukazuje Tab. 3-18. Komunikace mezi Asteriskem a aplikací se uskutečňuje přes stdin a stdout [4].
AGI(command[,arg1[,arg2[,...]]])

Tab. 3‑18 - Syntaxe AGI()
Tato varianta je nejméně efektivní formou AGI s ohledem na spotřebu zdrojů.
Obr.  3‑10 Jak pracuje AGI

1.2        EAGI (Enhanced AGI)

EAGI oproti AGI poskytuje kromě stdin a stdout i jednosměrný audio tok.

1.3        DeadAGI

Starší verze AGI. Již se nepoužívá. Služba pracovala s již ukončeným hovorem v Asterisku označován jako exten=>h.

1.4        FastAGI AGI přes protokol TCP

FastAGI se používá pro AGI přes protokol TCP. Rozdíl proti předchozím variantám je, že pro nové spojení (další hovor), není otevřen nový proces. FastAGI má mnohem větší možnosti použití, ale složitější implementaci.
exten => 1234,1,AGI(agi://192.168.12.101,arg1,arg2,arg3)

Tab. 3‑19 - FastAGI()

1.5        Asynchronní AGI kontrolované AMI

Async AGI—AMI-Controlled AGI je novější způsob použití AGI, který se používá od verze Asterisku 1.6.0. Účelem asynchronního AGI je asynchronně řadit požadavky (vytvářet frontu) požadavků AGI příkazů v kanálu. To může být užitečné, pokud se již v Asterisku používá rozhraní AMI a je požadavek použít vlastní programové skripty pro zpracování a řízení volání. Zápis syntaxe skriptu ukazuje tab. 3-17
exten => 1234,1,AGI(agi:async)

Tab. 3‑20 - Async AGI—AMI-Controlled AGI

[4]    LEIF MADSEN, Jim Van Meggelen. Asterisk: the definitive guide. 3rd ed. Sebastopol, CA: O'Reilly Media, Inc, 2011. ISBN 978-059-6517-342.

neděle 1. července 2012

Asterisk Manager Interface AMI

Asterisk Manager Interface (AMI) je monitorovací a řídící rozhraní Asterisku. To umožňuje online sledovat události (manager events), které se vyskytují v systému, ale také komunikovat s Asteriskem (manager actions). K dispozici je široké spektrum aplikací. Mnoho zajímavých bylo vytvořeno za účelem rozšíření funkcionality Asterisku. AMI aplikace je klientem ústředny Asterisk, kde je služba AMI spuštěna. Konfigurace se opět provádí v konfiguračních souborech. Pro AMI je to soubor manager.conf, v kterém se především nastavují přístupová práva, ale i bezpečnostní a jiná nastavení [4].

Připojení AMI pomocí protokolu TCP

K rozhraní AMI se vnější aplikace připojují pomocí TCP soketu. Na příkladu si ukážeme připojení AMI pomocí služby telnet.
1.      Připojení AMI přes TCP na portu 5038
2.      Přihlášení akcí Login
3.      Provedené příkazu (např. Ping)
4.      Odhlášení a odpojení Logoff
$ telnet localhost 5038
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/1.1
Action: Login
Username: strom
Secret: jedle
Response: Success
Message: Authentication accepted

Action: Ping
Response: Success
Ping: Pong
Timestamp: 9256398652.925531

Action: Logoff
Response: Goodbye
Message: Thanks for all.
Tab. - Ukázka komunikace AMI

AMI správce zpráv

Existují dva hlavní typy zpráv pro AMI: správce událostí (manager events) a správce akcí (manager actions).
Správce událostí zobrazuje jednosměrné zprávy směrující z Asterisku k AMI klientovi a zobrazuje stav systému. Události jsou vyvolány samotnou ústřednou, např. probíhající volání (stav kanálu).
Obr.  3‑8 Správce událostí AMI
Správce akcí rozšiřuje funkcionalitu správce událostí o schopnost události vyvolávat. Znamená to, že AMI klient odešle zprávu do Asterisku, ten ji zpracuje (provede žádanou akci) a vrátí zpět související událost AMI klientovi např. vytvoření kanálu (hovoru), získání dat z AstDB, atd.
Obr.  3‑9 Správce akcí AMI
Asterisk reaguje jen na zprávy (příkazy), které zná.  Dostupné příkazy lze zjistit v příkazovém řádku ústředny zadáním příkazu manager show command. Některé používané příkazy [4]:
·         Command       Provádí příkazy do CLI Asterisku
·         Originate         Aktivuje telefonní hovor
·         Hangup           Zavěsí kanál (ukončí hovor)  
·         Logoff            Odhlásí klienta AMI
·         SIPpeers         Vrátí seznam SIP uživatelů

[4]    LEIF MADSEN, Jim Van Meggelen. Asterisk: the definitive guide. 3rd ed. Sebastopol, CA: O'Reilly Media, Inc, 2011. ISBN 978-059-6517-342.

sobota 14. dubna 2012

Asterisk NOW 2.01 beta

Pro milovníky softwarové ústředny Asterisk, kteří nejsou velkými příteli s Linuxem, chystá společnost Digium novou verzi instalačního DVD Asterisku NOW, včetně operačního systému Linux. Beta vere je již nyní k dispozici na stránce stahování www.asterisk.org. Přímý link je zde.

neděle 8. dubna 2012

Úděl programátora

Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why. - Anonymous Developer

úterý 7. února 2012

Společnost Digium představila světu nové telefony

"Simple configuration and game-changing app engine set new bar for IP phones"

D40
Na výstavě ITEXPO (Miami) představil Digium novou rodinu high-definition IP telefonů. Jedná se o první telefony, navržené speciálně pro Asterisk. Dle informací výrobce je Asterisk pružný a umožňuje integrátorům a vývojářům vytvářet vlastní řešení. Podobně k Digium telefonům patří app engine s jednoduchým API JavaScriptem, který umožňuje programátorům vytvářet vlastní aplikace spuštěné na telefonech.
Mark Spencer, zakladatel a ředitel ,"vysvětluje. "Máme společenství více než 80 000 uživatelů a vývojářů, kteří vytvářejí úžasné věci s Asteriskem. Už se těším na další setkání s cool aplikacemi, které se vytvoří pro tyto  inovativní telefony."

D70
Switchvox obsahuje unikátní webové rozhraní s názvem Switchboard, který dává každému uživateli možnost ovládat osobní komunikační prostředí. Digium rozšířil schopnosti ze Switchboardu do telefonu, uvedl pokročilé funkce jako "presence management (manažer přítomnosti), searchable contact directory (vyhledávání kontaktů), queue monitoring (monitoring front), recording and voicemail control (kontrola nahrávání a hlasové pošty)atd.

D50
Digium telefony
  • D40-An entry-level HD IP phone with 2-line keys.
  • D50-A mid-level HD IP phone with 4-line keys and 10 rapid dial/busy lamp field (BLF) keys with an easy to print paper label strip for the user's most important contacts
  • D70-An executive-level HD IP phone with 6-line keys and 10 rapid dial/busy lamp field (BLF) keys and real-time status information displayed on an additional LCD screen, allowing users to quickly navigate through up to 100 of their most important contacts.
Mají být dostupné od dubna 2012. Přibližné ceny: D70 - $279, D50 - $179, D40 - $129. Pro více informací: http://www.digium.com/phones.

pátek 13. ledna 2012

Asterisk news

Opět se objevilo několik zajímavých článků v českém jazyce, popisujících nové vlastnosti nových verzí Asterisku a aplikačních služeb založené na této open ústředně.
Na serveru root je to článek " Asterisk 10: důraz na wideband ", popisující novou desítkovou verzi ústředny. Na serveru elektrorevue článek s názvem " Pokročilé služby v podnikové komunikaci ", který se zabývá implementací pokročilých služeb v této pobočkové ústředně.