Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 109 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
109
Dung lượng
3,06 MB
Nội dung
SIP protocol and applications Ng Tai Hung Hanoi University of Technology, HUT Introduction IP telecommunications Integration of services under user control Services a la PSTN/PBX POTS IN CS-1, CS-2 PBX & Centrex User control over: All addressable devices Call parties preferences Wideband codecs Services a la Internet presence Voice and text chatting messaging Voice, data, video Multiparty services conferencing teleedukacja gaming More to be created !!! Combinational services: Internet-PSTN: Click-to-call, ICW, unified messaging IP telephony ingredients IP telephony components: Voice/video codecs QoS solutions for IP environment Protocols enabling voice transfer in a connectionless IP packet network Signaling - Transport protocols Signalling protocols Session control Location Not multimedia streaming E.g SIP & H.323 SIP – basics SIP: Session Initiation Protocol Application Layer Signaling Protocol Used to establish, modify, and terminate multimedia sessions Part of Internet Multimedia Architecture Can use UDP, TCP, TLS, SCTP, etc Based on HTTP (Web) Applications include (but not limited to): - Similar text-based structure Uses URIs (Uniform Resource Indicators) Voice, video, gaming, instant messaging, presence, call control, etc History of SIP in a nutshell Internet Engineering Task Force (IETF) protocol Inventors: M Handley, H Schulzrinne, E Schooler, and J Rosenberg Became “Proposed Standard” and RFC 2543 in March 1999 in MMUSIC WG Separate SIP WG established in September 1999 Now new SIPPING (applications) and SIMPLE (presence and instant messaging) WGs using SIP RFC2543bis-09 I-D became RFC 3261 in February 2002 (although not yet published) - Added four new authors: G Camarillo, A Johnston, J Peterson, and R Sparks Entire spec rewritten for clarity, but some new features Mostly backwards compatible with RFC 2543 SIP: basic ideas behind Internet Standard IETF - http://www.ietf.org RFC 3261 and many other related RFCs Usage of internet addressing HTTP extension Text protocol Transport protocol independence - URL, DNS, proxy Taking advantage of rich features of internet TCP, UDP, X.25, FR, ATM, … Support for multicast SIP enabled network Forking Network Proxy Gateway INVITE INVITE PSTN Local Proxy INVITE Local Proxy Mobile network SUBSCRIBE PBX INVITE Media, messages Frame Relay, ATM H.323, H.248 NOTIFY Caller, Watcher - Called, Presentity non-IP SIP enabled network SIP Endpoints – devices that are connected to the Internet and understand the SIP protocol SIP Servers – a computer that performs special functions at the request of SIP endpoints - Phones & PCs Gateways to other networks Can initiate requests and can be on a different network from the endpoint it serves SIP Registration Example DNS Server Update database: B = B@2.3.4.5 REGISTER Contact: B@2.3.4.5 - OK Outbound Proxy Server Outbound Proxy Server User Agent A Location Server Location Server database update is confirmed Registration is confirmed with a 200 OK response 200 OK Contact: B@2.3.4.5 User Agent B SIP Presence Example DNS Server Presence Server 13 NOTIFY Outbound Proxy Server 15 NOTIFY User Agent A - 14 NOTIFY 17 200 OK 16 200 OK 13 Presence Server learns of B’s new status from the Location 18 200 OK Server and sends a NOTIFY containing new status of B (Signed In) Inbound Proxy 14 & 15 NOTIFY is proxied Server back to A 16 A acknowledges receipt of notification with 200 OK 17 & 18 200 OK is proxied back to Presence Server User Agent B SIP Instant Message Scenario DNS Server Location Server LS Query: B? Outbound Proxy Server MESSAGE Response: sip:B@2.3.4.5 Inbound Proxy Server 200 OK MESSAGE User Agent A - 200 OK MESSAGE 200 OK User Agent B A sends an Instant Message to B saying “Can you talk now?” in a MESSAGE request 2., & MESSAGE request is proxied, Location Server queried Inbound Proxy forwards MESSAGE to B User Agent B responds with 200 OK & 200 OK is proxied back to A SIP Instant Message Scenario Location Server DNS Server LS Query: A? Response: sip:A@4.5.3.2 DNS Query: mci.com? Inbound Proxy Server MESSAGE Response: 5.6.7.8 Outbound Proxy Server 200 OK MESSAGE 200 OK MESSAGE User Agent A - 10 200 OK User Agent B B sends an Instant Message to A saying “Sure.” in a MESSAGE sent to A’s AOR URI & DNS Server is queried Outbound Proxy forwards MESSAGE to Inbound Server & Location Server is queried Inbound Proxy forwards to A User Agent A responds with 200 OK & 10 200 OK is proxied back to B SIP Call Setup Attempt Scenario DNS Server Location Server LS Query: B Outbound Proxy Server INVITE Contact: A SDP A Response: sip:B@2.3.4.5 Inbound Proxy Server 100 Trying INVITE Contact: A SDP A User Agent A - 100 Trying INVITE Contact: A SDP A User Agent B to A retries INVITE to B which routes through two Proxy Servers Location Server responds with the FQDN SIP URI of B’s SIP Phone Inbound Proxy Server forwards INVITE to B’s SIP Phone SIP Call Setup Scenario DNS Server Outbound Proxy Server Location Server 180 Ringing Inbound Proxy Server 10 180 Ringing 180 Ringing User Agent A - User Agent B User Agent B alerts B and sends 180 Ringing response & 10 180 Ringing is proxied back to A SIP Call Setup Scenario DNS Server Outbound Proxy Server 10 180 Ringing 180 Ringing - Inbound Proxy Server 12 200 OK Contact: B SDP B 13 200 OK Contact: B SDP B User Agent A Location Server 180 Ringing 11 B accepts call and User Agent B sends 200 OK response 12 & 13 200 OK is proxied back to A 11 200 OK Contact: B SDP B User Agent B SIP Call Setup Scenario DNS Server Outbound Proxy Server 10 180 Ringing Location Server 180 Ringing Inbound Proxy Server 12 200 OK Contact: B SDP B 13 200 OK Contact: B SDP B 180 Ringing Media session begins between A and B! 11 200 OK Contact: B SDP B 14 ACK Media (RTP) User Agent A - 14 ACK is sent by A to confirm setup call bypassing proxies User Agent B SIP Call Hold (re-INVITE) DNS Server Location Server Inbound Proxy Server Outbound Proxy Server 15 B places A on hold by sending a re-INVITE 16 A accepts with a 200 OK 17 B sends ACK to A No media between A and B 15 INVITE SDP a=sendonly 16 200 OK SDP A User Agent A - 17 ACK User Agent B SIP Call Transfer Scenario DNS Server Location Server Inbound Proxy Server Outbound Proxy Server 18 REFER Refer-To: sip:C@wcom.com 17 202 Accepted User Agent A - User Agent B 18 B transfers A to C using REFER 19 Transfer is accepted by A with 202 Accepted response SIP Call Transfer Scenario DNS Server LS Query: C? Outbound Proxy Server INVITE Contact: A Ref-By: B SDP A Location Server to A sends new Response: sip:C@6.7.8.9 INVITE to C which routes through two Proxy Servers Inbound Proxy Server 100 Trying INVITE Contact: A Ref-By: B SDP A 100 Trying INVITE Contact: A Ref-By: B SDP A Location Server responds with the FQDN SIP URI of C’s SIP Phone Inbound Proxy Server forwards INVITE to C’s SIP Phone User Agent C User Agent A - User Agent B SIP Call Transfer Scenario DNS Server Outbound Proxy Server 10 180 Ringing Location Server 180 Ringing Inbound Proxy Server 12 200 OK Contact: C SDP C 13 200 OK Contact: C SDP C 11 200 OK Contact: C SDP C 180 Ringing 14 ACK Media (RTP) User Agent C Media session between A and C begins User Agent A User Agent B - User Agent C alerts C and sends 180 Ringing response & 10 180 Ringing is proxied back to A 11 C accepts call and sends 200 OK response 12 & 13 200 OK is proxied back to A 14 ACK is sent by A to confirm setup call SIP Call Transfer Scenario DNS Server Location Server Inbound Proxy Server Outbound Proxy Server 20 Notification of successful transfer is sent to B in NOTIFY 21 B sends 200 OK response to NOTIFY 22 B hangs up by sending a BYE 23 200 OK response to BYE is sent 20 NOTIFY 21 200 OK 22 BYE User Agent A - 23 200 OK User Agent B Other SIP Methods in RFC 3261 CANCEL Used to terminate a pending session INVITE sent, and 1xx received, but no “final response” Can be sent by a proxy or User Agent Useful for “forking proxy” OPTIONS - Parallel search using multiple registration Contacts First successful wins, rest are cancelled Used to query capabilities of a Server or User Agent Very basic presence information SIP Method Extensions in other RFCs SUBSCRIBE/NOTIFY REFER by J Early media and preconditions, “The SIP UPDATE Method” I-D by J Rosenberg INFO - “Reliability of Provisional Responses in SIP” RFC 3262 Rosenberg & H Schulzrinne UPDATE “SIP Extensions for Instant Messaging” I-D by J Rosenberg et al PRACK “SIP REFER Method” I-D by R Sparks MESSAGE “SIP Events” RFC 3265 by A Roach Mid call signaling information, “The SIP INFO Method” RFC 2976 by S Donovan