internet technologies and standards

Similar documents
Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Internet Services & Protocols Multimedia Applications, Voice over IP

Internet Services & Protocols Multimedia Applications, Voice over IP

802.11: Mobility Within Same Subnet

Multimedia Networking. Yao Wang Polytechnic University, Brooklyn, NY11201

Multimedia Networking. Yao Wang Polytechnic University, Brooklyn, NY11201

Voice-Over-IP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

EDA095 Audio and Video Streaming

SIP: Protocol Overview

Unit 23. RTP, VoIP. Shyam Parekh

Session Initiation Protocol (SIP) 陳 懷 恩 博 士 助 理 教 授 兼 計 算 機 中 心 資 訊 網 路 組 組 長 國 立 宜 蘭 大 學 資 工 系 TEL: # 340

Transfer and Control Protocols H.261. Standards of ITU

Media Gateway Controller RTP

Classes of multimedia Applications

3.1 SESSION INITIATION PROTOCOL (SIP) OVERVIEW

3.2: Transfer and Control Protocols Multimedia Operating Systems. The H.x Protocols Chapter 4: Multimedia Systems

TSIN02 - Internetworking

Digital Audio and Video Data

VoIP with SIP. Session Initiation Protocol RFC-3261/RFC

Internet Working 15th lecture (last but one) Chair of Communication Systems Department of Applied Sciences University of Freiburg 2005

Multimedia Communications Voice over IP

Session Initiation Protocol

Voice over IP (SIP) Milan Milinković

Voice over IP & Other Multimedia Protocols. SIP: Session Initiation Protocol. IETF service vision. Advanced Networking

The use of IP networks, namely the LAN and WAN, to carry voice. Voice was originally carried over circuit switched networks

Mixer/Translator VOIP/SIP. Translator. Mixer

SIP Basics. CSG VoIP Workshop. Dennis Baron January 5, Dennis Baron, January 5, 2005 Page 1. np119

Chapter 2 Voice over Internet Protocol

VoIP. What s Voice over IP?

For internal circulation of BSNL only

IP-Telephony Real-Time & Multimedia Protocols

Session Initiation Protocol (SIP)

IP-Telephony SIP & MEGACO

SIP Session Initiation Protocol

Session Initiation Protocol and Services

point to point and point to multi point calls over IP

SIP : Session Initiation Protocol

Part II. Prof. Ai-Chun Pang Graduate Institute of Networking and Multimedia, Dept. of Comp. Sci. and Info. Engr., National Taiwan University

An Introduction to VoIP Protocols

Encapsulating Voice in IP Packets

Session Initiation Protocol (SIP) Chapter 5

Lecture 33. Streaming Media. Streaming Media. Real-Time. Streaming Stored Multimedia. Streaming Stored Multimedia

Indepth Voice over IP and SIP Networking Course

EE4607 Session Initiation Protocol

Advanced Networking Voice over IP: RTP/RTCP The transport layer

Sources: Chapter 6 from. Computer Networking: A Top-Down Approach Featuring the Internet, by Kurose and Ross

Computer Networks. Voice over IP (VoIP) Professor Richard Harris School of Engineering and Advanced Technology (SEAT)

Voice over IP: RTP/RTCP The transport layer

TECHNICAL CHALLENGES OF VoIP BYPASS

Voice over IP (VoIP) Part 2

Multimedia & Protocols in the Internet - Introduction to SIP

NTP VoIP Platform: A SIP VoIP Platform and Its Services

Session Initiation Protocol (SIP)

How to make free phone calls and influence people by the grugq

Voice over IP Fundamentals

VIDEOCONFERENCING. Video class

NAT TCP SIP ALG Support

FOSDEM 2007 Brussels, Belgium. Daniel Pocock B.CompSc(Melbourne)

SIP Introduction. Jan Janak

ARCHITECTURES TO SUPPORT PSTN SIP VOIP INTERCONNECTION

This specification this document to get an official version of this User Network Interface Specification

SIP Trunking. Service Guide. Learn More: Call us at

Final for ECE374 05/06/13 Solution!!

Applied Networks & Security

A Comparative Study of Signalling Protocols Used In VoIP

Three-Way Calling using the Conferencing-URI

White paper. SIP An introduction

Voice over IP (VoIP) Overview. Introduction. David Feiner ACN Introduction VoIP & QoS H.323 SIP Comparison of H.323 and SIP Examples

Formación en Tecnologías Avanzadas

SIP and ENUM. Overview DENIC. Introduction to SIP. Addresses and Address Resolution in SIP ENUM & SIP

Request for Comments: August 2006

SIP Trunking and Voice over IP

Introduction to VoIP. 陳 懷 恩 博 士 副 教 授 兼 所 長 國 立 宜 蘭 大 學 資 訊 工 程 研 究 所 TEL: # 255

TECHNICAL SUPPORT NOTE. 3-Way Call Conferencing with Broadsoft - TA900 Series

VoIP Analysis Fundamentals with Wireshark. Phill Shade (Forensic Engineer Merlion s Keep Consulting)

IP Office Technical Tip

Voice Over IP. Priscilla Oppenheimer

Special Module on Media Processing and Communication

Internet Technology Voice over IP

NTP VoIP Platform: A SIP VoIP Platform and Its Services 1

SIP Security. ENUM-Tag am 28. September in Frankfurt. Prof. Dr. Andreas Steffen. Agenda.

Advanced Networking Voice over IP & Other Multimedia Protocols

SIP Essentials Training

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

IxLoad: Advanced VoIP

How To Use A Microsoft Vc.Net (Networking) On A Microsatellite (Netnet) On An Ipod Or Ipod (Netcom) On Your Computer Or Ipad (Net) (Netbook) On The

SIP, Session Initiation Protocol used in VoIP

VoIP QoS. Version 1.0. September 4, AdvancedVoIP.com. Phone:

B12 Troubleshooting & Analyzing VoIP

Session Announcement (SAP, RFC 2974) Session Description (SDP, RFC 2327) (SDP, draft-ietf-mmusic-sdp-new-11)

Configuring SIP Support for SRTP

How To Understand The Purpose Of A Sip Aware Firewall/Alg (Sip) With An Alg (Sip) And An Algen (S Ip) (Alg) (Siph) (Network) (Ip) (Lib

Chapter 10 Session Initiation Protocol. Prof. Yuh-Shyan Chen Department of Computer Science and Information Engineering National Taipei University

Denial of Services on SIP VoIP infrastructures

Mul$media Networking. #3 Mul$media Networking Semester Ganjil PTIIK Universitas Brawijaya. #3 Requirements of Mul$media Networking

SIP: Ringing Timer Support for INVITE Client Transaction

Voice over IP (VoIP) for Telephony. Advantages of VoIP Migration for SMBs BLACK BOX blackbox.com

SIP OVER NAT. Pavel Segeč. University of Žilina, Faculty of Management Science and Informatics, Slovak Republic

The Session Initiation Protocol (SIP)

Transcription:

Institute of Telecommunications Warsaw University of Technology 2015 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński

multimedia in the Internet Voice-over-IP

multimedia networking: 3 application types streaming, stored audio, video streaming: can begin playout before downloading entire file stored (at server): can transmit faster than audio/video will be rendered (implies storing/buffering at client) e.g., YouTube, Netflix, Hulu conversational voice/video over IP interactive nature of human-to-human conversation limits delay tolerance e.g., Skype streaming live audio, video e.g., live sporting event (futbol)

audio signal amplitude multimedia: audio analog audio signal sampled at constant rate telephone: 8,000 samples/sec CD music: 44,100 samples/sec each sample quantized, i.e., rounded e.g., 28=256 possible quantized values each quantized value represented by bits, e.g., 8 bits for 256 values various codec types quantization error sampling rate (N sample/sec) quantized value of analog value analog signal time

Voice-over-IP (VoIP) VoIP end-end-delay requirement: needed to maintain conversational aspect higher delays noticeable, impair interactivity < 150 msec: good > 400 msec bad includes application-level (packetization,playout), network delays session initialization: how does callee advertise IP address, port number, encoding algorithms? value-added services: call forwarding, screening, recording emergency services: 911

VoIP: packet loss, delay network loss: IP datagram lost due to network congestion (router buffer overflow) delay loss: IP datagram arrives too late for playout at receiver delays: processing, queueing in network; end-system (sender, receiver) delays typical maximum tolerable delay: 400 ms loss tolerance: depending on voice encoding, loss concealment, packet loss rates between 1% and 10% can be tolerated

buffered data delay jitter constant bit rate transmission variable network delay (jitter) client reception constant bit rate playout at client client playout delay time receiver attempts to playout each chunk exactly q msecs after chunk was generated. chunk has time stamp t: play out chunk at t+q chunk arrives after t+q: data arrives too late for playout: data lost tradeoff in choosing q: large q: less packet loss small q: better interactive experience

Real-Time Protocol (RTP) RTP specifies packet structure for packets carrying audio, video data RFC 3550 RTP packet provides payload type identification packet sequence numbering time stamping RTP runs in end systems RTP packets encapsulated in UDP segments interoperability: if two VoIP applications run RTP, they may be able to work together

RTP header payload type sequence number type time stamp payload type (7 bits): indicates type of encoding currently being used. If sender changes encoding during call, sender informs receiver via payload type field Payload type 0: PCM mu-law, 64 kbps Payload type 3: GSM, 13 kbps Payload type 7: LPC, 2.4 kbps Payload type 26: Motion JPEG Payload type 31: H.261 Payload type 33: MPEG2 video Synchronization Source ID Miscellaneous fields sequence # (16 bits): increment by one for each RTP packet sent detect packet loss, restore packet sequence

RTP header payload type sequence number type time stamp Synchronization Source ID Miscellaneous fields timestamp field (32 bits long): sampling instant of first byte in this RTP data packet for audio, timestamp clock increments by one for each sampling period (e.g., each 125 usecs for 8 KHz sampling clock) if application generates chunks of 160 encoded samples, timestamp increases by 160 for each RTP packet when source is active. Timestamp clock continues to increase at constant rate when source is inactive. SSRC field (32 bits long): identifies source of RTP stream. Each stream in RTP session has distinct SSRC

Real-Time Control Protocol (RTCP) works in conjunction with RTP each participant in RTP session periodically sends RTCP control packets to all other participants each RTCP packet contains sender and/or receiver reports report statistics useful to application: # packets sent, # packets lost, interarrival jitter feedback used to control performance sender may modify its transmissions based on feedback

SIP: Session Initiation Protocol [RFC 3261] what is SIP? IETF end-to-end call establishment and management protocol for multimedia services supports user location, presence, profiles allows call setup (with authorization) allows media media type, encoding negotiation supports session management (modification of session parameters, multiparty conferencing etc.) supports different forms of redirection (e.g. forking) supports WWW interaction/integration defines also SIP addressing (SIP URI; maps mnemonic identifier to current IP address) network servers architecture (registrar, proxy, redirect, location servers)

SIP protocol commands responses REGISTER registration of physical address of the client; INVITE call setup/modification; ACK ack. for the final response, BYE ending session; CANCEL breaking transaction; others: SUBSCRIBE, OPTIONS, INFO 1xx - Provisional request received and under processing; 2xx - Success; 3xx - Redirection; 4xx - Client Error request cannot be processed (bad syntax, no authorization etc.); 5xx - Server Error serwer is unable to proces a (viable) request; 6xx - Global Failure transaction a command and all responses; non-invite scenario command, sequence of provisional responses and a final response; INVITE scenario additional ACK command INVITE sip:he.dog@netlab.edu SIP/2.0 Via: argon.netlab.edu From: sip:she.cat@voice.com; Tag=12 To: sip:he.dog@netlab.edu Call-Id: 12345@argon.netlab.edu Cseq: 1 INVITE Contact: sip:she.cat@argon.netlab.edu Content-type... Content-length... +SDP 200 OK SIP/2.0 Via: sipproxy.netlab.edu Via: argon.netlab.edu From: sip:she.cat@voice.com; Tag=23 To: sip:he.dog@netlab.edu; Tag=12 Call-Id: 12345@argon.netlab.edu Cseq: 1 INVITE Contact: sip:he.dog@neon.netlab.edu Content-type... Content-length... + SDP

example: setting up call to known IP address Alice Bob 167.180.112.24 INVITE bob@193.64.210.89 c=in IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 port 5060 port 5060 200 OK c=in IP4 193.64.210.89 m=audio 48753 RTP/AVP 3 ACK port 5060 193.64.210.89 Bob's terminal rings Alice s SIP invite message indicates her port number, IP address, encoding she prefers to receive (PCM mlaw) Bob s 200 OK message indicates his port number, IP address, preferred encoding (GSM) port 38060 GSM m Law audio port 48753 SIP messages can be sent over TCP or UDP; here sent over RTP/UDP time time default SIP port number is 5060

SIP INVITE INVITE sip:bob@domain.com SIP/2.0 Via: SIP/2.0/UDP 167.180.112.24 From: sip:alice@hereway.com To: sip:bob@domain.com Call-ID: a2e3a@pigeon.hereway.com Content-Type: application/sdp Content-Length: 885 c=in IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 Notes: HTTP message syntax sdp = session description protocol Call-ID is unique for every call Here we don t know Bob s IP address intermediate SIP servers needed Alice sends, receives SIP messages using SIP default port 506 Alice specifies in header that SIP client sends, receives SIP messages over UDP

SIP registrar one function of SIP server: registrar when Bob starts SIP client, client sends SIP REGISTER message to Bob s registrar server register message: REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP 193.64.210.89 From: sip:bob@domain.com To: sip:bob@domain.com Expires: 3600

SIP proxy another function of SIP server: proxy Alice sends invite message to her proxy server contains address sip:bob@domain.com proxy responsible for routing SIP messages to callee, possibly through multiple proxies Bob sends response back through same set of SIP proxies proxy returns Bob s SIP response message to Alice contains Bob s IP address SIP proxy analogous to local DNS server plus TCP setup

SIP example 2. UMass proxy forwards request to Poly registrar server Poly SIP registrar 2 3 3. Poly server returns redirect response, indicating that it should try keith@eurecom.fr UMass SIP proxy 1. Jim sends INVITE message to UMass SIP proxy. 128.119.40.186 1 8 4. Umass proxy forwards request to Eurecom registrar server 4 7 6-8. SIP response returned to Jim 9 9. Data flows between clients 6 5 Eurecom SIP registrar 5. eurecom registrar forwards INVITE to 197.87.54.21, which is running keith s SIP client 197.87.54.21

multimedia in the Internet video streaming

approaches to streaming HTTP download progressive download pseudostreaming relies on the ability of HTTP clients to seek to positions in the media file by performing byte range requests to the Web server (HTTP 1.1) keyframes are used as reference points, so the accuracy of seek depends on how the video was encoded dedicated server streaming requires streaming protocol for signalling (RTSP, RTMP) HTTP adaptive streaming (HAS)

HTTP Adaptive Streaming server: client: divides video file into multiple chunks each chunk stored, encoded at different rates manifest file: provides URLs for different chunks periodically measures serverto-client bandwidth consulting manifest, requests one chunk at a time chooses maximum coding rate sustainable given current bandwidth can choose different coding rates at different points in time (depending on available bandwidth at time) intelligence at client: client determines when to request chunk (so that buffer starvation, or overflow does not occur) what encoding rate to request (higher quality when more bandwidth available)

Microsoft Smooth Streaming MP4 container all fragments with the same bitrate are stored in a single MP4 file when a client requests a specific source time segment from the IIS Web server, the server dynamically finds the appropriate Movie Fragment box within the MP4 file chunks are sent as a standalone files (full cacheability downstream possible) RESTful URL: http://video.sth.com/mediafile.ism/qualitylevels(400000)/fragments(video=610275114)

DASH - Dynamic Adaptive Streaming over HTTP 26

DASH - Dynamic Adaptive Streaming over HTTP Media Presentation Description Stream segmentation