Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Building Telephony Systems with OpenSIPS Second Edition Credits About the Authors About the Reviewers www.PacktPub.com Support files, eBooks, discount offers, and more Why subscribe? Free access for Packt account holders Preface What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support Errata Piracy Questions 1. Introduction to SIP Understanding the SIP architecture The SIP registration process Types of SIP servers The proxy server The redirect server The B2BUA server SIP request messages The SIP dialog flow SIP transactions and dialogs Locating the SIP servers SIP services The SIP identity The RTP protocol Codecs DTMF-relay Session Description Protocol The SIP protocol and OSI model The VoIP provider's big picture The SIP proxy The user administration and provisioning portal The PSTN gateway The media server The media proxy or RTP proxy for NAT traversal Accounting and CDR generation Monitoring tools Additional references Summary 2. Introducing OpenSIPS Understanding OpenSIPS OpenSIPS capabilities An overview of the OpenSIPS project OpenSIPS knowledge transfer and support Usage scenarios for OpenSIPS The ingress side The core side The egress side Who's using OpenSIPS? The OpenSIPS design The OpenSIPS core The OpenSIPS modules Summary 3. Installing OpenSIPS Hardware and software requirements Installing Linux for OpenSIPS Downloading and installing OpenSIPS v2.1.x Generating OpenSIPS scripts Running OpenSIPS at the Linux boot time The OpenSIPS v2.1.x directory structure The configuration files Modules Working with the log files Startup options Summary 4. OpenSIPS Language and Routing Concepts An overview of OpenSIPS scripting The OpenSIPS configuration file Global parameters The modules section Scripting routes The request route The branch route The failure route The reply route The local route The start up route The timer route The event route The error route Scripting capabilities The scripting functions The scripting variables The reference variables The AVP variables The script variables Scripting transformations Scripting flags Scripting operators Script statements SIP routing in OpenSIPS Mapping SIP traffic over the routing script Stateless and stateful routing In-dialog SIP routing Summary 5. Subscriber Management Modules The AUTH_DB module The REGISTER authentication sequence The REGISTER sequence The INVITE authentication sequence The INVITE sequence packet capture The INVITE code snippet Digest authentication The authorization request header Quality of protection Plaintext or prehashed passwords Installing MySQL support Analysis of the opensips.cfg file The REGISTER requests The non-REGISTER requests The opensipsctl shell script Configuring the opensipsctl utility Using OpenSIPS with authentication The registration process Enhancing the opensips.cfg routing script Managing multiple domains Using aliases Handling the CANCEL requests and retransmissions Lab – multidomain support Lab – using aliases IP authentication Summary 6. OpenSIPS Control Panel The OpenSIPS control panel Installation of OpenSIPS-CP Configuring the OpenSIPS-CP Installing Monit Configuring administrators Adding and removing domains Manage the access control lists or groups Managing aliases Managing subscribers Verifying the subscriber registration Managing permissions and IP authentication Sending commands to the management interface A generic table viewer Summary 7. Dialplan and Routing The dialplan module PSTN routing Receiving calls from PSTN Gateway authentication The permissions module Caller identification Sending calls to PSTN Identifying PSTN calls Authorizing PSTN calls The group module Access Control Lists Caller ID in PSTN calls Routing to PSTN GWs The dynamic routing module Routing entities The selection algorithm Probing and disabling gateways Advanced features Script samples Summary 8. Managing Dialogs Enabling the dialog module Creating a dialog Dialog matching Dialog states Dialog timeout and call disconnection Dialog variables and flags Setting and reading the dialog variables Setting and reading the dialog flags Profiling a dialog Counting calls from the MI interface Disconnecting calls Disconnecting a call using the MI interface Topology hiding Initial request before topology hiding Initial request after topology hiding Sequential request before topology hiding Sequential request after topology hiding Topology hiding limitations Validating a dialog and fixing broken dialogs Displaying the dialog statistics Description of the statistics SIP session timers How the SIP session timer works Summary 9. Accounting Progress check Selecting a backend The accounting configuration Automatic accounting Manual accounting Extra accounting Multi-leg accounting Lab - accounting using MySQL Using the dialog module to obtain the duration Call end reason Generating CDRs Lab – generating CDRs CDRviewer and extra accounting Accounting using RADIUS Lab – accounting using a FreeRADIUS server Package and dependencies FreeRADIUS client and server configuration Configuring the OpenSIPS server Missing BYEs and CDRs Summary 10. SIP NAT Traversal Port address translation Where does NAT break SIP? Types of NAT Full cone Restricted cone Port-restricted cone Symmetric The NAT firewall table Solving the SIP NAT traversal challenge A solution proposed for the NAT issue The solution's topology Building the solution Installing STUN Why STUN does not work with symmetric NAT devices Solving SIP signaling Implementing NAT detection Solving the Via header using rport Fixing the Contact header for requests and replies Handling the REGISTER requests and pings Handling the responses Handling sequential requests Using a media relay server Solving the traversal of the RTP packets Understanding the solution flow (1) First INVITE (2) INVITE relayed by the server (3) Reply 200 OK with SDP Acknowledgements (ACK packets) Summary 11. Implementing SIP Services Where to implement SIP services Explaining RFC 5359 with SIP service examples Playing announcements Playing demo-thanks Call forwarding Implementing blind call forwarding Loading the AVPops module and its parameters Lab – implementing blind call forwarding Implementing call forward on busy or unanswered Debugging the routing script Lab – testing the call forwarding feature Implementing an integrated voicemail User integration Integrating Asterisk Realtime with OpenSIPS Call transfer An unattended transfer Tips for call transfer Summary 12. Monitoring Tools Built-in tools Trace tools SIPTRACE Configuring SIPTRACE Script trace Troubleshooting routing scripts A system crash Benchmarking segments of code Stress testing tools The sipsak tool SIPp Installing SIPp Stress testing Packet capturing tools Ngrep Sipgrep Wireshark Summary 13. OpenSIPS Security Configuring a firewall for OpenSIPS Blocking multiple unsuccessful authentication attempts Preventing DOS using the PIKE module PIKE in manual mode PIKE in automatic mode Preventing DNS and registration poisoning Enabling Transport Layer Security Generating a script for TLS Creating the root certificate authority Creating the server certificate Installing the root certificate authority in your softphone Enabling Secure Real-time Protocol SRTP-SDES DTLS-SRTP ZRTP Enabling SRTP Enabling the anti-fraud module Event generation Script integration Summary 14. Advanced Topics with OpenSIPS 2.1 Asynchronous operations Asynchronous support in the OpenSIPS script Available asynchronous functions Binary replication Dialog replication The usrloc replication TCP handling Enabling TCP Summary Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion