收藏 分享(赏)

Practical VoIP Using VOCAL - pudn.com-paper.doc

上传人:dreamzhangning 文档编号:2352352 上传时间:2018-09-12 格式:DOC 页数:648 大小:6.46MB
下载 相关 举报
Practical VoIP Using VOCAL - pudn.com-paper.doc_第1页
第1页 / 共648页
Practical VoIP Using VOCAL - pudn.com-paper.doc_第2页
第2页 / 共648页
Practical VoIP Using VOCAL - pudn.com-paper.doc_第3页
第3页 / 共648页
Practical VoIP Using VOCAL - pudn.com-paper.doc_第4页
第4页 / 共648页
Practical VoIP Using VOCAL - pudn.com-paper.doc_第5页
第5页 / 共648页
点击查看更多>>
资源描述

1、Table of ContentsPreface 1. VOCAL: Say, What?Whats This All About? System Architecture Wheres This Going? Whats in This for You? 2. Setting Up a Phone System at HomeHardware Requirements Software Requirements Acquiring VOCAL Software Installing and Deploying VOCAL Testing Your Installation Accessing

2、 Provisioning Installing and Running a UA from Separate Hosts Configuring Software UAs Starting, Restarting, and Stopping VOCAL 3. Setting Up an Internal Trial SystemInterfacing with the PSTN Setting Up a Redundant System Configuring a PSTN Gateway Installing VOCAL onto a Multihost System Working wi

3、th VOCAL 4. Provisioning UsersQuick Step for Provisioning Users Logging into the Provisioning System User Configuration Screen Adding, Viewing, Editing, and Deleting Users 5. Configuring System Parameters and Dial PlansLogin Procedure Configuring Servers The System Folder 6. Provisioning ServersThe

4、Servers Folder Call Detail Record Servers Redirect Server User Agent Marshal Server Gateway Marshal Servers Conference Bridge Marshal Server Internetwork Marshal Server Feature Servers Voice Mail Feature Servers JTAPI Servers Heartbeat Server Policy Servers 7. Session Initiation Protocol and Related

5、 ProtocolsWhat Is SIP? Sample Message Flows Message Headers SDP Messages Sample SIP Call Message Flow Forking Weird Situations 8. Vovida SIP StackArchitecture Constructing and Deconstructing Messages Parsing Transporting Compiling and Running the Stack Bugs/Limitations 9. Base CodeState Machine Clas

6、s Structure High-Level Flow Key Data Structures Dependencies 10. VOCAL User AgentCall Processing Multicall Processing Looking Through the Code Other UA Processes B2BUA 11. SIP Proxy: Marshal ServerHigh-Level Design Functionality Security Authentication 12. Redirect ServerHigh-Level Design Routing On

7、going Development 13. CPL Feature ServerWhat Are Features? Core Features Set Features New Features SIP Messages and Feature Servers Scriptable Feature Development How CPL Script Converts to a C+ State Machine Feature Activation How to Develop a Feature Feature Server Files Writing Your Next Killer F

8、eature 14. Unified Voice Mail ServerHigh-Level Design Voice Mail Feature Server Voice Mail User Agent Voice Mail Server Setting Up a Voice Mail System 15. MGCP TranslatorMedia Gateway Control Protocol MGCP Translator Test Tools Future Development Detailed Message Flows State Diagram 16. H.323 Transl

9、atorH.323 Background Registration and Admission Source Code Getting Started 17. System MonitoringSNMP Support MIBs SNMP Daemon Network Manager Agent API SNMP GUI Adding MIBs Creating New Agent Code Heartbeat Server 18. Quality of Service and BillingQuality of Service Billing OSP Billing and Toll Fra

10、ud 19. ProvisioningOld Provisioning System Mascarpone Provisioning System Provisioning Server Provisioning Interface Libraries Java User Interface GUI Screens DTD for Data Definition Examples of Protocol Transmissions/Replies A. VOCAL SIP UA Configuration FileB. Testing ToolsIndex Practical VoIP Usi

11、ng VOCALby Luan Dang, Cullen Jennings, and David KellyCopyright 2002 OReilly Media, Inc. All rights reserved.Printed in the United States of America.Published by OReilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.OReilly Media, Inc. books may be purchased for educational, busi

12、ness, or sales promotional use. Online editions are also available for most titles (). For more information, contact our corporate/institutional sales department: (800) 998-9938 or .Editor: Jim SumserProduction Editor: Jane EllinCover Designer: Ellie VolckhausenInterior Designer: David FutatoPrintin

13、g HistoryJuly 2002: First EditionNutshell Handbook, the Nutshell Handbook logo, and the OReilly logo are registered trademarks of OReilly Media, Inc. Practical VoIP Using VOCAL, the image of a snipefish, and related trade dress are trademarks of OReilly Media, Inc. Many of the designations used by m

14、anufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and OReilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. Cisco and all Cisco-based trademarks are registered trad

15、emarks of Cisco Systems, Inc.While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.Library of Congress Cataloging-in-Publication Data

16、Dang, LuanPractical VoIP Using VOCAL/Luan Dang, Cullen Jennings, refer to Chapters 4, 5, and 6 about provisioning users, dial plans, and servers; and then refer to the chapters in the rest of the book that best suit your needs.How This Book Is OrganizedWe have organized the book so that you can get

17、started and make something happen on your home or test PC quickly and easily. Were hoping that your excitement from making calls on your own phone system will inspire you to look further into the systems complexity.In order to make our delivery of this material as straightforward as possible, we hav

18、e refrained from discussing the technical details of the signaling methods and architectural models throughout the first six chapters. If you want the theory first and the practical second, turn to Chapter 7 and read through the rest of the book before returning to Chapter 2. We think that most read

19、ers will prefer getting their hands dirty first.Chapter 1, VOCAL: Say, What?Gives you a brief overview of what this book, the software, and Voice over IP are all about.Chapter 2, Setting Up a Phone System at HomeProvides instructions about getting a phone system working at home on a single Linux hos

20、t and then adding new phone devices to your system.Chapter 3, Setting Up an Internal Trial SystemProvides instructions about setting up an internal system that can support dozens of users working in a professional environment. This chapter also includes configuration instructions for gateways and ho

21、w to deploy the system onto a distributed network of hosts.Chapter 4, Provisioning UsersProvides information about adding users to the system and the different options available for features and other end-user parameters.Chapter 5, Configuring System Parameters and Dial PlansProvides information abo

22、ut setting up global system values such as dial plans and the multicast address used for heartbeats.Chapter 6, Provisioning ServersProvides information about setting up individual server types, configuring their IP addresses, and adding new servers to the system.Chapter 7, Session Initiation Protoco

23、l and Related ProtocolsA general overview of SIP, SDP, and the different message types used by these protocols. Includes some illustrated call flows and a line-by-line analysis of the basic message content.Chapter 8, Vovida SIP StackA specific overview of Vovidas implementation of a SIP stack includ

24、ing class diagrams, discussions about data structures, some insight into how the stack was developed, and what the engineers were working on as this book was being written.Chapter 9, Base CodeA short but important chapter about the base code that is common to most of the VOCAL servers.Chapter 10, VO

25、CAL User AgentDiscusses the SIP user agent (UA) that comes with VOCAL. This UA is useful for testing and demonstrating how the software works, but it was never intended as a practical softphone for end users. This chapter discusses the data structures and some basic call flows.Chapter 11, SIP Proxy:

26、 Marshal ServerThe Marshal server is our name for a SIP-edge proxy server that provides authentication and security for VOCAL. This chapter looks at the data structures that make the Marshal server work and includes additional, general information about authentication, security, and working with fir

27、ewalls.Chapter 12, Redirect ServerThe VOCAL Redirect server performs the duties described in the standard (RFC 2543) and also provides registration and location services. This chapter looks at the data structures and provides additional information about routing, ENUM, and Telephony Routing over IP

28、(TRIP).Chapter 13, CPL Feature ServerThe Call Processing Language (CPL) Feature server is an implementation of the SIP proxy that provides basic features such as call forwarding. This chapter provides information about CPL and the data structures that make up the server.Chapter 14, Unified Voice Mai

29、l ServerAs a trade show demo, we wrote a voice mail server. Despite its basic functionality, it works for a small user population and has become a popular module within the user community. This chapter explains the data structures and a few of the solutions that we implemented to make this service w

30、ork.Chapter 15, MGCP TranslatorThe MGCP translator allows VOCAL to talk to MGCP gateways, which are normally attached to analog phone sets. This chapter discusses the MGCP protocol stack, the translator, and call flows through the state machine.Chapter 16, H.323 TranslatorThe H.323 translator allows

31、 H.323 endpoints such as NetMeeting or H.323 gateways to be used with VOCAL. This chapter provides a simplified look at the data structures with some basic call flows.Chapter 17, System MonitoringWe took the UC Davis SNMP stack and adopted it into VOCAL to provide network monitoring. This chapter di

32、scusses how this was accomplished and how you can add a new Management Information Base (MIB) to your system.Chapter 18, Quality of Service and BillingAdvanced topics. Quality of Service (QoS) and using the Open Settlement Protocol (OSP) are still in a state of development. This chapter also discuss

33、es how we built a Remote Authentication Dial-In User Service (RADIUS) stack to talk to billing servers.Chapter 19, ProvisioningProvides an analysis of the code behind the provisioning system that is shown in Chapters 4, 5, and 6. It then discusses the new provisioning system that we plan to merge wi

34、th VOCAL.Appendix A, VOCAL SIP UA Configuration FileAn annotated configuration file that explains all the available settings for the VOCAL SIP UA.Appendix B, Testing ToolsConventions Used in This BookThe following formatting conventions are used throughout this book: Italic is used for commands, fil

35、enames, directories, functions, threads, and operators. Constant width is used for IP addresses, branches in a SIP message flow, and equations. Constant width italic is used for replaceable text. Constant width bold is used for user input.This icon designates a note, which is an important aside to t

36、he nearby text.This icon designates a warning relating to the nearby text.How to Contact UsPlease address comments and questions concerning this book to the publisher:OReilly we chose to work with standard, run-of-the-mill Intel-based PCs.As for the operating system, our development team had two sim

37、ple design goals from the outset of our project. First, we wanted a high-quality core platform, one that was reliable, scalable, and stable. Second, we needed it to be inexpensive to allow as many outside developers as possible to join our community. With this in mind, we immediately ruled out Micro

38、soft Windows NT and all other “flavors“ of Unix due to their prohibitive costs. We could have chosen FreeBSD, and while it would have met our core needs, we saw the increasing popularity of Linux as an attractive benefit to our project and, therefore, selected Linux as our initial development platfo

39、rm.Using Linux as our development and product platform has been rewarding. Linux has proven itself to be an extremely stable platform for many mission-critical applications. We expect that many new VoIP applications will be built on top of Linux in coming years, since Linux not only provides an inex

40、pensive, reliable, and stable platform for development, but also provides an excellent development environment with freely available tools.As VOCAL has grown, it has been ported to additional platforms. In 2000, we ported VOCAL to Sun Solaris to support an early customer trial, and recently, some me

41、mbers of the community have reported success running VOCAL on FreeBSD. Version 1.3.0 of VOCAL also provides a Session Initiation Protocol (SIP) stack that runs on Microsoft Windows 2000 .The following sections briefly describe the VoIP signaling protocols and the architecture of VOCAL. If you prefer

42、, you can skip ahead to Chapter 2 and begin your installation without reading the rest of this chapter. However, if you would like to know more about how the system operates, please continue reading.1.2. System ArchitectureWhen we started designing VOCAL, we had three primary goals in mind: Build a

43、distributed architecture. Build a system that was scalable. Ensure no single point of failure.A distributed architecture suited our aim to open source VOCAL as it provided components that developers from the community could build upon or build into their projects. Scaling the system meant assigning

44、one type of server, which became known as the Marshal server, with the task of being a single point of contact for the subscribers and enabling duplicates of this server to be added to the system as the subscriber population grew. Our original idea was to achieve load balancing by assigning each add

45、itional Marshal server with a specific population of subscribers. Our original plan also called for a multihost system with redundancy for all call control servers to avoid a single point of failure.1.2.1. Data TypesIn its most basic form, a Voice over IP system is a set of data combined with the ca

46、pacity to process calls. There is persistent data , such as the provisioning databases of users and server configurations, as well as the dynamic data that is potentially different for each call. The call control servers handle the following types of data:RegistrationWhen a user connects to her serv

47、ice provider, the system needs to add her address to a list of active endpoints.SecurityThe system requires a perimeter to allow qualified users in and keep intruders out. Security is multifaceted and includes, for example:AuthenticationThe system needs to ensure that the connecting users are who th

48、ey say they are, that the contents of the message have not been modified, and that no one else could have sent the same message.Call admissionThe system must determine the types of calling that qualified subscribers are permitted to use.RoutingOne server needs to know who the call is for, in terms o

49、f whether the called party is a local subscriber, where to send off-network calls, and how to route the call through the system with respect to features and final destination.FeaturesPhone users are used to working with a variety of features, including voice mail, call forwarding, and call blocking. VoIP has long been touted as a possible source for advanced features that are impossible to implement in the PSTN.BillingAlthough this feature is not important for a test or hobby system, commercial VoIP applications that require billin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报