This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Compiling and Installing Asterisk
Starting and Stopping the Asterisk Server
The Asterisk binary is the program that you execute whenever you want to start the
Asterisk server or connect to it for management purposes. The same program has
two distinct modes of operation—server mode and client mode. The server is the
instance of Asterisk that stays running all the time, handling calls, recording voice
mail, greeting callers while users are away, and so on. The client is the instance of
Asterisk that allows you to monitor and manipulate the server while it runs. The
mode the program uses depends on how Asterisk is invoked at the command prompt
or within a shell script.
To launch Asterisk in server mode, execute this command:
# asterisk &
To connect Asterisk in client mode on a machine already running in server mode,
execute this command:
# asterisk –r
Once the Asterisk client is connected to the Asterisk server, you can use Asterisk’s
command-line interface to issues queries and commands about the telephony server.
These include listing calls-in-progress, listing used and unused channels, and stop-
ping the Asterisk server.
Several Asterisk CLI commands shut down the server:
• restart when convenient
• stop now
• stop when convenient
The restart commands stop and then restart the Asterisk server process, which can
be helpful in situations where the server’s configuration has significantly changed
and needs to be restarted. The
stop commands just shut the Asterisk server process
down. You’ll have to execute the Asterisk program to get it running again.
now and when convenient arguments tell Asterisk how quickly to shut down or
restart. If you want to ignore the current calls and tasks in progress on the server,
is appropriate. If you want Asterisk to wait until all the calls and tasks are finished
and there is no call activity at all,
when convenient is appropriate. Generally, espe-
cially if you’re planning to have any callers beside yourself on the system, get in the
habit of using
Of course, in extreme circumstances, like if the Asterisk CLI is unavailable or not
responsive, you can stop the Asterisk server process from a shell like this. Get the
process ID (PID) of the Asterisk server process:
# ps ax | grep asterisk