Sunteți pe pagina 1din 2

Tip # Intro Intro 1 2 3 4 5

Recipe Title Leverage the Three Dialplan Contexts in the Default Configuration[1] Use Regular Expressions Effectively Internal Calls Incoming DID Calls Outgoing Calls Ringing Mulitple Endpoints Simultaneously Ringing Mulitple Endpoints Sequentially (Simple Failover)

Topic / Chapter Title Routing Calls Routing Calls Routing Calls Routing Calls Routing Calls Routing Calls Routing Calls Routing Calls Routing Calls Routing Calls Routing Calls

Level Simple Intermediate Intermediate Intermediate Simple Simple Simple Advanced Simple Advanced Wow

6 Advanced Multiple Endpoint Calling with Enterprise Originate 7 Time of Day Routing Manipulating "To" Headers on Registered Endpoints to 8 Reflect DID Numbers 9 Advanced SIP Handling with "regex" and "sofia_contact"

Description Page count Brief primer on default, public, and features contexts and how they help route calls Dialplan regex primer Simple how-to for routing calls from phone to phone How to route calls from service providers and other external servers Routing outbound calls through gateways or profiles How to call several people at once How to route calls sequentially (simple failover) Advanced multiple outbound routing, including complex find-me scenarios Route calls based on TOD, DOW, holiday, etc. How to use the DID in the To: field when acting as an SBC / Trunking Platform

Assigned To

Due Date 1/26/2011 1/26/2011 1/26/2011 1/26/2011 40569 1/26/2011 1/26/2011

Progress Done Done Done Done Drafted Done Done

2 1.5 1.5 2 1 1.5 2

Michael Darren/Michael Michael Michael Ray Darren Darren (was MC)

4 Anthony 3 Michael 1.5 Darren (MC)


Darren (anthm)

1/26/2011 Done 1/26/2011 Done 1/26/2011 Done 1/26/2011 Deferred

20
10 11 12 13 Configuring a SIP Phone to Register with FreeSWITCH Connecting Audio Devices with Portaudio Using FreeSWITCH as a Softphone Configuring a SIP Gateway Connecting Telephones and Service Providers Connecting Telephones and Service Providers Connecting Telephones and Service Providers Connecting Telephones and Service Providers Simple Intermediate Wow Intermediate Connect a phone (like X-Lite) to FreeSWITCH Use sound card and headset (or USB headset) to interact with FS Use the special softphone FS config files Configure a connection to another SIP server or service provider Darren Michael Michael Darren 2/13/2011 2/13/2011 Done 2/13/2011 Done 2/13/2011 Deferred (gmarruz and I are 2/13/2011 discussing) 2/13/2011 2/13/2011 Done 2/13/2011

14 15 16 17

Configuring Skype With Skypopen Configuring Google Voice Codec Configuration Enabling T.38 Fax Protocol

Connecting Telephones and Service Providers Connecting Telephones and Service Providers Connecting Telephones and Service Providers Connecting Telephones and Service Providers

Advanced Wow Advanced Intermediate

Use FS as a Skype endpoint Use Google Voice to make and receive calls Configuring codecs to avoid unnecessary problems Enable T.38 fax capabilities for carriers who support it

Michael Darren Anthony Ray

0
18 19 20 21 22 Using CSV CDRs Using XML CDRs Using RADIUS for CDRs CDR Parsing and Rating Handling A and B Legs Processing Call Detail Records Processing Call Detail Records Processing Call Detail Records Processing Call Detail Records Processing Call Detail Records Processing Call Detail Records Processing Call Detail Records Processing Call Detail Records Simple Intermediate Advanced Advanced Advanced Intermediate Advanced Wow Use CSV files for CDRs Use XML files for CDRs Use a RADIUS server to handle CDR data Parse CDRs for billing and accounting purposes Understanding A leg and B leg CDRs and when to use B leg CDRs Use CSV CDRs to create SQL statements to insert CDR data into a database table Use a Web server to process XML CDRs on a separate server Advanced CDR handling with the FS event system Michael Ray Michael Ray Darren Ray Darren Michael 3/3/2011 Done 3/3/2011 Done 3/3/2011 Deferred 3/3/2011 3/3/2011 3/3/2011 Done 3/3/2011 3/3/2011 Done

23 Inserting CDRs into a Back-end Database 24 Using a Web Server to Handle XML CDRs 25 Using the Event Socket to Handle CDRs

0
26 27 28 29 30 31 32 33 34 35 36 Getting Familiar with the "fs_cli" Internface Setting Up the Event Socket Library (ESL) Establishing an Inbound Event Socket Connection Establishing an Outbound Event Socket Connection Using "fs_ivrd" to Manage Outbound Connections Filtering Events Launch a Call with Inbound Event Socket Connection Handling a Call with Outbound Event Socket Reacting to Events Using the ESL Connection Object for Call Control Using the Built-In Web Interface External Control External Control External Control External Control External Control External Control External Control External Control External Control External Control External Control Simple Intermediate Intermediate Intermediate Advanced Intermediate Intermediate Intermediate Advanced Intermediate Advanced Use fs_cli to do many things, including shell scripting and event socket testing Compile the ESL and the language modules Create a connection to FS via inbound event socket connect Create a connection to an external process using the "socket" dp app Use fs_ivrd manage multiple outbound event socket connections Learn how to create event socket filters to reduce traffic on the socket Use "api" and "bgapi" to launch new calls via event socket Answering call, checking vars, executing apps, etc. Handling events on "my call", other calls, and system events Use the connection object for call control, building IVRs, etc. Use the built-in Abyss Web server that comes with mod_xml_rpc

3.5 Michael 1.5 Michael


Ray Darren Michael 2 Michael Ray Darren Darren Michael 3.5 Michael

3/21/2011 3/21/2011 3/21/2011 3/21/2011 3/21/2011 3/21/2011 3/21/2011 3/21/2011 3/21/2011 3/21/2011 3/21/2011

Done Done Done Done Done Done Done Included in tip #29 Done Done Done

10.5
37 38 39 40 41 42 43 44 45 46 47 Creating Users Using Voicemail Company Directory Use Phrase Macros To Build Sound Prompts Creating XML IVR Menus Music On Hold Creating Conferences Advanced Conference Feature: Relations Sending Faxes (including email notification of success/fail) Receiving Faxes (including email delivery) Basic Text-to-Speech with "mod_flite" Basic Automatic Speech Recognition with 48 "mod_pocketsphinx" 49 50 51 52 53 Advanced TTS with "mod_tts_commandline" and Pico Busy Lamp Field (BLF) for Supported Devices Context Management - Using a Single Context Listening To Live Calls With Telecast Recording Calls PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality PBX Functionality Simple Simple Intermediate Intermediate Intermediate Simple Intermediate Advanced Simple Intermediate Intermediate Intermediate Wow Advanced Advanced Wow Intermediate Create users in the directory Use voicemail features Add a company dial-by-name directory to the system Learn how to use phrase macros to build larger sound prompts Create simple menus with the built-in XML IVR system Use the built-in MOH files or add new ones Create multi-user conferences Create mute/deaf relationships between various conference members Send faxes with txfax Receiving faxes, converting to PDF and emailing Use mod_flite for simple TTS applications Use mod_pocketsphinx to create simple ASR applications Use mod_tts_commandline to interface with any TTS engine that has a CLI Add BLF buttons to supported phones Use a single dialplan context where appropriate Use mod_shout and mod_xml_rpc to listen live to current calls Record calls on A leg, B leg or both legs Michael Michael Michael Michael Michael Michael Michael Darren Darren Michael Ray Anthony Darren Michael Michael Michael 7/1/2011 7/1/2011 7/1/2011 7/1/2011 7/1/2011 7/1/2011 7/1/2011 5/14/2011 5/14/2011 5/14/2011 7/1/2011 7/1/2011 7/1/2011 5/14/2011 5/14/2011 7/1/2011 7/1/2011 Done Deferred Deferred Done Done Done Done Done Done Done Done Deferred

Done

0
Learn the very basics of Lua dialplan scripting, including the session object Use freeswitch.consoleLog to print debug information Learning the syntax for the most basic caller interaction Collect digits from the caller, read them back Learning the syntax for tables and variables, concatenation Passing arguments from the dialplan to the Lua script Basic looping (while) and conditionals (if/then/else) Learn Lua's equivalent to regular expressions Use while session.ready, session.autohangup, etc. to properly exit scripts Use the freeswitch API object to make API calls from Lua Use the "curl" API to make Web calls and collect information from other servers Use LuaSQL (or possibly another library) to connect to an external database

54 55 56 57 58 59 60 61

Create a Basic Lua Script Knowing What Your Script Is Doing with "consoleLog" Simple Interaction: Answer, Play Prompt, Hangup Collecting DTMFs From the Caller Lua Syntax: Variables and Tables Lua Syntax: Passing Arguments Lua Syntax: Looping and Conditionals Lua Syntax: Pattern Matching

Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua Dialplan Scripting With Lua

Simple Simple Simple Intermediate Simple Intermediate Intermediate Advanced Intermediate Intermediate Advanced Advanced

Michael Ray Darren Darren Michael Michael Ray Ray Darren Michael Darren Michael

6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011 6/1/2011

62 Properly Exiting Lua Scripts 63 Making API Calls 64 Making External Web Calls with "curl" 65 Connecting to an External Database

0
66 Create a Utility Extension that Always Gets Executed 67 Customizing the Ringback Tone Heard by the Caller 68 Group Paging Using the "mad boss" Extension 69 Call Screening with "group_confirm" 70 Automatically Detecting Inband DTMF Tones 71 Adding Caller Features with "bind_meta_app" 72 73 74 75 Adding Even More Caller Features with "bind_digit_action" Advanced Call Parking with "valet_park" Adding BLF to Call Parking Listening to Another Call in Progress Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Advanced Call Handling Tricks Intermediate Intermediate Advanced Intermediate Advanced Intermediate Wow Intermediate Advanced Advanced Wow Wow Advanced Advanced Intermediate Create a utility extension that sets a chan var that can be used later in the dialplan Customize the sound heard by the caller when calling or being transferred Use the "mad boss" extensions from the default dialplan for group paging features Let the called party accept, decline, or send a call to voicemail Automatically enable inband DTMF detection under the right conditions Use bind_meta_app to give callers more features, like call transfer, call recording, etc. Use bind_digit_action to create advanced scenarios for reacting to caller input Use valet_park to park and retrieve calls Light up a BLF key when a call is parked Spy on another call Listen live while someone leaves a voicemail message (like you do w/ answering machine) Ray Darren Ray Michael Darren Ray Anthony Darren Michael Ray Michael 6/19/2011 6/19/2011 6/19/2011 6/19/2011 6/19/2011 6/19/2011 6/19/2011 6/19/2011 6/19/2011 6/19/2011 6/19/2011

76 Listening Live While Someone Leaves a Voicemail Message 77 Using CallerID Lookups 78 Executing an arbitrary application on a channel from fs_cli 79 Scheduling hangups to prevent calls from lingering 80 Handling Early Media

0 Brian

81 Enabling "mod_xml_curl" Reading From Static XML Files and Falling Back to XML 82 Configuration 83 Setting Up a Web Server to Handle "mod_xml_curl" Requests Setting Up a Database Server to Store Dialplan and Directory 84 Information 85 Create a Simple Web Application to Manage Your Database 86 Understanding the mod_xml_curl Request 87 Serving Up Dynamic Directory Information 88 Serving Up Dynamic Dialplan Information 89 Handling Failover Scenarios

Dynamic Configuration Dynamic Configuration Dynamic Configuration Dynamic Configuration Dynamic Configuration Dynamic Configuration Dynamic Configuration Dynamic Configuration Dynamic Configuration

Intermediate Intermediate Intermediate Advanced Advanced Intermediate Intermediate Advanced Advanced

Enabling mod_xml_curl and setting up bindings Use xml_curl to read from a static XML file and fall back to default XML if configuration item not found Create the necessary infrastructure to use a Web server to serve up XML configuration info Create the necessary databases and tables to store dynamic configuration info Create a simple Web app to add/remove users or dialplan extensions Breakdown of what is included in the xml_curl request Send directory information to FS Send dialplan information to FS Failover to another server, static XML, or default XML

Ray Ray Ray Ray Ray Ray Ray Ray Ray

7/7/2011 7/7/2011 7/7/2011 7/7/2011 7/7/2011 7/7/2011 7/7/2011 7/7/2011 7/7/2011

0
90 Changing Default Passwords 91 Securing the LAN/WAN Environment Security Security Simple Intermediate Change user passwords, event socket password, etc. Install a firewall, VLAN, block ports, etc. Ray Darren 7/25/2011 7/25/2011

Tip # Recipe Title 91 Securing the LAN/WAN Environment 92 93 94 95 Encrypting Media with SRTP Encrypting Media with ZRTP Encrypting Signaling with TLS Securing Againts DoS Attacks

Topic / Chapter Title Security Security Security Security Security

Level Intermediate Intermediate Intermediate Intermediate Advanced

Description Install a firewall, VLAN, block ports, etc. Use SRTP to encrypt calls Use ZRTP to automatically encrypt calls Use TLS to encrypt call signaling Mitigate the effects of a DoS attack with proper configuration

Page count

Assigned To Darren Michael Darren Darren Michael

Due Date Progress 7/25/2011 7/25/2011 7/25/2011 7/25/2011 7/25/2011

0
96 97 98 99 100 101 Use "mod_skel" to Learn the Basics Adding a Simple API Command Adding a Simple Dialplan Application Handling FreeSWITCH Events Serving up XML configuration data Using the FreeSWITCH C API Extending FreeSWITCH With C[2] Extending FreeSWITCH With C Extending FreeSWITCH With C Extending FreeSWITCH With C Extending FreeSWITCH With C Extending FreeSWITCH With C Advanced Advanced Advanced Advanced Advanced Advanced Use mod_skel to learn the basic items needed in a FreeSWITCH module Create an API command Create a dialplan application Receiving and firing FreeSWITCH events from C Dynamically configuring FreeSWITCH from C How to use the FreeSWITCH C API to do common operations Ray Darren Michael Andrew Andrew Andrew 8/12/2011 8/12/2011 8/12/2011 8/12/2011 8/12/2011 8/12/2011

0
102 Maintaining Log Files 103 Clustering 104 Sample Restarts on a Running System 105 106 107 108 109 110 Adding and Removing Trunks Without Restarting Recover Calls After a Server Failure Sample CDR Processing Scripts Dump Information About Failed Calls Integrating with Nagios Monitoring Graphing Data with Cacti Deployment and Maintenance Deployment and Maintenance Deployment and Maintenance Deployment and Maintenance Deployment and Maintenance Deployment and Maintenance Deployment and Maintenance Deployment and Maintenance Deployment and Maintenance Simple Advanced Advanced Advanced Wow Intermediate Intermediate Intermediate Advanced Use fsctl send_sighup to rotate logs; optionally discuss cron cleanup jobs Cluster multiple FS servers How to restart various pieces of FreeSWITCH without taking down the entire switch How to add or remove trunk configurations without restarting FreeSWITCH Use "sofia recover" to re-establish calls after a server outage Handling CDRs in a production environment Dump info about failed calls for later review) Write or re-use a Nagios plugin to monitor FreeSWITCH Send call information to Cacti for graphing

Ray Darren Michael Anthony Michael Ray Darren Anthony

8/30/2011 8/30/2011 8/30/2011 8/30/2011 8/30/2011 8/30/2011 8/30/2011 8/30/2011

0
111 BLF With mod_fifo 112 113 114 115 116 Misc. Wow Use BLF w/ mod_fifo to create "lightup" parking lots

30.5

Old recipes/chapters

37 Creating FIFO Queues 38 Adding Agents to a FIFO Queue 39 Calling Available Agents 40 Adding Callers to a FIFO Queue 41 Limiting the Number of Calls to an Agent 42 FIFO Queue Strategies 43 Utilizing the Queue Database 44 Monitoring Agents From Scripts (external)? 45 Prioritizing Queues In Real Time 46 Eavesdropping on Agent Calls 47 Whispering to Agents 48 Chaining Together Call Centers 49 Managing Presence

Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services Call Center Services

Advanced Advanced Advanced Advanced Advanced Advanced

Create FIFO queues Add agents (i.e. "consumers") to FIFO queues to handling calls.

Michael Michael

4/8/2011 4/8/2011

Add callers to FIFO queues to wait for an agent

Michael

4/8/2011

Choose the right FIFO strategy

Darren

4/8/2011

Advanced

Handle presence, such as SLA/BLF, queue agents' availability, etc.

Ray

4/8/2011

0
50 Billing with "mod_nibblebill" 51 Pre-Allocating Time/Credit and Fraud Prevention 52 Detecting Anomalies in Call Handling 53 Optimizing FreeSWITCH for High Volume 54 Optimizing Routing for Clients Behind Firewalls and NAT 55 Least Cost Routing with "mod_lcr" 56 Testing Interconnected Carriers to Ensure Uptime 57 Handling Failed Carriers with Notifications 58 Rate Limiting with "mod_limit" Carrier Class Services Carrier Class Services Carrier Class Services Carrier Class Services Carrier Class Services Carrier Class Services Carrier Class Services Carrier Class Services Carrier Class Services Intermediate Advanced Advanced Advanced Advanced Intermediate Intermediate Advanced Intermediate Using mod_nibblebill to do realtime pre-paid billing How to allocate credit to a call in advance to prevent simultaneous calls from exceeding available credit threshholds How to detect issues with NAT or other media problems during call handling Configuring FreeSWITCH to handle relatively high call volumes Dealing with NAT on various clients Create an LCR infrastructure Make sure that your carriers are online Various tricks to route calls to other carriers when primary carriers are unresponsive Use mod_limit to control concurrent calls for a user, gateway, etc. Darren Darren Anthony Anthony Michael Ray Darren Darren Darren 4/26/2011 4/26/2011 4/26/2011 4/26/2011 4/26/2011 4/26/2011 4/26/2011 4/26/2011 4/26/2011

S-ar putea să vă placă și