万本电子书0元读

万本电子书0元读

顶部广告

Building Telephony Systems with OpenSER电子书

售       价:¥

1人正在读 | 0人评论 9.8

作       者:Flavio E. Goncalves

出  版  社:Packt Publishing

出版时间:2008-04-25

字       数:166.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
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.
目录展开

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部