Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
FreeSWITCH Cookbook
FreeSWITCH Cookbook

FreeSWITCH Cookbook: Written by members of the FreeSWITCH team, this is the ultimate guide to getting the most out of the platform. Stuffed with over 40 recipes, just about every angle is covered, from call routing to enabling text-to-speech conversion.

eBook
$17.98 $19.99
Paperback
$32.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

FreeSWITCH Cookbook

Chapter 2. Connecting Telephones and Service Providers

In this chapter, we will cover:

  • Configuring a SIP phone to register with FreeSWITCH

  • Connecting audio devices with PortAudio

  • Using FreeSWITCH as a softphone

  • Configuring a SIP gateway

  • Configuring Google Voice

  • Codec configuration

Introduction


As its name implies, FreeSWITCH will "switch" or "connect" various endpoints together. Part of that switching involves making semi-permanent connections to individual telephones or telephone service providers. Service providers are usually telephone companies (telcos) or ITSPs (Internet Telephony Service Providers). Read on to learn about the many ways that FreeSWITCH can connect your telephone to the world.

The recipes in this chapter will delve into the various ways to connect FreeSWITCH to telephones and service providers. FreeSWITCH can also utilize a locally installed sound card by means of the PortAudio library. The last recipe is for advanced users and discusses the subject of codec negotiation.

Configuring a SIP phone to register with FreeSWITCH


SIP phones or any SIP device with the ability to register, are essential in most FreeSWITCH installations for allowing users to communicate with each other. A registration is when a phone or other device informs FreeSWITCH that it is active and provides information (such as an IP address and port) on how to reach the phone across the network or Internet. FreeSWITCH stores this information for use later if someone wishes to contact the phone.

In this recipe, you will be registering a phone to FreeSWITCH. You will need to enter your credentials into your phone as well as into FreeSWITCH itself (both sides must match). We will cover only the FreeSWITCH server portion of registration in this book.

Getting ready

Ensure the mod_sofia module is already compiled and loaded (Sofia is the SIP stack). You may also want to ensure the IP address your registrations are being accepted on for a particular domain name.

Follow these steps:

  1. Launch the FreeSWITCH...

Connecting audio devices with PortAudio


Many of us have a USB headset or a sound card in our laptops or desktop computers. In most cases, FreeSWITCH can utilize these audio devices. Usually this is done for basic troubleshooting or to feed an external audio source into FreeSWITCH. It is also handy when you wish to use FreeSWITCH as a softphone, which is demonstrated later in this chapter.

Getting ready

The mod_portaudio module is already compiled for Windows users when using the Visual Studio 2008/2010 solution files with the FreeSWITCH source code. Linux and Mac OSX users will need to enable mod_portaudio in their FreeSWITCH installation. Follow these steps:

  1. Open modules.conf in the FreeSWITCH source directory and remove the comment on the #endpoints/portaudio line. Save the file and exit.

  2. Compile mod_portaudio using the following command:

    make mod_portaudio-install
    
  3. If you want to have mod_portaudio load automatically each time you start FreeSWITCH then edit conf/autoload_configs/modules...

Using FreeSWITCH as a softphone


The previous recipe described the process of setting up FreeSWITCH to use a local audio device such as a USB headset or a sound card. This recipe builds on the previous one by showing you how to use a custom FreeSWITCH configuration that is tailored specifically for use as a softphone (be sure to have PortAudio working before trying this recipe). Lastly, we will direct your attention to a few open source softphone projects that utilize FreeSWITCH as the VoIP engine.

Getting ready

This operation requires that we download a preconfigured FreeSWITCH configuration file. Follow these steps:

  1. Stop FreeSWITCH with this command:

    freeswitch –stop
    
  2. Back up your existing configuration (if desired). In a Linux/Unix environment a command like this would suffice:

    mv /usr/local/freeswitch/conf /usr/local/freeswith/conf.bak
    

    Windows users can use the File Manager to rename the conf folder.

  3. You can retrieve the softphone configuration from the FreeSWITCH sample configs git repository...

Configuring a SIP gateway


Configuring a SIP gateway allows you to connect with outside carriers or other SIP machines. You can connect with other FreeSWITCH or Asterisk boxes, or to upstream carrier SIP trunks.

SIP gateways have many, many options—too many to list here, so we'll review just a few.

Getting ready

First you'll need to gather some information about the remote server to which you are connecting. The list generally includes:

  • IP address or hostname of the server you are connecting to

  • Username and password (if any)

  • How the carrier/gateway expects Caller ID to be handled (which SIP header Caller ID should be placed in)

  • Whether registration is required

You'll also need to know the phone number format your carrier expects when you send calls to them, and how they'll send calls to you.

Finally, you'll need to decide which of your existing SIP interfaces to tie this gateway to. All gateways must be associated with a SIP interface (port and IP address). Note that, in most cases, a gateway can...

Configuring Google Voice


Google Voice (also known as Google Talk) is accessed via the mod_dingaling module, which provides XMPP support. (If you would like to learn more about XMPP, visit http://xmpp.org.) Mod_dingaling can act as both a XMPP server and a XMPP client, though it is generally used for its client abilities. With Google Voice, XMPP simply serves to establish sessions (much like SIP) and the audio properties and stream are otherwise merely RTP, just as in any VoIP call, using codecs you already know, like PCMU, GSM, and so on.

When using Google Voice with FreeSWITCH, your FreeSWITCH system initiates connections to or from Google Voice and can convert the audio and signaling into any other form—including SIP. This allows calls from Google Voice to your SIP phone and vice versa.

Getting ready

To get started, you're going to need your Google Voice user credentials. The process after that is straightforward.

How to do it...

You will need to modify the jingle profile's client file, which...

Codec configuration


Codec configuration is very versatile in FreeSWITCH. In IP telephony, there are several differing scenarios for negotiating and choosing codecs. To meet the varying demands, FreeSWITCH has several configurable modes of operation as well as real-time variables that can influence how codec negotiation takes place. Typically the goal should be to reduce transcoding or resampling as much as possible. Transcoding is the case where two sides of the call have different codecs and audio flowing in either direction has to be completely decoded and re-encoded to the opposite channel's format. Resampling is similar but it is required when each side of the call is running at a different sample rate and the audio has to be "resampled" to the correct rate. One or both of these can be necessary depending on where you direct your calls to and how you have your codec configuration set.

Getting ready

The biggest decision to make up front is late-negotiation or early-negotiation. This setting...

Left arrow icon Right arrow icon

Key benefits

  • Get powerful FreeSWITCH features to work for you
  • Route calls and handle call detailing records
  • Written by members of the FreeSWITCH development team

Description

FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice, chat, and video applications. It can scale from a soft-phone to a PBX and even up to an enterprise-class softswitch.In the FreeSWITCH Cookbook, members of the FreeSWITCH development team share some of their hard-earned knowledge with you in the book's recipes. Use this knowledge to improve and expand your FreeSWITCH installations.The FreeSWITCH Cookbook is an essential addition to any VoIP administrator's library.The book starts with recipes on how to handle call routing and then discusses connecting your FreeSWITCH server to the outside world.It then teaches you more advanced topics like CDR handling, practical examples of controlling FreeSWITCH with the event socket, and configuring many features commonly associated with a PBX installation.

Who is this book for?

If you are a system administrator, hobbyist, or someone who uses FreeSWITCH on a regular basis, this book is for you. Whether you are a FreeSWITCH expert or just getting started, this book will take your skills to the next level.

What you will learn

  • Configure users and phones as well as connections to VoIP providers and even Google Voice
  • Control FreeSWITCH remotely with the powerful event socket interface
  • Route inbound and outbound calls
  • Handle call detail records, which includes inserting CDRs into a database
  • Enable text-to-speech conversion in your voice applications
  • Monitor calls via the FreeSWITCH Web interface

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 23, 2012
Length: 150 pages
Edition : 1st
Language : English
ISBN-13 : 9781849515405
Vendor :
FreeSWITCH
Languages :
Concepts :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Feb 23, 2012
Length: 150 pages
Edition : 1st
Language : English
ISBN-13 : 9781849515405
Vendor :
FreeSWITCH
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 125.97
FreeSWITCH 1.0.6
$43.99
FreeSWITCH Cookbook
$32.99
FreeSWITCH 1.2
$48.99
Total $ 125.97 Stars icon

Table of Contents

5 Chapters
Routing Calls Chevron down icon Chevron up icon
Connecting Telephones and Service Providers Chevron down icon Chevron up icon
Processing Call Detail Records Chevron down icon Chevron up icon
External Control Chevron down icon Chevron up icon
PBX Functionality Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5
(8 Ratings)
5 star 62.5%
4 star 25%
3 star 12.5%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




FelixTurcotte May 20, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very good book
Amazon Verified review Amazon
Ali R. Mar 07, 2012
Full star icon Full star icon Full star icon Full star icon Full star icon 5
There are many solid reasons why FreeSWITCH is the best telephony platform but being the best comes at the cost of complexity. This book makes working with FreeSWITCH so easy. Clearly displayed in a format capable for any beginner to quickly grasp and comprehend this piece of art platform. This book is essential reference material.Ali_R
Amazon Verified review Amazon
BHUPENDRA SINGH Jun 11, 2012
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is great book for anyone trying to get hands on FreeSwitch specially newbies. This is must have book for a FreeSwitch user. Just easy to read. It starts with basic configuration and dives into detailed CDR usage, PBX functionality, mod_flite etc.. I highly recommend this book.
Amazon Verified review Amazon
SuperG Dec 06, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Anthony and crew are pure genius. I'm pretty sure they changed the world more than most.
Amazon Verified review Amazon
Julio Saldivar Mar 28, 2012
Full star icon Full star icon Full star icon Full star icon Full star icon 5
freeswitch is a big application and this book is excellent. 100% recommended. this book is accurate, practical and clear in his explanations
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.