The Session Initiation Protocol: Internet

Download Report

Transcript The Session Initiation Protocol: Internet

The Session Initiation Protocol:
Internet-Centric Signaling
네트워크 연구실
류준우
Introduction (1)
• Initiates, modifies, and terminates
network sessions
• Focus on interactive multimedia
sessions (Internet phone calls or
multimedia conferences)
• Used for instant messaging, event
notification
or
managing
other
session type (ex. Distributed games)
Introduction (2)
• Peer-to-Peer signaling Protocol
• SIP URL : e-mail 과 비슷한 형태의
identifier를 이용하여 사용자를 식별
• Personal mobility
같은 id로 다른 위치나 다른 단말에서
사용이 가능
Components (1)
• UAC (User Agent Client)
- 요청 Msg로 SIP transaction을 함
- 요청 Msg의 존속 기간동안 UAC로 동
작
• UAS (User Agent Server)
- SIP 요청 Msg에 응답
- 요청 메시지의 수용, 거절, 리다이렉
트를 처리함
Components (2)
• Registrars
- domain내의 user 정보를 주고 받는다.
- Register 요청 메시지를 수용하는 서버
• Proxy Server
- application-layer에서 SIP request, response
를 forwarding 함
• Redirect Server
- request를 받아서 다른 주소나 서버로 넘겨준
다.
• Registrars, Proxy Server, Redirect Server는 같
은 Program에서 구현 가능하다.
Protocol architecture
H.323
SIP
RTSP
RSVP
RTCP
RTP
TCP
UDP
IPv4, IPv6
PPP
SONET
AAL3/4
AAL5
ATM
PPP
Ethernet
V.34
Signaling
• SPI request URI 는 email 주소와 비슷
하게 생겼다.
user name + host name + parameters
• Signaling Msg는 다른 미디어 전송과
전혀 다른 path로 전송된다.
• SIP Msg는 transfer protocol에
independent 하게 동작한다.
Describing & Changing Session
• SIP use SDP to describe multimedia
sessions.
• SDP expressed in a simple textual
format
SIP Message Format
• SIP의 Msg format 은 HTTP처럼 plain
text로 되어 있다.
• Request Msg. 와 Response Msg로 볼
수 있다.
• Request Msg.
UAC -> UAS
• Response Msg.
UAC <- UAS
SIP Messages
Request Messages
Response Messages
Forking
• SIP differs from other signaling
protocols in that it allows a call
request to fork
• Automatic call distribution (ACD)
ex) same number can ring at home
and at work.
Reliability
• SIP Msg can be transmitted over
unreliable transport protocols
• SIP has to take care of reliability on
its own.
• INVITE Msg
응답이 올 때까지 Client는 재전송하고
ACK때 까지 서버는 Responses 재전송
• Response 가 올때까지 Request 재전송
Locating Users
• Location User는 User Registration 을
통해서 location mapping 을 만드는 것
이다.
• User agents 주기적으로 SIP
REGISTER request을 사용해 Local
registrar server에 등록 한다.
Session Characteristics
• Overall session
caller’s name, address, organization
callee’s name, address
session’s urgency and subject
• Media session
acceptable media format
Security
• Need to be secured against
eavesdropping and alteration.
• SIP inherits the basic and digest
authentication mechanisms from
HTTP.
• Currently, public key cryptography
using the PGP format has been
defined
Security
• Confidentiality
- End-to-end encryption
Shared secret 또는 Public key
- Hop-by-hop encryption
기존의 security mechanism (TLS/IPSec)
• Authentication
- HTTP authentication mechanism 사용
(RFC2617)
- TLS/IPSec 인증 기능 사용
Integration with Other
Internet Services
• SIP addresses are regular URLs and can
be embedded in Web pages, e-mail, and
any other context where URLs are allowed.
• The message body of requests and
responses uses the MIME mechanism
familiar from e-mail.
• SIP messages can thus carry any binary or
text object, with servers treating the
message body as opaque data.
Telephony Service
• 많은 부가 기능을 가질 수 있는 서비스
가 전통적인 Telephony Service의 기준
이상으로 SIP에서 제공할 수 있다.
• 특정 서비스 제공을 위한 요소를 첨가하
기 보단 새로 만들어질 많은 서비스를
제공할 수 있는 기본적인 요소를 제공하
는 방향을 제시
Multiparty Sessions
• Full mesh
sends an individual copy of the media
stream to the others.
• Mixer
several media streams and replicates them
to all participants.
• Network-layer multicast
most efficiently supported by networklayer multicast
Expression Caller Preference
• many of their communications tools
and location under a single public
identifier.
Quality of Service
• SIP messages and data streams are
likely to traverse very different parts
of the network
• SIP를 set-up resource reservations 에
사용하는건 부적합하다.
• Can used to negotiate the use of QoS
mechanisms
Mobility
• One of the central tasks
• SIP is to locate one or more IP
addresses where a user can receive
media streams, given only a generic,
locationindependent address
identifying a domain.
• makes it easy to offer precall terminal
mobility
SIP and MGCP/Megaco
• MGCP는 Media Gateway와 이를 제어
하기 위한 Media Gateway Controller
간에 사용하는 프로토콜입니다
Programming SIP Services
• telephony services have been either hardcoded into switches
• SIP-based telephony there are at least four
choices to create SIP-based services.
(language-based APIs, create dedicated
languages, SIP servlet is a pice of JAVA
code , includesjava applets)
The Applicability of SIP
• There are many functions SIP
explicitly does not provide
• not a session management or
conference control protocol.
• as media transport, voting and polling,
virtual microphone passing, chair
election, floor control, and feedback
on session
Related work
• Telephony signaling protocols
channel-associated signaling
-> out-of-band signaling.
• ISUP to set up connections between IP
endpoints
• SIP is related to messaging mechanisms
such as Internet e-mail.
• The ICEBERG project also considers setup
of large-scale sessions using multicast,
while Elliott discusses session membership
propagation.