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.

Žádné komentáře:

Okomentovat