VoIP. What s Voice over IP?

Similar documents
Internet Multimedia (thanks to Henry Sinnreich, Alan Johnston, MCI WorldCom, Henning Schulzrinne) IP Communications

For internal circulation of BSNL only

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

Media Gateway Controller RTP

SIP: Protocol Overview

Session Initiation Protocol

3.1 SESSION INITIATION PROTOCOL (SIP) OVERVIEW

Session Initiation Protocol (SIP)

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

Session Initiation Protocol (SIP) Chapter 5

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

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

Session Initiation Protocol (SIP)

EE4607 Session Initiation Protocol

SIP : Session Initiation Protocol

TSIN02 - Internetworking

Session Initiation Protocol and Services

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

internet technologies and standards

Session Initiation Protocol (SIP)

SIP Session Initiation Protocol

IP-Telephony SIP & MEGACO

SIP Messages. 180 Ringing The UA receiving the INVITE is trying to alert the user. This response MAY be used to initiate local ringback.

Voice over IP (SIP) Milan Milinković

How To Send A Connection From A Proxy To A User Agent Server On A Web Browser On A Pc Or Mac Or Ipad (For A Mac) On A Network With A Webmail Web Browser (For Ipad) On An Ipad Or

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

NAT TCP SIP ALG Support

Multimedia & Protocols in the Internet - Introduction to SIP

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

NTP VoIP Platform: A SIP VoIP Platform and Its Services

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

Three-Way Calling using the Conferencing-URI

Denial of Services on SIP VoIP infrastructures

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

SIP Introduction. Jan Janak

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

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

SIP Essentials Training

Advanced Networking Voice over IP & Other Multimedia Protocols

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

Firewall Support for SIP

Adaptation of TURN protocol to SIP protocol

SIP Session Initiation Protocol Nicolas Montavont

A Comparative Study of Signalling Protocols Used In VoIP

ARCHITECTURES TO SUPPORT PSTN SIP VOIP INTERCONNECTION

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

An outline of the security threats that face SIP based VoIP and other real-time applications

Formación en Tecnologías Avanzadas

SIP for Voice, Video and Instant Messaging

TECHNICAL CHALLENGES OF VoIP BYPASS

10 Signaling Protocols for Multimedia Communication

Internet Services & Protocols Multimedia Applications, Voice over IP

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

Internet Services & Protocols Multimedia Applications, Voice over IP

IP Office Technical Tip

FortiOS Handbook - VoIP Solutions: SIP VERSION 5.2.0

802.11: Mobility Within Same Subnet

Request for Comments: August 2006

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

End-2-End QoS Provisioning in UMTS networks

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

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

NAT Traversal in SIP. Baruch Sterman, Ph.D. Chief Scientist David Schwartz Director, Telephony Research

Internet Voice, Video and Telepresence Harvard University, CSCI E-139. Lecture #5

EDA095 Audio and Video Streaming

Application Notes for IDT Net2Phone SIP Trunking Service with Avaya IP Office Issue 1.0

SIP: Ringing Timer Support for INVITE Client Transaction

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

Introduction to VoIP Technology

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

SIP Trunking & Peering Operation Guide

Voice over IP (VoIP) Part 2

White paper. SIP An introduction

VoIP. Overview. Jakob Aleksander Libak Introduction Pros and cons Protocols Services Conclusion

SIP - QUICK GUIDE SESSION INITIATION PROTOCOL - INTRODUCTION

Application Notes for Configuring SIP Trunking between McLeodUSA SIP Trunking Solution and an Avaya IP Office Telephony Solution 1.

Internet Engineering Task Force (IETF) Request for Comments: 7088 Category: Informational February 2014 ISSN:

VIDEOCONFERENCING. Video class

Chapter 2 PSTN and VoIP Services Context

Application Note. Firewall Requirements for the Onsight Mobile Collaboration System and Hosted Librestream SIP Service v5.0

Enabling Security Features in Firmware DGW v2.0 June 22, 2011

An Introduction to VoIP Protocols

AGILE SIP TRUNK IP-PBX Connection Manual (Asterisk)

VoIP Technology Overview. Ai-Chun Pang Grad. Ins. of Networking and Multimedia Dept. of Comp. Sci. and Info. Engr. National Taiwan University

Unit 23. RTP, VoIP. Shyam Parekh

Implementing SIP and H.323 Signalling as Web Services

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-Based VoIP Network And Its Interworking With The PSTN

Grandstream Networks, Inc. GXP2130/2140/2160 Auto-configuration Plug and Play

SIP: Session Initiation Protocol. Copyright by Elliot Eichen. All rights reserved.

SIP Trunking and Voice over IP

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

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

Receiving the IP packets Decoding of the packets Digital-to-analog conversion which reproduces the original voice stream

Hacking Trust Relationships of SIP Gateways

Application Note. Onsight Connect Network Requirements V6.1

Interoperability Test Plan for International Voice services (Release 6) May 2014

Transcription:

VoIP What s Voice over IP? Transmission of voice using IP Analog speech digitized and transmitted as IP packets Packets transmitted on top of existing networks Voice connection is now packet switched as compared to the traditional circuit switched telephony network Interesting implications w.r.t performance, security, regulatory requirements

Why VoIP? Low cost of ownership Simpler maintenance of infrastructure Innovative applications Software Based Easier to add new applications

VoIP Standard suites Internet Engineering Task Force (IETF) standards Session Initiation Protocol (SIP) Session Description Protocol (SDP) Uses RTP, SRTP for media transmission. Others for QoS International Telecommunication Union (ITU) standards H.323 Basic Architecture H.225 call control protocol H.245 media control protocol H.235 security Other standards related to codecs. Proprietary (Skype)

VoIP Standards Suite 00

Elements of IETF Standards Suite Session Initiation Protocol (SIP) Session establishment / teardown (HTTP like) Session Description Protocol (SDP) Describes the parameters of session (voice/audio) RTP (Real Time Transport Protocol) Actual media data packets Secure variant (SRTP) RTP Control Protocol Provides feedback on QoS provided by RTP

Session Initiation Protocol (SIP) SIP is the signaling protocol Establishes sessions between two parties Major functionality User Location User Availability Capabilities Session Setup Session Teardown

SIP Architectural Entities SIP Registrar/Location Server Registers users location SIP User Agent Client Acts on behalf of the SIP user initiating the call SIP User Agent Server Waits on behalf of the SIP user to receive calls SIP Proxy Acts as a proxy for the client (within a given domain) SIP Gateways: To PSTN for telephony interworking To H.323 for IP Telephony interworking

Why the need for so many elements? Usage of a logical SIP address and location servers allows the machine to be untied from the identity of the user Having a SIP proxy allows Client devices to be simple (easily implemented in hardware) Additional upgrades can be done in the Proxy (transparent to the SIP device) More sophisticated functionality

SIP Session Setup Example SIP User Agent Client INVITE sip:picard@uunet.com SIP User Agent Server 200 OK ACK Media Stream BYE 200 OK host.wcom.com sip.uunet.com

Proxy Server Example SIP User Agent Client SIP Proxy Server SIP User Agent Server INVITE sip:picard@wcom.com 200 OK INVITE sip:picard@uunet.com 200 OK ACK Media Stream BYE 200 OK host.wcom.com server.wcom.com sip.uunet.com

SIP: Basic Connection Setup SIP Registrar/ Location Server SIP Registrar Location Server Registration alice:a.b.c.d Signaling Resolution Registratio Bob:x.y.z.w SIP Proxy SIP Proxy Media IP User Agent (Client) sip:alice@abc.com abc.com xyz.com SIP User Agent (Server) sip:bob@xyz.com

SIP Proxy Operation (Forking) abc.com xyz.com Registration help:p.q.r.s help@xyz.com SIP Proxy SIP Proxy SIP User Agent (Server sip:jones@xyz.com Media IP User Agent (Client) sip:alice@abc.com Registration Bob:x.y.z.w SIP User Agent (Server) sip:bob@xyz.com

SIP Proxy Operation (Redirect) b1.com Invite: bob@b1.com Redirect: bob@xyz.com Invite: bob@xyz.com Invite: bob@b1.com Media sip:alice@abc.com abc.com xyz.com sip:bob@xyz.com

Redirect Server Example SIP User Agent Client SIP Redirect Server REGISTER picard@uunet.com SIP User Agent Server INVITE sip:picard@wcom.com 200 OK 302 Moved sip:picard@uunet.com ACK C 1 2 RS INVITE sip:picard@uunet.com 3 UAS 180 Ringing 200 OK ACK Media Stream host.wcom.com server.wcom.com sip.uunet.com

SIP Requests SIP Requests (Messages) defined as: Method SP Request URI SP SIP Version CRLF (SP=Space, CRLF=Carriage Return and Line Feed) Example: INVITE sip:picard@wcom.com SIP/2.0 ethod NVITE CK Description A session is being requested to be setup using a specified media Message from client to indicate that a successful response to an INVITE has been received PTIONS YE ANCEL EGISTER A Query to a server about its capabilities A call is being released by either party Cancels any pending requests. Usually sent to a Proxy Server to cancel searches Used by client to register a particular address with the SIP server

SIP Requests Example Required Headers (fields): INVITE sip:picard@wcom.com SIP/2.0 Via: SIP/2.0/UDP host.wcom.com:5060 From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE Via: Shows route taken by request. Call-ID: unique identifier generated by client. CSeq: Command Sequence number generated by client Incremented for each successive request }Uniquely identify this session request

Typical SIP Request: SIP Requests Example INVITE sip:picard@wcom.com SIP/2.0 Via: SIP/2.0/UDP host.wcom.com:5060 From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE Contact: sip:alan.johnston@wcom.com Subject: Where are you these days? Content-Type: application/sdp Content-Length: 124 v=0 o=ajohnston 5462346 332134 IN IP4 host.wcom.com s=let's Talk t=0 0 c=in IP4 10.64.1.1 m=audio 49170 RTP/AVP 0 3

SIP Responses SIP Responses defined as (HTTP style): SIP Version SP Status Code SP Reason Phrase CRLF (SP=Space, CRLF=Carriage Return and Line Feed) Example: SIP/2.0 404 Not Found First digit gives Class of response: 1xx 2xx 3xx 4xx 5xx 6xx Description Informational Request received, continuing to process request. Success Action was successfully received, understood and accepted. Redirection Further action needs to be taken in order to complete the request. Client Error Request contains bad syntax or cannot be fulfilled at this server. Server Error Server failed to fulfill an apparently valid request. Global Failure Request is invalid at any server. Examples 180 Ringing 181 Call is Being Forwarded 200 OK 300 Multiple Choices 302 Moved Temporarily 401 Unauthorized 408 Request Timeout 503 Service Unavailable 505 Version Not Suported 600 Busy Everywhere 603 Decline

SIP Responses Example Required Headers: SIP/2.0 200 OK Via: SIP/2.0/UDP host.wcom.com:5060 From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE Via, From, To, Call-ID, and CSeq are copied exactly from Request. To and From are NOT swapped!

SIP Responses Example Typical SIP Response (containing SDP) SIP/2.0 200 OK Via: SIP/2.0/UDP host.wcom.com From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE Contact: sip:picard@wcom.com Subject: Where are you these days? Content-Type: application/sdp Content-Length: 107 v=0 o=picard 124333 67895 IN IP4 uunet.com s=engage! t=0 0 c=in IP4 11.234.2.1 m=audio 3456 RTP/AVP 0

Forking Proxy Example SIP User Agent Client INVITE sip:picard@wcom.com 100 Trying 180 Ringing 200 OK SIP Proxy Server INVITE 404 Not Found ACK SIP User Agent Server 1 180 Ringing 200 OK INVITE SIP User Agent Server 2 C Fork S1 S2 ACK Media Stream BYE 200 OK host.wcom.com proxy.wcom.com sip.mci.com sip.uunet.com

SIP Headers Partial List Accept Header Description Examples Authorization Call-ID Contact Content-Length Content-Type Indicates acceptable formats. Contains encryption information Used to uniquely identify a particular session or registration messages. Should have randomness to ensure overall global uniqueness. Alternative SIP URL for more direct message routing. Octet count in message body. Content type of message body CSeq Command Sequence number used to distinguish different requests during the same session. Accept: application/sdp Accept: currency/dollars Authorization: pgp info Call-ID: 1@mars.brooks.net Call-ID: Jan-01-1999-1510-1@server.mci.com i: 31415926535@uunet.com Contact: W. Riker, Acting Captain <riker@starfleet.gov> Contact: room203@hotel.com; expires=3600 m: admin@mci.com Content-Length: 285 Content-Type: application/sdp c: application/h.323 CSeq: 1 INVITE CSeq: 1000 INVITE CSeq: 4325 BYE CSeq: 1 REGISTER Encryption Expires Encryption information. Used to indicate when the message content is no longer valid. Can be a number of seconds or a date and time. Encryption: pgp info Expires: 60 Expires: Thu, 07 Jan 1999 17:00 CST

SIP Headers Continued From Required field containing the originating SIP URL. Can also include a display name. From: Dana Scully <sip:dana@skeptics.org> From: sip:+1-314-342-7360@gateway.wcom.com; tag=1234567 f: sip: guest@192.168.1.1 Max-Forwards Count decremented by each server forwarding the message. When goes to zero, server sends a 483 Too Many Hops response. Max-Forwards: 10 Priority Can specify message priority Priority: normal Priority: emergency Record-Route Added to a request by a proxy that needs to Record Route: sip.mci.com be in the path of future messages. Require Indicates options necessary for the session. Require: local.telephony Response-Key Contains PGP key for encrypted response expected. Retry-After Indicates when the resource may be available. Can be a number of seconds or a date and time. Response-Key: pgp info Retry-After: 3600 Retry-After: Sat, 01 Jan 2000 00:01 GMT

SIP Headers Continued Route Subject To Unsupported Via Warning Determines the route taken by a message. Can be used to indicate nature of call. Required field containing the recipient SIP URL. May contain a display name. Lists features not supported by server. Used to show the path taken by the request. Contains a code and text to warn about a problem Route: orinoco.brooks.net Subject: More about SIP s: You d better answer! To: Fox Mulder <sip:mulder@lonegunman.org> To: sip:10109000@operator.mci.com; tag=314 t: sip:1800collect@telecom.mci.com; tag=52 Unsupported: tcap.telephony Via: SIP/2.0/UDP sip.mfs.com Via: SIP/2.0/TCP uunet.com v: SIP/2.0/UDP 192.168.1.1 Warning: 331 Unicast not available

Via Headers and Routing Via headers are used for routing SIP messages back to the Request initiator Requests Request initiator puts address in Via header Servers (receivers) check Via with received sender s IP address, if different add received= parameter in Servers (receivers) check rport in Via header, if exists add received sender s port in rport= parameter (rfc 3581) Servers add own address into another Via header, and forward. Responses Response initiator copies request Via headers. Servers check Via with own address, then forward to next Via

Via Headers and Routing Request initiator will add an rport to the via header of the SIP messages, as described in rfc3581 (see http://www.faqs.org/rfcs/rfc3581.html), this will allow a client to request that the server send the response back to the source IP address and port where the request came from. The "rport" parameter is analogous to the "received" parameter in the VIA line, except "rport" contains a port number, not the IP address.

SIP Firewall Considerations Firewall Problem Can block SIP packets Can change IP addresses of packets TCP can be used instead of UDP Record Route can be used: ensures Firewall proxy stays in path A Firewall proxy adds Record Route header Clients and Servers copy Record Route and put in Route header for all messages

SIP Message Body Message body can be any protocol Most implementations: SDP Session Description Protocol RFC 2327 4/98 by Handley and Jacobson http://www.ietf.org/rfc/rfc2327.txt Used to specify info about a multi media session. SDP fields have a required order For RTP Real Time Protocol Sessions: RTP Audio/Video Profile (RTP/AVP) payload descriptions are often used

SDP Examples SDP Example 1 v=0 o=ajohnston +1-613-555-1212 IN IP4 host.wcom.com s=let's Talk t=0 0 c=in IP4 101.64.4.1 m=audio 49170 RTP/AVP 0 3 SDP Example 2 v=0 o=picard 124333 67895 IN IP4 uunet.com s=engage! t=0 0 c=in IP4 101.234.2.1 m=audio 3456 RTP/AVP 0 Field Version v=0 Origin Session Name Times Connection Data Media Descripton o=<username> <session id> <version> <network type> <address type> <address> s=<session name> t=<start time> <stop time> c=<network type> <address type> <connection address> m=<media> <port> <transport> <media format list>

Another SDP Example v=0 o=alan +1-613-1212 IN host.wcom.com s=sse University Seminar - SIP i=audio, Listen only u=http://sse.mcit.com/university/ e=alan@wcom.com p=+1-329-342-7360 c=in IP4 10.64.5.246 b=ct:128 t=2876565 2876599 m=audio 3456 RTP/AVP 0 3 a=type:recvonly