This course is a practical course. Theoretical chapters are mixed with practial exercises where the students will troubleshoot a SIP network using tools provided on both Linux and Windows. The theoretical chapters will cover all the deep fundamental functions surrounding SIP, but compared with the SIP Advanced course, the focus will now be to discuss how those functions can and during our exercises, will fail. It will also cover the updates to the SIP specifications, especially those designed to correct problems in SIPs behaviour found during recent years.
This course is for anyone who need to understand SIP in depth as testers, designers, developers, or as any engineer needing the ability to thoroughly analyse or troubleshoot a SIP network. The course also fits anyone who just wants a more complete insight into SIP’s features from a troubleshooting perspective, on a level of detail that a normal SIP Advanced course doesn’t have time for.
Since the course contains lots of practical exercises where the students will troubleshoot a failing SIP network on their own, it naturally requires the students have thorough understanding of TCP/IP, and naturally very good theoretical knowledge of SIP. This knowledge can of course be obtained via our SIP Advanced course, but it is also strongly recommended that you have been working with SIP “in real life” for a while, so that your knowledge is not purely theoretical. Being able to use a traffic analyser like wireshark, for basic SIP traffic analysis is a must, since it is heavily used during the course exercises.
We highly recommend that you have been working a while with SIP, and are able to use a network analyzer, such as Wireshark. Wireshark will be heavily used during the course.
This is a theoretical training with practical exercises.
NOTE: This course is not delivered with the FoldOut methodology.
After a discussion about classic troubleshooting methodology, each chapter is interleaved with troubleshooting exercise where the students should find errors and come up with solutions with which to fix them.
- Troubleshooting techniques
- Generating baselines
- Documenting the system
- Reference models
- Isolating the error
- Overview of useful troubleshooting tools
- Wireshark, Tcpdump
- SipSAK, SIPp, SIP scenario generator
- Ntop, MRTG
- DNS, dig and nslookup
- Finding the rules
- IETF tools, IETF workgroups
- The simple SIP checklist
- Important SIP Rules
- Invite vs non invite
- SDP usage
- Message parsing
- Registration and caller preferences
- Rules for dialog state management
- Creating, modifying, releasing
- Recording routes and route-set management
- Early dialogs, early media, and PRACK
- More routing and record-route
- Loops, forking, and CANCEL
- Transactions and the statemachines
- Updates to the state machines, rfc4320/21
- SIP timer
DNS and Transport
- The rules for selecting transport protocol
- Message sizes, URI analysis, and DNS
- Details of the DNS selection process
- Signalling redundancy and failures
- ENUM, E.164 and telephone numbers
Services and Security
- Firewalls and NAT issues
- NAT traversal
- Classic service issues
- Presence dialogs
- Session timer
- Back 2 Back user agents – limitations and possibilities
- SIP digest authentication details
Performance and Scalability basics
- Measuring different kinds of performance
- External and internal performance
- The bottlenecks in SIP and their impact
- Transport layer and DNS
- Statefulness and parsing
- Security and databases
- Lab/Demo – SIPp