\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{Astral}
Astral is a telephone dialler module for use with the <a href="http://www.asterisk.org">Asterisk</a> PBX. Astral provides the telephony/dial service, making it possible to dial directly from phone numbers listed in your Turba address book, or anywhere else where Horde Form elements of the type 'phone' or 'cellphone' are used.

\section{Bugs}
Astral can not cope with being passed numbers which include an extension number, eg "01234 56789 ext 654"

\section{People}
Astral is being developed by Chris Hastie: chris at raggedstaff dot net

\section{Description}
Astral provides a way to set up a phone call by clicking on a link within Horde - most commonly associated with phone numbers listed in Turba. It achieves this by providing the telephony/dial service through an API. Astral interacts with Asterisk's Manager interface over a TCP connection, using the Originate action to set up a call between the configured source extension and the phone number to be dialled. When a dial link is clicked, the configured source extension rings. When that is picked up, Asterisk dials the required number and connects it to the extension.

Astral is primarily useful in a corporate context where telephony is provided by Asterisk and all Horde users have access to the same Asterisk server.

Astral has no displayable pages. It attempts to set up the call, pushes a message about the response to the \$notification object then redirects to the calling page.

\subsection{API}
Astral provides a single api call, dial, through the function \_astral\_dial. This is intended to provide the telephony/dial service.

\_astral\_dial expects a phone number as argument. It returns a URL. The URL can be used to form a click-to-dial link.

The phone number is cleaned before incorporating in the URL (QUESTION: should we include the raw number in the URL and clean it in the page called?). The following transformations are performed on the number:

\begin{itemize}
\item A leading '+' is replaced with the configured international dialling prefix (a configuration parameter of Astral).


\item All remaining characters other than 0-9,\#,* are removed.


\end{itemize}
\section{Resources}
\section{<a href="http://www.oak-wood.co.uk/oss/astral">Astral homepage</a><br />
<a href="https://github.com/tipichris/Astral">Astral development on Github</a><br />
<a href="http://www.voip-info.org/wiki-Asterisk+manager+API">Asterisk Manager API</a><br />
<a href="http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Originate">Asterisk Manager Originate action</a><br />
<a href="https://wiki.horde.org/CustomizeApis">CustomizeApis</a>}
Back to the <a href="https://wiki.horde.org/Project">Project List</a>

\end{document}
