Building Telephony Systems with OpenSER Table of Contents

Back to BOOK PAGE

Table of Contents

Preface
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 Dialog Flow
    • 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
      • Summary
  • 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
    • Summary
  • 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
      • Openserctl Resource File
        • Openserctlrc File
      • 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)
      • 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:
      • 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
      • Summary
  • 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
    • 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)
      • ALG—Application Layer Gateways
      • ICE (Interactive Connection Establishment)
    • Summary
  • 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
    • Summary
  • 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
      • Monitoring Tools
    • Summary
  • 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
      • Lab—Installing 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

Back to BOOK PAGE

Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Sort A-Z