| |
Back to BOOK PAGE
Table of ContentsPreface Chapter 1: Introduction to SIP Chapter 2: The SIP Express Router Chapter 3: OpenSER Installation Chapter 4: OpenSER Standard Configuration Chapter 5: Adding Authentication with MySQL Chapter 6: Building the User Portal with SerMyAdmin Chapter 7: Connectivity to the PSTN Chapter 8: Call Forward and Voice Mail Chapter 9: SIP NAT Traversal Chapter 10: OpenSER Accounting and Billing Chapter 11: Troubleshooting Tools After Words Index
- Chapter 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 Transactions and Dialogs
- The RTP Protocol
- Codecs
- DTMF-Relay
- Real Time Control Protocol (RTCP)
- Session Description Protocol (SDP)
- 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
- Chapter 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 Proxy—Expected Behavior
- Stateful Operation
- Differences between Strict Routing and Loose Routing
- Understanding SIP and RTP
- Chapter 3: OpenSER Installation
- Hardware Requirements
- Software Requirements
- Lab—Installing Linux for OpenSER
- Downloading and Installing OpenSER v1.2
- Lab—Running 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
- Chapter 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
- Lab—Tracking a Complete Dialog
- Lab—Running Stateless
- Lab—Disabling record-route
- Chapter 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
- QOP—Quality of Protection
- Installing MySQL Support
- openser.cfg File Analysis
- The Openserctl Shell Script
- Using OpenSER with Authentication
- Enhancing the Script
- Managing Multiple Domains
- Alternative Routes
- The Functions check_to() and check_from()
- Using Aliases
- Handling CANCEL requests and retransmissions
- Full Script with All the Resources Above
- Lab—Enhancing the Security
- Lab—Using Aliases
- Summary
- Chapter 7: Connectivity to the PSTN
- Where Are We?
- Requests Sent to the Gateway
- Requests Coming From the Gateway
- openser.cfg Inspection
- Lab—Using Asterisk as a PSTN Gateway
- Asterisk Gateway (sip.conf)
- Cisco 2601 Gateway
- Using LCR (Least Cost Routes)
- VoIP Provider Dial Plan
- The LCR Table
- The Gateways Table
- Adding, Removing, and Showing LCR and Gateways
- Openserctl LCR-Related Commands.
- Lab—Using the LCR Feature
- lcr Gateway Groups
- lcr Gateways
- lcr Routes
- Securing re-INVITES
- Blacklists and "473/Filtered Destination" messages
- Summary
- Chapter 8: Call Forward and Voice Mail
- Call Forwarding
- Pseudo-Variables
- AVP (Attribute-Value Pair) Overview
- AVPOPS Module Loading and Parameters
- Implementing Blind Call Forwarding
- Lab—Implementing Blind Call Forwarding
- Implementing Call Forward on Busy or Unanswered
- Inspecting the Configuration File
- Lab—Testing the Call Forward Feature
- Chapter 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
- Handling REGISTER Requests behind NAT
- Determining if the Client is behind NAT
- Handling INVITE Messages behind NAT
- Handling the Responses
- MediaProxy Installation and Configuration
- 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
- 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)
- ALG—Application Layer Gateways
- ICE (Interactive Connection Establishment)
- Chapter 10: OpenSER Accounting and Billing
- Objectives
- Where Are We?
- VoIP Provider Architecture
- Accounting Configuration
- LAB—Accounting 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
- LAB—CDRTool Installation
- LAB—Using CDRTool
- CDRTool Architecture
- How CDRTool Rates a Call
- Lab—Creating and Applying a Rating Plan
- Chapter 11: Troubleshooting Tools
- Objectives
- Built-in Tools
- Packet Capture and Trace Tools
- TShark, Wireshark
- SipTrace
- Stress Testing Tools
- Sipsak
- SIPp
- Installing SIPp
- Stress Test—The SIP Signaling
- Stress Test—The RTP Signaling
- Testing MediaProxy
- 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
- Areas for Further Investigation
- Carrier Route
- Dialog
- SIP Session Timers
- SIP Peering
- TLS Transport Layer Security
- Development
- 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
Back to BOOK PAGE
| |
|