
Building Telephony Systems with OpenSER : A Step-by-step Guide to Building a High-performance Telephony System.
Title:
Building Telephony Systems with OpenSER : A Step-by-step Guide to Building a High-performance Telephony System.
Author:
Goncalves, Flavio E.
ISBN:
9781847193742
Personal Author:
Physical Description:
1 online resource (359 pages)
Contents:
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 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 -- 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 -- 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 -- 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 -- 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 -- Register Requests (route[2]) -- Non-Register Requests (route[3]) -- Managing Calls Coming from Our Domain -- Inbound-to-Inbound-route[10] -- Inbound-to-Outbound-route[11] -- Outbound-to-Inbound-route[12] -- Outbound-to-Outbound-route[13] -- 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 -- 6. Building the User Portal with SerMyAdmin -- SerMyAdmin -- Lab-Installing SerMyAdmin -- Basic Tasks -- Registering a New User -- Approving a New User -- User Management -- Domain Management -- Interface Customization -- Summary -- 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 -- 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 nanswered -- Inspecting the Configuration File -- Lab-Testing the Call Forward Feature -- Summary -- 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 -- 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 -- 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 Test-The SIP Signaling -- Stress Test-The RTP Signaling -- Testing MediaProxy -- Monitoring Tools -- Summary -- 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 -- 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 -- Index.
Abstract:
This book is a well illustrated, step-by-step guide to building a SIP based network using OpenSER. This book is for readers who want to understand how to build a SIP provider from scratch using OpenSER. Telephony and Linux experience will be helpful but is not essential. Readers need not have prior knowledge of OpenSER.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Genre:
Electronic Access:
Click to View