multimedia communication in the internet voip and sip
DESCRIPTION
Multimedia Communication in the Internet VoIP and SIP. Dr. Dorgham Sisalem. Description of Multimedia. Session Description Protocol (SDP). Convey sufficient information to enable participation in a multimedia session SDP includes description of: Media to use (codec, sampling rate) - PowerPoint PPT PresentationTRANSCRIPT
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.
Multimedia Communication in the Internet
VoIP and SIPDr. 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
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
Example: Session Description Protocol (SDP)
v=0
o=sisalem 28908044538 289080890 IN IP4 193.175.132.118
s=SIP Tutorial
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 at IP address 126.16.69.4, port number 49170”.
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.
IP TelephonyWhat is IP-Telephony?
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
Basic Internet Telephony Scenarios
InternetIP Phone
Internet
IP PhoneEgress PSTN Gateway PSTN Phone
Internet
PSTN Phone PSTN PhoneEgress PSTN GatewayIngress PSTN Gateway
PC-to-PC (MS NetMeeting, appliances)
PC-to-phone (net2phone.com)
phone-to-phone (Paegas)
phone-to-PC as well
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
PC-to-phone/PC Scenario
Benefits:
• Cost-savings
• Service integration: Many today’s installation serve as PBX replacement today.
Internet
IP SoftPhone
Egress PSTN GatewayPSTN Phone
IP SoftPhone
IP Hard-Phone
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
Phone-2-phone Scenario
Benefit:
• 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.
Internet
PSTN PhonePSTN PhoneEgress PSTN Gateway
Ingress PSTN Gateway
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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/
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
SIP Implementations Widely Available
SNOM Pingtel Allied Telesyn Cisco
Intertex Cisco Siemens Mitel Microsoft
… and many more …http://www.iptel.org/info/products/
Free SIP server with capacity that canserver VoIP signaling for Bay Area.
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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.
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.
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.
Protocols
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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.
Protocol Zoo (Hourglass Model)
UDPSCTPTCP
RTPH.323 SIP RTCP
Media
AALx
GPRS V.xSONETEthernet ATM
PPP
IPv4/IPv6
HTTP
Packetized Communication
End Users
Call Server
End Users
IP Router
Signaling Protocol
Media Transport
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
• All components use SIP
• They are glued together using a proxy server that implements a routing policy for signalingIP Phone Pool
PSTN Gateway
SIP proxy
SMS Gateway
Applications
Other domains
SoftphonesAndMessagingapplications
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
SIP Extension Methods
• UPDATE precondition met
(draft-ietf-sip-manyfolks-resource)
• PRACK provisional reliable responses acknowledgement
(draft-ietf-sip-100rel)
• INFO mid-call signaling
(RFC 2976)
• SUBSCRIBE/ instant messaging
NOTIFY/ (draft-ietf-simple-*)
• MESSAGE
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
SIP Message Structure
Response SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060
From: BigGuy <sip:[email protected]>
To: LittleGuy <sip:[email protected]>;tag=65a35
Call-ID: [email protected]
CSeq: 1 INVITE
Subject: Happy Christmas
Contact: LittleGuy <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 134
Request
“receive RTP G.711-encoded audio at 100.101.102.103:49172”
v=0o=UserA 2890844526 2890844526 IN IP4 here.coms=Session SDPc=IN IP4 100.101.102.103t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000
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
Message Header Fields
Payload
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP here.com:5060
From: BigGuy <sip:[email protected]>
To: LittleGuy <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Subject: Happy Christmas
Contact: BigGuy <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 147
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
SIP Registrar
Location Server
SIP Registrar(domain iptel.org)
REGISTER sip:iptel.org SIP/2.0From: sip:[email protected]: sip:[email protected]: <sip:195.37.78.173>Expires: 3600
#1
Jiri
@ 1
95.3
7.78
.173
#2
SIP/2.0 200 OK#3
This registration example establishes presence ofuser with address [email protected] and binds this address to user’scurrent location 195.37.78.173.
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
Basic SIP Call-Flow (Proxy Mode)
[email protected] sip:[email protected]
Location Server
Proxy
INVITE sip:[email protected]: sip:[email protected]: sip: [email protected]: [email protected]
#4
DNS SRV Query ? iptel.org
#0
Reply: IP Address of iptel.org SIP Server
INVITE sip:[email protected] From: sip:[email protected] To: sip: [email protected] Call-ID: [email protected]
#1
#3
jiri
#2
OK 200From: sip:[email protected]: sip: [email protected]: [email protected]
#5OK 200 From: sip:[email protected]: sip: [email protected]: [email protected]
#6
ACK sip:[email protected]#7
Media streams #8
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
Proxy Chaining - an Example
#1
#4
Caller’s outbound proxy accomplishesfirewall traversal.
Destination’s “first-hit proxy”identifies a proxy serving dialedarea.
#3
Proxy in the targetarea distributes loadin a gateway farm.
#2
Note: signaling (in red) may take a completely different path from media (in blue).
Caller’s administrative domain Administrative domain of a PSTN gateway operator
pstn.com asia.pstn.comgw01.asia.pstn.com
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
Frequently Misunderstood Issue
OK
“Stateful” Proxy Refers to Transactions
• SIP proxies deliver a “one-time rendezvous service” (as opposed to state storage service).
• Thus a stateful proxy just keeps state during a SIP “rendezvous transaction” and completely forgets it afterwards.
• A SIP proxy is not aware of existing calls. In case of failure, existing calls are NOT affected!
SIP state forgotten as soon as
transaction over
LegendSIP signalingSIP statemedia
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
SIP Operation in Redirect Mode
Location Server
Proxy
ACK [email protected]#8
Cal
lee
#2
INVITE [email protected]#1
302 moved temporarilyContact: [email protected]
#4
Callee@
home.com
#3
ACK [email protected]#5
OK 200#7
INVITE [email protected]#6
Tekelec Confidential
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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
Tekelec Confidential / For Discussion Purposes Only /
Non-Binding
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