Building Telephony Systems with OpenSER. A step-by-step guide to building a high performance Telephony System - Helion
ebook
Autor: Flavio E. Goncalves, Bogdan Andrei Iancu (EUR), Flavio E GoncalvesTytuł oryginału: Building Telephony Systems with OpenSER. A step-by-step guide to building a high performance Telephony System
ISBN: 9781847193742
stron: 324, Format: ebook
Data wydania: 2008-04-25
Księgarnia: Helion
Cena książki: 139,00 zł
Osoby które kupowały "Building Telephony Systems with OpenSER. A step-by-step guide to building a high performance Telephony System", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Scrum. O zwinnym zarządzaniu projektami. Wydanie II rozszerzone 58,64 zł, (12,90 zł -78%)
- Od hierarchii do turkusu, czyli jak zarządzać w XXI wieku 58,64 zł, (12,90 zł -78%)
Spis treści
Building Telephony Systems with OpenSER. A step-by-step guide to building a high performance Telephony System eBook -- spis treści
- Building Telephony Systems with OpenSER
- Table of Contents
- Building Telephony Systems with OpenSER
- Credits
- About the Author
- About the Reviewers
- Preface
- What This Book Covers
- What You Need for This Book
- Who This Book Is For
- Conventions
- Reader Feedback
- Customer Support
- Downloading the Example Code for the Book
- Errata
- Questions
- 1. Introduction to SIP
- SIP Basics
- SIP Proxy in the Context of a VOIP Provider
- SIP Operation Theory
- SIP Registration Process
- Server Operating as a SIP Proxy
- Server Operating as a SIP Redirect
- Basic Messages
- SIP Dialog Flow
- SIP Transactions and Dialogs
- The RTP Protocol
- Codecs
- DTMF-Relay
- Real Time Control Protocol (RTCP)
- Session Description Protocol (SDP)
- The RTP Protocol
- The SIP Protocol and the OSI Model
- The VoIP Provider "Big Picture"
- SIP Proxy
- User, Administration, and Provisioning Portal
- PSTN Gateway
- Media Server
- Media Proxy or RTP Proxy for Nat Traversal
- RADIUS Accounting
- CDRTool Rating
- Monitoring Tools
- Where You Can Find More Information
- Summary
- SIP Basics
- 2. The SIP Express Router
- Where Are We?
- What is the SIP Express Router?
- What Software to Use, SER or OpenSER?
- Usage Scenarios
- OpenSER Architecture
- Core and Modules
- Sections of the File openser.cfg
- Sessions, Dialogs, and Transactions
- openser.cfg Message Processing
- SIP ProxyExpected Behavior
- Stateful Operation
- Differences between Strict Routing and Loose Routing
- Understanding SIP and RTP
- Summary
- 3. OpenSER Installation
- Hardware Requirements
- Software Requirements
- LabInstalling Linux for OpenSER
- Downloading and Installing OpenSER v1.2
- LabRunning OpenSER at the Linux Boot
- OpenSER v1.2 Directory Structure
- Configuration Files (etc/openser)
- Modules (/lib/openser/modules)
- Binaries (/sbin)
- Log Files
- Startup Options
- Summary
- 4. OpenSER Standard Configuration
- Where Are We?
- Analyzing the Standard Configuration
- Using the Standard Configuration
- Routing Basics
- Transactions and Dialogs
- Initial and Sequential Requests
- Routing in a Context of a Transaction
- Routing in the Context of a Dialog
- LabTracking a Complete Dialog
- LabRunning Stateless
- LabDisabling record-route
- Summary
- 5. Adding Authentication with MySQL
- Where Are We?
- The AUTH_DB Module
- The REGISTER Authentication Sequence
- Register Sequence (Packets Captured by ngrep)
- Register Sequence Code Snippet
- The INVITE Authentication Sequence
- INVITE Sequence Packet Capture
- Digest Authentication
- WWW-Authenticate Response Header
- The Authorization Request Header
- QOPQuality of Protection
- Installing MySQL Support
- openser.cfg File Analysis
- The Openserctl Shell Script
- Openserctl Resource File
- Openserctlrc File
- Using OpenSER with Authentication
- Enhancing the Script
- Managing Multiple Domains
- Alternative Routes
- Register Requests (route[2])
- Non-Register Requests (route[3])
- Managing Calls Coming from Our Domain
- Inbound-to-Inboundroute[10]
- Inbound-to-Outboundroute[11]
- Outbound-to-Inboundroute[12]
- Outbound-to-Outboundroute[13]
- Openserctl Resource File
- The Functions check_to() and check_from()
- Using Aliases
- Handling CANCEL requests and retransmissions
- Full Script with All the Resources Above
- LabEnhancing the Security
- LabUsing Aliases
- Summary
- 6. Building the User Portal with SerMyAdmin
- SerMyAdmin
- LabInstalling SerMyAdmin
- Basic Tasks
- Registering a New User
- Approving a New User
- User Management
- Domain Management
- Interface Customization
- Summary
- SerMyAdmin
- 7. Connectivity to the PSTN
- Where Are We?
- Requests Sent to the Gateway
- Requests Coming From the Gateway
- openser.cfg Inspection
- LabUsing Asterisk as a PSTN Gateway
- Asterisk Gateway (sip.conf)
- Cisco 2601 Gateway
- Using LCR (Least Cost Routes)
- The LCR Module
- Configuration Diagram
- VoIP Provider Dial Plan
- The LCR Table
- The Gateways Table
- The Gateway Groups Table
- Adding, Removing, and Showing LCR and Gateways
- Openserctl LCR-Related Commands.
- Notes:
- Examples:
- LabUsing the LCR Feature
- lcr Gateway Groups
- lcr Gateways
- lcr Routes
- The LCR Module
- Securing re-INVITES
- Blacklists and "473/Filtered Destination" messages
- Summary
- Where Are We?
- 8. Call Forward and Voice Mail
- Call Forwarding
- Pseudo-Variables
- AVP (Attribute-Value Pair) Overview
- AVPOPS Module Loading and Parameters
- Implementing Blind Call Forwarding
- LabImplementing Blind Call Forwarding
- Implementing Call Forward on Busy or nanswered
- Inspecting the Configuration File
- LabTesting the Call Forward Feature
- Summary
- Call Forwarding
- 9. SIP NAT Traversal
- NAT Types
- Full Cone
- Restricted Cone
- Port Restricted Cone
- Symmetric
- NAT Firewall Table
- Solving the SIP NAT Traversal Challenge
- Implementing a Far-End NAT Solution
- RFC3581 and the force_rport() Function
- Solving the Traversal of RTP Packets
- Implementing a Far-End NAT Solution
- Handling REGISTER Requests behind NAT
- Determining if the Client is behind NAT
- Handling INVITE Messages behind NAT
- Handling the Responses
- MediaProxy Installation and Configuration
- Installing MediaProxy
- openser.cfg Analysis
- Modules Loading
- Modules Parameters
- Register Message Processing
- Invite Message Processing
- BYE and CANCEL Message Processing
- RE-INVITE Message Handling
- Reply Message Handling
- Routing Script
- Invite Diagram
- Packet Sequence
- Lab Using MediaProxy for NAT Traversal
- Implementing a Near-End NAT Solution
- Why STUN Does Not Work with Symmetric NAT Devices
- Comparing STUN with TURN (Media Relay Server)
- ALGApplication Layer Gateways
- ICE (Interactive Connection Establishment)
- Summary
- Implementing a Near-End NAT Solution
- NAT Types
- 10. OpenSER Accounting and Billing
- Objectives
- Where Are We?
- VoIP Provider Architecture
- Accounting Configuration
- LABAccounting using MySQL
- openser.cfg Analysis
- Accounting using RADIUS
- Installation of FreeRADIUS and CDRTool
- Packages and Dependencies
- Create and Configure the Database for the Radius server
- Configuration of the FreeRADIUS Server
- Configure the RADIUS Client (radiusclient-ng)
- Configure OpenSER
- Test the Configuration after Making a Call
- Using CDRTool for Rating
- LABCDRTool Installation
- LABUsing CDRTool
- CDRTool Architecture
- How CDRTool Rates a Call
- LabCreating and Applying a Rating Plan
- Summary
- 11. Troubleshooting Tools
- Objectives
- Where Are We?
- Built-in Tools
- Packet Capture and Trace Tools
- TShark, Wireshark
- SipTrace
- Stress Testing Tools
- Sipsak
- SIPp
- Installing SIPp
- Stress TestThe SIP Signaling
- Stress TestThe RTP Signaling
- Testing MediaProxy
- Monitoring Tools
- Summary
- Objectives
- 12. After Words
- What's New in Version 1.2.3
- Cancel Handling
- Blacklist is Disabled by Default
- Method Filtering
- Alias_DB
- Branch_route
- Migration from 1.2.2 to 1.2.3 and 1.3.1
- Migrating the Script from Chapter 10 to openser 1.3.1
- RTPProxy
- LabInstalling RTPProxy
- Areas for Further Investigation
- Carrier Route
- Dialog
- SIP Session Timers
- SIP Peering
- TLS Transport Layer Security
- Development
- PERL
- WeSIP
- Common Mistakes
- Daemon Does Not Start
- Client Unable to Register
- Sending a Call to a Provider with Authentication
- Typos in the Configuration File
- The Last Tip
- Forum and Training
- Summary
- What's New in Version 1.2.3
- Index