• 沒有找到結果。

A powerful alternative to H.323

N/A
N/A
Protected

Academic year: 2022

Share "A powerful alternative to H.323"

Copied!
32
0
0

加載中.... (立即查看全文)

全文

(1)

Session Initiation Protocol (SIP)

Chapter 5

(2)

Introduction

„

A powerful alternative to H.323

„

More flexible, simpler

„

Easier to implement

„

Advanced features

„

Better suited to the support of intelligent user devices

„

A part of IETF multimedia data and control architecture

„

SDP, RTSP (Real-Time Streaming Protocol),

SAP (Session Announcement Protocol)

(3)

The Popularity of SIP

„

Originally Developed in the MMUSIC (Multiparty Multimedia Session Control)

„ A separate SIP working group

„ RFC 2543

„ Many developers

„ The latest version: RFC 3261

„

SIP + MGCP/MEGACO

„ The VoIP signaling in the future

„

“bake-off”

„ Various vendors come together and test their products against each other

„ to ensure that they have implemented the specification correctly to ensure compatibility with other implementations

(4)

SIP Architecture

„

A signaling protocol

„

The setup, modification, and tear-down of multimedia sessions

„

SIP + SDP

„

Describe the session characteristics

„

Separate signaling and media streams

(5)

SIP Network Entities [1/4]

„

Clients

„

User agent clients

„

Application programs sending SIP requests

„

Servers

„

Responds to clients’ requests

„

Clients and servers may be in the same platform

„

Proxy

„

Acts as both clients and servers

(6)

SIP Network Entities [2/4]

„

Four types of servers

„

Proxy servers

„ Handle requests or forward requests to other servers

„ Can be used for call forwarding, time-of-day routing, or follow-me services

(7)

SIP Network Entities [3/4]

„

Redirect servers

„ Map the destination address to zero or more new addresses

(8)

SIP Network Entities [4/4]

„

A user agent server

„ Accepts SIP requests and contacts the user

„ The user responds → an SIP response

„ A SIP device

„ E.g., a SIP-enabled telephone

„

A registrar

„ Accepts SIP REGISTER requests

„ Indicating that the user is at a particular address

„ Personal mobility

„ Typically combined with a proxy or redirect server

(9)

SIP Call Establishment

„

It is simple, which contains a number of interim

responses.

(10)

SIP Advantages

„

Attempt to keep the signaling as simple as possible

„

Offer a great deal of flexibility

„ Does not care what type of media is to be exchanged during a session or the type of transport to be used for the media

„

Various pieces of information can be included within the messages

„ Including non-standard information

„ Enable the users to make intelligent decisions

„ The control of the intelligent features is placed in the hands of the customer, not the network operator.

„ E.g., SUBJECT header

(11)

Call Completion to Busy Subscriber Service

(12)

Overview of SIP Messaging Syntax

„

Text-based

„

Similar to HTTP

„

Disadvantage – more bandwidth consumption

„

SIP messages

„

message = start-line

*message-header CRLF [message-body]

„

start-line = request-line | status-line

„

Request-line specifies the type of request

„

The response line indicates the success or

failure of a given request.

(13)

„

Message headers

„

Additional information of the request or response

„

E.g.,

„ The originator and recipient

„ Retry-after header

„ Subject header

„

Message body

„

Describe the type of session

„

The most common structure for the message body is SDP (Session Description Protocol).

„

Could include an ISDN User Part message

„

Examined only at the two ends

(14)

SIP Requests [1/2]

„

Method SP Request-URI SP SIP-version CRLF

„

Request-URI

„

The address of the destination

„

Methods

„

INVITE, ACK, OPTIONS, BYE, CANCLE, REGISTER

„

INVITE

„ Initiate a session

„ Information of the calling and called parties

„ The type of media

„ 〜IAM (initial address message) of ISUP ACK only when receiving the final response

(15)

SIP Requests [2/2]

„ BYE

„ Terminate a session

„ Can be issued by either the calling or called party

„ Options

„ Query a server as to its capabilities

„ A particular type of media

„ CANCEL

„ Terminate a pending request

„ E.g., an INVITE did not receive a final response

„ REGISTER

„ Log in and register the address with a SIP server

„ “all SIP servers” – multicast address (224.0.1.1750)

„ Can register with multiple servers

„ Can have several registrations with one server

(16)

“One number” service

(17)

SIP INFO Method

„

Specified in RFC 2976

„

For transferring information during an ongoing session

„

The transfer of DTMF digits

„

The transfer of account balance information

„

Pre-paid service

„

The transfer of mid-call signaling information

(18)

SIP Responses

„ SIP Version SP Status Code SP Reason-Phrase CRLF

„

Reason-Phrase

„ A textual description of the outcome

„ Could be presented to the user

„

status code

„ A three-digit number

„ 1XX Informational

„ 2XX Success (only code 200 is defined)

„ 3XX Redirection

„ 4XX Request Failure

„ 5XX Server Failure

„ 6XX Global Failure

(19)

SIP Addressing

„

SIP URLs (Uniform Resource Locators)

„

user@host

„

sip:collins@home.net

„

sip:3344556789@telco.net

(20)

Message Headers

„

Provide further information about the message

„

E.g.,

„

To:header in an INVITE

„ The called party

„

From:header

„ The calling party

„

Four main categories

„

General, Request, Response, and Entity headers

(21)

General Headers

„

Used in both requests and responses

„

Basic information

„ E.g., To:, From:, Call-ID: (uniquely identifies a specific invitation to a session), …

„

Contact:

„ Provides a URL for use in future communication regarding a particular session

„ Examples 1: In a SIP INVITE, the Contact header might be different from the From header.

„ An third-party administrator initiates a multiparty session.

„ Example 2: Used in response, it is useful for directing further requests directly to the called user.

„ Example 3: It is used to indicate a more appropriate

address if an INVITE issued to a given URI failed to reach the user.

(22)

„

Request Headers

„

Apply only to SIP requests

„

Addition information about the request or the client

„

E.g.,

„ Subject:

„ Priority:, urgency of the request (emergency, urgent, normal, or non-urgent)

„

Response Headers

„

Further information about the response that cannot be included in the status line

„

E.g.,

„ Unsupported

(23)

Entity Headers

„

Indicate the type and format of information included in the message body

„

Content-Length: the length of the message body

„

Content-Type: the media type of the message body

„

E.g., application/sdp

„

Content-Encoding: for message compression

„

Content Disposition: how a message part should be interpreted

„

session, alert …

(24)

Examples of SIP Message Sequences

„

Registration

„ Via:

„ From: and To:

„ Call-ID:

„ host-specific

„ Contact: (for future SIP message transmission)

„ *

„ Content-Length:

„ Zero, no msg body

„ CSeq:

„ A response to any request must use the same value of CSeq as used in the request.

„ Expires:

„ TTL

„ 0, unreg

(25)

Invitation

„

A two-party call

„ Subject:

„ optional

„ Content-Type:

„ application/sdp

„ A dialog ID

„ To identify a peer-to-peer relationship between two user agents

„ Tag in From

„ Tag in To

„ Call-ID

(26)

Termination of a Call

„

Cseq:

„ Has changed

(27)

Redirect Servers

„

An alternative address

„ 302, Moved temporarily

„

Another INVITE

„ Same Call-ID

„ CSeq ++

(28)

Proxy Servers

„

Sits between a user-agent client and the far-end user- agent server

„

Numerous proxies can reside in a chain between the caller and callee.

„

The last proxy may change the Request-URI.

„

Via:

„ The path taken by a request

„ Loop detected, 482 (status code)

„ For a response

„ The 1st Via: header

„ Checked

„ Removed

„ Branch: used to distinguish between multiple responses to the

(29)
(30)

Proxy state

„

Can be either stateless or stateful

„

Record-Route:

„ The messages and responses may not pass through the same proxy

„ Use Contact:

„ A Proxy might require that it remains in the signaling path

„ In particular, for a stateful proxy

„ Insert its address into the Record-Route: header

„ The response includes the Record-Route: header

„ The information contained in the Record-Route: header is used in the subsequent requests related to the same call.

„ The Route: header = the Record-Route: header in reverse order

(31)

Forking Proxy

„

“fork” requests

„

A user is registered at several locations

„ ;branch=xxx

„

In order to handle such forking, a proxy must be

stateful.

(32)

參考文獻

相關文件

You are given the wavelength and total energy of a light pulse and asked to find the number of photons it

2.8 The principles for short-term change are building on the strengths of teachers and schools to develop incremental change, and enhancing interactive collaboration to

Wang, Solving pseudomonotone variational inequalities and pseudocon- vex optimization problems using the projection neural network, IEEE Transactions on Neural Networks 17

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =>

Define instead the imaginary.. potential, magnetic field, lattice…) Dirac-BdG Hamiltonian:. with small, and matrix

incapable to extract any quantities from QCD, nor to tackle the most interesting physics, namely, the spontaneously chiral symmetry breaking and the color confinement.. 

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most

Miroslav Fiedler, Praha, Algebraic connectivity of graphs, Czechoslovak Mathematical Journal 23 (98) 1973,