Real-time Services BUPT/QMUL

Similar documents
Real-time Services BUPT/QMUL

TSIN02 - Internetworking

Transporting Voice by Using IP

Kommunikationssysteme [KS]

Multimedia in the Internet

RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

Overview. Slide. Special Module on Media Processing and Communication

CS519: Computer Networks. Lecture 9: May 03, 2004 Media over Internet

Mohammad Hossein Manshaei 1393

RTP/RTCP protocols. Introduction: What are RTP and RTCP?

Multimedia Applications. Classification of Applications. Transport and Network Layer

Lecture 14: Multimedia Communications

Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

EDA095 Audio and Video Streaming

4 rd class Department of Network College of IT- University of Babylon

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

13. Internet Applications 최양희서울대학교컴퓨터공학부

Outline. Multimedia is different Real Time Protocol (RTP) Session Description Protocol (SDP) Session Initiation Protocol (SIP)

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

Digital Asset Management 5. Streaming multimedia

Multimedia Protocols. Foreleser: Carsten Griwodz Mai INF-3190: Multimedia Protocols

RTP: A Transport Protocol for Real-Time Applications

VoIP. ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

Multimedia networks. Additional references. Jargon. Analog to Digital (S5 4.3) KR: Kurose and Ross chapter 7 (KR3: 3 rd ed)

Computer Networks. Wenzhong Li. Nanjing University

TODAY AGENDA. VOIP Mobile IP

Overview of the Session Initiation Protocol

Real Time Protocols. Overview. Introduction. Tarik Cicic University of Oslo December IETF-suite of real-time protocols data transport:

VoIP Basics. 2005, NETSETRA Corporation Ltd. All rights reserved.

Popular protocols for serving media

On the Scalability of RTCP Based Network Tomography for IPTV Services. Ali C. Begen Colin Perkins Joerg Ott

Internet Streaming Media

RTP Profile for TCP Friendly Rate Control draft-ietf-avt-tfrc-profile-03.txt

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Multimedia networking: outline

Department of Computer Science. Burapha University 6 SIP (I)

CS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007

Multimedia Networking

Transporting Voice by Using IP

ETSF10 Internet Protocols Transport Layer Protocols

Networking Applications

Media Communications Internet Telephony and Teleconference

TSIN02 - Internetworking

TSIN02 - Internetworking

EDA095 Audio and Video Streaming

Internet Streaming Media

Summary of last time " " "

Voice over IP (VoIP)

Basic Architecture of H.323 C. Schlatter,

ITTC Communication Networks The University of Kansas EECS 780 Multimedia and Session Control

Z24: Signalling Protocols

Transport protocols Introduction

Real-Time Control Protocol (RTCP)

Multimedia Networking

Outline Overview Multimedia Applications Signaling Protocols (SIP/SDP, SAP, H.323, MGCP) Streaming Protocols (RTP, RTSP, HTTP, etc.) QoS (RSVP, Diff-S

Multimedia Networking

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

EDA095 Audio and Video Streaming

Lecture 9: Media over IP

H.323. Definition. Overview. Topics

Multimedia Networking. Protocols for Real-Time Interactive Applications

Real-Time Transport Protocol (RTP)

RTP: A Transport Protocol for Real-Time Applications

The Transport Layer: User Datagram Protocol

Video Streaming and Media Session Protocols

Multimedia Networking Communication Protocols

Multimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!

Part 3: Lecture 3! Content and multimedia!

Ch 4: Multimedia. Fig.4.1 Internet Audio/Video

Overview of SIP. Information About SIP. SIP Capabilities. This chapter provides an overview of the Session Initiation Protocol (SIP).

Provides port number addressing, so that the correct destination application can receive the packet

Streaming (Multi)media

Latency and Loss Requirements! Receiver-side Buffering! Dealing with Loss! Loss Recovery!

Chapter 7 Multimedia Networking

Medical Sensor Application Framework Based on IMS/SIP Platform

File transfer. Internet Applications (FTP,WWW, ) Connections. Data connections


陳懷恩博士助理教授兼所長國立宜蘭大學資訊工程研究所 TEL: # 255

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Protocols supporting VoIP

Session Initiation Protocol (SIP)

Multimedia Communications

01-VOIP-ADVANCED Agenda Voice over IP RTP SIP

The Session Initiation Protocol

Multimedia Applications. Internet Technologies and Applications

Lecture 6: Internet Streaming Media

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

Service/company landscape include 1-1

CSC 4900 Computer Networks: Multimedia Applications

Multimedia Systems Multimedia Networking Part II Mahdi Amiri December 2015 Sharif University of Technology

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Packetizer. Overview of H.323. Paul E. Jones. Rapporteur, ITU-T Q2/SG16 April 2007

Multimedia and the Internet

Multimedia Communication

ITEC310 Computer Networks II

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

AIMD (additive-increase, multiplicative-decrease),

Mul$media Networking. #5 Real- Time Transport Protocol Semester Ganjil 2012 PTIIK Universitas Brawijaya

Transcription:

Real-time Services BUPT/QMUL 2015-06-02

Agenda Real-time services over Internet Real-time transport protocols RTP (Real-time Transport Protocol) RTCP (RTP Control Protocol) Multimedia signaling protocols H.323 SIP (Session Initiation Protocol) 2

Real-time services over Internet 3

Real-time Services Over Internet What is a real-time application? Multimedia application types Isochronous feature QoS requirements 4

What is a Real-time Application? A real-time application (RTA) is an application program that functions within a time frame that the user senses as immediate or current. (whatis.com) The latency must be less than a defined value, usually measured in seconds. Examples of RTA: Videoconference applications VoIP (Voice over Internet Protocol) Online gaming Some e-commerce transactions Chatting IM (Instant Messaging) 5

Multimedia Application Types Streaming Clients request audio/video files from servers and pipeline reception over the network and display User can control the operation (similar to VCR: pause, resume, fast forward, rewind, etc.) Delay: typically 1 to 10 seconds from client request until display start Unidirectional real-time Push service, similar to existing TV and radio stations, but delivery over the network Non-interactive, just listen/view Interactive real-time Phone conversation or video conference More stringent delay requirement than Streaming and Unidirectional because of real-time nature 6

Isochronous Services Isochronous: From Greek iso, equal + chronos, time. literally means to occur at the same time or at equal time intervals. (wikipedia) In information technology, isochronous pertains to processes that require timing coordination to be successful, such as voice and digital video transmission (whatis.com) A coder~decoder (codec) device coverts between an analogue signal and an equivalent digital representation The conventional telephone system uses the Pulse Code Modulation (PCM) standard that specifies taking an 8-bit sample every 125 µs (i.e., 8000 times per second). As a result, a digitized telephone call produces data at a rate of 64 Kbps. Data flow should be continuously and at a steady rate 7

Isochronous Services over Internet Internet is not isochronous Connectionless Best effort Adaptive routing analog signals sampling signals packetizing Internet t t t constant rate t inconstant rate 8

QoS Requirements of Real-time Services (1) Typically sensitive to delay (both end-to-end delay and jitter), but can tolerate packet loss E.g., delay < 150msec, jitter<10msec Jitter The Internet makes no guarantees about time of delivery of a packet Consider an IP telephony session: Speaker Hi The re, Wha t s up?? Listener Hi The re, Wha t s up? t 9

What is Jitter? A packet pair s jitter is the difference between the transmission time gap and the receive time gap Sender: Pkt i Pkt i+1 Receiver: Pkt i Pkt i+1 S i S i+1 jitter R i R i+1 t Desired time-gap: S i+1 - S i Received time-gap: R i+1 - R i Jitter between packets i and i+1: (R i+1 - R i ) - (S i+1 - S i ) 10

Jitter Compensation and Playback Delay Jitter compensation: playback buffer inconstant rate t K constant rate t Playback point Labeled K in the figure Is measured in time units of data to be played Incurs playback delay Choice of K Large K: playback delay is increased Small K: Jitter compensation effect is weakened 11

Key Technologies Signaling technology ITU-T H.323, IETF SIP for multimedia signaling control RTSP (Real-Time Streaming Protocol) for streaming media application control Media Coding technology G.723.1 G.729,G.729A etc. for voice compress coding MPEG-X for media compress coding Real-time transport technology RTP (Real-time Transport Protocol) QoS guarantee technology RTCP (RTP Control Protocol) RSVP (Resource ReSerVation Protocol)/IntServ DiffServ Others Synchronization technology Gateway interconnection Network management technology Security Billing 12

Multimedia Technologies over Internet 13

RTP / RTCP Real-time Transport Protocol RTP Control Protocol 14

RTP/RTCP Overview Defined in RFC 3550 etc. RTP RTCP Provides end-to-end transmission for real-time applications Does not define any QoS mechanism for real-time delivery RTP s companion control protocol Provides flow control and congestion control for RTP 15

RTP and RTCP RTP For data Important fields in header sequence number timestamp synchronization ID RTCP For QoS monitoring and control Provides feedback on the quality of the data distribution 16

RTP/RTCP Definitions (1) End system: An application that generates the content to be sent in RTP packets and/or consumes the content of received RTP packets. Mixer: An intermediate system that receives RTP packets from one or more sources, possibly changes the data format, combines the packets in some manner and then forwards a new RTP packet. Translator: An intermediate system that forwards RTP packets with their synchronization source identifier(ssrc) unchanged. E.g., devices that convert encoding without mixing Monitor: An application that receives RTCP packets sent by participants in an RTP session, in particular the reception reports, and estimates the current quality of service for distribution monitoring, fault diagnosis and long-term statistics. 17

RTP/RTCP Definitions (2) End System (SSRC 18) 18, DVI4 18, DVI4 CSRC Mixer (SSRC=12) 12, GSM, (18,39) End System (SSRC 39) 39, L16 Translator 39, GSM SSRC:Synchronization SouRCe Identifier CSRC:Contributing SouRCe Identifier 18

RTP Because an Internet is not isochronous, additional protocol support is required when sending digitized real-time data The basic sequence information that allows detection of lost, duplicate or reordered packets Each packet must carry a separate timestamp that tells the receiver the exact time at which the data in the packet should be played RTP provides these two facilities and is used to transmit digitized audio or video signals over an Internet RTP is suitable for applications transmitting real-time data, such as audio or video, over multicast or unicast network services Defined in RFC3550, RFC 3551 etc. 19

RTP and UDP RTP is a transport-level protocol RTP runs over UDP Each RTP message is encapsulated in a UDP datagram RTP does not use a reserved UDP port number A port is allocated for use with each session and the remote application must be informed about the port number Generally, RTP chooses an even numbered UDP port Application Layer RTP UDP IP Data Link Layer Physical Layer 20

RTP and QoS RTP does not address resource reservation and does not guarantee QoS for real-time services RSVP/IntServ DiffServ RTP does not guarantee reliable and sequenced delivery It assume that the underlying network is reliable and delivers packets in sequence Relies on RTCP to provide flow control and congestion control 21

RTP Packet Format (1) IP Packet UDP Datagram RTP Packet IP Header UDP Header RTP Header Payload 0 15 16 31 VER P X CC M PTYPE Sequence Number Timestamp Synchronization Source ID (SSRC) Contributing Source IDs (CSRC) Optional 22

Version 2 bits Padding 1 bit Extension 1 bit CC 4 bits Marker 1 bit Payload Type 7 bits Sequence Number 2 bytes Time stamp 4 bytes SSRC 4 bytes CSRCs 0-60 bytes RTP Packet Format (2) The first 12 octets are present in every RTP packet, while the list of CSRC identifiers is present only when inserted by a mixer. The fields have the following meaning: Version (V): 2 bits - This field identifies the version of RTP. The current version is two (2). Padding (P): 1 bit - If the padding bit is set, the packet contains one or more additional padding octets at the end which are not part of the payload. The last octet of the padding contains a count of how many padding octets should be ignored, including itself Extension (X): 1 bit - If the extension bit is set, the fixed header MUST be followed by exactly one header extension, with a defined format 23

Version 2 bits Padding 1 bit Extension 1 bit CC 4 bits Marker 1 bit Payload Type 7 bits Sequence Number 2 bytes Time stamp 4 bytes SSRC 4 bytes CSRCs 0-60 bytes RTP Packet Format (3) CSRC count (CC): 4 bits - The CSRC count contains the number of CSRC identifiers that follow the fixed header Marker (M): 1 bit - The interpretation of the marker is defined by a profile Payload type (PTYPE): 7 bits - This field identifies the format of the RTP payload and determines its interpretation by the application. (RFC3551) Sequence number: 16 bits - The sequence number increments by one for each RTP data packet sent, and may be used by the receiver to detect packet loss and to restore packet sequence 24

Payload Types 25

Version 2 bits Padding 1 bit Extension 1 bit CC 4 bits Marker 1 bit Payload Type 7 bits Sequence Number 2 bytes Time stamp 4 bytes SSRC 4 bytes CSRCs 0-60 bytes RTP Packet Format (4) Timestamp: 32 bits - The timestamp reflects the sampling instant of the first octet in the RTP data packet. The sampling instant MUST be derived from a clock that increments monotonically and linearly in time to allow synchronization and jitter calculations SSRC: 32 bits - The SSRC field identifies the synchronization source (the source of a RTP packet stream). i.e. mixer. CSRC list: 0 to 15 items, 32 bits each - The CSRC list identifies the contributing sources (sources before mixing) for the payload contained in this packet. The number of identifiers is given by the CC field. 26

SSRC vs. CSRC SSRC = s1 SSRC = s1 SSRC = s1 SSRC = s2 SSRC = s3 s1 s1 s2 SSRC = mixer CSRC1 = s1 CSRC2 = s2 CSRC3 = s3 translator s3 mixer 27

RTCP RTCP is a companion protocol and integral part of RTP. It provides control functionality Primary function provide feedback on the quality of the data distribution exchanged between sources and destinations of multimedia information Usage of the feedback report Be directly useful for control of adaptive encodings Allows receivers /monitors to diagnose faults in the distribution RTCP messages are encapsulated in UDP for transmission RTCP-port = RTP-port+1 28

RTCP Packet Types Type Name Description 200 SR Sender Report transmission & reception statistics 201 RR Receiver Report reception statistics 202 SDES Source DEScription Source description items 203 BYE Indicates end-of-participation 204 APP application-specific functions Typically, several RTCP packets of different types are transmitted in a single UDP packet 29

RTCP Packets-SR includes SSRC of sender identify source of data NTP timestamp when report was sent RTP timestamp corresponding RTP time packet count total number sent octet count total number sent followed by zero or more receiver reports example: source 1 reports, there are 2 other sources SR SSRC sender report RTCP packet SSRC receiver receiver report report source 2 source 3 SSRC 30

RTCP Packets-RR includes SSRC of source identify the source to which this RR block pertains fraction lost since previous RR (SR) sent cumul # of packets lost long term loss highest seq # received compare losses interarrival jitter smoothed interpacket distortion LSR time when last SR heard DLSR delay since last SR 31

RTCP Packet Types SR (1) 0 V P 15 16 31 RC PT=SR length SSRC of sender NTP timestamp, hi-word NTP timestamp, lo-word RTP timestamp sender s packet count sender s octet count SSRC1 (SSRC of source 1) frac. lost cum. no. of pkts lost ext. highest seq. n. recv d inter-arrival jitter last SR NTP timestamp (part) delay since last SR PART I: Header PART II: Sender information PART III: multiple report blocks possible in a single report 32

RTCP Packet Types SR (2) V P RC PT=SR SSRC of sender length PART I: Header Version (V): 2 bits - Identifies the version of RTP, which is the same in RTCP packets as in RTP data packets. The current version is two (2) Padding (P): 1 bit similar to P field in RTP packets Reception report count (RC): 5 bits - The number of report blocks contained in this packet Packet type (PT): 8 bits - Contains the constant 200 to identify this as an RTCP SR packet. Length: 16 bits - The length of this RTCP packet in 32-bit words minus one, including the header and any padding. SSRC: 32 bits - The synchronization source identifier for the originator of this SR packet 33

RTCP Packet Types SR (3) NTP timestamp, hi-word NTP timestamp, lo-word RTP timestamp sender s packet count sender s octet count PART II: Sender Information (summarizes the data transmissions from this sender) NTP timestamp: 64 bits an absolute timestamp of the data sending time RTP timestamp: 32 bits relative timestamp referring to the current RTP flow Sender's packet count: 32 bits - The total number of RTP data packets transmitted by the sender since starting transmission up until the time this SR packet was generated Sender's octet count: 32 bits - The total number of payload octets (i.e., not including header or padding) transmitted in RTP data packets by the sender since starting transmission up until the time this SR packet was generated 34

RTCP Packet Types SR (4) PART III: Report Blocks SSRC_n (source identifier): 32 bits Fraction lost: 8 bits, fraction of packets lost since last report was sent Cumulative number of packets lost: 24 bits, cumulative number of lost packets since the beginning of reception Extended highest sequence number received: 32 bits Inter-arrival jitter: 32 bits frac. lost SSRC_n cum. no. of pkts lost ext. highest seq. n. recv d inter-arrival jitter last SR NTP timestamp (part) delay since last SR Last SR timestamp (LSR): 32 bits, NTP timestamp of the last sender report received from the source Delay since last SR (DLSR): 32 bits, Delay between receiving the last SR from this source and sending this RR 35

RTCP Packet Types RR multiple report blocks possible in a single report 0 V P 16 31 RC PT=RR length SSRC of packet sender SSRC1 (SSRC of source 1) frac. lost cum. no. of pkts lost ext. highest seq. n. recv d inter-arrival jitter last SR NTP timestamp (part) delay since last SR Difference between RR and SR Packet type code SR includes a sender information section for use by active senders, while RR does not have. 36

RTCP Packet Types SDES Used by sources and destinations to identify themselves SDES may contain: CNAME: user identifier (user@host.domain) NAME: name of the person using the application EMAIL PHONE LOC: geographical location of the user TOOL: application name and version generating the stream NOTES Header Chunk 1 Chunk 2 0 V=2 P 15 SC PT=SDES 16 SSRC/CSRC_1 SDES Items SSRC/CSRC_2 SDES Items length 31 37

Multimedia Signaling Protocols 38

H.323 Overview H.323 Describes terminals and other entities that provide multimedia communications services over Packet Based Networks (PBN) which may not provide a guaranteed Quality of Service. H.323 entities may provide real-time audio, video and/or data communications (from ITU-T Recommendation H.323 Version 4) Defined by ITU-T Actually is composed of a set of protocols 39

H.323 Protocol Stack H.323 Protocol Stack Media Data/Fax Call Control and Signaling Audio Codec G.711 G.723 G.729 Video Codec H.261 H.263 RTCP T.120 T.38 H.225 Q.931 H.225 RAS H.245 RTP UDP TCP TCP UDP TCP IP 40

H.323 Components (1) Gatekeeper Multipoint Control Unit Terminal Packet Based Networks Gateway Circuit Switched Networks 41

H.323 Components (2) H.323 Terminals: client endpoints that must support: H.225 call control signaling. H.245 channel control signaling. RTP/RTCP protocols for media packets. Audio codecs Video codecs support is optional H.323 Gateway: provides translation Provide translation between entities in a packet switched network (e.g. IP network) and circuit switched network (e.g., PSTN network). Provide transmission formats translation, communication procedures translation, H.323 and non-h.323 endpoints translations or codec translation. 42

H.323 Components (3) H.323 Gatekeepers Provide following functions Address translation. Admission control. Bandwidth control. Zone management. Optional: Call control signaling, Call authorization, Bandwidth management, Call management Gatekeepers are optional but if present in a H.323 system, all H.323 endpoints must register with the gatekeeper and receive permission before making a call H.323 MCU (Multipoint Control Unit) Providing support for conferences of three or more endpoints. A MCU consists of: Multipoint Controller (MC) provides control functions. Multipoint Processor (MP) receives and processes audio, video and/or data streams 43

Basic H.323 Call Procedure (with 2 Gatekeepers) Gatekeeper A ACF 4 LRQ LCF 5 Gatekeeper B ACF 1 3 6 9 8 1 IP Network RRQ/RCF RRQ/RCF 2 ARQ V Gateway A 7 H.225 (Q.931) Setup H.225 (Q.931) 10 Alert and Connect 11 H.245 12 RTP V ARQ Gateway B 10 Phone A RRQ/RCF: Registration Request/Confirm LRQ/LCF: Location Request/Confirm ARQ/ACF: Admission Request/Confirm Phone B 44

Simplified H.323 Call Setup Procedure (with 1 Gatekeeper) Terminal A Gatekeeper Terminal B 1. ARQ 2. ACF 3. SETUP 4. Call Proceeding 7.Alerting 8.Connect H.245 Messages RTP Media Path 5. ARQ 6. ACF RAS messages ARQ Admission Request ACF Admission Confirm RAS messages Call Signaling Messages 45

SIP Overview Session Initiation Protocol - An application layer signaling protocol that defines initiation, modification and termination of interactive, multimedia communication sessions between users (from RFC 3261) Defined in RFC 3261 etc. Based on TCP or UDP 46

SIP Architecture SIP Components Location Server Redirect Server Registrar Server PSTN User Agent Proxy Server Proxy Server Gateway 47

SIP Components (1) UA (User Agent): An application that initiates, receives and terminates calls UAC (User Agent Clients) An entity that initiates a call UAS (User Agent Server) An entity that receives a call Both UAC and UAS can terminate a call Proxy Server An intermediary program that acts as both a server and a client to make requests on behalf of other clients. Requests are serviced internally or by passing them on, possibly after translation, to other servers. Interprets, rewrites or translates a request message before forwarding it 48

SIP Components (2) Redirect Server A server that accepts a SIP request, maps the address into zero or more new addresses and returns these addresses to the client. Registrar Server A server that accepts REGISTER requests. The register server may support authentication. A registrar server is typically co-located with a proxy or redirect server and may offer location services. Location Server A location server is used by a SIP redirect or proxy server to obtain information about a called party s possible location(s). 49

SIP Messages Methods and Responses SIP components communicate by exchanging SIP messages SIP Methods SIP Responses INVITE Initiates a call by inviting user to participate in session. ACK - Confirms that the client has received a final response to an INVITE request. BYE - Indicates termination of the call. 1xx - Informational Messages. 2xx - Successful Responses. 3xx - Redirection Responses. 4xx - Request Failure Responses. 5xx - Server Failure Responses. 6xx - Global Failures Responses. CANCEL - Cancels a pending request. REGISTER Registers the user agent. OPTIONS Used to query the capabilities of a server. 50

SIP Headers SIP borrows much of the syntax and semantics from HTTP. A SIP messages looks like an HTTP message message formatting, header and MIME support. An example SIP header: Startline route dialog -------------------------------------------------------- SIP Header -------------------------------------------------------- INVITE sip:5120@192.168.36.180 SIP/2.0 Via: SIP/2.0/UDP 192.168.6.21:5060 From: sip:5121@192.168.6.21 To: <sip:5120@192.168.36.180> Call-ID: c2943000-e0563-2a1ce-2e323931@192.168.6.21 CSeq: 100 INVITE Expires: 180 User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled Accept: application/sdp Contact: sip:5121@192.168.6.21:5060 Content-Type: application/sdp 51

SIP Addressing The SIP address is identified by a SIP URL, in the format: user@host Examples of SIP URLs: sip:hostname@vovida.org sip:hostname@192.168.10.1 sip:14083831088@vovida.org 52

SIP Service Example (with 1 proxy server) Registrar Redirect Location SIP Servers/ Services REGISTER Here I am 4 3xx Redirection They moved, try this address 3 Where is this name/phone#? SIP Proxy 1 2 INVITE I want to talk to another UA 5 Proxied INVITE I ll handle it for you SIP User Agents SIP User Agents SIP-GW 53

Example SIP Call Procedure (with 2 proxy servers) Call Setup Media Path User Agent INVITE 180 (Ringing) 200 (OK) ACK Proxy Server Location/Redirect Server Proxy Server User Agent INVITE 302 (Moved Temporarily) ACK INVITE INVITE 302 (Moved Temporarily) ACK 180 (Ringing) 200 (OK) ACK RTP MEDIA PATH INVITE 180 (Ringing) 200 (OK) ACK Call Teardown BYE BYE BYE 200 (OK) 200 (OK) 200 (OK) 54

SIP Integration With IETF Protocols SIP can works with existing IETF protocols, for example: RSVP to reserve network resources. RTP / RTCP to transport real time data and provide QOS feedback. RTSP for controlling delivery of streaming media. SAP (Session Advertisement Protocol) for advertising multimedia session via multicast SDP (Session Description Protocol) for describing multimedia sessions 55

Philosophy Reliability Message Encoding Addressing H.323 vs. SIP H.323 SIP Designed for multimedia communication over different types of networks Designed to handle failure of network entities Encodes in compact binary format Flexible addressing scheme using URLs and E.164 numbers IM Support No Yes Architecture Monolithic Modular Designed to session between two points No defined procedures for handling device failure Encodes in ASCII text format. Hence easy to debug and process Understands only URLs style addresses

Summary 57

Summary Real-time services Isochronous services and QoS requirements Jitter compensation via playback buffer RTP/RTCP Functions of RTP/RTCP Definitions: end system, translator, mixer RTP packet format RTCP packet types and format Multimedia signaling protocols H.323 Function, H.323 protocol stack Architecture and components Simple call setup procedure SIP Function Architecture and components SIP messages and simple call procedure 58

Useful URLs RFCs for RTP/RTCP/SIP SIP H.323 http://www.ietf.org/ http://www.cs.columbia.edu/~hgs/sip/ http://www.itu.int/itudoc/itu-t/rec/index.html http://www.openh323.org Useful tools downloading http://www.programsalon.com/downloads72/sourcecode/ multimedia/streaming/detail261996.html http://sourceforge.net/projects/rtpmonitor/ 59

Abbreviations CSRC IM RTCP RTP SIP SSRC VoIP Contributing SouRCe Identifier Instant Messaging RTP Control Protocol Real-time Transport Protocol Session Initiation Protocol Synchronization SouRCe Indentifier Voice over IP 60