Part 1:SIP 相關(guān)基礎(chǔ)介紹
SIP – Who Benefits
Why SIP?
What is SIP?
SIP ‘from the RFC’
3261
New RFCs
IETF Working groups
Based on HTTP
SIP Clients and Servers
SIP User Agents
Simple Call Session Setup
SIP System Architecture
The URI - Unique Resource Identifier
SIP Addressing
SIP Addressing 舉例
SIP Servers 和操作
Registration
Re-Registration
為什么需要 SIP Proxy servers
Proxy Server ‘State’ types
DHCP and SIP
SIP Proxy – Trapezoid Model
SIP Server – Proxy Mode
SIP Server – Re-Direct Mode
Location Services
SIP Server in Proxy Mode
SIP Server in Proxy Redirect Mode
Stateful and Stateless Proxies
Location Server
Location Server – Components
Location Server – Information Sources
Location Server – Example
SIP Client Configuration
Configuration scenarios
SIP Messaging
Request Methods
Response Codes
SIP Headers
INVITE – Example
RESPONSE (200 OK) – Example
More on Headers
Support and Require Headers
Timer (Session Times)
100rel (PRACK)
Short form ‘compact’ Headers
SDP – the Session Description Protocol
SDP in a SIP Message
一個(gè)SDP 實(shí)例
Extending SDP
Multiple ‘m’ lines
Changing Session Parameters
SDP Example - Put a call on Hold
SDP Example - Call Hold Trace
Call Hold – Old and New Methods
Music on Hold example
INVITE and reINVITE
SIP Mobility
SIP Mobility
SIP Call Forking - Parallel
SIP Call Forking - Sequential
Call legs, dialogs and Call IDs
Dialog trace example
Dialogs and Transactions
Branch Ids
Call Forward to Voicemail
Call Forward - No Answer
Replaces header
Diversion headers
More on Proxies and SIP Routing
Stateless Proxy
Stateful Proxy
More Proxy information
VIA and Record Route
VIA Details
Record-Route Defined
Record Route Example
Loose and Strict Routing
Session Policies
MIME
MIME
Multiple MIME parts
SIP and the PSTN
SIP and the PSTN
SIP to PSTN Detail
SIP to PSTN Call Flow
SIP Codes and the PSTN
SIP and B2BUA
B2BUA - Back to Back User Agent
B2BUA Example
B2BUA Benefits and Features
SIP ‘Call Process’ Summary
The Call Process
Wireshark
What is Wireshark?
Download Wireshark
Wireshark
Introduction
Menus, Screens and Views
Capturing traffic
Profiles
Display Filters
Capture Filters
SIP Packet Analysis
SIP ladders and Audio Playback
Other Menu options
SIP INVITE Analysis
Follow a UDP Stream
Frame Relationships
Colouring Rules
RTP Streams
View Captures in the ‘Cloud’
What are the codes?
SIP-T and the PSTN
SIP to PSTN Overview
SIP to PSTN Call Flow
SIP to PSTN Detail
PSTN to SIP Call Flow
SIP to PSTN Call Failure
SIP to PSTN Call trace
Early Media
Early Media - SIP to PSTN Call
Early Offer and Delayed Offer
Early Offer / Delayed Offer
Gateways
Default Gateway?
Gateway Location and Routing with TRIP
TRIP Examples
SIP-T and PSTN Bridging
SIP-T and SIP-I
SS7, ISDN and SIP
ISUP and SIP Messages
ISDN User Part (ISUP) to SIP Codes
PSTN to PSTN via SIP
ISUP Encapsulation
ISUP Encapsulation / SDP
Addressing Notes
SIP and DTMF
DTMF - Quick Re-Cap
What is DTMF?
DTMF Transport methods
DTMF ‘Inband’
RFC 2833 ‘Trace’ example
RFC 4733 replaces 2833
RFC 4734
SIP INFO 6086
RFC 2833 ‘Trace’ example
SIP INFO ‘Trace’ example
What is VoIP or Voice over IP?
What is VoIP?
What is Voice over IP?
VoIP – ‘A Basic Call’
VoIP and TCP / UDP
VoIP over the Internet
Branch to Branch VoIP
Signaling paths
Speech paths
IP PBX
Voice Sampling and Codec
Encoding
Codecs for Voice
Try the Codec Test
High Definition (HD) Voice
Sound tests
Wideband (HD) codecs
Opus codec
Opus audio examples
Codec choices and MOS – Mean Opinion scores
Packet Rate / Packets per second
The Real Time Protocol or RTP
RTP Intro
RTP Encapsulation
RTP Header Trace
Real Time Control Protocol (RTCP)
RTCP-XR (Extended Reports)
RTP / RTCP and UDP Ports
Quality of Service
QoS described
QoS Issues
Measuring Delay
Jitter and Packet Loss
General VoIP Acceptance Criteria
QoS across all Networks
802.1Q – VLANs
802.1Q/P Tagging
802.1P - L2 Classification
TOS and DiffServe
Layer 3 Classification
DSCP with Assured forwarding (AF)
Bandwidth decisions
Link options – Symmetric DSL (SDSL)
Bandwidth (kbps) vs. Packet per Second (pps)
Network Behavior Analysis
Issues that can affect QoS
SIP trunking
SIP, SDP and VoIP
SIP in the TCP/IP Model
SIP and SDP Messages (e.g. Invite and 200OK)
SIP and SDP Codec mapping
Video over IP
What is Video over IP?
Streaming Voice and Video – 1 Way Transmission
Two-way Conferencing with RTP
Codec and Bandwidth Considerations
Video bitrate Calculator
Setting Video Codecs on Devices
Audio and Video in the SDP body
Assured SIP Services
Assured SIP intro
Service Provider Architecture
Proxy and Access Router functions
Resource-Priority
Video ‘example’
Reason Header for Pre-emption Events
More Proxy details
Multi-Level Pre-emption and Precedence (MLPP)
Authentication and Authorization
SIP Proxy Authentication
401 and 407 Authorization
SIP Authorization
PROXY Authentication
SSL with MD5 Cracked!
MD5 v SHA
Encryption
Why Encrypt SIP?
Certificates and HTTPS
Certificate Authorities
Certificate Example
Self-Signed Certificates
Format type
Securing SIP and VoIP
SSL and TLS
SIP and TLS
TLS Thoughts
TLS and SIP in Action
SIPS and SIP Addressing
Secure RTP (SRTP)
Setting SRTP on SIP Devices
Secure RTP (SRTP) - Example
SRTP and SRTCP
sdes and the Crypto attribute
Crypto attribute example
SRTP Call example ‘showing’ Crypto
SRTP with ZRTP
RFC 4474 for Caller Identity
Caller Identity
DTLS/SRTP
Ongoing developments for Identity
S/MIME and SIP
MIME and ISUP
SIP Trunking and Security
Enhancing SIP Trunk Security
Attacks and Responses
Types of Attack on a VoIP/SIP Network
Responses and Protection
Response Identity – A Problem!
Rogue SIP Proxy
Phishing and SIP exploit
More Examples RFC 4475
Try for yourself with ‘example’ software tools
NIST Recommendations
NIST Recommendations on securing VoIP
Overview
Issues to address
Firewalls
What does a Firewall do?
Are Firewalls effective?
NAT or Network Address Translation
What is NAT?
NAT Request
NAT Response
UDP Hole punching
Hairpinning
Multiple NATs
The NAT Problem
Types of NAT
Types of NAT
NAT – Full Cone
NAT – Restricted Cone
NAT – Port Restricted Cone
NAT – Symmetric
The NAPT or (PAT) Problem
Problems with NAT, Firewalls and SIP
解決辦法
STUN (Session Traversal Utilities for NAT)
STUN and rport
Problems with ‘Classic’ STUN
TURN (Traversal Using Relays around NAT)
STUN RFC 5389
Interactive Connectivity Establishment (ICE)
ICE ‘In Theory’
Candidate information and other ‘ICE stuff’.
ICE ‘In practice’
ICE tags
ICE-Lite and Trickle-ICE
ICE Client settings
More on ICE
Universal Plug and Play (UPnP)
‘Near end’ NAT
‘Far end’ NAT
GRUU (Globally Routable User Agent)
The RTP Problem
The Firewall Problem
Solving the RTP Problem
Symmetric RTP
Media Proxy
Application Level Gateway
SIP Aware Firewalls -呼入
SIP Aware Firewalls - 呼出
Session Border Controllers
SBC for the Enterprise and SBC for the ITSP
Recommended Session Border Controller features
SBCs in Action!
SBCs and message manipulation / normalization
SIP ‘Refer’ problems
SBC ‘Interop’ example
SBC Manufacturers - examples
From SIP to WebRTC (and back)
SIP Trunks
What is a SIP Trunk
Alternative to TDM
Separate Data and Voice connections
Converging the network
SIP Trunks and Codecs
SIP Trunk Benefits
SIP Trunking – In More Depth
SIP Trunk Capabilities
SIP Trunking Network Examples
SIP Peering
Peering problems?
Least Cost routing (LCR)
Disaster Recovery
Disaster Recovery ‘Expanded detail’
Disaster Recovery – Last resort?
Number Consolidation
Virtual Presences
Trunking Variations
Single Site, No ‘Forklift’
Single Site, TDM PBX
Single Site, Converged
Converged – SIP/IP PBX
Multiple Site, ‘Converged’
Multiple Site, ‘Converged’ + central SBC
Multiple Site, ‘Converged’ + Multiple SBCs
Media Gateways
SIP PBX to Non-SIP PBX
SIP PBX to Non-SIP PBX, Call Flow
SIP Trunk Performance
Connection types
The ADSL issue
Codecs, Voice and Data
Symmetric DSL (SDSL)
Bandwidth Calculator
Testing your link
ADSL Developments
Fibre Options
SIP Trunking, MPLS and SD-WAN
MPLS, basic explanation
MPLS Label format
MPLS in a MAC frame
MPLS example network
MPLS benefits
Your own private WAN
but ‘Not the only client’
Separate MPLS networks
VPLS explained
WAN Optimization, Hybrids and SD-WAN
Software Defined WANs explained
Security and SIP Trunking
SIP Trunk Security - Overview
Session Border Controllers
More on SBCs
The ‘corporate’ SBC
SIP REFER issues
Setting up a SIP Trunk
Add a VoIP Provider
Provider SIP Servers
Authentication
Add a Dialling Rule
Trunk setup complete
Call out Trace
Comparing SIP packets from two ITSP providers
Skype for Business and SIP trunks
‘Optional’ Lab exercises
Skype for Business ‘Network Environment’
Topology Builder
Control Panel
Management Shell and basic commands
Installing Skype for Business Client
Making Calls
Using Wireshark to monitor calls from a Skype network environment to the PSTN across a SIP
trunk
Some PBX Requirements
Enterprise PSTN Identities
P-Preferred and P-Asserted
Call Progress Tones
Troubleshooting and Interops
SIP Trunks and Common Problems
Choosing an ITSP
Understanding ITSP Offerings
'Sticking points’?
What you may need in the future
SIP trunk ‘connectivity’
Things to watch out for when connecting to your ITSP
‘Finding’ an ITSP
SIP trunking Checklist for ITSP evaluation
Working together
SIP trunk connectivity items ‘from the field’
Faxing Basics
Faxing background
T.30 Fax signaling
Associated tones and protocols
The ITU and TIA standards
Fax over IP
Fax over IP benefits
From the old to the new
Intro to FoIP
FoIP and SIP trunks
Protocol conversions
Fax Protocols
G.711 Pass-through
T.37 Store and Forward
T.38 Relay
Where does SIP fit in?
UDPTL
Protocol options for the future
FoIP in action
SIP in FoIP – Call Flow
SIP INVITE
INVITE for T.38
The INVITE SDP body
Wireshark FoIP example
SIP T.38 Call flows – IETF draft document
Bandwidth
T.38 and G.711 network traffic
Troubleshooting
The basics
More complex issues to watch out for
Ongoing Efforts
RFC 6913 and sip.fax tag
Use DTMF events instead?
Communication Breakdown
Playing Voicemail tag
Can’t find people
Available but not Available..!
More Examples of communication problems
IM Clients
IM Client Examples and Features
More in IM Clients
The Background Stuff
The IMPP working group
IMPP and CPP
More IMPP work
SIMPLE
How it all works
Presentity
A Basic SIP subscription
Multiple Presence States
Presence and P2P
A Presence Network
Getting inside the SIP packets
Presentity and more!
A Basic SIP Subscription
Multiple Presence States
Presence and P2P
A Presence Network
Get inside the SIP packets
The Packet Structure
PIDF Message Body
XML
Tuples
Example Presence doc with Tuples (using a Mobile Phone)
The METHODS in Action
PUBLISH
SUBSCRIBE
NOTIFY
MESSAGE
is-composing
Rich Presence
2 Places at the same time
‘Presence’ Federations
What is Federation?
Multiple Presence sources
Super-Aggregation
Inter-Domain Federation
Conferencing
What SIP does in Conferencing
INITIATE a conference
JOIN a conference
LEAVE / EXIT a conference
INVITE other participants
REFER conference server to invite or others to join
EXPEL participants
CONFIGURE the media stream
CONTROL a conference
Why SIP?
Centralized conferencing
Centralized Signaling
Centralized Mixing (optional)
Centralized Authentication
B2BUA (Discussed in core module)
Conference Components
The Focus
More than one Focus
Creating a Conference
Creating a Conference: Details
Adding a participant
Adding a participant: Details
Alternative INVITE with REFER
Unified Communications
What’s all the fuss?
Unified Confusion
What is Unified Communications?
From UC to UCaaS
Components involved
What should UC do?
21st Century Dial tone
The Unified inbox
Unified aware applications
Find me – Follow me
Device awareness
Unified Comms for Business
Humans and UC
Migrating to UCaaS
UCasS, SIP and the WAN
Hosted SIP
What Hosted SIP service is
Hosted functions and features
Example Network including ‘failover’
‘Hosted’ clients in action
Why Hosted – Benefits and things to consider
Why on-site PBX – Benefits and things to consider
Auto Provisioning
Auto Provisioning Example
Boot Server
Client Config
Client boot sequence
Client config download
RFC 6011
Benefits of Hosted SIP Service
Benefits of Onsite PBX and SIP trunks
SIP, LTE, the IMS and VoLTE
Network Overview
RAN, eNodeB, EPC, IP Core and 3GPP
4G, LTE, LTE Advanced, WiMAX2
The RAN and EPC
Default Bearer Setup
Introduction to the Servers and Functions in the IMS
CSCF
S-CSCF
P-CSCF
I-CSCF
Home Subscriber Server HSS
Application Server
TAS
PSCF
DNS and ENUM
Device Registration (with SIP)
SIP Registration packet example
SIP in the IMS – Call Flow explained
Introduction to VoLTE and the threat of OTT services
Making VoLTE work
SIP Preconditions in Action
With Codec examples within SDP
SIP Call flow for VoLTE
Quality settings ‘recap’
VoLTE media flow
More on VoLTE
The IMS
Layers architecture
Application
IMS / Session Control
Access and Transport
3GPP
Multiple access devices
RCS and OTT
Who provides IMS solutions?
IPX and Peering for Security, QoS and SLAs
GSMA and IR.92
HD Voice News
SIP and Fax over IP
G.711 Pass-through
T.37 Store and Forward
T.38 Relay
UDPTL
Protocol options for the future
FoIP in action
SIP in FoIP – Call Flow
SIP INVITE
INVITE for T.38
The INVITE SDP body
Wireshark FoIP example
SIP T.38 Call flows – IETF draft document
Bandwidth
T.38 and G.711 network traffic
Troubleshooting
The basics
More complex issues to watch out for
Ongoing Efforts
RFC 6913 and sip.fax tag
Use DTMF events instead