Session Initiation Protocol: An Overview
Chaitanya T K,DataCom
Only those who dare to fall greatly can achieve
greatly
Robert Kennedy
Agenda: Telephony and VOIP basics Need for SIP? Welcome to SIP World Basic Operation and message formats Layering in SIP Types of proxies Detailed Handshakes Dialogs and routing Handling QOS Issues with SIP
Telephony and VOIP basics
Intro to VOIP:
Circuit Vs. Packet Switching:
Advantages of circuit switching: ---Fixed delays, because of the dedicated circuit-- Guaranteed continuous service, also because of the dedicated circuit
Disadvantages of circuit switching -- idle circuits are not used-- Difficult to support variable data rates and is not efficient for burst traffic
Advantages of Packet Switching
-- can provide variable data rates-- better for "bursty" traffic
Disadvantages of Packet Switching
-- Packets arriving in wrong order-- Variable delays
Welcome to the SIP world
Need for SIP?: What is a session? - Data Exchange between an association of participants
These data exchange is complicated since:
• Users can move• User can use Multiple names• Users can change the media A protocol that monitors and controls all these actions need to developed.
Functionalities provided by SIP:
User location: determination of the end system to be used for communication;
User availability: determination of the willingness of the called party to engage in communications;
User capabilities: determination of the media and media parameters to be used;
Session setup: "ringing", establishment of session parameters at both called and calling party;
Session management: including transfer and termination of sessions, modifying session parameters, and invoking services.
Key SIP Proxy Roles: Security: With admission control policy,SIP proxy enforces who may call whom,and eventually reports usage
Services: proxy servers can implement a variety of services: missed calls,forwarding, screening, etc.
Routing: Finding the right recipient of a call (gateway, voicemail, SIP-phone, foreign domain, etc.)
Transaction:
Dialogs:
Session:
Basic Steps in Operation of SIP:
Registration:
Registration request format:
INVITE Message Format:
Stateful versus Stateless Proxy Stateless mode:
– Usage: good for heavy-load scenarios -- works well for example if they act as application-layer load distributors.
– Behavior: proxies just receive messages, perform routing logic, send messages out and forget anything they knew
- Memory consumption is constant (which is key for some scenarios – transaction context takes up to 7k of memory!)
Stateful mode: Usage: good for implementing some services (e.g.,“forward on no reply”)
Behavior: proxies maintain state during entire transaction; they remember outgoing requests as well as incoming requests that generated them until transaction is over; they do not keep state during the whole call
Used for services such as accounting (for aggregating requests with responses and filtering retransmissions out), forking (for picking the ‘best’ answer), forwarding on some event (state helps to postpone decision making till an event such as ‘line busy’ occurs), etc.
Methods and Responses:
SIP Methods:
Dialogs and Routing-INVITE:
Dialogs and Routing-180:
Dialogs and Routing-200:
Dialogs and Routing-ACK:
Dialogs and Routing-BYE:
Dialogs and Routing-200:
Layers in SIP:
Layers in SIP: The structure of the SIP protocol, as outlined
in chapter 5 of RFC 3261: "The lowest layer is the transport layer. It defines how a client sends requests and receives responses and how a server receives requests and sends responses over the network. All SIP elements contain a transport layer.
The second layer is the transaction layer. A transaction is a request sent by a client transaction (using the transport layer) to a server transaction, along with all responses to that request sent from the server transaction back to the client. Any task that a user agent client (UAC) accomplishes takes place using a series of transactions. Stateless proxies do not contain a transaction layer.
The layer above the transaction layer is called the transaction user (TU). Each of the SIP entities, except the stateless proxy, is a transaction user."
Summary of Call setup Flow
Issues with SIP
Authentication of signaling data using
HTTP digest authentication
TLS usage (over TCP)
Usage of IPSec (SIP VPN Scenario)
Use SecureRTP for Media
Use S/MIME to enable mechanisms like
public key distribution,
authentication, integrity and
confidentiality of SIP signaling data
Security:
NAT with SIP:
SIP Vs. H.323
Judge a man by his questions rather than
his answers
Voltaire
Thank You -
Top Related