This is an advanced SIP training with a lot of practical exercises. Functions such as transaction handling, dialogs, different error situations, timers and a lot of other topics are covered in detail. You will learn how SIP works within IP-telephony, as well as multimedia solutions, such as presence and Instant Messaging (IM). This course will cover how SIP works both in wireline and wireless solutions and you will need basic knowledge within VoIP and SIP to participate in this course.
The target group for this course is people that need to understand the SIP signalling protocol in detail. Among these people we will find testers, developers and implementors. The course covers wired solutions as well as wireless.
Basic knowledge within data communication equivalent to our course Data Communications Fundamentals, basic knowledge within within the TCP/IP protocol suite equivalent to our course TCP/IP and basic knowledge about Voice over packet networks equivalent to our course SIP Fundamentals. Knowledge Test Explore your knowledge and skills in our SIP test for free today.Our team of training advisors can make a recommendation and suggestion so it suits your specific need. SIP Test
This course is available as scheduled training and the presentation is given in English or Swedish. The course is mixing theory and practical exercises. We can also give this course as on-site training. If you are interested in customized education, don’t hesitate to contact us for further information.
Start of Day 1
Designing a VoIP Protocol
- Whiteboard discussion on the generic needs and features of a VoIP signaling protocol, and which choices were made when designing the SIP protocol.
- Background, history and Internet heritage
- Main components; servers and clients.
- Benefits and rules with different transport protocols
- UDP, TCP, SCTP.
- Basic sessions and SIP mobility features
- Proxy and Redirect mode
- SIP Methods & Response codes
- SIP Registration
- SDP Basics
Addressing and Registration
- Message structure and format rules.
- Mandatory headers and parameters.
- Addressing and using URIs
- SIP Registration
- Expiration and Deregistration
- Registration rules
- The location service
Exercise 1 – Registration and Basic Calls
- Registration issues
- Basic SIP sessions with SIP proxy and location server
- Using Wireshark for traffic monitoring
- SIP Signalling and SDP Negotiation analysis
- Methods; INVITE, BYE, REGISTER
- SIP message routing rules
- Request-URI and Route headers
- Via header response routing
- Detailed proxy behavior
- Location server lookup
- Request forwarding
- Response processing
- Loop detection/prevention
- Using DNS for inter-domain signaling
- SIP related DNS records; NAPTR; SRV, A/AAAA
- Load sharing and redundancy features
- Establishing sessions with INVITE
- Using SDP for negotiation
- SDP Offer/Answer Model
- Dialog creation
- Early Dialogs and UPDATE
- Dialog state management
- Route-set, Record-Routing, URI’s, and Dialog-ID.
Exercise 2 – Call Signalling Details
- Inter-domain call setup and routing
- DNS usage
- RTP details
- SIP Header analysis
- Usage of Request-URI
- Record-routing examples
- ReINVITE’s or UPDATE for session re-negotiation
End of Day 1
Start of Day 2
Step by step walkthrough of advanced call scenario.
- Statefullness in SIP Servers
- Limitations of stateless servers
- Transaction and dialog-stateful servers
- Registration stateful servers.
- The transaction layer
- Client and server transaction state machines
- The bugs and fixes for Non-INVITE transactions
Protocol extensions and updates
- Extending the SIP protocol
- Using OPTIONS
- Negotiation extensions
- Requiring extensions
- Handling new SIP methods in old proxies
- Reliable provisional responses
- PRACK, RSeq and RAck
- Forking and Cancelling requests
- Cancel and stateful proxies
- Caller preferences and Callee Capabilities
- Addressing and Registration extensions
- Using Early Media
- Simplex or Full-duplex
- Issues with forking.
- Quality of Service and SIP/SDP
Exercise 3 – Forking and CANCEL
- Forking Calls – When and Why?
- Response processing at forking.
- Method: CANCEL
- Parallel and sequential forking.
- Firewalling SIP servers and clients.
- Encryption and Authentication – How?
- Firewalls and NAT/PAT
- Session Traversal Utilities for NAT
- Traversal Using Relays around NAT
- SIP Outbound extension for NAT
- Symmetric Responses and Connection reuse.
- Global Routable User-agent URI, GRUU
- SIP Privacy and Authenticity
- S/MIME examples for end to end security
- Privacy and Anonymity
- Securing the media channel
- Secure RTP with ZRTP or MIKEY
End of Day 2
Start of Day 3
Services and Applications
- Service creation possibilities with SIP
- Overview of SIP-CGI, CPL, Java servlets, Jain, OSA/Parlay.
- Service examples with CPL
- SIP Basic call-services and PBX-like features.
- Call-forwarding, voicemail, CLIR/CLIP, etc
- Call-transfer and Call-Pickup
- REFER and Replaces:
- 3rd party call control
- SIP for events
- The presence architecture
- Triggering presence
- Dialog issues
- Instant messaging in SIP
- Stand-alone messages with MESSAGE
- Session based messaging with MSRP
- B2BUA (Back to back User Agent)
- Requirements and Possibilities
Exercise 4 – Services
- Instant messaging
- Methods; SUBSCRIBE, NOTIFY, PUBLISH, MESSAGE
Classic Telephony Using SIP
- Sending DTMF in VoIP
- DTMF and RTP, rfc2833/4733
- INFO and SUBSRIBE/NOTIFY
- Merging ISUP/PSTN Networks and SIP
- Translating or tunneling ISUP
- SIP for telephones – SIP-T
- Q.1912.5– SIP-I
- E.164 Phone numbers and SIP-addresses
- Tel: and SIP: URIs
- Address translation, interworking.
- DNS and ENUM.
- Mobile SIP Telephony
- IMS, IP Multimedia Subsystem
Exercise 5 – Security and DNS
- User authentication/authorization and http digest
- Understanding DNS queries
Links and references
- What to read first – List of RFC’s and Internet-Drafts.
- Links and references
- Acronym list
End of course