Login | Register


Support -> eBootcamp

The next OpenSIPS training is scheduled for November, 11th 2015 and it is an atypical eBootcamp. This new training session is a premier because:

  • 2 days intro of online training!
  • 3 days of face-2-face, in-class advanced training,
  • it is the first one covering OpenSIPS 2.1 !
  • registrations at http://ebootcamp.opensips.org

** UPDATE ** For international students unable to attend the three days in-class in Austin, we will have on-line classes on Tuesday and Thursday starting in November 19th and following for six weeks as in a regular eBootcamp. Thus, you have two options, to attend the advanced part of the training in Austin live for three days or to attend online two hours per day, two days per week for six weeks. ** END OF UPDATE **

On November 11th -13th 2015 the live portion of the training, also named The OpenSIPS Advanced Training, will be held at the OMNI Downtown Austin in Austin, TX. This in-class part of the training covers the Advanced Topics of the eBootcamp (starting with Session 4, see Syllabus section).

Optionally, with no extra charge, students new to OpenSIPS can join for 2 days of online training to cover the SIP and OpenSIPS basics (Session 1 to 3). This online training will be held in the week prior the OpenSIPS Week in Austin. Thus, you can have the theoretical classes online, maximizing the time for labs in the in-class training and advanced topics. If you are already familiar with OpenSIPS you don't need to take the online classes.

November 2nd 15:00 UTC, Delivered via Webconference

  1. 1 Introduction to SIP
  2. 2 Introduction to OpenSIPS

November 4th 15:00 UTC, Delivered via Webconference

  1. 3 - OpenSIPS basics and authentication
  2. 4 - OpenSIPS Control Panel

The OpenSIPS Advanced Training is part of the OpenSIPS Week, together with the OpenSIPS Summit, 9th to 10th of November, same location.

For more details, please send an email to ebootcamp_at_opensips_dot_org

1.  Overview

The OpenSIPS Bootcamp is a training program providing in depth coverage of OpenSIPS Installation, Configuration and Administration. The students will learn how to download, compile and install OpenSIPS. After the installation, you will start to learn step by step how to configure OpenSIPS to authenticate users, install a GUI to help with daily administration, forward calls to the PSTN through Dialplan, integrate Asterisk and Voice Mail, Presence agent, Load Balancing, Traverse Nat for SIP and generate CDR records to Database. At the end, you will learn how to use troubleshooting tools to solve end user problems. The content is exactly the same as the OpenSIPS Bootcamp. All the knowledge that is transferred to you will be strongly backed-up by practice sessions where you will get hands-on experience in handling OpenSIPS SIP Server. The training is structured to be offer 50% - 50% between the theoretical and practical sessions. Optionally, a certification exam, to proof the knowledge consolidation during the training, can be sustained on request at the end of the course.

2.  How does it work?

The live classes will be taken online by web-conference two sessions per week, 2-3 hours per session. To attend this training you will need to have broadband Internet access. You are going to receive a link to download a virtual machine to run the labs. The virtual machine will be available in the VMWARE format. You can download the free VMWARE player to run the VM. We suggest that you have one separate desktop or server for your VM and at least one IP Phone/ATA in your private labs to complete the training. A LMS (Learning management system) will be available with forums, quizzes and support materials.

3.  Key Objectives

  • Install OpenSIPS on a Linux Machine
  • Routing basics and the default configuration
  • OpenSIPS authentication using MySQL and Memcache
  • Install OpenSIPS control Panel.
  • Connect to the PSTN using Dialplan and Dynamic Routing
  • Voicemail integration using Call Forward and AVPs
  • Implement a presence agent
  • Understand important aspects of load balancing and high availability
  • Implement SIP NAT traversal using RTPProxy
  • Account Calls to Database
  • How to secure your system against DOS and hacker's attacks
  • Implement complex SIP B2BUA scenarios with OpenSIPS
  • How to use tests, stress-tests and monitoring tools to check your configuration

4.  Syllabus

4.1  Schedule

Session 1 – Live Conference – Introduction to SIP and OpenSIPS
  1. What SIP is and what SIP is for
  2. SIP Architecture
  3. SIP Addressing scheme
  4. SIP Basic call flows
  5. Sessions, Transactions and Dialogs
  6. Initial and Sequential Requests
  7. Media Handling and SDP
  8. Use case scenarios, VoIP Providers, Wholesale routing, Hosted PBX‘­
  9. OpenSIPS architecture, advantages and limitations
Session 2 – Live conference – OpenSIPS Basics
  1. Routing Basics and the Standard Configuration
  2. Scripting Basics
  3. Routing Basics
  4. Analyzing the standard configuration files
  5. LAB OpenSIPS Installation
  6. LAB Connecting two phones to OpenSIPS
  7. LAB Running stateful, stateless, with/without record routing
Session 3 – Live Conference - OpenSIPS Control Panel and SQL Authentication
  1. Introduction to OpenSIPS Control Panel
  2. Domain administration
  3. User administration
  4. Interface customization
  5. The Auth_DB modules
  6. Register authentication sequence
  7. Invite authentication sequence
  8. Digest authentication
  9. Quality of protection
  10. Plaintext or hash passwords
  11. The opensipsctl shell utility
  12. Checking From and TO tags
  13. Multidomain support
  14. Inter-domain and intra-domain routing
  15. LAB Installing MySQL Support
  16. LAB Enhancing the script
  17. LAB Installing the opensips-cp
  18. LAB Configuring opensips-cp
Session 4 – In-Class - PSTN connectivity (part 1)
  1. Introduction to PSTN routing
  2. Accepting calls from the PSTN
  3. The permissions module and the check_source_address() function
  4. Routing a call to the PSTN
  5. DID redirection using Aliases
  6. ACL and Group permissions
Session 5 – In-Class – PSTN connectivity (part 2)
  1. Using the dialplan module
  2. Introduction to Drouting
  3. Drouting tables
  4. LAB Routing calls to the PSTN
  5. LAB Using Dynamic Routing tables
  6. LAB Using the Dialplan module for pre-routing
Session 6 – In-Class – Advanced SIP Call Flows
  1. Parallel and serial forking
  2. The importance of the messages Subscribe, Notify and Refer
  3. Call Forwarding, unconditional, on busy, on no answer
  4. Call transfer attended and unattended
  5. Call hold
  6. LAB: Implementing call fwd with avpops
Session 7 – In-Class - SIP presence ad HA
  1. Presence Agent setup
  2. Publishing Presence from non-SIP devices
  3. Registration-to-Presence conversion (old SIP devices)
  4. Scalability of the presence model
  5. Aggregation of the presence information
  6. OpenSIPS High Availability
  7. Active/Active and Active/Backup setups
  8. SIP and Data Replication
  9. LAB Implementing presence aggregation
  10. LAB Publishing non-SIP Presence
Session 8 – In-Class – SIP Dialog Awareness and Load Balancing
  1. The dialog module
  2. How Dialog awareness in implemented with OpenSIPS
  3. Dialog variables and dialog profiling
  4. Mi commands used for Dialog control
  5. OpenSIPS Load balancing/Dispatching Capabilities
  6. Balancing algorithms
  7. Balancing and failover
  8. Multiple groups of balancing
  9. LAB Limiting the number of concurrent calls
  10. LAB Load balancing & failover for an Asterisk Cluster
Session 9 – In-Class – SIP NAT Traversal
  1. NAT Types
  2. Solving the NAT traversal challenge
  3. Implementing a far end NAT solution
  4. RFC3581 and forc_rport() function
  5. Solving the traversal of RTP packets
  6. Handling Register Requests
  7. Detecting clients Behind NAT
  8. Handling Invite requests behind NAT
  9. RTPProxy installation and configuration
  10. LAB Usind RTPProxy for NAT traversal
  11. STUN – Simple Traversal of UDP NAT
Session 10 – In-Class - Accounting & Billing, Monitoring Tools
  1. Authentication, Accounting and Authorization
  2. Generating CDRs using the ACC and Dialog Modules for postpaid users.
  3. Session Timeout, integration with RTPProxy
  4. Performance analysis using Statistics Monitor
  5. SNMP scalars and traps available for management
  6. Tracing calls for troubleshooting
  7. Generating traffic with SIPP
  8. LAB Accounting to a MySQL database
  9. LAB Prepaid users, limiting the duration of the call using the Dialog module
  10. LAB Using SIP Trace
Session 11 – In-Class – SIP Security
  1. Common types of attacks to the SIP environment
  2. Scanning Attacks
  3. Floods
  4. SIP digest leaking
  5. Using PIKE to detect and prevent floods
  6. Using return codes from authentication to identify scanning attacks
  7. Implementing TLS and SRTP
Session 12 – In-Class - Back2Back User Agent
  1. B2BUA design
  2. Writing scenarios with B2BUA
  3. Topology hiding using B2BUA
  4. Complex B2BUA scenarios
  5. LAB Using SIP Trace
  6. LAB Using the B2BUA for topology hiding
– Session 13 – Final Work
  1. Final work assignment, the final work will be delivered by students after the training
– Session 14 – Live Conference – Final Work
  1. Q & A on Final work

5.  Audience

  • VoIP providers seeking “Open Source” platforms to enhance their businesses
  • Anyone seeking proficiency in OpenSIPS
  • Network Consultants and VARs who need a jump start in the technology
  • Developers who want to use OpenSIPS to create new telephony applications and appliances

6.  Prerequisites

  • Basic Linux knowledge
  • Basic text edition
  • Basic SIP protocol (Free online learning)
  • Basic OpenSIPS Knowledge (Free online learning)
  • Programming logic knowledge (you won’t need to program, but you need to understand logical concepts applied to the dial-plan)

7.  Instructors

  • Bogdan-Andrei Iancu – OpenSIPS Solutions / OpenSIPS founder and main developer.
  • Flαvio E. Goncalves – CEO of SipPulse Routing and Billing Solutions for SIP, writer of the book, Building Telephony Systems with OpenSIPS.

8.  Contact & Registration

ebootcamp at opensips dot org

Page last modified on October 14, 2015, at 02:59 AM