Wir betrachten wieder die aus „Beispiel: Anzahl der Mailbox-Nachrichten mit Expect abfragen“ und „Beispiel: Anzahl der Mailbox-Nachrichten mit PHP abfragen“ bekannte einfache Aufgabe, also die Anzahl der Nachrichten auf einer Mailbox abzufragen. Der AJAM bietet hier folgende Möglichkeiten:
Unter der URL
http://localhost:8088/asterisk/manager
wartet das Manager-Interface auf unsere Anfragen. Dabei werden die Felder eines Pakets als Parameter an die URL gehängt. Probieren Sie die folgenden beiden Adressen im Webbrowser aus:
http://localhost:8088/asterisk/manager?action=Login&username=admin&secret=geheim
http://localhost:8088/asterisk/manager?action=MailboxCount&mailbox=123
Die Antwort erfolgt jeweils als HTML-Seite, ist also für den Zugriff durch Skripte denkbar ungeeignet.
Man kann in der URL manager
durch
rawman
ersetzen, dann erfolgt die Antwort als Plain-Text.
Zum Einloggen und Abfragen der Mailbox-Nachrichten
also:
http://localhost:8088/asterisk/rawman?action=Login&username=admin&secret=geheim
Response: Success Message: Authentication accepted
http://localhost:8088/asterisk/rawman?action=MailboxCount&mailbox=123
Response: Success Message: Mailbox Message Count Mailbox: 123 NewMessages: 0 OldMessages: 0
http://localhost:8088/asterisk/rawman?action=Logoff
Response: Goodbye Message: Thanks for all the fish.
Diese Text-Ausgabe kann man also gut in automatisierten Skripten verwenden.
Will man stattdessen lieber XML, dann ruft man mxml
auf. Die XML-Ausgabe ist hier zur leichteren Lesbarkeit formatiert
dargestellt, der AJAM macht keine Zeilenumbrüche innerhalb der Tags.
Einen korrekten XML-Parser würde das aber auch so wie hier dargestellt
nicht stören.
http://localhost:8088/asterisk/mxml?action=Login&username=admin&secret=geheim
<ajax-response> <response type='object' id='unknown'> <generic response='Success' message='Authentication accepted' /> </response> </ajax-response>
http://localhost:8088/asterisk/mxml?action=MailboxCount&mailbox=123
<ajax-response> <response type='object' id='unknown'> <generic response='Success' message='Mailbox Message Count' mailbox='123' newmessages='0' oldmessages='0' /> </response> </ajax-response>
http://localhost:8088/asterisk/mxml?action=Logoff
<ajax-response> <response type='object' id='unknown'> <generic response='Goodbye' message='Thanks for all the fish.' /> </response> </ajax-response>