Real-time Services BUPT/QMUL

Similar documents
Real-time Services BUPT/QMUL

TSIN02 - Internetworking

Kommunikationssysteme [KS]

Overview. Slide. Special Module on Media Processing and Communication

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

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

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

Multimedia in the Internet

Mohammad Hossein Manshaei 1393

Lecture 14: Multimedia Communications

Multimedia Applications. Classification of Applications. Transport and Network Layer

Transporting Voice by Using IP

EDA095 Audio and Video Streaming

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

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

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

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

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

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

Overview of the Session Initiation Protocol

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

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

Popular protocols for serving media

Digital Asset Management 5. Streaming multimedia

TODAY AGENDA. VOIP Mobile IP

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

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

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

Computer Networks. Wenzhong Li. Nanjing University

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

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

Internet Streaming Media

Media Communications Internet Telephony and Teleconference

RTP: A Transport Protocol for Real-Time Applications

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

Multimedia networking: outline

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

Voice over IP (VoIP)

Z24: Signalling Protocols

Networking Applications

EDA095 Audio and Video Streaming

Transporting Voice by Using IP

Multimedia Networking

Basic Architecture of H.323 C. Schlatter,

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

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

ETSF10 Internet Protocols Transport Layer Protocols

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

Real-Time Control Protocol (RTCP)

Multimedia Networking

Internet Streaming Media

Summary of last time " " "

Transport protocols Introduction

H.323. Definition. Overview. Topics

EDA095 Audio and Video Streaming

Multimedia Networking

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

Lecture 9: Media over IP

Multimedia Networking Communication Protocols

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

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

Part 3: Lecture 3! Content and multimedia!

Multimedia Networking. Protocols for Real-Time Interactive Applications

The Transport Layer: User Datagram Protocol

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

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

Chapter 7 Multimedia Networking

Session Initiation Protocol (SIP)

Protocols supporting VoIP

Video Streaming and Media Session Protocols

01-VOIP-ADVANCED Agenda Voice over IP RTP SIP

The Session Initiation Protocol

Multimedia Applications. Internet Technologies and Applications

TSIN02 - Internetworking

Real-Time Transport Protocol (RTP)

Multimedia and the Internet

TSIN02 - Internetworking

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

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


RTP: A Transport Protocol for Real-Time Applications

Medical Sensor Application Framework Based on IMS/SIP Platform

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

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

Multimedia Communications

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

Multimedia Communication

The H.323 protocol suite. How works one of the protocol architectures for VoIP

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

Streaming (Multi)media

Cisco ATA 191 Analog Telephone Adapter Overview

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

Service/company landscape include 1-1

ITEC310 Computer Networks II

Introduction. We have learned

CSC 4900 Computer Networks: Multimedia Applications

B.Eng. (Hons.) Telecommunications. Examinations for / Semester 1

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

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

Introduction. We have learned

Transcription:

Real-time Services BUPT/QMUL 2017-05-27

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 Provides end-to-end transmission for real-time applications Does not define any QoS mechanism for real-time delivery RTCP RTP s companion control protocol Provides flow control and congestion control for RTP 15

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 16

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 17

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 18

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 19

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

RTP/RTCP System (1) 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 21

RTP/RTCP System (2) 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. 22

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 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 (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 24

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 25

Payload Types 26

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. 27

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 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

SSRC SSRC SSRC 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 sender report RTCP packet receiver receiver report report source 2 source 3 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

Multimedia Signaling Protocols 32

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 33

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 34

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

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. 36

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 37

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

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 V ARQ Gateway A H.225 (Q.931) Setup H.225 (Q.931) Alert and Connect 11 12 7 10 H.245 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 39

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 40

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

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 42

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). 43

SIP Messages Methods and Responses SIP components communicate by exchanging SIP messages SIP Methods 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. CANCEL - Cancels a pending request. REGISTER Registers the user agent. OPTIONS Used to query the capabilities of a server. SIP Responses 1xx - Informational Messages. 2xx - Successful Responses. 3xx - Redirection Responses. 4xx - Request Failure Responses. 5xx - Server Failure Responses. 6xx - Global Failures Responses. 44

SIP Headers Startline route dialog 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: -------------------------------------------------------- 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 45

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 46

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 47

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 200 (OK) 200 (OK) 200 (OK) BYE 48

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 49

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 51

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 Multimedia signaling protocols H.323 Function, H.323 protocol stack Architecture and components SIP Function Architecture and components 52

Useful URLs RFCs for RTP/RTCP/SIP http://www.ietf.org/ SIP http://www.siptutorial.net/sip/index.html H.323 http://www.itu.int/rec/t-rec-h.323/en http://www.telecomspace.com/vop-h323.html Useful tools downloading http://www.pjsip.org/ http://sourceforge.net/projects/rtpmonitor/ 53

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 54