Book Image

FreeSWITCH 1.2 - Second Edition

Book Image

FreeSWITCH 1.2 - Second Edition

Overview of this book

FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat-driven products, scaling from a soft-phone to a PBX and even up to an enterprise-class soft-switch. It is always exciting to design and build your own telephony system to suit your needs, but the task is time-consuming and involves a lot of technical skill."FreeSWITCH 1.2" comes to your rescue to help you set up a telephony system quickly and securely using FreeSWITCH. It is rich with practical examples and will give you all of the information and skills needed to implement your own PBX system.You will start with a detailed description of the FreeSWITCH system architecture. Thereafter you will receive step-by-step instructions on how to set up basic and advanced features for your telephony platform.The book begins by introducing the architecture and workings of FreeSWITCH before detailing how to plan a telephone system and then moves on to the installation, configuration, and management of a feature-packed PBX. You will learn about maintaining a user directory, XML dial plan, and advanced dial plan concepts, call routing, and the extremely powerful Event Socket. You will finally learn about the online community and history of FreeSWITCH."FreeSWITCH 1.2" is an indispensable tool for novice and expert alike.
Table of Contents (24 chapters)
FreeSWITCH 1.2
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Getting started


For this documentation we run an Asterisk and a FreeSWITCH on a Debian Linux system that has the IP address 10.0.0.10. We could run both services simultaneously, but for the sake of easier configuration examples we manually stop Asterisk or FreeSWITCH before starting the other. We use the latest versions of both software but actually the version number of either is not that important to understand the difference in architecture. The SIP phones use the IP addresses 10.0.0.20 and 10.0.0.21. See Chapter 4, SIP and the User Directory for tips on configuring different SIP phones.

Tip

You can have Asterisk and FreeSWITCH installed on the same server. However, you cannot run them simultaneously unless they each bind to a different IP and/or port number. For example, in /etc/asterisk/sip.conf you can change the SIP port for Asterisk. As long as they both don't try to use port 5060 on the same interface then you will be able to run them simultaneously if you so choose.

Starting and stopping Asterisk or FreeSWITCH

On a default installation of Asterisk you can start Asterisk with the command asterisk. That will start Asterisk and backgrounds the process. To stop Asterisk you can use the command-line interface with asterisk -r and type core stop now. A typical session might look like this:

debian*CLI> core stop now
debian*CLI> 
Disconnected from Asterisk server
Executing last minute cleanups
Asterisk cleanly ending (0).
root@debian:#

On a typical FreeSWITCH installation you can start FreeSWITCH in the background with the following command:

/usr/local/freeswitch/bin/freeswitch –nc

To stop FreeSWITCH execute the same command but with the –stop argument:

/usr/local/freeswitch/bin/freeswitch –stop

Basic debugging

During the following examples you might want to see what is going on. Preferences vary but in general you will want to see more verbose debugging. We recommend that you try different verbosity levels to find one that suits your needs.

Asterisk

If you have an already running Asterisk you can use asterisk -r to open a command-line interface to it. With the command core set verbose 3 you set the log level to 3. Do not use core set debug 3 because that will overwhelm you with debugging information for Asterisk programmers (those guys who program Asterisk itself). Type core set debug 0 to reset the level to 0. A typical session might look like this:

debian*CLI> core set verbose 3
Set remote console verbosity to 3
debian*CLI>

FreeSWITCH

If you have an already running FreeSWITCH, you can use the aforementioned fs_cli command to open the command-line interface. With the command /log info you can set the log level to 6. You can do the same with /log info as seen in this example session:

freeswitch@internal> /log info
+OK log level info [6]

Now that we have debugging available let's take a brief look at the example configurations that come with Asterisk and FreeSWITCH.