45
1 SIP SIP 기기 기기 기 기기 기기 기기 기 기기 기기기기기기기기기 기기기기기기기기기 기기기기기기 기기기기기기 기 기 기 기

SIP 기술 개요 및 현황

  • Upload
    ziazan

  • View
    151

  • Download
    0

Embed Size (px)

DESCRIPTION

SIP 기술 개요 및 현황. 한국전자통신연구원 표준연구센터 현 욱. SIP Overview. 응용 계층 시그널링 프로토콜 멀티미디어 세션 설정 , 수정 , 종료를 위해 사용 하위 계층 전송 프로토콜과 독립적 UDP, TCP, SCTP Secure transport: TLS over TCP, IPSec HTTP 기반 텍스트 기반 프로토콜 URIs (Uniform Resource Indicators) 사용 SIP-URI 사용  sip:[email protected] - PowerPoint PPT Presentation

Citation preview

Page 1: SIP  기술 개요 및 현황

1

SIP SIP 기술 개요 및 현황기술 개요 및 현황

한국전자통신연구원한국전자통신연구원표준연구센터표준연구센터

현 욱현 욱

Page 2: SIP  기술 개요 및 현황

2

SIP Overview

응용 계층 시그널링 프로토콜

멀티미디어 세션 설정 , 수정 , 종료를 위해 사용

하위 계층 전송 프로토콜과 독립적– UDP, TCP, SCTP– Secure transport: TLS over TCP, IPSec

HTTP 기반– 텍스트 기반 프로토콜– URIs (Uniform Resource Indicators) 사용

• SIP-URI 사용 sip:[email protected]

Personal Mobility 제공 – 동일한 SIP 주소 , 다른 위치 ( 단말 )– 현재 사용자의 위치 등록 , 수정 , 삭제 , 검색 기능– 메시지 포킹 (forking) 기능 제공

다양한 응용에 활용 가능– Voice, video, gaming, instant messaging, presence, call control, etc.

Page 3: SIP  기술 개요 및 현황

3

SIP Timeline

1996– Mark Handley’s SIP(Session Invitation Protocol) – Henning Schulzrinne’s SCIP(Simple Conference Control Protocol)

1999.3 : IETF MMUSIC WG 에 의해 RFC 2543RFC 2543 제정 1999.9 : IETF SIP WG 설립 2000~2002 : RFC 2543bis-01 ~ bis-09

– 2000.6 : RFC 2543bis-01•••

– 2001.3 : RFC 2543bis-03•••

– 2002.2 : RFC 2543bis-09 2002.7 : RFC 3261RFC 3261 표준 제정

Page 4: SIP  기술 개요 및 현황

4

SIP Timeline

2000.12 : SIMPLE WG– SIP-based IMPP

2001.3 : SIP WG 과 SIPPING WG 으로 분리– SIPPING: SIP Proposal Investigation

2003.7 : XCON WG– Centralized Multimedia Conferencing

Page 5: SIP  기술 개요 및 현황

5

SIP related WGs

MMUSIC WGMMUSIC WG- SDP Extensions

- SDPng

SIP WGSIP WG- SIP Core Spec. Maintenance

- SIP Protocol Extensions

SIPPING WGSIPPING WG- SIP Requirements

- Specific SIP Application Services

SIMPLE WGSIMPLE WG- SIP for Presence and

Instant Messaging

Page 6: SIP  기술 개요 및 현황

6

SIP related WGs

MMUSIC WGMMUSIC WG

SIP WGSIP WG

SIPPPING WGSIPPPING WG

SIMPLE WGSIMPLE WG

1999.9

2001.3

2000.12

Page 7: SIP  기술 개요 및 현황

7

RFCs related to SIP

Base spec– RFC 3261 : SIP : Session Initiation Protocol– RFC 3263 : Locating SIP Servers– RFC 3264 : An Offer/Answer Model with SDP

Extended Features– RFC 2976 : The SIP INFO Method – RFC 3262 : Reliability of Provisional Responses in SIP – RFC 3265 : SIP-Specific Event Notification– RFC 3311 : The Session Initiation Protocol UPDATE Method– RFC 3315 : The Session Initiation Protocol (SIP) Refer Method – RFC 3326 : The Reason Header Field for the Session Initiation Protocol (SIP) – RFC 3327 : Session Initiation Protocol Extension for – Registering Non-Adjacent Contacts – RFC 3428 : Session Initiation Protocol Extension for Instant Messaging

Page 8: SIP  기술 개요 및 현황

8

SIP Signaling Flow

AA BB

INVITE

OK

RingingCreate MS, dialog

Prepare MS; Early dialog

Terminate MS

Establish MS, dialog

ACK

BYE

OK

Destroy dialog

Terminate MS;Destroy dialog

MS in progress

MS in progressMedia Streams

Page 9: SIP  기술 개요 및 현황

9

SIP Redirect Model

SIP Client (UAC:User Agent Client)

SIP RedirectServer

SIP Client(User Agent Server)

Request

Response

LocationServer

INVITE

302 Moved

ACKINVITE

Page 10: SIP  기술 개요 및 현황

10

SIP Proxy Model(1/2)

SIP Client (UAC:User Agent Client)

SIP ProxyServer

SIP Client(User Agent Server)

Request

Response

LocationServer

INVITE

100 Trying

ACK

INVITE

Page 11: SIP  기술 개요 및 현황

11

SIP Proxy Model (2/2)

SIP Client (UAC:User Agent Client)

SIP ProxyServer

SIP Client(User Agent Server)

Request

Response

LocationServer

INVITE

100 Trying

ACK

INVITE…

SIP Client(User Agent Server)

INVITE

Forking

Page 12: SIP  기술 개요 및 현황

12

SIP Components

UAC (User Agent Client)– SIP 요청 메시지를 생성하는 논리적 구성요소– SIP transaction 을 개시하며 , 해당 transaction 존속기간 동안

UAC 로 동작 UAS (User Agent Server)

– 수신한 SIP 요청 메시지에 대한 응답 메시지를 생성하는 논리적 구성요소

– 요청 메시지 수용 , 거절 , Redirect

UA (User Agent) = UAC + UAS Registrar

– REGISTER 메시지를 통해 사용자가 등록시킨 사용자 접속주소 저장– 특정 사용자로의 접속주소에 대한 정보 제공

Page 13: SIP  기술 개요 및 현황

13

SIP Components

Proxy Server– UAC 와 UAS 사이에서 SIP 메시지 라우팅을 담당하는 서버– 메시지 처리를 위해 UAC, UAS 로써 동작하며 , 경우에 따라 수신

메시지 수정– Stateful Proxy/Stateless Proxy

Redirect Server– 요청 메시지에 대한 3xx 응답을 생성하는 UAS– 3xx 응답을 통해 클라이언트 접속주소를 가리키는 대체 URIs

전송

Page 14: SIP  기술 개요 및 현황

14

SIP Messages

Response Messages

(STATUS CODE)• 1xx :

Informational• 2xx : Success• 3xx : Redirection• 4xx : Client Error• 5xx : Server

Error• 6xx : Global Error

Request Messages

(METHODS)• INVITE• ACK• BYE• CANCEL• REGISTER• OPTION

Page 15: SIP  기술 개요 및 현황

15

SIP Request Messages

Method 기 능

INVITE 콜 개시 , 콜 수정

ACK INVITE 요청에 대해 서버가 응답하는 최종 응답 메시지 확인

BYE 콜 종료

CANCEL 사용자 탐색이나 사용자에게 알리는 (ringing) 과정을 중단시킴으로써 개시한 콜 취소

OPTIONS UA 나 Proxy 의 능력 (capability) 요구

REGISTER 사용자의 현재 위치 등록 , 검색 , 삭제 , 수정

Page 16: SIP  기술 개요 및 현황

16

SIP Message Syntax : Request

INVITE sip:[email protected] SIP/2.0INVITE sip:[email protected] SIP/2.0

To: Bob <sip:[email protected]>To: Bob <sip:[email protected]>From: sip:[email protected];From: sip:[email protected];tag=4711Subject : Congratulations!Subject : Congratulations!Content-Length : 177Content-Length : 177Content-Type : application/sdpContent-Type : application/sdpCall-ID : [email protected] : [email protected] : 1 INVITECSeq : 1 INVITEMax-Forward : 70Max-Forward : 70Contact : sip:[email protected]:5066;transport=udpContact : sip:[email protected]:5066;transport=udpVia: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776as Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776as

v=0v=0o=alice 2345566342 2346553445 IN IP4 pc33.atlanta.como=alice 2345566342 2346553445 IN IP4 pc33.atlanta.coms=s=c=IN IP4 c=IN IP4 pc33.atlanta.compc33.atlanta.comt=0 0t=0 0m=audio m=audio 491749170 RTP/AVP 00 RTP/AVP 0a=rtpmap:0 a=rtpmap:0 PCMU/8000PCMU/8000

Start lineStart line

Message Message headersheaders

Message Message

bodybody(SDP content)(SDP content)

Page 17: SIP  기술 개요 및 현황

17

SIP Response Messages

상태코드 기 능

1xx (Informational) 요청 메시지를 수신하여 요청 메시지 처리가 계속되고 있음을 알림 .

2xx (Success)

그 동작이 성공적으로 수신되고 , 이해되어 수용되었음을 알림 .

3xx (Redirection)

요청 메시지를 완성하기 위해 취할 동작이 더 있음을 알림 .

4xx (Client Error)

요청 메시지에 에러가 포함되어 있거나 해당 서버에서 처리할 수 없음을 알림 .

5xx (Server Error)

요청 메시지는 유효하나 서버가 수행할 수 없음을 알림 .

6xx (Global Error)

요청 메시지가 어떤 다른 서버에서도 수행할 수 없음을 알림 .

Page 18: SIP  기술 개요 및 현황

18

SIP Response(1/3)

100 Trying 180 Ringing 181 Call Is Being

Forwarded 182 Queued 183 Session Progress 200 OK

300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 305 Use Proxy 380 Alternative Service

Page 19: SIP  기술 개요 및 현황

19

SIP Response(2/3)

414 Request-URI Too Long 415 Unsupported Media

Type 416 Unsupported URI

Scheme 420 Bad Extension 421 Extension Required 423 Interval Too Brief 480 Temporarily

Unavailable 481 Call/Transaction Does

Not Exist 482 Loop Detected 483 Too Many Hops 484 Address Incomplete

400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication

Required 408 Request Timeout 410 Gone 413 Request Entity Too

Large

Page 20: SIP  기술 개요 및 현황

20

SIP Response(3/3)

485 Ambiguous 486 Busy Here 487 Request Terminated 488 Not Acceptable Here 491 Request Pending 493 Undecipherable 500 Server Internal Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Server Time-out

505 Version Not Supported .

513 Message Too Large 600 Busy Everywhere 603 Decline 604 Does Not Exist

Anywhere 606 Not Acceptable

Page 21: SIP  기술 개요 및 현황

21

SIP Message Syntax : Response

SIP/2.0 200 OKSIP/2.0 200 OK

To: Bob <sip:[email protected]>;tag=428From: sip:[email protected];tag=4711Subject : Congratulations!Content-Length : 121Content-Type : application/sdpCall-ID : [email protected] : 1 INVITEMax-Forward : 70Contact : sip:[email protected]: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776as

v=0v=0o=bob 2890844526 2890844526 IN IP4 192.0.2.4o=bob 2890844526 2890844526 IN IP4 192.0.2.4s=s=c=IN IP4 c=IN IP4 192.0.2.4192.0.2.4t=0 0t=0 0m=audio m=audio 50005000 RTP/AVP 0 RTP/AVP 0a=rtpmap:0 a=rtpmap:0 PCMU/8000PCMU/8000

Start lineStart line

Message Message headersheaders

Message Message

bodybody(SDP content)(SDP content)

Page 22: SIP  기술 개요 및 현황

22

SIP Headers(1/2)

Accept Accept-Encoding Accept-Language Alert-Info Allow Authentication-Info Authorization Call-ID Call-Info Contact Content-Disposition Content-Encoding Content-Language Content-Length Content-Type CSeq

Date Error-Info Expires From In-Reply-To Max-Forwards Min-Expires MIME-Version Organization Priority Proxy-Authenticate Proxy-Authorization Proxy-Require Record-Route

Page 23: SIP  기술 개요 및 현황

23

SIP Headers(2/2)

Reply-To Require Retry-After Route Server Subject Supported Timestamp To Unsupported User-Agent Via Warning WWW-Authenticate

Page 24: SIP  기술 개요 및 현황

24

SIP - Extensions

Basic SIP Specifications– RFC 3261 : SIP (Session Initiation Protocol)– RFC 3263 : Locating SIP Servers– RFC 3264 : An Offer/Answer Model with the SDP

SIP Extensions– METHOD Extensions– HEADER Extensions– Security and Privacy Support

SIP WG Activities(2004.8)– RFC: 23, Internet Drafts : 22

SIPPING WG Activities(2004.8)– RFC: 12, Internet Drafts : 31

Page 25: SIP  기술 개요 및 현황

25

SDP

Session Description Protocol (RFC2327)– IETF MMUSIC(Multiparty Multimedia Session Control) WG– Purpose

• On the Mbone, to describe session information of multimedia conference

SDP Information – Session Description– Time Description– Media Description

Page 26: SIP  기술 개요 및 현황

26

SDP Format

Session Description

v = (protocol version) //SDP version (v=0)o = (owner/creator and session identifier).s = (session name)i = * (session information)u =* (URI of description)e =* (email address)p =* (phone number)c =* (connection information - not required if included in all media)b =* (bandwidth information)z =* (time zone adjustments)k =* (encryption key)a =* (zero or more session attribute lines) (*) Optional Fields

Page 27: SIP  기술 개요 및 현황

27

SDP Format

Time Description

t = (time the session is active)r =* (zero or more repeat times)

Media Description

m = (media name and transport address)i =* (media title)c =* (connection information - optional if included at session-level)b =* (bandwidth information)k =* (encryption key)a =* (zero or more media attribute lines)

. . .

Page 28: SIP  기술 개요 및 현황

28

SIP Functional Layers

Session creation

Application-specific processing

Transaction handling

Request retransmission

Send/receive SIP message

Message parsing

Hook on/off Ringing

Syntax & Encoding

Transport Layer

Transaction Layer

Transaction User

User

UDP TCP SCTP

TLSTransport Protocol

Page 29: SIP  기술 개요 및 현황

29

SIP Definitions

Call– A call is an informal term that refers to some communication between p

eers, generally set up for the purposes of a multimedia conversation – 각 Call 들은 Call-ID 헤더로 구분

Dialog– A dialog is a peer-to-peer SIP relationship between two UAs that persists

for some time. A dialog is established by SIP messages, such as a 2xx response to an INVITE request. A dialog is identified by a call identifier, local tag, and a remote tag.

– 각 Dialog 들은 Call-ID, From, To 로 구분 Transaction

– A SIP transaction occurs between a client and a server and comprises all messages from the first request sent from the client to the server up to a final (non-1xx) response sent from the server to the client.

– 각 Transaction 들은 Call-ID, From, To, CSeq 로 구분

Page 30: SIP  기술 개요 및 현황

30

UAC Behavior

Generating the Request Sending the Request Processing Responses

Page 31: SIP  기술 개요 및 현황

31

UAS Behavior

Method Inspection Header Inspection Content Processing

– Content-Type, Content-Language, Content-Encoding Applying Extensions Processing the Request

– INVITE, ACK, REGISTER, OPTIONS, BYE… Generating the Response

Page 32: SIP  기술 개요 및 현황

32

Registrar Behavior

Register/Update/Delete Authentication

– Challenge : WWW-Authenticate Header– Credential : Authorization Header

REGISTER sips:ss2.biloxi.example.com SIP/2.0Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7Max-Forwards: 70From: Bob <sips:[email protected]>;tag=a73kszlflTo: Bob <sips:[email protected]>Call-ID: [email protected]: 1 REGISTERContact: <sips:[email protected]>Content-Length: 0

401 Unauthorized F2

REGISTER F1

200 OK F4

REGISTER F3

Bob SIP Server

Page 33: SIP  기술 개요 및 현황

33

SIP Proxy

Call Stateful Proxy – 콜이 종료될 때까지 관련 정보들을 유지– 콜의 시작시점과 종료 시점 등에 대한 정보를 알 수 있어

과금등이 용이– Forking 가능

Transaction Stateful Proxy– 트랜잭션 단위로 관련 정보 유지– Forking 가능

Stateless Proxy– 콜에 관련된 어떠한 정보도 유지 하지 않음– Request 는 Location Server 내에 유지된 주소로 전달– Response 는 Via 헤더내 명기된 주소로 전달– 빠른 처리 속도– Provisional Response 제공하지 않음 .

Page 34: SIP  기술 개요 및 현황

34

Proxy Behavior

Request Processing– Preprocessing Route Information– Determining Request Targets– Request Forwarding– Post-process routing information

Response Processing– Find the appropriate response context– Update timer C for provisional response– Remove the topmost Via– Add the response to the response context– Check to see if this response should be forwarded immediately– When necessary, choose the best final response from the response cont

ext– Aggregate authorization header field values if necessary– Optionally rewrite Record-Route header field calues– Forward the response– Generate any necessary CANCEL requests

Page 35: SIP  기술 개요 및 현황

35

SIP Vision

VoIP (Voice/Video over IP)– H.323, MEGACO 등과 함께 시장을 share– SIP 의 영역이 계속 확장 중– 컨퍼런스

IMPP (Instance Messaging & Presence Protocol)– SIP 기반 인스턴스 메신저

홈 네트워킹 3GPP/3GPP2

– 3GPP/3GPP2 의 기본 시그널링 프로토콜로 채택 ITU-T NGN (Next Generation Network)

– NGN 의 기본시그널링 프로토콜로 채택 OMA (Open Mobile Alliance)

– SIP 기반 PTT 서비스

Page 36: SIP  기술 개요 및 현황

36

More to go…

NAT 및 방화벽– 여러 방법들이 제시되고 있으나 아직까지 완벽한 솔루션은 제공되지

못하고 있음 .– UPnP/TURN/STUN/MIDCOM/ICE

보안– 시그널링 보안 : S/MIME, TLS– 미디어 보안 : SRTP

SPAM 긴급통신 Lawful Interception DTMF

– In-band– Out-band

Page 37: SIP  기술 개요 및 현황

37

Examples & misc.

Page 38: SIP  기술 개요 및 현황

38

SIP Registration

Page 39: SIP  기술 개요 및 현황

39

SIP 기반 음성 통화

Page 40: SIP  기술 개요 및 현황

40

SIP 기반 음성 통화

Page 41: SIP  기술 개요 및 현황

41

IP-PSTN 통화

Page 42: SIP  기술 개요 및 현황

42

상호운용성 시험

국내 Bake-off : ‘01.10. ’01.11. ION 2001 : ‘01.11.25~26 IMTC/ETSI/TTC Winter Interop! : ‘01.12.3~7, 고베 (

일본 ) 10th SiPit (SIP Interoperability Testing) : ‘02.4.22 ~ 26,

깐느 ( 프랑스 )

ION 2003 : ‘03.1.13~17, TTA 12th SiPit : ‘03.2.24~28, 스톡홀름 ( 스웨덴 ) 15th SIPit : ’04.08.22~27, 타이페이 ( 대만 ) ION 2004 : ‘04.9.13~17, TTA

Page 43: SIP  기술 개요 및 현황

43

10th SIPit (Cannes, France)

Page 44: SIP  기술 개요 및 현황

44

12th SIPit (Stockholm, Sweden)

Page 45: SIP  기술 개요 및 현황

45

Q & A