Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
FreeSWITCH Cookbook

You're reading from   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.

Arrow left icon
Product type Paperback
Published in Feb 2012
Publisher Packt
ISBN-13 9781849515405
Length 150 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Toc

Table of Contents (12) Chapters Close

FreeSWITCH Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
1. Routing Calls FREE CHAPTER 2. Connecting Telephones and Service Providers 3. Processing Call Detail Records 4. External Control 5. PBX Functionality Index

Index

A

  • $accountcode variable / Adding prefixes to dial strings
  • @all_fields array / There's more...
  • absolute_codec_string / How it works...
  • accountcode parameter / File names and locations
  • add_user script / Getting ready, Getting ready, How it works..., Regular expressions with Regexp::Assemble
  • add_users script / There's more...
  • anti-action tags / There's more...
  • api() method / There's more...
  • asterisk template / CDR CSV templates
  • audio devices
    • connecting, with PortAudio / Connecting audio devices with PortAudio, How to do it..., How it works...

B

  • backend database
    • CDRs, inserting / Inserting CDRs into a backend database, Getting ready, How it works...
  • BACKGROUND_JOB event / How it works..., There's more...
  • bgapi() method / There's more..., Launching a call with an inbound event socket connection
  • bgapi command / How it works...
  • bgapi status command / There's more...
  • bind_meta_app dialplan application / The features context
  • B leg, XML CDRs
    • logging / Logging the B leg
  • bridge application / How it works...
    • versus originate command / Getting ready
  • bridge command / How to do it..., How it works..., How to do it...

C

  • $chan_call_state variable / How it works...
  • $chan_leg variable / How it works...
  • $chan_name variable / How it works...
  • $chan_state variable / How it works...
  • $con object / How it works...
  • $con variable / How it works...
  • <condition> tag / How to do it...
  • call
    • launching, inbound event socket connection used / Launching a call with an inbound event socket connection
    • controlling, ESL connection object used / Using the ESL connection object for call control, How to do it..., How it works...
  • caller ID / Caller ID
  • caller_id_number / There's more...
  • calls
    • recording / Recording calls, How to do it..., How it works..., There's more...
  • call_timeout variable / Handling no answer conditions
  • cdr parameter / How it works...
  • CDRs
    • about / Introduction
    • inserting, into backend database / Inserting CDRs into a backend database, Getting ready, How it works...
    • handling, event socket used / Using the event socket to handle CDRs, How it works...
  • Cepstral / Configuration file examples
  • cgi-bin directory / How to do it...
  • CHANNEL_EXECUTE event / How it works...
  • CHANNEL_HANGUP_COMPLETE event / How it works...
  • Codec configuration
    • about / Codec configuration, Getting ready, How it works..., There's more...
  • command-line options
    • about / Useful command line options
  • company directory
    • about / Company directory, How to do it..., There's more...
  • conferences
    • creating / Creating conferences, There's more...
    • caller controls / Caller controls
    • conference moderator and PIN / Conference moderator and PIN
  • contexts, FreeSWITCH configuration
    • default / Important dialplan contexts in the default configuration
    • public / Important dialplan contexts in the default configuration
    • features / Important dialplan contexts in the default configuration
    • customizing / Customizing context
  • cron job / There's more...
  • CSV
    • about / Introduction
  • CSV CDRs
    • using / Using CSV CDRs, How to do it..., There's more...
    • legs option / Other options
    • default-template parameter / CDR CSV templates
    • templates / CDR CSV templates
    • asterisk template / CDR CSV templates

D

  • day of week setup extension / How it works...
  • day_part dialplan / How to do it...
  • default-template parameter / CDR CSV templates
  • default context
    • about / The default context
  • destination_number / How it works..., How it works...
  • destination_number field / Regular expressions, How it works...
  • destination_out_of_order condition / Handling busy and other failure conditions
  • dialplan
    • about / Introduction
    • contexts / Introduction
    • extensions / Introduction
    • actions / Introduction
    • regular expressions / Introduction
  • dialplan extension / Getting ready
  • DID calls
    • incoming / Incoming DID calls, How it works...
  • DID numbers / Incoming DID calls
  • directory-exten-visible / There's more...
  • directory-visible / There's more...
  • directory_full_name variable set / How to do it...
  • domain_name channel variable / How it works...
  • DTMF event / How it works..., How it works...

E

  • $e event object / How it works...
  • effective_caller_id_name variable / How it works...
  • effective_caller_id_name variable set / How to do it...
  • else block / How it works...
  • enterprise originate / Advanced multiple endpoint calling with enterprise originate
  • ep_codec_string variable / There's more...
  • ESL
    • about / Getting ready, Introduction
    • considerations / ESL considerations
    • languages supported / Introduction
    • setting up / Setting up the event socket library, How to do it...
    • Debian / Debian
    • Red Hat Linux / Red Hat
    • make install command / How it works...
  • ESL$$ESLconnection object / How it works..., There's more...
  • ESL$$ESLconnection object class / How it works...
  • ESL$$IVR Perl module / Using fs_ivrd to manage outbound connections
  • ESL connection object
    • using, to control call / Using the ESL connection object for call control, How to do it..., How it works...
    • while loop / How it works...
    • play_and_get_digits application / How it works...
    • mod_xml_rpc module / Getting ready
    • help command / How it works...
  • events
    • viewing / Viewing events
    • filtering / Filtering events
    • CHANNEL_HANGUP_COMPLETE event / How it works...
    • CHANNEL_EXECUTE event / How it works...
    • $con variable / How it works...
    • $e event object / How it works...
    • CHANNEL_STATE event / How it works...
  • event socket
    • using, to handle CDRs / Using the event socket to handle CDRs, How it works...
  • execute method / How it works...
  • execute_extension / How it works...
  • execute_on_fax_detect channel variable / Detecting a fax machine and responding
  • export application / There's more...
  • extensions / Introduction
  • external phone numbers / Incoming DID calls

F

  • $fd variable / How it works...
  • @fields list / There's more...
  • fax
    • sending / Sending faxes, How to do it...
    • machine, detecting / Detecting a fax machine and responding
    • issues, diagnosing / Diagnosing fax issues
    • receiving / Receiving faxes, There's more...
    • transmission, steps / How to do it...
    • reception, steps / How to do it...
    • inbound faxes, detecting / Detecting inbound faxes
    • received fax, processing / Processing a received fax
  • fax_receive extension / How it works...
  • features context
    • about / The features context
  • Festival / Configuration file examples
  • FOSS / Helpful software
  • FreeSWITCH
    • routing calls / Introduction
    • PCRE / Regular expressions
    • about / Introduction
    • SIP phone, configuring / Configuring a SIP phone to register with FreeSWITCH, How to do it..., How it works...
    • using, as softphone / Using FreeSWITCH as a softphone, How to do it..., There's more..., See also
    • events / Filtering events
    • users, creating / Creating users, How it works..., Regular expressions with Regexp::Assemble
    • company directory / Company directory, How to do it..., There's more...
    • XML IVR menus, creating / Creating XML IVR menus, How to do it..., There's more...
    • MOH / Music on hold
    • conferences, creating / Creating conferences, There's more...
    • fax, sending / Sending faxes, Getting ready
    • fax machine, detecting / Detecting a fax machine and responding
    • fax, receiving / Receiving faxes
    • calls, recording / Recording calls, How to do it..., There's more...
  • freeswitch-contrib git repository
    • URL / There's more...
  • FreeSWITCH configuration, contexts
    • default / Important dialplan contexts in the default configuration
    • public / Important dialplan contexts in the default configuration
    • features / Important dialplan contexts in the default configuration
  • FreeSWITCH wiki
    • URL / There's more...
  • FSClient / There's more...
  • fscomm directory / There's more...
  • fsctl send_sighup command / How to do it...
  • fs_cli command / There's more...
  • fs_cli interface
    • about / Getting familiar with the fs_cli interface, There's more...
  • fs_cli program
    • command-line options / Useful command line options
    • online documentation, URL / Useful command line options
  • fs_cli session / There's more...
  • fs_ivrd module / Using fs_ivrd to manage outbound connections
  • fs_ivrd script / How to do it...
  • fs_ivrd tool
    • using, to manage outbound connections / Using fs_ivrd to manage outbound connections, How to do it..., How it works...

G

  • getBody() method / How it works...
  • getHeader() method / There's more..., There's more...
  • Ghost Script executable (gs) / Helpful software
  • Google Voice
    • configuring / Configuring Google Voice, How to do it...
  • gosub statement / How it works...
  • goto statement / How it works...

H

  • -H option / Useful command line options
  • hangup_complete_with_xml channel variable / Receiving XML CDRs
  • help command / Important commands for listing information, How it works...
  • HTTP POST action / Using a web server to handle XML CDRs

I

  • $info object / How it works...
  • @i / How it works...
  • if statement / How it works...
  • ignore_early_media / How it works..., How it works...
  • inbound-late-negotiation parameter / How it works...
  • inbound event socket connection
    • creating / Establishing an inbound event socket connection
    • fs_cli utility / Establishing an inbound event socket connection
    • status command / How to do it...
    • script / How it works...
    • getBody() method / How it works...
    • api() method / There's more...
    • bgapi() method / There's more..., Launching a call with an inbound event socket connection
    • used, for launching call / Launching a call with an inbound event socket connection
    • $stay_connected variable / How it works...
    • recvEventTimed / How it works...
    • $e variable / How it works...
    • else block / How it works...
    • if statement / How it works...
    • BACKGROUND_JOB event / How it works..., There's more...
  • include path / How it works...
  • INFO log level / Regular expressions
  • inherit_codec / How it works...
  • INSERT statements / How it works...
  • internal calls
    • about / Internal calls, How to do it..., How it works...
  • ivr application / There's more...
  • ivrd-example.pl script / How it works...
  • ivr_path channel variable / How it works...

L

  • /log 6 command / Important commands for listing information
  • /log 7 command / Important commands for listing information
  • legs option / Other options
  • leg_timeout parameter / There's more...
  • leg_timeout variable / Handling no answer conditions
  • live calls
    • with telecast / Listening to live calls with telecast, How to do it..., How it works...
  • Local_Extension / The default context, How it works...
  • Local_Extension entry / How to do it...
  • local_stream module / There's more...
  • log-dir parameter / File names and locations
  • log application / Regular expressions
  • Loquendo / Configuration file examples

M

  • <match> node / How it works...
  • make command / How it works...
  • make install command / How it works...
  • mod_cdr_csv sql template / How it works...
  • Mod_dingaling / Configuring Google Voice
  • mod_event_socket / Getting ready
  • mod_portaudio module / Getting ready
  • mod_sofia module / Getting ready
  • mod_tts_commandline
    • TFS with / Advanced text-to-speech with mod_tts_commandline, How to do it...
    / There's more...
  • mod_xml_cdr / Introduction
  • mod_xml_rpc module / Getting ready, How it works...
    • XML RPC / The "XML RPC" In mod_xml_rpc
  • MOH
    • about / Music on hold, How to do it...
    • working / How it works...
  • MTA / There's more..., Processing a received fax
  • multiple endpoints
    • ringing, simultaneously / Ringing multiple endpoints simultaneously, How it works..., There's more...
    • ringing, sequentially (simple failover) / Ringing multiple endpoints sequentially (simple failover), How it works...
    • failure conditions, handling / Handling busy and other failure conditions
    • busy failure conditions, handling / Handling busy and other failure conditions
    • no answer conditions, handling / Handling no answer conditions
    • individual bridge calls, using / Using individual bridge calls
    • calling, with enterprise originate / Advanced multiple endpoint calling with enterprise originate, Getting ready, How it works...
    • variables, setting / Setting variables
  • myevents command / How it works...

N

  • /noevents command / Viewing events
  • <nomatch> node / How it works...
  • NANPA / There's more...
  • Nokia's QT library
    • URL / There's more...

O

  • office_status dialplan / How to do it...
  • OPTIONS ping setting / Monitoring gateways
  • originate command / How to do it..., There's more...
    • versus bridge application / Getting ready
  • originate_continue_on_timeout variable / Handling no answer conditions
  • originate_timeout variable / Handling no answer conditions
  • our_sip_provider / Outgoing calls, How it works...
  • our_sip_provider.gateway / There's more...
  • our_sip_provider2 gateway / There's more...
  • outbound connections
    • managing, fs_ivrd tool used / Using fs_ivrd to manage outbound connections, How to do it..., How it works...
    • ivr_path channel variable / How it works...
    • ivrd-example.pl script / How it works...
    • $con object / How it works...
  • outbound event socket connection
    • establishing / Establishing an outbound event socket connection
    • reloadxml command / How to do it...
    • $fd variable / How it works...
    • $info object / How it works...
    • sendRecv command / How it works...
  • outgoing calls
    • about / Outgoing calls, There's more...

P

  • -P option / Useful command line options
  • pa call command / How to do it...
  • pa hangup command / How to do it...
  • PBX
    • about / Introduction
  • PCRE
    • about / Regular expressions
  • phase macros
    • creating, steps / How to do it...
    • working / How it works...
  • phrase macros
    • using, to build sound prompts / Using phrase macros to build sound prompts
  • play_and_get_digits application / How it works...
  • PortAudio
    • used, for connecting audio devices / Connecting audio devices with PortAudio, How to do it..., How it works...
    • controlling / Controlling PortAudio
  • portaudio channel / There's more...
  • prefix-a-leg parameter / File names and locations
  • public context
    • about / The public context

R

  • -r option / Useful command line options
  • record_session application / How to do it..., How it works...
  • recvEventTimed / How it works...
  • recvEventTimed() method / ESL considerations
  • Regexp$$Assemble / Regular expressions with Regexp::Assemble
  • regular expressions
    • about / Regular expressions
  • reload
    • versus sofia profile rescan / How to do it...
  • reloadxml command / How it works..., How to do it..., How to do it..., How it works..., There's more...
  • resampling / Codec configuration
  • ringback variable / Ringback
  • routing
    • time of day / Time of day routing, How to do it..., How it works..., There's more...
  • routing calls
    • about / Introduction
    • dialplan / Introduction
    • ToTopicn header, manipulating on registered endpoints / Manipulating To: headers on registered endpoints to reflect DID numbers, How it works...
    • to endpoints / Manipulating To: headers on registered endpoints to reflect DID numbers, How it works...

S

  • $stay_connected variable / How it works...
  • sendRecv command / How it works...
  • sendRecv method / How it works...
  • show calls command / Important commands for listing information
  • show channels command / Important commands for listing information
  • SIP gateway
    • configuring / Configuring a SIP gateway, How to do it...
  • SIP phone
    • configuring, to register with FreeSWITCH / Configuring a SIP phone to register with FreeSWITCH, How to do it..., How it works...
    • caller ID / Caller ID
    • context, customizing / Customizing context
  • SIT tones / Handling busy and other failure conditions
    • URL / Handling busy and other failure conditions
  • sleep app / How it works...
  • sofia profile rescan
    • versus reload / How to do it...
  • sofia status command / Important commands for listing information
  • sofia status profile internal command / Important commands for listing information
  • softphone configuration
    • about / Using FreeSWITCH as a softphone, How to do it..., There's more..., See also
  • softphone subdirectory / Getting ready
  • sound prompts
    • building, phrase macros used / Using phrase macros to build sound prompts
  • SoX / Modifying the audio stream
  • speak dialplan application / How it works...
  • status command / How to do it...
  • strftime API / How it works...

T

  • tail utility / How to do it...
  • telecast
    • about / Listening to live calls with telecast, How to do it..., How it works...
  • TFS
    • with mod_flite / Basic text-to-speech with mod_flite, How it works...
    • with mod_tts_commandline / Advanced text-to-speech with mod_tts_commandline, How to do it...
    • audio stream, modifying / Modifying the audio stream
    • engines / Other TTS engines
    • file examples, configuring / Configuration file examples
  • Time of day extension / How it works...
  • time of day routing
    • about / Time of day routing, How to do it..., How it works..., There's more...
  • To
    • header / Manipulating To: headers on registered endpoints to reflect DID numbers
  • tod channel variable set / There's more...
  • tr / How it works...
  • transcoding / Codec configuration
  • transfer dialplan applications / How it works...

U

  • --users argument / There's more...
  • userA@local.pbx.com channel / Setting variables
  • userB@local.pbx.com channel / Setting variables
  • userC@local.pbx.com channel / Setting variables
  • userD@local.pbx.com channel / Setting variables
  • users
    • about / Creating users
    • creating, steps / How to do it...
    • working / How it works...
    • add_user script / How it works...
    • reloadxml command / How it works...
    • Regular expressions, with Regexp$$Assemble / Regular expressions with Regexp::Assemble
  • user_busy condition / Handling busy and other failure conditions
  • uuid / Logging the B leg
  • uuid_create method / How it works...
  • uuid_kill command / How it works...

V

  • <var=val> notation / Setting variables
  • voicemail
    • about / Accessing voicemail
    • accessing, steps / How to do it...
    • working / How it works...
    • main menu options / How it works...
    • advanced menu options / How it works...
  • voicemail_record_file_check / There's more...
  • VoIP connections / Incoming DID calls

W

  • web server
    • using, to handle XML CDRs / Using a web server to handle XML CDRs, How it works..., There's more...
  • while loop / How it works..., How it works...

X

  • -x option / Useful command line options
  • XML CDRs
    • using / Using XML CDRs, How to do it...
    • file names and locations / File names and locations
    • prefix-a-leg parameter / File names and locations
    • log-dir parameter / File names and locations
    • B leg, logging / Logging the B leg
  • XML dialplan wiki page
    • URL / See also
  • XML IVR menus
    • creating / Creating XML IVR menus, How to do it..., There's more...
    • creating, steps / How to do it...
  • XML RPC
    • in mod_xml_rpc module / The "XML RPC" In mod_xml_rpc
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image