<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<refentry>
<refentryinfo>
	<date>2006-10-12</date>
</refentryinfo>
<refmeta>
	<refentrytitle>
		<application>callweaver</application>
	</refentrytitle>
	<manvolnum>8</manvolnum>
	<refmiscinfo>callweaver 1.2-RC2</refmiscinfo>
</refmeta>
<refnamediv>
	<refname>
		<application>callweaver</application>
	</refname>
	<refpurpose>
	All-purpose telephony server.
	</refpurpose>
</refnamediv>
<refsynopsisdiv>
	<cmdsynopsis>
	<command>callweaver</command>
<arg><option>-tThfdvVqpRgcin</option></arg>
<arg><option>-C </option><replaceable class="parameter">file</replaceable></arg>
<arg><option>-U </option><replaceable class="parameter">user</replaceable></arg>
<arg><option>-G </option><replaceable class="parameter">group</replaceable></arg>
<arg><option>-x </option><replaceable class="parameter">command</replaceable></arg>
<arg><option>-M </option><replaceable class="parameter">value</replaceable></arg>
	</cmdsynopsis>
	<cmdsynopsis>

	<command>callweaver -r</command>
	<arg><option>-v</option></arg>
<arg><option>-x </option><replaceable class="parameter">command</replaceable></arg>
	</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
	<refsect1info>
		<date>2006-10-12</date>
	</refsect1info>
	<title>DESCRIPTION</title>
	<para>
	<command>callweaver</command> is a full-featured telephony server which
	provides Private Branch eXchange (PBX), Interactive Voice Response (IVR),
	Automated Call Distribution (ACD), Voice over IP (VoIP) gatewaying, 
	Conferencing, and a plethora of other telephony applications to a broad
	range of telephony devices including packet voice (SIP, IAX, MGCP, Skinny,
	H.323) devices (both endpoints and proxies), as well as traditional TDM
	hardware including T1, E1, ISDN PRI, GR-303, RBS, Loopstart, Groundstart,
	ISDN BRI, T38, and many more.
	</para>
	<para>
	CallWeaver reads most of its configuration files from configuration files
	located in /opt/callweaver/etc.  Virtually all aspects of the operation of
	callweaver's configuration files can be found in the sample configuration
	files.  The format for those files is generally beyond the scope of this
	man page.
	</para>
	<para>
	When running with <command>-c</command>, <command>-r</command> or <command>-R</command>
	options, CallWeaver supplies a powerful command line, including command
	completion, which may be used to monitors its status, perform a variety
	of administrative actions and even explore the applications that are
	currently loaded into the system.
	</para>
</refsect1>
<refsect1>
	<title>OPTIONS</title>
	<variablelist>
	<varlistentry>
		<term>-C <replaceable class="parameter">file</replaceable></term>
		<listitem>
			<para>
			Use <filename>file</filename> as master configuration file
			instead of the default, ex: /opt/callweaver/etc/callweaver.conf
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-c</term>
		<listitem>
			<para>
			Provide a control console on the calling terminal.
			Specifying this option implies <command>-f</command> and will cause
			callweaver to no longer fork or detach from the controlling terminal.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-d</term>
		<listitem>
			<para>
			Enable extra debugging statements.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-f</term>
		<listitem>
			<para>
			Do not fork or detach from controlling terminal.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-g</term>
		<listitem>
			<para>
			Remove resource limit on core size, thus forcing CallWeaver to dump
			core in the unlikely event of a segmentation fault or abort signal.
			<command>NOTE:</command> in some cases this may be incompatible
			with the <command>-U</command> or <command>-G</command> flags.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-G <replaceable class="parameter">group</replaceable></term>
		<listitem>
			<para>
			Run as group <replaceable>group</replaceable> instead of the
			calling group.  <command>NOTE:</command> this requires substantial work
			to be sure that CallWeaver's environment has permission to write
			the files required for its operation, including logs, its comm
			socket, the callweaver database, etc.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-h</term>
		<listitem>
			<para>
			Provide brief summary of command line arguments and terminate.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-i</term>
		<listitem>
			<para>
			Prompt user to intialize any encrypted private keys during startup.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-L <replaceable class="parameter">loadaverage</replaceable></term>
		<listitem>
			<para>
			Limits the maximum load average before rejecting new calls.  This can
			be useful to prevent a system from being brought down by terminating
			too many simultaneous calls.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-M <replaceable class="parameter">value</replaceable></term>
		<listitem>
			<para>
			Limits the maximum number of calls to the specified value.  This can
			be useful to prevent a system from being brought down by terminating
			too many simultaneous calls.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-n</term>
		<listitem>
			<para>
			Disable ANSI colors even on terminals capable of displaying them.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-p</term>
		<listitem>
			<para>
			If supported by the operating system (and executing as root),
			attempt to run with elevated priority. Critical threads will
			always be run with a realtime scheduling class if possible
			but this option will raise the priority (niceness) of the
			non-critical threads within the default scheduling class
			as well.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-q</term>
		<listitem>
			<para>
			Reduce default console output when running in conjunction with
			console mode (<command>-c</command>).
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-r</term>
		<listitem>
			<para>
			Instead of running a new CallWeaver process, attempt to connect
			to a running CallWeaver process and provide a console interface
			for controlling it.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-R</term>
		<listitem>
			<para>
			Much like <command>-r</command>.  Instead of running a new CallWeaver process, attempt to connect
			to a running CallWeaver process and provide a console interface
			for controlling it. Additionally, if connection to the CallWeaver 
			process is lost, attempt to reconnect for as long as 30 seconds.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-t</term>
		<listitem>
			<para>
			When recording files, write them first into a temporary holding directory, 
			then move them into the final location when done.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-T</term>
		<listitem>
			<para>
			Add timestamp to all non-command related output going to the console
			when running with verbose and/or logging to the console.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-U <replaceable class="parameter">user</replaceable></term>
		<listitem>
			<para>
			Run as user <replaceable>user</replaceable> instead of the
			calling user.  <command>NOTE:</command> this requires substantial work
			to be sure that CallWeaver's environment has permission to write
			the files required for its operation, including logs, its comm
			socket, the callweaver database, etc.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-v</term>
		<listitem>
			<para>
			Increase the level of verboseness on the console.  The more times
			<command>-v</command> is specified, the more verbose the output is.
			Specifying this option implies <command>-f</command> and will cause
			callweaver to no longer fork or detach from the controlling terminal.
			This option may also be used in conjunction with <command>-r</command>
			and <command>-R</command>
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-V</term>
		<listitem>
			<para>
			Display version information and exit immediately.
			</para>
		</listitem>
	</varlistentry>
	<varlistentry>
		<term>-x <replaceable class="parameter">command</replaceable></term>
		<listitem>
			<para>
			Connect to a running CallWeaver process and execute a command on
			a command line, passing any output through to standard out and
			then terminating when the command execution completes.  Implies
			<command>-r</command> when <command>-R</command> is not explicitly
			supplied.
			</para>
		</listitem>
	</varlistentry>
	</variablelist>
</refsect1>
<refsect1>
	<title>EXAMPLES</title>
	<para>
	<command>callweaver</command> - Begin CallWeaver as a daemon
	</para>
	<para>
	<command>callweaver -vvvgc</command> - Run on controlling terminal
	</para>
	<para>
	<command>callweaver -rx "show channels"</command> - Display channels on running server
	</para>
</refsect1>
<refsect1>
	<title>BUGS</title>
	<para>
	Bug reports and feature requests may be filed at http://www.callweaver.org
	</para>
</refsect1>
<refsect1>
	<title>SEE ALSO</title>
	<para>
	*CLI&gt; <command>help</command> - Help on CallWeaver CLI
	</para>
	<para>
	*CLI&gt; <command>show applications</command> - Show loaded applications
	</para>
	<para>
	http://www.callweaver.org - The CallWeaver Home Page
	</para>
	<para>
	http://wiki.callweaver.org - The CallWeaver.org Wiki
	</para>
</refsect1>
<refsect1>
	<title>AUTHOR</title>
	<para>
	<author>
		<firstname>CallWeaver Community www.callweaver.org</firstname> 
	</author>
	</para>
	<para>
	<author>
		<firstname>Countless number of contributers, see CREDITS with distribution for more information</firstname> 
	</author>
	</para>
</refsect1>
</refentry>
