SIP( Session Initiation Protocol) - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

SIP( Session Initiation Protocol)

Description:

Title: 1 Author: mk Last modified by: realmk Created Date: 12/5/2005 10:59:11 AM Document presentation format: – PowerPoint PPT presentation

Number of Views:167
Avg rating:3.0/5.0
Slides: 45
Provided by: MK181
Category:

less

Transcript and Presenter's Notes

Title: SIP( Session Initiation Protocol)


1
SIP( Session Initiation Protocol)
  • 2006. 6. 8 (?)
  • ? ? ?
  • hufs96mk_at_hufs.ac.kr

2
Contents
  • SIP Introduction
  • History of SIP
  • SIP Overview
  • Generating the Request
  • Successful Session Establishment
  • Skype P2p Overlay Network

3
SIP Introduction
  • Why SIP?
  • SIP isnt simply voice
  • It supports services that provide Integrated
    Personal Communications Environments that include
    voice
  • SIP Session Initiation Protocol
  • Signaling protocol for initiating, modifying, and
    terminating interactive sessions
  • A session can be voice, video, data or any
    combination tied together by SIP
  • SIP enables any kind of communication everywhere
    at any time

4
History of SIP
  • IETF MMSUIC WG
  • ????? ????? ?? ??? ?? SIP ??
  • 1999? 3? RFC 2543?? ??
  • 1999? 9? SIP WG ??
  • IETF SIP WG
  • ??? ???? ???? ?? ? ?? ???? ????
  • 2002.06 RFC 3261 ? 2006.1 RFC 3853,RFC 4320
  • Real-time Applications and Infrastructure Area
    2006.1
  • Avt, ecript, emun, geopriv, ieprep, iptel,
    megaco, mmusic, sigtran, simple, sip, sipping,
    speechs, sepeermint, xcon
  • Top Issue
  • Skype? voip? ???? ??????, ?? ????? ??? ??

5
IETF WGs Related to SIP
  • SIPPING WG
  • Header or method? ?? ??? ????? ????.
  • SIMPLE WG
  • ??? ??? ??? ??
  • P2P SIP BOF
  • SKYPE? ???? ?? WG
  • SPEERMINT WG
  • ??? ??? ??
  • ENUM

6
SIP Overview
  • ?? ?? ?? ????
  • ????? ?? ??, ??, ??? ?? ??
  • ?? ?? ?? ????? ???
  • UDP, TCP, SCTP
  • Secure transport TLS over TCP, IPSec
  • HTTP ??
  • ??? ?? ????
  • URIs(Uniform Resource Indicators) ??
  • SIP-URI ?? siphufs96mk_at_hufs.ac.kr
  • Personal Mobility ??
  • ??? SIP ??, ?? ??(??)
  • ?? ???? ?? ??,??, ??, ?? ??
  • ??? ??(forking)?? ??
  • ??? ??? ?? ??
  • Voice, video, gaming, instant messaging,
    presence, call control, etc

7
Terminology Definitions
  • Call
  • Identified by a globally unique call-id
  • Created with sending INVITE
  • Dialog
  • Peer-to-peer relationship between two UAs
  • Call-ID, TO tag, FROM tag? ???? ??
  • Transaction
  • Client? Server?? Request? ?? Final Response? ??
    ???? ?? ?? ??
  • Call-ID, CSeq, To tag, From Tag? ???? ??

8
Loose Routing(1/2)
  • Strict routing was too strict. Service logic
    could not affect routing of the initial request
  • Strict routing conflates the request target with
    the next hop destination.
  • Strict route processing throws away the
    information in the received Request-URI
  • Behavior of UAs with default-outbound-proxies
    problematic.
  • Brittle system failure if any element misroutes.

INVITE BRoute C,D
INVITE CRoute D
INVITE D
C
A
B
D
9
Loose Routing(2/2)
  • Define Routing the right way
  • Keep request target and next route destination
    separate
  • Allow each route destination to determine when it
    has been reached
  • Then add mechanism to provide backwards-compatibil
    ity with strict routing SIP elements
  • Support for loose routing is indicated through an
    lr parameter

INVITE DRoute B,C
INVITE DRoute C
INVITE D
A
C
B
D
10
SIP Basic Flow
11
SIP Elements (1/2)
  • Proxy Server
  • UAC? UAS ???? SIP ??? ???? ???? ??
  • Example Outbound Proxy, Inbound Proxy
  • UA (User Agent)
  • UAC(User Agent Client)
  • SIP ?? ???? ???? ??? ????
  • SIP transaction? ????, ?? Transaction ???? ??
    UAC? ??
  • UAS(User Agent Server)
  • ??? SIP ?? ???? ???? ???? ???? ??? ????
  • ?? ??? ??, ??, ?????
  • Location Server (Registrar)
  • SIP? Personal Mobility ??? ???? ?? ??
  • Database of locations of SIP User Agents
  • Queried by Proxies in routing
  • Updated by User Agents by Registration
  • DNS Server
  • SRV(Service) Records used to located Inbound
    Proxy Servers

12
SIP Elements (2/2)
  • Redirect Server
  • ?? ???? ?? 3XX ??? ???? UAS
  • 3XX ??? ?? ????? ????? ???? ?? URIs ??
  • Back-to-Back User Agent(B2BUA)
  • ??? SIP ?? ???? ?? ?? ???? ???? ??? ????
  • ?? ??? ??? ?? ??? ?? UAC?? ??
  • Proxy ???? ??, ????? ???? ??

13
SIP Architecture
14
SIP Uniform Resource Indicators (URIs)
  • E-Mail ??? ?? user_at_domain
  • Two URI schemes
  • SIP URI
  • Sipsunok_at_etri.re.kr
  • Secure SIP URI
  • Sipssunok_at_etri.re.kr
  • RFC 3261?? ??? ??? ??
  • TLS over TCP
  • Two types of SIP URIs
  • Address of Record (AOR) (identifiers user)
  • sipsunok_at_etri.re.kr
  • etri.re.kr ???? SIP ??? ???? ?? DNS SRV record
    ??
  • Contact ( identifies a device, FQDN)
  • sipsunok_at_129.354.100.34 or sipsunok_at_pc233.etri.r
    e.kr
  • SIP URI Addressing Example
  • sipsunok_at_etri.re.kr3000transporttcp

15
Dialog(1/2)
  • Creation of a Dialog
  • Created through the generation of specific
    responses to INVITE request
  • Specific responses
  • 2XX response Dialog
  • 101199 response with a To tag Early Dialog
  • Dialog State (in UAC, UAS)
  • Example Media Session

16
Dialog State
17
SIP Message(1/2)
  • Request Message UAC ? UAS
  • Response Message UAC ? UAS

18
SIP Message(2/2)
  • Request Message
  • Response Message

19
SIP Response(1/3)
20
SIP Response(2/3)
21
SIP Response(3/3)
22
Generating the Request(1/9)
  • Mandatory Header
  • From, To, CSeq, Call-ID, Max-Forwards, Via
  • Content-Length TCP ??? MUST, UDP??? SHOULD
  • UAC??? ??? ?? ??
  • Dialog ?? ??(Outside of a Dialog)
  • UAC?? ????? ??
  • Dialog ?? ??(Within a Dialog)
  • ???? ?? Dialog ?? ????? ???? ??? ??
  • From
  • Request ??? ??? SIP-URI
  • Tag Parameter
  • ??? ????? ??, tag? ???? ??
  • Globally unique value 32bit ???
  • To
  • Request ??? ??? SIP-URI
  • Tag Parameter
  • Outside of a dialog ????? ??
  • Within a Dialog
  • ???? ?? Dialog ?? ?? ???? ??

23
Generating the Request(2/9)
  • CSeq
  • Sequence number, Method
  • 32bit unsigned integer
  • Dialog ?? Transaction? ?? ? ??? ??? ? ??
  • Outside of a Dialog
  • 231?? ?? ? ??? ??? ?? (non-REGISTER Request)
  • Within a Dialog
  • MUST be incremented by one
  • ???? ???? ?? ? ??
  • UAS? Dialog?? ??? Request? ?? ?? CSeq? ??
  • ?? ??? ?? ? ?? 4XX(Client Error) ?? ??
  • ?? 1 ?? ??? ???? ??
  • Call-ID
  • Globally unique identifier
  • NO Reuse
  • ??? ????? ??
  • ????? localid_at_host? ?? ??
  • Within a dialog
  • ???? ?? Call-ID ??? ??

24
Generating the Request(3/9)
  • MAX-Forwards
  • Value 70
  • If value is 0 before the request reaches its
    destination,
  • 483(Too Many Hops) error response
  • Proxy?? Max-Forwards ?? ??
  • Contact
  • INVITE/200(OK) ????? ??? ????? ?
  • ???? ?? ?? ??? ????? ???
  • SIP-URI? ???, ?? ?? ??? FQDN ??? SIP-URI
  • INVITE/200(OK) ??? ??? ???? Proxy ?? ?? ??
    Contact?? ??? ???? ?? ?? ??
  • Record-Route ??? ???? ?? ????? ?? ?? ??
  • Content-Type
  • Internet media type of Message Body
  • May be used multipart MIME type

25
Generating the Request(4/9)
  • Via
  • Request ???? ?? ??
  • ? Transaction? Response/Request ?? ?? ??
  • Branch parameter
  • Mandatory??, Magic cookie(z9hG4bk)? ????? ?
    (Must)
  • Branch Parameter ??? Request Processing? ??? ???
    ?? ???? ???? ???? ?
  • To tag, From tag, Call-ID, Request-URI, CSeq,
    Proxy-Require, Proxy-Authorization, Route ?
  • ??? Loop ??? ?? ???
  • Loop ?? ??
  • ??? ???? Via? ??? ??? ?? ?? ??
  • ??? branch param? ?? ?? ??? branch param? ? ??
  • ????, Loop
  • ??? ???, Sprial
  • Response ?? ?? ???(topmost) Via ?? ??
  • ??? Via ??? ?? ?? Via ?? ?? ?? ?? ??

26
Generating the Request(5/9)
  • Record-Route
  • Initial INVITE ???, Proxy ??? ???? ??
  • Initial INVITE ???, Dialog ?? ???? ???? ????
    ????? ? ??, Proxy ??? ???? ??
  • Proxy ??? ???, lr ???? ??(MUST)
  • UAC ?? ??
  • Initial INVITE? ?? Final response? 200 ??? ??? ??
  • Record-Route ??? ???? Route set ??(in reverse
    order)
  • UAS ?? ??
  • Initial INVTE? Record-Route??? Response? ??
  • Record-Route ??? ???? Route set ??(in order)
  • Content-Length
  • Body? ?? ??
  • Header? Body? ???? CRLF? ??? ?? ?? ??
  • 0??? ?? ??
  • Body? ?? ???? 0
  • Content-Length? ?? ???? ?? ???? ?
  • ?? ?? Body? ??? ?? ?? 400 Bad Request ?? ??
  • TCP ??? Mandatory

27
Generating the Request(6/9)
  • Request-URI, Route
  • Outside of Dialog
  • Initial Request-URI SHOULD be set value of To
    Header
  • Route Pre-existing route set
  • RECOMMAND Pre-existing route set? ???? Outband
    Proxy ??
  • Within a Dialog route set ??
  • Route set? Empty
  • Request_URI remote target URI (MUST)
  • Route Header empty(MUST)
  • Route set? not empty??, route set? first URI? lr
    ????? ????,
  • Request_URI remote target URI (MUST)
  • Route header route set( in order, including all
    parameters) (MUST)
  • Route set? not empty??, route set? first URI? lr
    ????? ???? ???,
  • Request_URI route set? first URI (Request_URI??
    ???? ?? ?? ?????? ??) (MUST)
  • Route header(MUST)
  • First URI? ??? ??? route set
  • Remote target URI? Route header? last value? ??

28
Generating the Request(7/9)
  • Request-URI, Route
  • Strict Routing Example

29
Generating the Request(8/9)
  • Request-URI, Route
  • SIP Loose Routing Example 1

30
Generating the Request(9/9)
  • Request-URI, Route
  • SIP Loose Routing Example 2

31
SIP Routing Mechanism(1/5)
32
SIP Routing Mechanism(2/5)
33
SIP Routing Mechanism(3/5)
34
SIP Routing Mechanism(4/5)
35
SIP Routing Mechanism(5/5)
36
Successful Session Establishment(1/5)
  • Alice completes a call to Bob directly

37
Successful Session Establishment(2/5)
38
Successful Session Establishment(3/5)
39
Successful Session Establishment(4/5)
40
Successful Session Establishment(5/5)
41
Call Setup Attempt Scenario Successful
42
?? ???? ?? ? ??
ltSession ??? ??gt
ltDB ??gt
43
Skype P2p Overlay Network
  • A peer-to-peer client developed by kaZaa in 2003
    in 2003
  • Skype can
  • Work almost seamlessly across NATS and firewalls
  • Has better voice quality than the MSN and Yahoo
    IM application
  • Encrypts calls end-to-end, and stores user
    information in a decentralized fashion

44
SIP? ?? Peer-to-Peer SIP
  • Two Layers
  • SIP layer call processing
  • P2P overlay layer location service
Write a Comment
User Comments (0)
About PowerShow.com