IP_tec - iptel.org

Download Report

Transcript IP_tec - iptel.org

Multimedia Communication in the Internet VoIP and SIP

Dr. Dorgham Sisalem

These presentation materials describe Tekelec's present plans to develop and make available to its customers certain products, features and functionality. Tekelec is only obligated to provide those deliverables specifically included in a written agreement signed by Tekelec and customer.

Description of Multimedia

These presentation materials describe Tekelec's present plans to develop and make available to its customers certain products, features and functionality. Tekelec is only obligated to provide those deliverables specifically included in a written agreement signed by Tekelec and customer.

Session Description Protocol (SDP)

• Convey sufficient information to enable participation in a multimedia session • SDP includes description of:      Media to use (codec, sampling rate) Media destination (IP address and port number) Session name and purpose Times the session is active Contact information • Note: indeed SDP is a data format rather than a protocol.

RFC2327

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Example: Session Description Protocol (SDP)

v=0 o=sisalem 28908044538 289080890 IN IP4 193.175.132.118

s=SIP Tutorial [email protected]

c=IN IP4 126.16.69.4

t=28908044900 28908045000 m=audio 49170 RTP/AVP 0 98 a=rtpmap:98 L16/11025/2 Receiver’s IP address Supported RTP payload types

Receiver’s port number

“I am ready to receive G.711 (0) and L16 (98) audio

For Discussion Purposes Only / Tekelec Confidential

IP Telephony

What is IP-Telephony?

These presentation materials describe Tekelec's present plans to develop and make available to its customers certain products, features and functionality. Tekelec is only obligated to provide those deliverables specifically included in a written agreement signed by Tekelec and customer.

Why Another Phone System?

• Carrying voice on IP-based packet networks first identified by Cohen in 1977* • Commercialization and standardization began in 1995; Vocaltec the first company to ship IP2PSTN gateways (proprietary) • ITU-T standardized H.323 to recreate ISDN • SIP standardization began in IETF in 1995 • Adoption of SIP for use in 3GPP in late nineties • Motivation:  Cost saving through telco by-passing  Service Integration

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Why Another Phone System?

• Lower transport costs:  Routing is cheaper than switching (lower equipment and line prices)  Network is not only dedicated to voice  More efficient bandwidth usage:   Variable compression (often lower than 64kb/s) Usage of silence suppression  Application integration   Support voice, video or text all at the same time with the same network Integrate intelligent applications easily (initiate a call when something happens)

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

IP-Telephony is not just Telephony!!!!

• • IP-Telephony signaling is not about      Reengineering PSTN Carrying PSTN over IP Providing QoS Solving the business model dilemma Introducing world peace IP-Telephony is just another Internet application but with special requirements  More stringent QoS requirements but so would video conferencing and distributed gaming    Interaction with legacy technology Regulatory issues Comparisons to legacy services

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Basic Internet Telephony Scenarios

PC-to-PC (MS NetMeeting, appliances)

PC-to-phone (net2phone.com)

IP Phone

Internet

IP Phone

phone-to-phone (Paegas)

Internet Internet

Egress PSTN Gateway PSTN Phone PSTN Phone

phone-to-PC as well

Ingress PSTN Gateway Egress PSTN Gateway PSTN Phone Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

PC-to-phone/PC Scenario

Egress PSTN Gateway

Internet

PSTN Phone IP SoftPhone

IP Hard-Phone

• Benefits: Cost-savings

IP SoftPhone

Service integration: Many today’s installation serve as PBX replacement today.

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Phone-2-phone Scenario

Internet

PSTN Phone

Benefit:

Ingress PSTN Gateway Egress PSTN Gateway PSTN Phone

• Cost savings through telco bypass. Most of the voice path in the Internet which has no notion of distance and duration in its charging model.

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Shift in Motivation Since Nineties

• • • Telco prices dropping, cost saving not as appealing as in the past:   Berlin-Prague before market liberalization in 1995: 1DM a minute Berlin-Prague today*: 4.50 cents (factor of 11) Expectations set high on service integration  Voicemail2email, click-to-dial, conferencing, instant messaging and presence, etc.

Shift in business mode: “be telco on your own” doable without large investments and operational costs. Seen as an opportunity for small businesses.

* Source: http://www.billigertelefonieren.de/

For Discussion Purposes Only / Tekelec Confidential

Completed Work

• • Since beginning, lot of focus has been paid to quality of service to assure “nice voice”:  Network provisioning    QoS Signaling (RSVP, diffserv) Packet-loss concealment Less concern today – backbones overprovisioned, end-devices improved and burned in hardware Signaling for IP Telephony Well Understood Today:  Session Initiation Protocol (RFC3261)  Gateways to PSTN

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Implementations Widely Available

SNOM Pingtel Allied Telesyn Cisco Intertex Cisco Siemens Mitel Microsoft Free SIP server with capacity that can server VoIP signaling for Bay Area.

… and many more …http://www.iptel.org/info/products/

For Discussion Purposes Only / Tekelec Confidential

Integrated Applications

• • • • • • • Distributed games  SIP Quake sighted!

Virtual reality Web-pages and applets Links in e-mails Web-IVRs Click-to-dial Directory Services • • • • Video conferencing Instant Messaging    voicemail notifications stock notifications callback notification Calendars  pre-setup conference calls Unified Messaging  voicemail2email

etc.

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Example: Trial Site

• • • • Provides just signaling services    gives users a unique globally reachable address resembles Web-hosting in IP world or NetCentrex in PSTN world no media transport -- only signaling relayed, media does not hit the server at all To set it up, we needed     PC Freely available software IP access one part-time undergraduate student Users need  IP phone (either in SW or HW) Complimentary services may be easily provided by other parties, users just need to set up their signaling preferences:  bridging to PSTN, voicemail--2-email, etc.

Protocols

These presentation materials describe Tekelec's present plans to develop and make available to its customers certain products, features and functionality. Tekelec is only obligated to provide those deliverables specifically included in a written agreement signed by Tekelec and customer.

What Problems Do Need to Be Solved for VoIP?

• • • • • Session management  Users may move from terminal to terminal with different capabilities and change their willingness to communicate  To set-up a communication session between two or more users, a

signaling protocol

is needed 

Session Initiation Protocol

(SIP) supports locating users, session negotiation (audio/video/instant messaging, etc.) and changing session state Media Transport  Getting packetized voice over lossy and congested network in real-time 

RTP

– protocol for transmitting real-time data such as audio, video and games End-to-end delivery: underlying IP connects the whole world Supporting protocols: DNS, IP , routing protocol, AAA, gateway location, QoS, etc.

IETF Practice: Decomposition Principle; Separate protocols are used for separate purposes. Signaling protocol separate from media and QoS signaling. All of them on top of IP.

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Protocol Zoo (Hourglass Model)

HTTP H.323

SIP Ethernet TCP GPRS SCTP IPv4/IPv6 PPP SONET Media RTP V.x

UDP RTCP AALx ATM

Packetized Communication

Signaling Protocol Media Transport End Users Call Server End Users IP Router

Note: •Every packet may take a completely different path •Signaling takes typically different path than media does •Both signaling and media as well as other applications (FTP, web, email, … ) look “alike” up to transport layer and share the same fate

Components Integration with SIP

PSTN Gateway SMS Gateway IP Phone Pool • • All components use SIP They are glued together using a proxy server that implements a routing policy for signaling

SIP proxy

Applications Softphones And Messaging applications Other domains

SIP (RFC3261) - General Purpose Presence Protocol

• • • SIP is not limited to Internet telephony   SIP establishes user presence SIP messages can convey arbitrary signaling payload: session description, instant messages, JPEGs, any MIME types Suitable for applications having a notion of session    distributed virtual reality systems, network games (Quake II/III implementations), video conferencing, etc.

Applications may leverage SIP infrastructure (Call Processing, User Location, Authentication)  Instant Messaging and Presence  SIP for Appliances

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Is Not

• • • Transport Protocol QoS Reservation Protocol Gateway Control Protocol • It does NOT dictate ...

 Product features and services (color of your phone and distinctive ringing melodies, number of simultaneous calls your phone can handle, don’t disturb feature, ...)  network configuration

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Workhorses

• SIP Proxy Server  relays call signaling, i.e. acts as both client and server  operates in a transactional manner, i.e., it keeps no session state   transparent to end-devices does not generate messages on its own (except ACK and CANCEL)  Allows for additional services (call forwarding, AAA, forking, etc.) • SIP Redirect Server  redirects callers to other servers • SIP Registrar  accept registration requests from users  maintains user’s whereabouts at a Location Server (like GSM HLR)

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP End-devices

• User Agent (user application)   UA Client (originates calls) UA Server (listens for incoming calls) • Types of UAs:      Softphone and hardphones Messaging clients PSTN gateways Media servers (voicemail) Etc.

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Addresses

• • • • • • SIP gives you a globally reachable address.

 Callees bind their temporary address to the global one using SIP REGISTER method.

 Callers use this address to establish real-time communication with callees.

URLs used as address data format; examples:  sip:[email protected]

  sip:[email protected]?subject=callme sip:[email protected]; geo.position:=48.54_-123.84_120

must include host, may include user name, port number, parameters (e.g., transport), etc.

may be embedded in Webpages, email signatures, printed on your business card, etc.

address space unlimited non-SIP URLs can be used as well (mailto:, http:, ...)

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP RFC3261 Methods

• • • • • •

INVITE

  initiates sessions session description included in message body re-INVITEs used to change session state

ACK

 confirms session establishment can only be used with INVITE

BYE

terminates sessions

CANCEL

cancels a pending INVITE

OPTIONS

capability inquiry

REGISTER

binds a permanent address to current location; may convey user data (CPL scripts)

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Extension Methods

• • UPDATE PRACK precondition met (draft-ietf-sip-manyfolks-resource) provisional reliable responses acknowledgement (draft-ietf-sip-100rel) • • INFO SUBSCRIBE/ instant messaging • NOTIFY/ MESSAGE mid-call signaling (RFC 2976) (draft-ietf-simple-*)

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Response Codes

• Borrowed from HTTP: xyz explanatory text • Receivers need to understand response class (“x”) • x80 and higher codes avoid conflicts with future HTTP response codes • 1yz Informational  100 Trying   180 Ringing (processed locally) 181 Call is Being Forwarded • 2yz Success  200 ok • 3yz Redirection  300 Multiple Choices   301 Moved Permanently 302 Moved Temporarily

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Response Codes (cont.)

• 4yz Client error     400 Bad Request 401 Unauthorized 482 Loop Detected 486 Busy Here • 5yz Server failure  500 Server Internal Error • 6yz Global Failure  600 Busy Everywhere

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Message Structure

Request INVITE sip:[email protected] SIP/2.0

SIP/2.0 200 OK

Response Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: [email protected]

CSeq: 1 INVITE Subject: Happy Christmas

Message Header Fields

Contact: BigGuy Content-Type: application/sdp Content-Length: 147

Via

: SIP/2.0/UDP here.com:5060

From

: BigGuy

To

: LittleGuy ;tag=65a35

Call-ID

: [email protected]

CSeq

: 1 INVITE

Subject:

Happy Christmas

Contact: LittleGuy Content-Type

: application/sdp

Content-Length

: 134 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com

s=Session SDP c=IN IP4 100.101.102.103

t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000

Payload

v=0 o=UserB 2890844527 2890844527 IN IP4 there.com

s=Session SDP c=IN IP4 110.111.112.113

t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 “receive RTP G.711-encoded audio at 100.101.102.103:49172”

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Registration

• Bind a SIP address to an IP number • Registration sent to SIP registrar responsible for the domain   [email protected]

-> registrar: iptel.org

Find registrar through DNS • Registration is needed to receive calls  Not necessarily needed for initiating calls

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Registrar

Location Server

This registration example establishes presence of user with address [email protected] and binds this address to user’s current location 195.37.78.173.

#2 REGISTER

sip:iptel.org SIP/2.0

From:

sip:[email protected]

To:

sip:[email protected]

Contact:

Expires:

3600

#1

SIP Registrar (domain iptel.org)

#3

SIP/2.0 200 OK

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Basic SIP Call-Flow (Proxy Mode)

Location Server DNS SRV Query ? iptel.org

Reply: IP Address of iptel.org SIP Server

#0 INVITE

sip:[email protected]

From:

sip:[email protected]

To:

sip: [email protected]

Call-ID: [email protected]

#1 #2 #6 OK 200 From:

sip:[email protected]

To:

sip: [email protected]

Call-ID:

[email protected]

#7 ACK sip:[email protected]

[email protected]

Proxy

#3 INVITE

sip:[email protected]

From:

sip:[email protected]

To:

sip: [email protected]

Call-ID:

[email protected]

#4 OK 200 From:

sip:[email protected]

#5 To:

sip: [email protected]

Call-ID:

[email protected]

sip:[email protected]

Media streams

#8

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Proxy Server Functionality

• Serve as rendezvous point at which callees are globally reachable • Perform routing function, i.e., determine to which SIP hop (UA/proxy/redirect) signaling should be relayed • Allow for call processing logic.     user’s signaling preferences AAA firewall control etc.

• Forking: Several destinations may be tried for a request sequentially or in parallel.

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Proxy Chaining

• SIP proxies may be arbitrarily chained and add different values along the signaling path   least-cost gateway routing load distribution   processing users’ preferences etc.

• In some case a local outbound proxy may be involved  provides locally important call processing logic (e.g., identifying nearest 911)   manages firewall provides least-gateway-cost routing service  IP phones must know address of the proxy:may be configured manually or with a configuration protocol (DHCP, TFTP, ... ) • Servers have to avoid loops and recognize spirals

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Proxy Chaining - an Example

Caller’s administrative domain

#2

Administrative domain of a PSTN gateway operator gw01.asia.pstn.com

pstn.com

asia.pstn.com

#3 #4 #1 Caller’s outbound proxy accomplishes firewall traversal.

Destination’s “first-hit proxy” identifies a proxy serving dialed Proxy in the target area distributes load in a gateway farm.

area.

Note: signaling (in red) may take a completely different path from media (in blue).

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Ability to Try Multiple Destinations: Forking

• • • • A proxy may fork a request to multiple destinations either in parallel (“reach me everywhere”) or serially (“forward no reply”).

A proxy can cancel pending parallel searches after a successful response is received. A proxy can iterate through redirection responses (“recursive forking”).

The first “OK” is taken.

#1 INVITE #2 Trying #3 INVITE #4 Ringing #5 CANCEL #6 OK #7 INVITE

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Stateful versus Stateless Proxy Operational Mode

• SIP Proxies may operate either in stateful or stateless mode; which of the modes is used depends on implementation or configuration.

• stateless mode: 

Usage:

good for heavy-load scenarios -- works well for example if they act as application-layer load distributors.

Behavior:

  proxies just receive messages, perform routing logic, send messages out and forget anything they knew; they should cache results of SIP routing logic as it is not able to distinguish between retransmissions and new requests - and would result in new execution of SIP routing logic for every retransmission

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Stateful versus Stateless Proxy Operational Mode

• stateful mode: 

Usage:

good for implementing some services (e.g., “forward on no reply”) 

Behavior:

   proxies maintain state during entire transaction; they remember outgoing requests as well as incoming requests that generated them until transaction is over; a forking proxy should be stateful reduce retransmission time by acting on behalf of sender closer to destination

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

“Stateful” Proxy Refers to Transactions

SIP state forgotten as soon as transaction over • Frequently Misunderstood Issue SIP proxies deliver a “one-time rendezvous service” (as opposed to state storage service).

INVITE [email protected]

• Thus a stateful proxy just keeps state during a SIP “rendezvous transaction” and completely forgets it afterwards.

OK • A SIP proxy is not aware of existing calls. In case of failure, existing calls are NOT affected!

Legend SIP signaling SIP state media

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Tell Other Parties Where You Are: Contact Header Field

• • In general, it indicates where users may be reached for subsequent requests     Minimize proxy’s involvement in transactions: once all parties know each other’s contact address they can communicate directly and proxy server is no more needed used for the “next-try” in 3xx redirection responses may include multiple weighted addresses if behind a firewall, the Contact header field carries public server’s address In REGISTER method  indicates current SIP address of requestor  if different from current registration, it is added to current registration list   if equal, contact parameters including updated and expiration timer updated  2xx replies return a list of current registrations “Expires: 0” removes an entry, if along with “Contact: *” all entries are removed

Note: Multiple header fields with the same field-name may be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list (i.e., #(values)). Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

SIP Operation in Redirect Mode

#2 Location Server #3 [email protected]

#1 INVITE [email protected]

#4 302 moved temporarily Contact: [email protected]

Proxy #5 ACK [email protected]

#6 INVITE [email protected]

#7 OK 200 #8 ACK [email protected]

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

[email protected]

SIP Server -- Proxy versus Redirection

• • • • • • A SIP server may either

proxy

or

redirect

a request Which of the two method applies is an implementation or configuration issue. It may be statically configured or dynamically determined (CPL). Redirection useful if a user moves or changes her provider (PSTN: “The number you have dialed is not available.”) -- caller does not need to try the original server next time. Redirection stateless.

Proxy useful if forking, AAA, firewall control needed. In general, proxying grants more control to the server.

Signaling using a proxy faster if RTT between call originator and destination domain is the major delay contributor.

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Routing Basics

• • • • Requests could be sent directly to the contact address Media addresses are exchanged in SDP Replies follow the same path as the requests   Each proxy adds a VIA header indicating its address Receiver gets a list in the form of:  VIA: proxy_1, proxy_2 .....proxy_n

 Receiver sends the reply back to le last proxy in the via header (proxy_n) which forwards the reply to proxy_n-1 Proxies that want to see all future requests of a user add a RecordRoute header  Receiver get a list of RR: proxy_1, proxy_2 ..proxy_n

  RR list is included in reply Sender directs its future requests to proxy_1, which forwards it to proxy_2 ....

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential

Summary of SIP Properties

• Textual (HTTP-like) client-server protocol  Easy to debug, extend and process with textual operating systems • End-2-end  It puts most of intelligence into end-devices – good for scalability and extensibility • Internet addressing using URIs  E.g., sip:[email protected]

 Non-SIP URIs possible to (e.g., they may be used to redirect a caller to webpage)  Address space unlimited and may be used to create services ( sip:[email protected]; geo.position:=48.54_-123.84_120) • It delivers mobility: User can register from one or more locations with IP connectivity

Tekelec Confidential / For Discussion Purposes Only / Tekelec Confidential