* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download RFC 3261+ Session Initiation Protocol (SIP)
Survey
Document related concepts
Distributed firewall wikipedia , lookup
Dynamic Host Configuration Protocol wikipedia , lookup
Computer network wikipedia , lookup
Airborne Networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Extensible Authentication Protocol wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet protocol suite wikipedia , lookup
Remote Desktop Services wikipedia , lookup
Hypertext Transfer Protocol wikipedia , lookup
Zero-configuration networking wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
Transcript
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 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 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. Advanced Network Laboratory Transaction User (TU) Transaction Transport Syntax and Encoding 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 SIP SIP SIP SIP SIP SIP SIP SIP SIP SIP method info: Extension in RFC 2976 method notify: Extension in RFC 2848 PINT method subscribe: Extension in RFC 2848 PINT method unsubscribe: Extension in RFC 2848 PINT method update: Extension in RFC 3311 method message: Extension in RFC 3428 method refer: Extension in RFC 3515 method prack: Extension in RFC 3262 Specific Event Notification: Extension in RFC 3265 Message Waiting Indication: Extension in RFC 3842 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 1 11 6 11 12 7 SIP Proxy 10 8 SIP Client (UAC:User Agent Client) Advanced Network Laboratory 9 SIP Proxy SIP Client (User Agent Server) 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 INVITE F1 100 F3 Bob’s SIP Phone biloxy.com proxy atlanta.com proxy INVITE F2 100 F5 INVITE F4 180 F6 180 F7 180 F8 200 OK F10 200 OK F9 200 OK F11 ACK F12 Media Session BYE F13 200 OK F14 Advanced Network Laboratory 18 Kim, YangJung • SIP in a similar Domain ₪ 3 4 2 5 SIP Soft Client Phone USER B “Callee” 6 Domain A Register and Location Service 7 1 Domain A SIP Proxy Server SIP Phone 1. Call USER B USER A “Caller” 2. Query “Where is USER B?” 3. Response “USER B SIP address” 4. ‘Proxied’ Call 5. Response 6. Response NON-SIP Queried (i.e. Database Lookup ) SIP Signaling 7. Multimedia Channel established Advanced Network Laboratory RIP 19 Kim, YangJung • SIP in a dissimilar Domain ₪ DOMAIN A.COM SIP Soft Client Phone SIP Phone 1 USER A “Caller” Domain A SIP Proxy Server Domain A Register and Location Service 10 4 11 2 9 3 8 7 USER B “Callee” 6 SIP Phone DOMAIN B.COM Advanced Network Laboratory Domain B SIP Proxy Server 5 Domain B Register and Location Service 20 SIP Redirect Server Kim, YangJung • SIP in a dissimilar Domain 1. 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:[email protected] From: sip:[email protected];tag=12 To: sip: [email protected] Call-ID: [email protected] INVITE: sip:[email protected] From: sip:[email protected];tag=12 To: sip: [email protected] Call-ID: [email protected] SIP Phone OK 200 OK 200 From: sip:[email protected];tag=12 From: sip:[email protected];tag=12 To: sip: [email protected]; tag 34SIP Proxy Server To: sip: [email protected]; tag 34 Call-ID: [email protected] Call-ID: [email protected] [email protected] Sip:[email protected] Media Stream Advanced Network Laboratory 22 Kim, YangJung • Proxy Servers in SIP (cont.) ₪Proxy servers maintain central role in SIP network. SMS Gateway ₪They glue SIP components such as phones, gateways, applications and other domains. PSTN Gateway Applications ₪They provide place for service implementation (missed calls, forwarding, screening, etc.) and service access control SIP Proxy Server IP Phone pool Advanced Network Laboratory Other Domains 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 realtime 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 SIP speed multicast URL usage High (simplicity , use UDP) Yes H.323 Low (complexity, use TCP) No URL itself (H.225)URL in H.323protocol Call prioritization The priority header field Overlook Encoding Text encoding Advanced Network Laboratory 25 Binary encoding(ASN.1) 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/cgibin/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? ₪ Advanced Network Laboratory 29 Kim, YangJung