460 likes | 908 Views
RFC 3261+ Session Initiation Protocol (SIP). AN Lab May 19, 2006. Kim, YangJung. Presentation Outline. ₪ PART I ₪ What is SIP? SIP Protocol Updates SIP Protocol Structure SIP Users / Work groups ₪ PART II ₪ SIP in a similar Domain SIP in a dissimilar Domain
E N D
RFC 3261+Session Initiation Protocol (SIP) AN Lab May 19, 2006 • Kim, YangJung
Presentation Outline • ₪ PART I ₪ • What is SIP? • SIP Protocol Updates • SIP Protocol Structure • SIP Users / Work groups • ₪ 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? • 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 encoding • SIP 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.) • SIP supports 5 facets of establishing and terminating multimedia communications: • User location: determination of the end system to be used for communication • User availability: determination of the willingness of the called party to engage in communications • User capabilities: determination of the media and media parameters to be used • Session 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
SIP Protocol updates • 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 Advanced Network Laboratory 5 Kim, YangJung
SIP 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.) • RFC3264: An Offer/Answer Model with the Session Description Protocol (SDP): In the model, one participant 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 isan 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 structure • 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. Transaction User (TU) Transaction Transport Syntax and Encoding Advanced Network Laboratory 8 Kim, YangJung
SIP Protocol structure • SIP protocol defines several methods: • Methods in SIP RFC • INVITE: When a user agent client desires to initiate a session (for example, audio, 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 session. • OPTIONS: The SIP method OPTIONS allows a UA to query another UA or a proxy 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.) • 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 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 responses example with SDP Advanced Network Laboratory 12 Kim, YangJung
SIP Architecture • Fundamental Message Procedures Request SIP Redirect Server Response Location Service 2 Location Server 3 5 4 6 1 11 7 11 12 10 SIP Proxy 8 SIP Client (UAC:User Agent Client) 9 SIP Proxy SIP Client (User Agent Server) Advanced Network Laboratory 13 Kim, YangJung
SIP Architecture (E-to-E) • End-to-End Scenario Advanced Network Laboratory 14 Kim, YangJung
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.) • 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
SIP • ₪ PART II ₪ Advanced Network Laboratory 17 Kim, YangJung
SIP Operation Alice’s softphone biloxy.com proxy Bob’s SIP Phone atlanta.com proxy INVITE F1 INVITE F4 INVITE F2 ACK F12 200 OK F11 200 OK F9 200 OK F10 100 F3 180 F6 180 F8 100 F5 180 F7 Media Session BYE F13 200 OK F14 Advanced Network Laboratory 18 Kim, YangJung
SIP in a similar Domain 3 4 5 2 6 7 1 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 Advanced Network Laboratory 19 Kim, YangJung
Advanced Network Laboratory 20 Kim, YangJung • SIP in a dissimilar Domain DOMAIN A.COM 1 10 4 2 11 9 3 8 7 6 5 DOMAIN B.COM
SIP in a dissimilar Domain • Call USER B • 2.Query “How to get to USER B, DOMAIN B?” • 3. Response “Address of Proxy controller for Domain.” • 4. Call “Proxied” to SIP Proxy for Domain B. • 5. Query “Where is USER B?” • 6. USER B’s address • 7. Proxied call • 8. Response • 9. Response • 10. Response • 11. Multimedia Channel established Advanced Network Laboratory 21 Kim, YangJung
Proxy 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 DNS SRV Query? iptel.org Reply: IP Address of iptel.org SIP server INVITE: sip:mike@195.37.78.173 From: sip:Caller@sip.com;tag=12 To: sip: mike@iptel.org Call-ID: 345678@sip.com INVITE: sip:mike@iptel.org From: sip:Caller@sip.com;tag=12 To: sip: mike@iptel.org Call-ID: 345678@sip.com OK 200 From: sip:Caller@sip.com;tag=12 To: sip: mike@iptel.org; tag 34 Call-ID: 345678@sip.com OK 200 From: sip:Caller@sip.com;tag=12 To: sip: mike@iptel.org; tag 34 Call-ID: 345678@sip.com Caller@sip.com Sip:mike@195.37.78.173 Media Stream Advanced Network Laboratory 22 Kim, YangJung
Proxy Servers in SIP (cont.) • 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 SMS Gateway PSTN Gateway Applications IP Phone pool Other Domains Advanced Network Laboratory 23 Kim, YangJung
Complimentary protocols in SIP • 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. • 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. Advanced Network Laboratory 24 Kim, YangJung
Comparison SIP and H.323 Advanced Network Laboratory 25 Kim, YangJung
Concerns 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 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
References • 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 Session • ₪ Any Questions? ₪ • ₪ Any Questions? ₪ Advanced Network Laboratory 29 Kim, YangJung