• 沒有找到結果。

A powerful alternative to H.323

N/A
N/A
Protected

Academic year: 2022

Share "A powerful alternative to H.323"

Copied!
23
0
0

全文

(1)

Session Initiation Protocol (SIP)

(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)

3 IP Telephony

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 (June 2002 )

„

SIP + MGCP/MEGACO

„ The VoIP signaling in the future

„

“bake-offs” or SIP Interoperability Tests

„ The development of SIP and its implementation by system developers has involved a number of events.

„ 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 to potential session participants

„

Separate signaling and media streams

„ Signaling may pass via one or more proxy or redirect servers

„ Media stream takes a more direct path.

SIP Signaling

IP Network

RTP Media Stream

(5)

5 IP Telephony

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

„ Act in a similar way to a proxy server used for web access

„ Handle requests or forward requests to other servers after some translation

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

SIP Proxy

Caller@work.com Collins@home.net

1.Request

Collins@work.com 2.Request

Collins@home.net

4.Response 3.Response

(7)

7 IP Telephony

SIP Network Entities [3/4]

„

Redirect servers

„ Accept SIP requests

„ Map the destination address to zero or more new addresses

„ Return the new address(es) to the originator of the request

Redirect Server 1.Request

Collins@work.com

Caller@work.com

Collins@home.net 2.Moved temporarily

Contact: Collins@home.net 3.ACK

4.Request

Collins@home.net

5.Response

(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 (location server)

„ Accepts SIP REGISTER requests

„ Indicating that the user is at a particular address

„ Personal mobility

„ Typically combined with a proxy or redirect server

(9)

9 IP Telephony

SIP Call Establishment

„

A SIP call establishment is simple.

„

A number of interim responses may be made to the INVITE prior to the called party accepting the call.

a b c d e

f g

INVITE

Ringing OK ACK

Conversation

BYE

OK

(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

„ Text-based encoding

„ 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)

11 IP Telephony

Call Completion to Busy Subscriber Service

a b c d e f g

Conversation

BYE

OK ACK

OK Ringing INVITE

Busy (Try at 4pm) INVITE

ACK

j i h

(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)

13 IP Telephony

„

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 SIP 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)

15 IP Telephony

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

„ To support a particular type of media

„ CANCEL

„ Terminate a pending request

„ Pending Request: 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.175)

„ Can register with multiple servers

„ Can have several registrations with one server

(16)

“One Number” Service

(17)

17 IP Telephony

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 200 is defined: the request has been understood and has been performed)

„ 3XX Redirection (302: the called party is not available at the address used in the request, and the request should be reissued to a new address

included with the response)

„ 4XX Request Failure (401: the client is not authorized to make the request)

„ 5XX Server Failure (505: the server does not support the SIP version specified in the request)

„ 6XX Global Failure (600: busy)

All responses, except for 1XX, are considered final

(19)

19 IP Telephony

SIP Addressing

„

SIP URIs (Uniform Resource Indicators)

„

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

„ M (mandatory), M* (the header field should be present in the request, but a receiver should be prepared to process the

request even if the header is absent), O (optional), T (the header should be included in the request if a stream-based transport is used), C (the presence of the header depends on the context of the message), N/A (the header should not be sent in the request)

„

Four main categories

„ General, Request, Response, and Entity headers

(21)

21 IP Telephony

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

„ Retry-After

(23)

23 IP Telephony

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, render …

參考文獻

相關文件

Animal or vegetable fats and oils and their fractiors, boiled, oxidised, dehydrated, sulphurised, blown, polymerised by heat in vacuum or in inert gas or otherwise chemically

Milk and cream, in powder, granule or other solid form, of a fat content, by weight, exceeding 1.5%, not containing added sugar or other sweetening matter.

Estimated resident population by age and sex in statistical local areas, New South Wales, June 1990 (No. Canberra, Australian Capital

First Taiwan Geometry Symposium, NCTS South () The Isoperimetric Problem in the Heisenberg group Hn November 20, 2010 13 / 44.. The Euclidean Isoperimetric Problem... The proof

In particular, if s = f(t) is the position function of a particle that moves along a straight line, then f ′(a) is the rate of change of the displacement s with respect to the

[This function is named after the electrical engineer Oliver Heaviside (1850–1925) and can be used to describe an electric current that is switched on at time t = 0.] Its graph

– The The readLine readLine method is the same method used to read method is the same method used to read  from the keyboard, but in this case it would read from a 

The format of the URI in the first line of the header is not specified. For example, it could be empty, a single slash, if the server is only handling XML-RPC calls. However, if the

An alternative way to proceed would be to directly estimate that one of the unknown constants C 1 :::C 4 which is appropriate to the context (e.g. C 1 if we were using the excess

Now, nearly all of the current flows through wire S since it has a much lower resistance than the light bulb. The light bulb does not glow because the current flowing through it

Study the following statements. Put a “T” in the box if the statement is true and a “F” if the statement is false. Only alcohol is used to fill the bulb of a thermometer. An

Courtesy: Ned Wright’s Cosmology Page Burles, Nolette & Turner, 1999?. Total Mass Density

a) Excess charge in a conductor always moves to the surface of the conductor. b) Flux is always perpendicular to the surface. c) If it was not perpendicular, then charges on

2-1 註冊為會員後您便有了個別的”my iF”帳戶。完成註冊後請點選左方 Register entry (直接登入 my iF 則直接進入下方畫面),即可選擇目前開放可供參賽的獎項,找到iF STUDENT

Following the supply by the school of a copy of personal data in compliance with a data access request, the requestor is entitled to ask for correction of the personal data

„ Start with a STUN header, followed by a STUN payload (which is a series of STUN attributes depending on the message type).

n The information contained in the Record-Route: header is used in the subsequent requests related to the same call. n The Route: header is used to record the path that the request

„ Indicate the type and format of information included in the message body. „ Content-Length: the length of the message

even if bound changes on non-binary variables are present, such a subset can be used like the conflict detecting clause in SAT to represent the conflict in the conflict graph..

The min-max and the max-min k-split problem are defined similarly except that the objectives are to minimize the maximum subgraph, and to maximize the minimum subgraph respectively..

The PLCP Header is always transmitted at 1 Mbit/s and contains Logical information used by the PHY Layer to decode the frame. It

Experiment a little with the Hello program. It will say that it has no clue what you mean by ouch. The exact wording of the error message is dependent on the compiler, but it might

Since the sink is aware of the location of the interested area, simple greedy geographic routing scheme is used to send a data request (in the form of