You are previewing FreeSWITCH Cookbook.
O'Reilly logo
FreeSWITCH Cookbook

Book Description

Over 40 recipes to help you get the most out of your FreeSWITCH server

  • Get powerful FreeSWITCH features to work for you

  • Route calls and handle call detailing records

  • Written by members of the FreeSWITCH development team

  • In Detail

    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.

    Table of Contents

    1. FreeSWITCH Cookbook
      1. Table of Contents
      2. FreeSWITCH Cookbook
      3. Credits
      4. About the Authors
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. Who this book is for
        3. Conventions
        4. Reader feedback
        5. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Routing Calls
        1. Introduction
          1. Regular expressions
          2. Important dialplan contexts in the default configuration
            1. The default context
            2. The public context
            3. The features context
        2. Internal calls
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
        3. Incoming DID calls
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        4. Outgoing calls
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        5. Ringing multiple endpoints simultaneously
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        6. Ringing multiple endpoints sequentially (simple failover)
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Handling busy and other failure conditions
            2. Handling no answer conditions
            3. Using individual bridge calls
          5. See also
        7. Advanced multiple endpoint calling with enterprise originate
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Setting variables
            2. Ringback
          5. See also
        8. Time of day routing
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        9. Manipulating To: headers on registered endpoints to reflect DID numbers
          1. Getting ready
          2. How to do it...
          3. How it works...
      9. 2. Connecting Telephones and Service Providers
        1. Introduction
        2. Configuring a SIP phone to register with FreeSWITCH
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Caller ID
            2. Customizing context
          5. See also
        3. Connecting audio devices with PortAudio
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        4. Using FreeSWITCH as a softphone
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        5. Configuring a SIP gateway
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Adding prefixes to dial strings
            2. Monitoring gateways
        6. Configuring Google Voice
          1. Getting ready
          2. How to do it...
          3. How it works...
        7. Codec configuration
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Avoiding codec negotiation altogether
      10. 3. Processing Call Detail Records
        1. Introduction
        2. Using CSV CDRs
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. File names and locations
            2. Other options
            3. CDR CSV templates
          5. See also
        3. Using XML CDRs
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. File names and locations
            2. Logging the B leg
          5. See also
        4. Inserting CDRs into a backend database
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        5. Using a web server to handle XML CDRs
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        6. Using the event socket to handle CDRs
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. ESL considerations
            2. Receiving XML CDRs
          5. See also
      11. 4. External Control
        1. Introduction
        2. Getting familiar with the fs_cli interface
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Important commands for listing information
            2. Useful command line options
            3. Viewing events
          5. See also
        3. Setting up the event socket library
          1. Getting ready
            1. Debian
            2. Red Hat
          2. How to do it...
          3. How it works...
        4. Establishing an inbound event socket connection
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        5. Establishing an outbound event socket connection
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        6. Using fs_ivrd to manage outbound connections
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
        7. Filtering events
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
        8. Launching a call with an inbound event socket connection
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        9. Using the ESL connection object for call control
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
        10. Using the built-in web interface
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Controlling PortAudio
            2. The "XML RPC" In mod_xml_rpc
          5. See also
      12. 5. PBX Functionality
        1. Introduction
        2. Creating users
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Regular expressions with Regexp::Assemble
          5. See also
        3. Accessing voicemail
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
        4. Company directory
          1. How to do it...
          2. How it works...
          3. There's more...
          4. See also
        5. Using phrase macros to build sound prompts
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        6. Creating XML IVR menus
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
        7. Music on hold
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        8. Creating conferences
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Caller controls
            2. Conference moderator and PIN
        9. Sending faxes
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Detecting a fax machine and responding
            2. Diagnosing fax issues
            3. Helpful software
          5. See also
        10. Receiving faxes
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Detecting inbound faxes
            2. Processing a received fax
          5. See also
        11. Basic text-to-speech with mod_flite
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
        12. Advanced text-to-speech with mod_tts_commandline
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
            1. Modifying the audio stream
            2. Other TTS engines
            3. Configuration file examples
          5. See also
        13. Listening to live calls with telecast
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
        14. Recording calls
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
          5. See also
      13. Index