Cover image for FreeSWITCH 1.0.6.
FreeSWITCH 1.0.6.
Title:
FreeSWITCH 1.0.6.
Author:
Minessale, Anthony.
ISBN:
9781847199973
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (380 pages)
Contents:
FreeSWITCH 1.0.6 -- Table of Contents -- FreeSWITCH 1.0.6 -- Credits -- About the Authors -- About the Reviewer -- Preface -- What this book covers -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Errata -- Piracy -- Questions -- 1. Architecture of FreeSWITCH -- A revolution has begun and secrets have been revealed -- The FreeSWITCH design: modular, scalable, and stable -- Important modules: Endpoint and Dialplan -- Complex applications made simple -- Voicemail -- Multi-party conferencing -- The FreeSWITCH API (FSAPI) -- The XML registry -- Language modules -- The default configuration -- Summary -- 2. Building and Installation -- Setting up the FreeSWITCH environment -- Operating system -- Operating system prerequisites -- Linux/Unix -- Mac OS X -- Windows -- Text editors and XML -- Downloading the source -- Building from the latest code -- Compiling FreeSWITCH for Linux/Unix/Mac OS X -- Compiling FreeSWITCH -- Step 1: Edit modules.conf -- Step 2: Run configure script -- Step 3: Run make and make install -- Step 4: Edit modules.conf.xml -- Step 5: Install sound and music files -- Compiling FreeSWITCH for Windows -- Building the solution with MSVC/MSVCEE -- Starting FreeSWITCH -- Running FreeSWITCH in the background -- Summary -- 3. Test Driving the Default Configuration -- Important concepts to understand -- Putting FreeSWITCH to work -- Controlling FreeSWITCH with the CLI -- Configuring a SIP phone to work with FreeSWITCH -- SIP settings -- X-Lite softphone -- Hard phones -- Aastra phones -- Polycom phones -- Snom phones -- Testing the default Dialplan -- Test calls for a single phone -- The "Tetris" extension -- Echo test -- Music on hold -- Demonstration IVR -- The "Information" application -- Test calls for two or more phones -- Calling another telephone -- Parking a call -- Calling a conference -- Summary.

4. SIP and the User Directory -- Understanding the FreeSWITCH user directory -- Working with the FreeSWITCH user directory -- User features -- Adding a user -- Testing voicemail -- Groups of users -- Connecting to the world with gateways -- Setting up a new gateway -- Making calls -- Receiving calls -- Making calls without a gateway -- SIP profiles and user agents -- Summary -- 5. Understanding the XML Dialplan -- FreeSWITCH XML Dialplan elements -- Call legs and channel variables -- Accessing channel variables -- Regular expressions -- Contexts -- Default -- Public -- Features -- Extensions -- Conditions -- Actions and anti-actions -- How Dialplan processing works -- Creating a new extension -- Important Dialplan applications -- bridge -- playback -- say -- play_and_get_digits -- ivr -- sleep -- answer -- hangup -- set -- Dialstring formats -- Summary -- 6. Using the Built-in XML IVR Engine -- IVR engine overview -- IVR XML configuration file -- IVR menu definitions -- greet-long -- greet-short -- invalid-sound -- exit-sound -- timeout -- inter-digit-timeout -- max-failures -- max-timeouts -- digit-len -- tts-voice -- tts-engine -- confirm-key -- IVR menu destinations -- menu-exec-app -- menu-exec-api -- menu-play-sound -- menu-back -- menu-top -- Routing calls to your IVR -- Nesting IVRs -- Using phrases with IVRs -- Calling Phrase Macros -- Phrase Macro examples: voicemail -- Advanced routing -- Summary -- 7. Building IVR Applications with Lua -- Getting started with Lua -- Running Lua scripts from the Dialplan -- Basic Lua syntax -- Building voice applications -- Simple IVR-interacting with the caller -- Conditions and looping -- Advanced IVR concepts -- Connecting to a database with LuaSQL -- Making a web call with curl -- Lua patterns versus regular expressions -- Scripting tips -- Summary -- 8. Advanced Dialplan Concepts -- Dialplan overview.

General Dialplan concepts -- Contexts -- Conditions -- Actions -- Putting it all together -- XML Dialplan module review -- Extensions -- Conditions -- Special condition variables -- Inline execution -- Actions and anti-actions -- Pitfalls to avoid -- XML Dialplan commands -- Hunting versus executing -- Utilizing variables -- Testing variables with regular expressions -- Caller profile fields -- Channel variables -- Channel variables and call setup -- Global variables -- Dialplan functions -- Real-time condition evaluation -- String conditioning -- Database queries -- SIP contact parameters -- Set, export, and legs -- Set versus export -- Passing variables via call headers -- XML Dialplan cookbook -- Match by IP address and call a number -- Match IP address and Caller ID -- Match number and strip digits -- Match number, strip digits, and add prefix -- Call registered device -- Try party A, then party B -- Check for authenticated user -- Route DIDs to extensions -- Try a local extension, failback to voicemail -- Alternate outbound gateways -- Alternatives to XML -- YAML -- Asterisk Dialplan -- Summary -- 9. Controlling FreeSWITCH Externally -- General overview -- Event system architecture -- Event-based modules -- mod_event_socket -- Configuring event socket settings -- Reading events -- Minimum event information -- Sending events -- Events from the Dialplan -- mod_event_multicast -- Port/address -- Bindings -- TTL -- mod_erlang_event -- FreeSWITCH event system commands -- auth -- api -- bgapi -- event -- divert_events -- filter -- filter delete -- sendevent -- sendmsg -- execute -- hangup -- nomedia -- log -- nolog -- noevents -- Event-based applications -- FreeSWITCH Console application -- PHP Socket connections -- Perl Socket connections -- Event Socket Library -- Supported libraries -- ESLObject.

eslSetLogLevel(loglevel) -- ESLevent object -- serialize([format]) -- setPriority([number]) -- getHeader(header_name) -- getBody() -- getType() -- addBody(value) -- addHeader(header_name, value) -- delHeader(header_name) -- firstHeader() -- nextHeader() -- ESLconnection object -- new(host, port, password) -- new(fd) -- socketDescriptor() -- connected() -- getInfo() -- send(command) -- sendRecv(command) -- api(command[, arguments]) -- bgapi(command[, arguments]) -- sendEvent(send_me) -- recvEvent() -- recvEventTimed(milliseconds) -- filter(header, value) -- events(event_type,value) -- execute(app[, arg][, uuid]) -- executeAsync(app[, arg][, uuid]) -- setAsyncExecute(value) -- setEventLock(value) -- disconnect() -- Events in practice -- Event Socket Library example: running a command -- Examples of sending events to FreeSWITCH -- Setting phone lights -- Turn lights on -- Turn lights off -- Rebooting a phone -- Requesting phone reconfiguration -- Custom notify messages -- Summary -- 10. Advanced Features and Further Reading -- Multi-user conferencing -- Configuration -- Conference profiles -- Caller controls -- Advertise -- Sending and receiving XMPP events -- Connecting callers to the conference -- Controlling active conferences -- Nibblebill -- Use cases -- Billing (pre-pay) -- Billing (post-pay) -- Pay-per-call service billing -- Maximum credit and/or fraud prevention -- Design goals -- Installation and configuration -- Database tables -- Creating the database table for PostgreSQL -- Creating the database table for MySQL -- Billing a call -- Nibble method (default) -- Alternative to nibble billings -- Examples -- Different rates per user -- Single rate for all users -- Different rates per area code -- Different rates per service delivery -- Hang up the call when the balance is depleted -- Application/CLI/API commands.

Check -- Flush -- Pause -- Resume -- Reset -- Adding and deducting funds -- Enabling session heartbeat -- Bill based on B leg only -- XML/Curl -- Installation -- Configuration -- Bindings -- HTTP requests -- HTTP response -- Optimization -- Order of requests -- Request/response examples -- mod_sofia -- ACL -- Authorization -- Voicemail request -- Dialplan bindings -- Request -- Reply -- Other bindings -- General "Not found" reply -- Debugging -- Failing back -- Alternative endpoints -- Skype and GSM endpoints -- Skype with mod_skypopen -- GSM with mod_gsmopen -- TDM with OpenZAP and FreeTDM -- Configuration tools and related projects -- Web GUIs -- WikiPBX -- FreePBX v3 -- FusionPBX -- 2600hz -- Supporting libraries -- Liverpie (Ruby) -- FreeSWITCHeR (Ruby) -- Librevox (Ruby) -- EventSocket (Python/Twisted) -- FSSocket (Perl) -- Summary -- A. The FreeSWITCH Online Community -- The FreeSWITCH mailing lists -- Talking in real-time via IRC -- The FreeSWITCH main website and wiki -- The main FreeSWITCH page-www.freeswitch.org -- The FreeSWITCH Wiki page-wiki.freeswitch.org -- The annual ClueCon open source developer conference -- B. The History Of FreeSWITCH -- Index.
Abstract:
Build robust high-performance telephony systems using FreeSWITCH.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: