mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
* Move LaTeX docs into a tex/ subdirectory of the doc/ dir
* Add a Makefile in doc/tex/ for generating PDF and HTML * Add a README.txt file to doc/tex/ to document which tools are used and what web sites to visit for getting them. * Update build_tools/prep_tarball to put the proper Asterisk version string in the automatically generated PDF for release tarballs git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
85
doc/tex/ajam.tex
Normal file
85
doc/tex/ajam.tex
Normal file
@@ -0,0 +1,85 @@
|
||||
\section{Asynchronous Javascript Asterisk Manger (AJAM)}
|
||||
|
||||
AJAM is a new technology which allows web browsers or other HTTP enabled
|
||||
applications and web pages to directly access the Asterisk Manger
|
||||
Interface (AMI) via HTTP. Setting up your server to process AJAM
|
||||
involves a few steps:
|
||||
|
||||
\subsection{Setup the Asterisk HTTP server}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Uncomment the line "enabled=yes" in /etc/asterisk/http.conf to enable
|
||||
Asterisk's builtin micro HTTP server.
|
||||
|
||||
\item If you want Asterisk to actually deliver simple HTML pages, CSS,
|
||||
javascript, etc. you should uncomment "enablestatic=yes"
|
||||
|
||||
\item Adjust your "bindaddr" and "bindport" settings as appropriate for
|
||||
your desired accessibility
|
||||
|
||||
\item Adjust your "prefix" if appropriate, which must be the beginning of
|
||||
any URI on the server to match. The default is "asterisk" and the
|
||||
rest of these instructions assume that value.
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Allow Manager Access via HTTP}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Make sure you have both "enabled = yes" and "webenabled = yes" setup
|
||||
in /etc/asterisk/manager.conf
|
||||
|
||||
\item You may also use "httptimeout" to set a default timeout for HTTP
|
||||
connections.
|
||||
|
||||
\item Make sure you have a manager username/secret
|
||||
\end{enumerate}
|
||||
|
||||
Once those configurations are complete you can reload or restart
|
||||
Asterisk and you should be able to point your web browser to specific
|
||||
URI's which will allow you to access various web functions. A complete
|
||||
list can be found by typing "show http" at the Asterisk CLI.
|
||||
|
||||
examples:
|
||||
|
||||
http://localhost:8088/asterisk/manager?action=login\&username=foo\&secret=bar
|
||||
|
||||
This logs you into the manager interface's "HTML" view. Once you're
|
||||
logged in, Asterisk stores a cookie on your browser (valid for the
|
||||
length of httptimeout) which is used to connect to the same session.
|
||||
|
||||
http://localhost:8088/asterisk/rawman?action=status
|
||||
|
||||
Assuming you've already logged into manager, this URI will give you a
|
||||
"raw" manager output for the "status" command.
|
||||
|
||||
http://localhost:8088/asterisk/mxml?action=status
|
||||
|
||||
This will give you the same status view but represented as AJAX data,
|
||||
theoretically compatible with RICO (http://www.openrico.org).
|
||||
|
||||
http://localhost:8088/asterisk/static/ajamdemo.html
|
||||
|
||||
If you have enabled static content support and have done a make install,
|
||||
Asterisk will serve up a demo page which presents a live, but very
|
||||
basic, "astman" like interface. You can login with your username/secret
|
||||
for manager and have a basic view of channels as well as transfer and
|
||||
hangup calls. It's only tested in Firefox, but could probably be made
|
||||
to run in other browsers as well.
|
||||
|
||||
A sample library (astman.js) is included to help ease the creation of
|
||||
manager HTML interfaces.
|
||||
|
||||
Note that for the demo, there is no need for *any* external web server.
|
||||
|
||||
\subsection{Integration with other web servers}
|
||||
|
||||
Asterisk's micro HTTP server is *not* designed to replace a general
|
||||
purpose web server and it is intentionally created to provide only the
|
||||
minimal interfaces required. Even without the addition of an external
|
||||
web server, one can use Asterisk's interfaces to implement screen pops
|
||||
and similar tools pulling data from other web servers using iframes,
|
||||
div's etc. If you want to integrate CGI's, databases, PHP, etc. you
|
||||
will likely need to use a more traditional web server like Apache and
|
||||
link in your Asterisk micro HTTP server with something like this:
|
||||
|
||||
ProxyPass /asterisk http://localhost:8088/asterisk
|
Reference in New Issue
Block a user