RFC 3261+ Session Initiation Protocol (SIP) AN Lab May 19, 2006 Kim, YangJung.
-
Upload
erica-parsons -
Category
Documents
-
view
217 -
download
2
Transcript of RFC 3261+ Session Initiation Protocol (SIP) AN Lab May 19, 2006 Kim, YangJung.
RFC 3261+RFC 3261+Session Initiation Protocol Session Initiation Protocol
(SIP)(SIP)AN LabAN LabMay 19, 2006
Kim, YangJungKim, YangJung
•Presentation OutlinePresentation Outline
₪₪₪ PART I PART I ₪₪₪ What is SIP?₪ SIP Protocol Updates₪ SIP Protocol Structure₪ SIP Users / Work groups
₪₪₪ PART II PART II ₪₪₪ SIP in a similar Domain₪ SIP in a dissimilar Domain₪ Proxy servers in SIP₪ Complimentary protocols in SIP₪ Concerns about SIP₪ SIP a new generation of service
Advanced Network Laboratory 2 Kim, YangJung
•What is SIP?What is SIP?
₪ SIP (Session Initiation Protocol) is an application-layer control protocol that can establish, modify and terminate multimedia sessions such as Internet telephony calls (VOIP), multimedia distribution, multimedia conferences, chat, interactive games and virtual reality.
₪ SIP is very much like HTTP, the Web protocol, or SMTP. Messages consist of headers and a message body. SIP is a text-based protocol that uses UTF-8 encodingSIP uses port 5060 both for UDP and TCP. SIP may use other transports
₪ SIP does not provide services. Rather, SIP provides primitives that can be used to implement different services.
Advanced Network Laboratory 3 Kim, YangJung
•What is SIP? (cont.)What is SIP? (cont.)
₪SIP supports 5 facets of establishing and terminating multimedia communications:
User location: determination of the end system to be used for communicationUser availability: determination of the willingness of the called party to engage in communicationsUser capabilities: determination of the media and media parameters to be usedSession setup: "ringing", establishment of session parameters at both called and calling party
Session management: including transfer and termination of sessions, modifying session parameters, and invoking services
Advanced Network Laboratory 4 Kim, YangJung
• 1996– Mark Hadley’s SIP(Session Invitation Protocol)– Henning Schulzrinne’s SCIP(Simple Conference Control Protocol)
• 1999. 3.– RFC 2543 by IETF MMUSIC WG
• 1999. 9.– IETF SIP WG
• 2000. 6– RFC 2543bis
• 2002. 6– RFC 3261
•SIP Protocol updatesSIP Protocol updates
Advanced Network Laboratory 5 Kim, YangJung
•SIP Protocol updatesSIP Protocol updates₪ RFC2543: Session Initiation Protocol [Obsolete]
It is also an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Members in a session can communicate via multicast or via a mesh of unicast relations, or a combination of these.
₪ RFC3261: Session Initiation Protocol (SIP)
₪ RFC3262: SIP Reliable provisional response messaging: It is an extension to the SIP providing reliable provisional response messages. This extension uses the option tag 100rel and defines the Provisional Response ACKnowledgement (PRACK) method.
₪ RFC3263: Locating SIP server: It uses DNS procedures to allow a client to resolve a SIP Uniform Resource Identifier (URI) into the IP address, port, and transport protocol of the next hop to contact. It also uses DNS to allow a server to send a response to a backup client if the primary client has failed.
Advanced Network Laboratory 6 Kim, YangJung
•SIP Protocol updates (cont.)SIP Protocol updates (cont.)₪ RFC3264: An Offer/Answer Model with the Session Description Protocol (SDP): In the model, one participan
t offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective. This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session. The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).
₪ RFC3265: Session Initiation Protocol (SIP)-Specific Event Notification: It is an extension to the SIP. The purpose of this extension is to provide an extensible framework by which SIP nodes can request notification from remote nodes indicating that certain events have occurred.
₪ We need to note that RFC3265 is NOT intended to be a general-purpose infrastructure for all classes of event subscription and notification.
Advanced Network Laboratory 7 Kim, YangJung
•SIP Protocol structureSIP Protocol structure
Syntax and Encoding
Transport
Transaction
Transaction User (TU)
₪ SIP is structured as a layered protocol.
₪ Each layer is independent but loosely coupled
₪ Lower layer is encoded in BNF₪ Transport layer defines how client
and server send and receives responses
₪ Transaction layer handles application-layer retransmissions, matching of responses to requests, and application-layer timeouts.
₪ Transaction users comprise all SIP entities except stateless proxies.
Advanced Network Laboratory 8 Kim, YangJung
•SIP Protocol structureSIP Protocol structure
₪ SIP protocol defines several methods:₪ Methods in SIP RFC INVITE: When a user agent client desires to initiate a session (for example, a
udio, video, or a game), it formulates an INVITE request and sends it to one or more user agent server (UAS).
re-INVITE: An INVITE request sent within an existing dialog is known as a re-INVITE to changing addresses or ports, adding a media stream, deleting a media stream, and so on.
REGISTER: Registration entails sending a REGISTER request to a special type of UAS known as a Registrar/Location server.
ACK: Used to facilitate reliable message exchange for INVITEs. CANCEL: Used to cancel an invitation. BYE: The BYE request is used to terminate a specific session or attempted s
ession. OPTIONS: The SIP method OPTIONS allows a UA to query another UA or a pro
xy server as to its capabilities. This allows a client to discover information about the supported methods, content types, extensions, codecs, etc. without "ringing" the other party.
Advanced Network Laboratory 9 Kim, YangJung
•SIP Protocol structure (cont.)SIP Protocol structure (cont.)
₪ Methods extensions from other RFC’s SIP method info: Extension in RFC 2976 SIP method notify: Extension in RFC 2848 PINT SIP method subscribe: Extension in RFC 2848 PINT SIP method unsubscribe: Extension in RFC 2848 PINT SIP method update: Extension in RFC 3311 SIP method message: Extension in RFC 3428 SIP method refer: Extension in RFC 3515 SIP method prack: Extension in RFC 3262 SIP Specific Event Notification: Extension in RFC 3265 SIP Message Waiting Indication: Extension in RFC 3842 SIP method PUBLISH: Extension is RFC 3903
Advanced Network Laboratory 10 Kim, YangJung
•SIP Protocol structure (cont.)SIP Protocol structure (cont.)
₪ SIP responses codes 1xx: Provisional — request received, continuing to process the
request; 2xx: Success — the action was successfully received,
understood, and accepted; 3xx: Redirection — further action needs to be taken in order to
complete the request; 4xx: Client Error — the request contains bad syntax or cannot
be fulfilled at this server; 5xx: Server Error — the server failed to fulfill an apparently
valid request; 6xx: Global Failure — the request cannot be fulfilled at any
server.
Advanced Network Laboratory 11 Kim, YangJung
•SIP Protocol structure (cont.)SIP Protocol structure (cont.)
₪ SIP responses example with SDP
Advanced Network Laboratory 12 Kim, YangJung
•SIP ArchitectureSIP Architecture
₪ Fundamental Message Procedures
Advanced Network Laboratory 13 Kim, YangJung
1
2
3
45
67
8
9
10
11
12
SIP Client (UAC:User Agent Client)
SIP RedirectServer
SIP Proxy
SIP ProxySIP Client
(User Agent Server)
Location Service
Request
Response
LocationServer
11
•SIP Architecture (E-to-E)SIP Architecture (E-to-E)
₪ End-to-End Scenario
Advanced Network Laboratory 14 Kim, YangJung
•SIP Users / Workgroups SIP Users / Workgroups
₪ IP Telephony (VoIP and beyond) AVT - Audio/Video Transport (RTP)
http://www.ietf.org/html.charters/avt-charter.html
IPTEL- IP Telephony (CPL, GW location)
SIP- signaling for call setup
MMUSIC– Multiparty Multimedia Session Control (SIP, SDP, conferencing)
SIPPING- Session Initiation Proposal Investigation SIP Vonage
Advanced Network Laboratory 15 Kim, YangJung
•SIP Users / Workgroups (cont.)SIP Users / Workgroups (cont.)
₪ Instant Messaging and Presence IMPP - Instant Messaging and Presence Protocol
SIMPLE - SIP for Instant Messaging and Presence Leveraging Extensions
XMPP - open, XML-based protocol for near real-time extensible messaging and presence
₪ SIP typically is used over UDP or TCP, ₪ it could, without technical changes, be run ₪ over IPX, or carrier pigeons, frame relay, ₪ ATM AAL5 or X.25, in rough order of ₪ desirability.
Advanced Network Laboratory 16 Kim, YangJung
•SIPSIP
₪₪ ₪ PART II PART II ₪₪
Advanced Network Laboratory 17 Kim, YangJung
•SIP OperationSIP Operation
Advanced Network Laboratory 18 Kim, YangJung
Alice’ssoftphone
atlanta.comproxy
biloxy.comproxy
Bob’sSIP Phone
100 F3
INVITE F1
180 F7
INVITE F2
100 F5INVITE F4
180 F6
180 F8 200 OK F9200 OK F10
200 OK F11
ACK F12
Media Session
BYE F13
200 OK F14
•SIP in a similar DomainSIP in a similar Domain
₪
NON-SIP Queried (i.e. Database Lookup )
SIP Signaling
RIP
Domain A Register and Location Service
Domain ASIP Proxy Server
USER A“Caller”
SIP Phone
SIP Soft Client Phone
USER B“Callee”
43
2 5
61
1. Call USER B
2. Query “Where is USER B?”
3. Response “USER B SIP address”4. ‘Proxied’ Call
5. Response
6. Response
7. Multimedia Channel established
7
Advanced Network Laboratory 19 Kim, YangJung
•SIP in a dissimilar DomainSIP in a dissimilar Domain
₪
Domain A Register and Location Service
SIP Soft Client Phone
SIP Phone
USER B“Callee”
USER A“Caller”
SIP Phone
Domain BSIP Proxy Server
Domain B Register and Location Service SIP Redirect Server
1
24
3
5
6
78
9
Domain ASIP Proxy Server
1011
DOMAIN A.COM
DOMAIN B.COM
Advanced Network Laboratory 20 Kim, YangJung
•SIP in a dissimilar DomainSIP in a dissimilar Domain
1. Call USER B2. Query “How to get to USER B, DOMAIN B?”3. Response “Address of Proxy controller for Domai
n.”4. Call “Proxied” to SIP Proxy for Domain B.5. Query “Where is USER B?”6. USER B’s address7. Proxied call8. Response9. Response 10. Response11. Multimedia Channel established
Advanced Network Laboratory 21 Kim, YangJung
•Proxy Servers in SIPProxy Servers in SIP
₪ SIP is a HTTP-like, textual, client server protocol, using email – like address.
₪ Proxy servers take care of setting up sessions betweens users.₪ Signals and media takes different path
SIP Phone
SIP Proxy Server
DNS SRV Query? iptel.orgReply: IP Address of iptel.org SIP server
INVITE: sip:[email protected]: sip:[email protected];tag=12To: sip: [email protected]: [email protected]
INVITE: sip:[email protected]: sip:[email protected];tag=12To: sip: [email protected]: [email protected]
OK 200From: sip:[email protected];tag=12To: sip: [email protected]; tag 34Call-ID: [email protected]
OK 200From: sip:[email protected];tag=12To: sip: [email protected]; tag 34Call-ID: [email protected]
[email protected] Sip:[email protected]
Media Stream
Advanced Network Laboratory 22 Kim, YangJung
•Proxy Servers in SIP (cont.)Proxy Servers in SIP (cont.)
SIP Proxy Server
PSTN Gateway
SMS Gateway
Applications
IP Phone pool Other Domains
₪Proxy servers maintain central role in SIP network.
₪They glue SIP components such as phones, gateways, applications and other domains.
₪They provide place for service implementation (missed calls, forwarding, screening, etc.) and service access control
Advanced Network Laboratory 23 Kim, YangJung
• Therefore, SIP should be used in conjunction with other protocols in order to provide complete services to the users. However, the basic functionality and operation of SIP does not depend on any of these protocols.
₪ SIP is not a vertically integrated communications system. SIP is rather a component that can be used with other IETF protocols to build a complete multimedia architecture. Typically, these architectures will include protocols are:
Real-time Transport Protocol (RTP) (RFC 1889): for transporting real-time data and providing QoS feedback.Real-Time streaming protocol (RTSP) (RFC 2326): for controlling delivery of streaming media.Media Gateway Control Protocol (MEGACO) (RFC 3015): for controlling gateways to the Public Switched Telephone Network (PSTN) and Session Description Protocol (SDP) (RFC 2327): for describing multimedia sessions.
•Complimentary protocols in SIPComplimentary protocols in SIP
Advanced Network Laboratory 24 Kim, YangJung
•Comparison SIP and H.323
Advanced Network Laboratory 25 Kim, YangJung
SIP H.323
speed High (simplicity , use UDP)
Low (complexity, use TCP)
multicast Yes No
URL usage URL itself (H.225)URL in H.323protocol
Call prioritization The priority header field
Overlook
Encoding Text encoding Binary encoding(ASN.1)
•Concerns about SIPConcerns about SIP
₪ NAT Traversal: SIP will make networks more vulnerable, the source may be the firewall and NAT (Network Address Translator) issue. SIP communication doesn't traverse most installed firewalls and NATs.
₪ Built-in delay: VOIP/SIP by it's nature has some built in delay. It digitizes small blocks of your conversation, compresses it, sends it to a PBX in packet form which intern converts it from one format to another if needed, then sends the packets on to their destination which decompress and converts it back into voice.
Advanced Network Laboratory 26 Kim, YangJung
•SIP a new generation of serviceSIP a new generation of service
₪ Virtually eliminates long distance cost
₪ More features available in VoIP than conventional phones.
₪ For businesses, VoIP is a great way to manage operating costs in the office giving you economical, reliable, scalable, non pro priority phone system options.
₪ SIP makes it easier to develop and debug applications leading to lower product costs for equipment providers.
₪SIP a new generation of service to the future .!
Advanced Network Laboratory 27 Kim, YangJung
•ReferencesReferences
₪ Iptel.org http://www.iptel.org
₪ RFC search engine http://www.rfc-editor.org/cgi-bin/rfcsearch.pl
₪ SIP http://www.cs.columbia.edu/sip/overview.html
₪ SIP Knowledge http://www.sipknowledge.com/SIP_RFC.htm
₪ VoIP Info. http://www.voip-info.org/wiki-SIP
Advanced Network Laboratory 28 Kim, YangJung
•Q & A SessionQ & A Session
₪₪ ₪ Any Questions? Any Questions? ₪₪₪₪ ₪ Any Questions? Any Questions? ₪₪
Advanced Network Laboratory 29 Kim, YangJung