Part I: Introduction
Introduction
History and motivation
Types of VoIP and its evolution
SIP – main concepts
SIP standardization (RFC 3261 and other relevant standards)
Architecture
UA – User Agent
Predefined servers: Registrar, Location, Proxy and Redirect
Application servers
Identification and addressing
SIP trapezoid
Servers and their operation
Registration
SIP server in Proxy and Redirect modes
Stateless and stateful Proxy servers
Location server
SRV records and DNS
uri/url/urn, ENUM and NAPTR records
SIP signalling messages (including Instant Messaging & Presence – IMP extensions)
Message structure
Requests
Responses
Example of a call
Headers and parameters
IMP models
SDP (Session Description Protocol)
Description of media
Standard list of codecs
Session negotiation rules
Call flows – SIP signalling
SIP session – main RFC 3261 example
Sample call scenarios
Conferencing and IP PBX
Changing media during a session
Using IMP
Routing of SIP requests and responses
VIA header
ROUTE and RECORD-ROUTE headers
SIP-PSTN interworking
SIP-T and SIP-I
SIP early media and SIP trunking
SIP-PSTN signalling
SIP – security problems
Secure SIP, Secure RTP and Secure RTCP
Typical implementations of Secure SIP
Practical problems and perspectives
NAT and firewall traversal
QoS
SIP and SDP in 3GPP IMS architecture
Wrap-up and discussion
Part II: Hands on
SIP in LAN environment: XLite SIP UA + Asterisk
Creating Asterisk accounts with a simple dial plan
Configuration of XLite SIP UA (dtmf, codecs, nat, rtp, timer, register) and SIP phones (Polycom, Gigaset, Yealink, Linphone)
Registration, initiating and receiving calls
P2P calls with Linphone
Analyzing of SIP signalling using Wireshark
Configuration of a server
Registration of SIP signalling and RTP media streams
SIP packet analysis. Retrieval of a specific call
Voice quality problems. Jitter buffer. Retrieval of DTMF signalling (RFC 2833, INFO). Codec and DTMF troubleshooting (transcoding, GSM codec failure, DTMF tone duplication)
VoIP monitor
SDP, Instant Messaging and Presence (IM&P)
SDP parameters and attributes
SUBSCRIBE, PUBLISH and MESSAGE SIP methods
Practising IM&P with XLite and Linphone
SIP call flows
SIP Registration with DNS
SIP SRV record
SIP phone registration using DNS-SRV
Call Flows with DNS
Analysing SIP call signalling using Wireshark
Troubleshooting – DNS timeout, latency
SIP trunks
Establishing a test SIP trunk
Troubleshooting (DOS, DDOS, fraud, cps)
SIP security issues
SIP security with IPSec
Security with Secure SIP
IP telephony – risk of frauds
Preventing DDOS and other types of attacks
Launching SIP based VoIP services
Configuration of a switch
SIP client configuration and registration
Software
Asterisk PBX / Freeswitch softswitch / Cisco Call Manager
Linux CentOS
TDM2IP drivers
Softphones (XLite, Linphone)
Hardware
Server
TDM2IP card/gateway
Hardphone (Polycom, Gigaset, Yealink)
Softphone/Hardphone
Configuration
Codecs
User/Password/SIP Server/Proxy/Ports
Operation and signalling for:
3-Way Calling
Call Forwarding
Attendant Call Transfer
MWI, BLF
Yealink autoprovisioning
Vendor dependent constraints
SIP & Network Adress Translation (NAT) problems
Type and structure of NATs
STUN (Simple Traversal of UDP Through NATs)
Quality of VoIP calls – troubleshooting
Call connected – missing media
Key QoS factors
Delay, jitter, play buffer size
VoIP quality metrics
RTCP – delay and jitter
MOS according to ITU-T G.107 E-model
VoIP quality monitoring tools (Voipmonitor)
Cloud based IP telephony
Wrap up and addressing SIP and VoIP related issues submitted by participants |