45
SIP Session Initiation Protocol Comes from IETF SIP long-term vision All telephone calls and video conference calls take place over the Internet People are identified by names or e-mail addresses, rather than by phone numbers. You can reach the callee, no matter where the callee roams, no matter what IP device the callee is currently using.

SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Embed Size (px)

Citation preview

Page 1: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

SIP

Session Initiation Protocol Comes from IETFSIP long-term vision All telephone calls and video conference calls

take place over the Internet People are identified by names or e-mail

addresses, rather than by phone numbers. You can reach the callee, no matter where the

callee roams, no matter what IP device the callee is currently using.

Page 2: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

SIP Services

Setting up a call Provides mechanisms

for caller to let callee know she wants to establish a call

Provides mechanisms so that caller and callee can agree on media type and encoding.

Provides mechanisms to end call.

Determine current IP address of callee. Maps mnemonic

identifier to current IP address

Call management Add new media

streams during call Change encoding

during call Invite others Transfer and hold

calls

Page 3: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Setting up a call to a known IP address

• Alice’s SIP invite message indicates her port number & IP address. Indicates encoding that Alice prefers to receive (PCM ulaw)

• Bob’s 200 OK message indicates his port number, IP address & preferred encoding (GSM)

• SIP messages can be sent over TCP or UDP; here sent over RTP/UDP. •Default SIP port number is 5060.

time time

Bob'stermina l rings

A lice

167.180.112.24

Bob

193.64.210.89

port 38060

Law audio

G SMport 48753

Page 4: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Setting up a call (more) Codec negotiation:

Suppose Bob doesn’t have PCM ulaw encoder.

Bob will instead reply with 606 Not Acceptable Reply and list encoders he can use.

Alice can then send a new INVITE message, advertising an appropriate encoder.

Rejecting the call Bob can reject with

replies “busy,” “gone,” “payment required,” “forbidden”.

Media can be sent over RTP or some other protocol.

Page 5: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Example of SIP message

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP 167.180.112.24

From: sip:[email protected]

To: sip:[email protected]

Call-ID: [email protected]

Content-Type: application/sdp

Content-Length: 885

c=IN IP4 167.180.112.24

m=audio 38060 RTP/AVP 0

Notes: HTTP message syntax sdp = session description protocol Call-ID is unique for every call.

• Here we don’t know Bob’s IP address. Intermediate SIPservers will be necessary.

• Alice sends and receives SIP messages using the SIP default port number 506.

• Alice specifies in Via:header that SIP client sends and receives SIP messages over UDP

Page 6: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Name translation and user locataion

Caller wants to call callee, but only has callee’s name or e-mail address.

Need to get IP address of callee’s current host: user moves around DHCP protocol user has different IP

devices (PC, PDA, car device)

Result can be based on: time of day (work,

home) caller (don’t want boss to

call you at home) status of callee (calls

sent to voicemail when callee is already talking to someone)

Service provided by SIP servers:

SIP registrar server SIP proxy server

Page 7: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

SIP Registrar

REGISTER sip:domain.com SIP/2.0

Via: SIP/2.0/UDP 193.64.210.89

From: sip:[email protected]

To: sip:[email protected]

Expires: 3600

When Bob starts SIP client, client sends SIP REGISTER message to Bob’s registrar server

(similar function needed by Instant Messaging)

Register Message:

Page 8: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

SIP Proxy

Alice send’s invite message to her proxy server contains address sip:[email protected]

Proxy responsible for routing SIP messages to callee possibly through multiple proxies.

Callee sends response back through the same set of proxies.

Proxy returns SIP response message to Alice contains Bob’s IP address

Note: proxy is analogous to local DNS server

Page 9: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

ExampleCaller [email protected] with places a call to [email protected]

(1) Jim sends INVITEmessage to umass SIPproxy. (2) Proxy forwardsrequest to upenn registrar server. (3) upenn server returnsredirect response,indicating that it should try [email protected]

(4) umass proxy sends INVITE to eurecom registrar. (5) eurecom regristrar forwards INVITE to 197.87.54.21, which is running keith’s SIP client. (6-8) SIP response sent back (9) media sent directly between clients. Note: also a SIP ack message, which is not shown.

SIP client217.123.56.89

SIP client197.87.54.21

SIP proxyum ass.edu

SIP registrarupenn.edu

SIPregistrareurecom .fr

1

2

34

5

6

7

8

9

Page 10: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Comparison with H.323

H.323 is another signaling protocol for real-time, interactive

H.323 is a complete, vertically integrated suite of protocols for multimedia conferencing: signaling, registration, admission control, transport and codecs.

SIP is a single component. Works with RTP, but does not mandate it. Can be combined with other protocols and services.

H.323 comes from the ITU (telephony).

SIP comes from IETF: Borrows much of its concepts from HTTP. SIP has a Web flavor, whereas H.323 has a telephony flavor.

SIP uses the KISS principle: Keep it simple stupid.

Page 11: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Improving QOS in IP Networks

Thus far: “making the best of best effort”Future: next generation Internet with QoS guarantees

RSVP: signaling for resource reservations Differentiated Services: differential guarantees Integrated Services: firm guarantees

simple model for sharing and congestion studies:

Page 12: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Principles for QOS Guarantees

Example: 1MbpsI P phone, FTP share 1.5 Mbps link. bursts of FTP can congest router, cause audio loss want to give priority to audio over FTP

packet marking needed for router to distinguish between different classes; and new router policy to treat packets accordingly

Principle 1

Page 13: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Principles for QOS Guarantees (more) what if applications misbehave (audio sends higher

than declared rate) policing: force source adherence to bandwidth allocations

marking and policing at network edge: similar to ATM UNI (User Network Interface)

provide protection (isolation) for one class from othersPrinciple 2

Page 14: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Principles for QOS Guarantees (more)

Allocating fixed (non-sharable) bandwidth to flow: inefficient use of bandwidth if flows doesn’t use its allocation

While providing isolation, it is desirable to use resources as efficiently as possible

Principle 3

Page 15: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Principles for QOS Guarantees (more)

Basic fact of life: can not support traffic demands beyond link capacity

Call Admission: flow declares its needs, network may block call (e.g., busy signal) if it cannot meet needs

Principle 4

Page 16: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Summary of QoS Principles

Let’s next look at mechanisms for achieving this ….

Page 17: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Scheduling And Policing Mechanisms

scheduling: choose next packet to send on link; allocate link capacity and output queue buffers to each connection (or connections aggregated into classes)

FIFO (first in first out) scheduling: send in order of arrival to queue discard policy: if packet arrives to full queue: who to discard?

• Tail drop: drop arriving packet• priority: drop/remove on priority basis• random: drop/remove randomly

Page 18: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Need for a Scheduling Discipline

Why do we need a non-trivial scheduling discipline?

Per-connection delay, bandwidth, and loss are determined by the scheduling discipline The NE can allocate different mean delays to

different connections by its choice of service order it can allocate different bandwidths to connections

by serving at least a certain number of packets from a particular connection in a given time interval

Finally, it can allocate different loss rates to connections by giving them more or fewer buffers

Page 19: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

FIFO Scheduling

Disadvantage with strict FIFO scheduling is that the scheduler cannot differentiate among connections -- it cannot explicitly allocate some connections lower mean delays than others

A more sophisticated scheduling discipline can achieve this objective (but at a cost)

The conservation law “the sum of the mean queueing delays received by

the set of multiplexed connections, weighted by their fair share of the link’s load, is independent of the scheduling discipline”

Page 20: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Requirements A scheduling discipline must satisfy four

requirements: Ease of implementation -- pick a packet every few

microsecs; a scheduler that takes O(1) and not O(N) time Fairness and Protection (for best-effort connections) --

FIFO does not offer any protection because a misbehaving connection can increase the mean delay of all other connections. Round-robin scheduling?

Performance bounds -- deterministic or statistical; common performance parameters: bandwidth, delay (worst-case, average), delay-jitter, loss

Ease and efficiency of admission control -- to decide given the current set of connections and the descriptor for a new connection, whether it is possible to meet the new connection’s performance bounds without jeopardizing the performance of existing connections

Page 21: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Max-Min Fair Share

Fair Resource allocation to best-effort connections?

Fair share allocates a user with a “small” demand what it wants, and evenly distributes unused resources to the “big” users.

Maximize the minimum share of a source whose demand is not fully satisfied. Resources are allocated in order of increasing

demand no source gets a resource share larger than its

demand sources with unsatisfied demand s get an equal

share of resource

Page 22: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Schedulable Region

Page 23: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Designing a scheduling discipline

Four principal degrees of freedom: the number of priority levels whether each level is work-conserving or non-work-

conserving the degree of aggregation of connections within a

level service order within a level

Each feature comes at some cost for a small LAN switch -- a single priority FCFS

scheduler or at most 2-priority scheduler may be sufficient

for a heavily loaded wide-area public switch with possibly noncooperative users, a more sophisticated scheduling discipline may be required.

Page 24: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Priority Scheduling

transmit highest priority queued packet multiple classes, with different priorities

class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc..

Page 25: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Priority Scheduling

The scheduler serves a packet from priority level k only if there are no packets awaiting service in levels k+1, k+2, …, n

at least 3 levels of priority in an integrated services network?

Starvation? Appropriate admission control and policing to restrict service rates from all but the lowest priority level

Simple implementation

Page 26: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Round Robin Scheduling multiple classes cyclically scan class queues, serving one from each class (if available) provides protection against misbehaving sources (also guarantees a minimum bandwidth to every connection)

Page 27: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Weighted Fair Queueing

generalized Round Robin (offers differential service to each connection/class)

each class gets weighted amount of service in each cycle

Page 28: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Policing Mechanisms

Goal: limit traffic to not exceed declared parameters

Three common-used criteria: (Long term) Average Rate: how many pkts can be sent per unit time

(in the long run) crucial question: what is the interval length: 100 packets per sec or 6000

packets per min have same average!

Peak Rate: e.g., 6000 pkts per min. (ppm) avg.; 1500 ppm peak rate (Max.) Burst Size: max. number of pkts sent consecutively (with no

intervening idle)

Page 29: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Traffic Regulators

Leaky bucket controllers Token bucket controllers

Page 30: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Policing Mechanisms

Token Bucket: limit input to specified Burst Size and Average Rate.

bucket can hold b tokens tokens generated at rate r token/sec unless

bucket full over interval of length t: number of packets

admitted less than or equal to (r t + b).

Page 31: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Policing Mechanisms (more)

token bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee!

WFQ

token rate, r

bucket size, b

per-flowrate, R

D = b/Rmax

arrivingtraffic

Page 32: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

IETF Integrated Services

architecture for providing QOS guarantees in IP networks for individual application sessions

resource reservation: routers maintain state info (a la VC) of allocated resources, QoS req’s

admit/deny new call setup requests:

Question: can newly arriving flow be admitted with performance guarantees while not violating QoS guarantees made to already admitted flows?

Page 33: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Intserv: QoS guarantee scenario

Resource reservation call setup, signaling (RSVP) traffic, QoS declaration per-element admission control

QoS-sensitive scheduling (e.g.,

WFQ)

request/reply

Page 34: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

RSVP

Page 35: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Call Admission

Arriving session must : declare its QOS requirement

R-spec: defines the QOS being requested characterize traffic it will send into network

T-spec: defines traffic characteristics signaling protocol: needed to carry R-spec and T-

spec to routers (where reservation is required) RSVP

Page 36: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Intserv QoS: Service models [rfc2211, rfc 2212]

Guaranteed service: worst case traffic arrival: leaky-

bucket-policed source simple (mathematically

provable) bound on delay [Parekh 1992, Cruz 1988]

Controlled load service: "a quality of service closely

approximating the QoS that same flow would receive from an unloaded network element."

WFQ

token rate, r

bucket size, b

per-flowrate, R

D = b/Rmax

arrivingtraffic

Page 37: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Chapter 6 outline

6.1 Multimedia Networking Applications

6.2 Streaming stored audio and video RTSP

6.3 Real-time, Interactivie Multimedia: Internet Phone Case Study

6.4 Protocols for Real-Time Interactive Applications RTP,RTCP SIP

6.5 Beyond Best Effort 6.6 Scheduling and

Policing Mechanisms 6.7 Integrated

Services 6.8 RSVP 6.9 Differentiated

Services

Page 38: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

IETF Differentiated Services

Concerns with Intserv: Scalability: signaling, maintaining per-flow router state difficult with large

number of flows Flexible Service Models: Intserv has only two classes. Also want “qualitative”

service classes “behaves like a wire” relative service distinction: Platinum, Gold, Silver

Diffserv approach: simple functions in network core, relatively complex functions at edge routers

(or hosts) Do’t define define service classes, provide functional components to build

service classes

Page 39: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Diffserv Architecture

Edge router:- per-flow traffic management

- marks packets as in-profile and out-profile

Core router:

- per class traffic management

- buffering and scheduling

based on marking at edge

- preference given to in-profile packets- Assured Forwarding

scheduling

...

r

b

marking

Page 40: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Edge-router Packet Marking

class-based marking: packets of different classes marked differently

intra-class marking: conforming portion of flow marked differently than non-conforming one

profile: pre-negotiated rate A, bucket size B packet marking at edge based on per-flow profile

Possible usage of marking:

User packets

Rate A

B

Page 41: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Classification and Conditioning

Packet is marked in the Type of Service (TOS) in IPv4, and Traffic Class in IPv6

6 bits used for Differentiated Service Code Point (DSCP) and determine PHB that the packet will receive

2 bits are currently unused

Page 42: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Classification and Conditioning

may be desirable to limit traffic injection rate of some class:

user declares traffic profile (eg, rate, burst size)

traffic metered, shaped if non-conforming

Page 43: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Forwarding (PHB)

PHB result in a different observable (measurable) forwarding performance behavior

PHB does not specify what mechanisms to use to ensure required PHB performance behavior

Examples: Class A gets x% of outgoing link bandwidth over time

intervals of a specified length Class A packets leave first before packets from class

B

Page 44: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Forwarding (PHB)

PHBs being developed: Expedited Forwarding: pkt departure rate of a

class equals or exceeds specified rate logical link with a minimum guaranteed rate

Assured Forwarding: 4 classes of traffic each guaranteed minimum amount of bandwidth each with three drop preference partitions

Page 45: SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take place over the Internet

Multimedia Networking: Summary

multimedia applications and requirements

making the best of today’s best effort service

scheduling and policing mechanisms next generation Internet: Intserv, RSVP,

Diffserv