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



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

Advanced Networking Voice over IP & Other Multimedia Protocols

Advanced Networking Voice over IP & Other Multimedia Protocols Some SIP Advanced Topics

Juha Heinänen

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

SIP: Protocol Overview

Understanding SIP. Dorgham Sisalem Jiri Kuthan Mobile Integrated Services GMD Fokus.

Media Gateway Controller RTP

SIP Session Initiation Protocol

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

EE4607 Session Initiation Protocol

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

Session Initiation Protocol (SIP)

Three-Way Calling using the Conferencing-URI

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

NTP VoIP Platform: A SIP VoIP Platform and Its Services

Multimedia & Protocols in the Internet - Introduction to SIP

SIP : Session Initiation Protocol

IP-Telephony SIP & MEGACO

Session Initiation Protocol (SIP) Chapter 5

End-2-End QoS Provisioning in UMTS networks

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

Session Initiation Protocol (SIP)

3.1 SESSION INITIATION PROTOCOL (SIP) OVERVIEW

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

SIP and Mobility: IP Multimedia Subsystem in 3G Release 5

SIP Session Initiation Protocol Nicolas Montavont

Telecommunication Services Engineering (TSE) Lab. Chapter V. SIP Technology For Value Added Services (VAS) in NGNs

Request for Comments: August 2006

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

IPv6 over MPLS. Course Number Presentation_ID. Patrick Grossetete Cisco Systems Cisco IOS IPv6 Product Manager

VoIP. What s Voice over IP?

SIP Introduction. Jan Janak

NAT TCP SIP ALG Support

internet technologies and standards

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

SIP Essentials Training

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

For internal circulation of BSNL only

Session Initiation Protocol (SIP)

TSIN02 - Internetworking

Session Initiation Protocol and Services

802.11: Mobility Within Same Subnet

Formación en Tecnologías Avanzadas

SIP for Voice, Video and Instant Messaging

3GPP TS V8.1.0 ( )

SIP A Technology Deep Dive

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

10 Signaling Protocols for Multimedia Communication

ARCHITECTURES TO SUPPORT PSTN SIP VOIP INTERCONNECTION

IP Office Technical Tip

Mobicents 2.0 The Open Source Communication Platform. DERUELLE Jean JBoss, by Red Hat 138

AGILE SIP TRUNK IP-PBX Connection Manual (Asterisk)

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

Avaya IP Office 4.0 Customer Configuration Guide SIP Trunking Configuration For Use with Cbeyond s BeyondVoice with SIPconnect Service

SIP Trunking & Peering Operation Guide

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

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

IP Office 4.2 SIP Trunking Configuration Guide AT&T Flexible Reach and AT&T Flexible Reach with Business in a Box (SM)

Voice over IP (VoIP) Part 2

Advanced SIP Series: SIP and 3GPP Operations

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

BROADWORKS SIP ACCESS SIDE EXTENSIONS INTERFACE SPECIFICATIONS RELEASE Version 1

Conferencing Using the IP Multimedia (IM) Core Network (CN) Subsystem

Voice over IP aka Multimedia in the Internet. VoIP: Integrating Services. A digression: Voice & Telephony. Advanced Networking

Advanced SIP Series: SIP and 3GPP

Internet Services & Protocols Multimedia Applications, Voice over IP

WHAT S BEHIND YOUR SMARTPHONE ICONS? A brief tour of behind-the-scenes signaling for multimedia services

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

Internet Services & Protocols Multimedia Applications, Voice over IP

Understanding SIP. Dorgham Sisalem Jiri Kuthan Mobile Integrated Services GMD Fokus.

Special Module on Media Processing and Communication

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

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

MODELLING OF INTELLIGENCE IN INTERNET TELEPHONE SYSTEM

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

Alcatel OmniPCX Enterprise R11 Supported SIP RFCs

SIP - QUICK GUIDE SESSION INITIATION PROTOCOL - INTRODUCTION

Multimedia Communication in the Internet. SIP: Advanced Topics. Dorgham Sisalem, Sven Ehlert Mobile Integrated Services FhG FOKUS

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

Firewall Support for SIP

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

Implementing Multimedia Sessions. using SIP Architecture

AN IPTEL ARCHITECTURE BASED ON THE SIP PROTOCOL

Chapter 2 PSTN and VoIP Services Context

ETSI TS V6.8.0 ( ) Technical Specification

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

SIP: Ringing Timer Support for INVITE Client Transaction

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

NAT and Firewall Traversal. VoIP and MultiMedia /77

Session Initiation Protocol Gateway Call Flows and Compliance Information

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

Unified Messaging using SIP and RTSP

Unified Messaging using SIP and RTSP

Programming SIP Services University Infoline Service

Transcription:

Advanced Networking Voice over IP & Other Multimedia Protocols Renato Lo Cigno SIP: Session Initiation Protocol Defined by IETF RFC 2543 (first release march 1999) many other RFCs... see IETF site and later on Multiparty MUltimedia Session Control (Mmusic) WG Born from Mbone experience and as a more Internet alternative to H.323 Advanced Networking VoIP - 2 2 La visione IETF L obiettivo e`la connettivita, Il trasporto e` tramite protocollo IP l intelligenza e` ai bordi della rete (nei terminali) e non nascosta nella rete. Scalabilita`e Sicurezza sono requisiti primari anche se la sicurezza... Protocolli piccoli e mono-funzionali Evitano duplicazione di funzioni Modularita` Advanced Networking VoIP - 2 3 1

SIP: caratteristiche generali Protocollo client - server Utilizzato per invitare gli utenti a sessioni multimediali Utilizza diverse funzionalità di HTTP Indipendente dal transporto Scalabile, Modulare, Semplice Impiega altri protocolli multimediali RTP/RTCP (trasporto voce) SDP: Session Description Protocol SAP: Session Announcement Protocol RTSP: Real Time Streaming Protocol Advanced Networking VoIP - 2 4 SIP: A General Purpose Session Control Protocol? SIP is not limited to IP telephony SDP quite flexible arbitrary payloads allowed Other applications relying on notion of session: distributed virtual reality systems network games video conferencing Applications may leverage SIP infrastructure (Call Processing, User Location, Auth., etc.) Instant Messaging and Presence SIP for Appliances!?!?!? Advanced Networking VoIP - 2 5 SIP: it s not A transport Protocol A QoS Reservation Protocol A gateway Control Protocol It does NOT dictate... product features and services (color of your phone and distinctive ringing melodies, number of simultaneous calls your phone can handle, don t disturb feature,...) network configuration Advanced Networking VoIP - 2 6 2

SIP: Elementi dell architettura Client (o end system) Invia le richieste SIP Usualmente contiene un SIP User Agent Server User Agent Server Soddisfa le richieste di chiamata entranti Redirect Server Redirige una chiamata su un altro server Proxy Server Invia la richiesta ad un altro server Advanced Networking VoIP - 2 7 SIP: Indirizzi e Metodi Gli indirizzi sono URI (Universal Resource Identifier): sip:jdrosen@bell-labs.com:5067 sip:ann:passwd@lucent.com 6 metodi: INVITE: Inizia o invita ad una conferenza BYE: Termina la partecipazione ad una conferenza CANCEL: Termina una ricerca OPTIONS :Interroga un client sulle sue capabilities ACK: Accetta la chiamata (invito) REGISTER: Informa un SIP server sulla posizione di un utente Advanced Networking VoIP - 2 8 SIP: Sintassi dei messaggi La sintassi è ripresa da HTTP: INVITE gerla@cs.ucla.edu SIP/2.0 From: locigno@dit.unitn.it (Renato Lo Cigno) Subject: Next visit to L.A. To: gerla@cs.ucla.edu (Mario Gerla) Call-ID: 1999284605.56.86@ Content-type: application/sdp CSeq: 4711 Content-Length: 187 Advanced Networking VoIP - 2 9 3

Session Description Protocol Sintassi testuale per descrivere sessioni multimediali unicast e multicast Caratteristiche base Descrive i flussi Audio/Video che formano la sessione ed i relativi parametri Contiene gli indirizzi di destinazione dei diversi stream Governa i tempi di inizio e fine di ogni sessione Molto semplice Advanced Networking VoIP - 2 10 SDP: an example v=0 Protocol version Creator and session identifier <address type> o= ghittino 28908044538 289080890 IN IP4 93.175.132.118 <username> <session id> <version> <network type> <address> s=sip Tutorial Session name e=ghittino@csp.it Email address c=in IP4 126.16.69.4 Connection information t=28908044900 28908045000 Time the session is active (start stop) m=audio 49170 RTP/AVP 0 98 Media name and transport address a=rtpmap:98 L16/11025/2 Media attribute line Advanced Networking VoIP - 2 11 Session Announcement Protocol Annuncia sessioni multimediali via multicast Descrive sessioni (normalmente RTP) mediante SDP SAP Internet Advanced Networking VoIP - 2 12 4

Real Time Streaming Protocol Controllo di un media server per servizi on-demand Controlli tipo VCR: Play, Pause, Fast-forward, Rewind, Record,... Un server RTSP puo`essere interrogato da un client mediante SIP (invito) La sessione e` descritta mediante SDP PLAY RTSP Server RTSP Client Advanced Networking VoIP - 2 13 SIP: Esempio di una chiamata vocale SIP: OPTIONS RTP/RTCP: pacchetti e controllo voce SIP: INVITE + SDP + SAP SIP: BYE SIP: ACK Advanced Networking VoIP - 2 14 SIP Servers and Clients User Agent (user application) UA Client (originates calls) UA Server (listens for incoming calls) both SW and HW available SIP Proxy Server relays call signaling, i.e. acts as both client and server SIP Redirect Server redirects callers to other servers SIP Registrar accept registration requests from users maintains user s whereabouts at a Location Server (like GSM HLR) Advanced Networking VoIP - 2 15 5

Proxy Server Functionality Serve as rendezvous point at which callees are globally reachable Perform routing function, i.e., determine to which UA/proxy/redirect an incoming call should be relayed Allow the routing function to be programmable Forking: Several destinations may be tried for a request sequentially or in parallel May serve as AAA trigger points Advanced Networking VoIP - 2 16 User Caler@sip.com on left-hand side is initiating a call to Callee@example.com on right-hand side; Callee registered with his server previously DNS SRV Query? cs.columbia.edu Reply: IP Address of cs.columbia.edu SIP Server #0 #2 INVITE sip:callee@example.com From: sip:caller@sip.com #1 To: sip: Callee@example.com Call-ID: 345678@sip.com SIP Operation in Proxy Mode Callee OK 200 #6 From: sip:caller@sip.com To: sip: Callee@example.com Call-ID: 345678@sip.com Callee@support Proxy Location Server #3 INVITE sip:callee@support.example.com From: sip:caller@sip.com #4 To: sip: Callee@example.com Call-ID: 345678@sip.com OK 200 #5 From: sip:caller@sip.com To: sip: Callee@example.com Call-ID: 345678@sip.com #7 ACK Callee@example.com Caller@sip.com Media stream #8 Callee@support.example.com Advanced Networking VoIP - 2 17 SIP RFC2543 Methods INVITE: initiates sessions Request URI indicated destination; may be changed on the path session description included in message body re-invites used to change session state ACK: confirms session establishment can only be used with INVITE BYE: terminates sessions CANCEL: cancels a pending INVITE if a CANCEL follows a RE-INVITE the session is not torn down! OPTIONS: capability inquiry replied as INVITE may include Allow, Accept, Accept-Encoding, Accept- Language, Supported,... REGISTER: Advanced Networking VoIP - 2 18 6

SIP REGISTER Method REGISTER binds a permanent address to current location similar to registering with HLRs in GSM REGISTERs may be multicast may convey user data (e.g., CPL scripts) default registration timeout: 3600 s may be also used to cancel or query existing registrations Advanced Networking VoIP - 2 19 INFO SIP Extension Methods mid-call signaling (RFC 2976) COMET precondition met PRACK (draft-ietf-sip-manyfolks-resource) provisional reliable responses acknowledgement (draft-ietf-sip-100rel) SUBSCRIBE/ instant messaging NOTIFY/ (draft-rosenberg-impp-*) MESSAGE Advanced Networking VoIP - 2 20 SIP Response Codes Borrowed from HTTP: xyz explanatory text Receivers need to understand x x80 and higher codes avoid conflicts with future HTTP response codes 1yz Informational 100 Trying 180 Ringing (processed locally) 181 Call is Being Forwarded 2yz Success 200 ok 3yz Redirection 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 4yz Client error 400 Bad Request 401 Unauthorized 404 Not Found 405 Method not Allowed 407 Proxy Authentication Required 415 Unsupported Media Type 482 Loop Detected 486 Busy Here 5yz Server failure 500 Server Internal Error 6yz Global Failure 600 Busy Everywhere Advanced Networking VoIP - 2 21 7

Request Method Response Status INVITE sip:userb@there.com SIP/2.0 SIP/2.0 200 OK SIP Message Structure Via: SIP/2.0/UDP here.com:5060 From: BigGuy <sip:usera@here.com> To: LittleGuy <sip:userb@there.com> Call-ID: 12345600@here.com CSeq: 1 INVITE Subject: Happy Christmas Contact: BigGuy <sip:usera@here.com> Content-Type: application/sdp Content-Length: 147 Message Header Fields Via: SIP/2.0/UDP here.com:5060 From: BigGuy <sip:usera@here.com> To: LittleGuy <sip:userb@there.com>;tag=65a35 Call-ID: 12345601@here.com CSeq: 1 INVITE Subject: Happy Christmas Contact: LittleGuy <sip:userb@there.com> Content-Type: application/sdp Content-Length: 134 v=0 o=usera 2890844526 2890844526 IN IP4 here.com s=session SDP c=in IP4 100.101.102.103 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 v=0 o=userb 2890844527 2890844527 IN IP4 there.com s=session SDP c=in IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Payload receive RTP G.711-encoded audio at 100.101.102.103:49172 Advanced Networking VoIP - 2 22 SIP Addresses URLs used to identify a call party a human being or an automated service examples: sip:voicemail@examples.com?subject=callme sip:sales@bigcom.com; geo.position:=48.54_-123.84_120 must include host, may include user name, port number, parameters (e.g., transport), etc. may be embedded in Webpages, email signatures, printed on your business card, etc. address space unlimited non-sip URLs can be used as well (mailto:, http:,...) Advanced Networking VoIP - 2 23 SIP Server -- Proxy versus Redirection A SIP server may either proxy or redirect a request statically configured dynamically determined (CPL). Redirection a user moves or changes her provider (PSTN: The number you have dialed is not available. ) caller does not need to try the original server next time. Stateless. Proxy useful if forking, AAA, firewall control needed proxying grants more control to the server Advanced Networking VoIP - 2 24 8

SIP Operation in Redirect Mode Caller@sip.com #1 INVITE Callee@example.com #2 Callee Callee@home.com Location Server #3 302 moved temporarily #4 Contact: Callee@home.com #5 ACK Callee@example.com #6 INVITE Callee@home.com #7 OK 200 #8 ACK Callee@home.com Proxy Callee@home.com Advanced Networking VoIP - 2 25 Programming SIP SIP Service Examples Advanced Networking VoIP - 2 26 An example Call processing logic: If ($caller is in {Jane, Bob}) proxy to user@cell.com else proxy to voicemail@trash.com Call processing logic: If ($caller ==Jane) play Mozart else play Smetana #2 pass invitation to call processing logic #3 return an action #4a INVITE user@cell #5 #1 INVITE #4b INVITE voicemail@trash Advanced Networking VoIP - 2 27 9

Programming SIP Users and third parties may program SIP follows HTTP programming model Need APIs that provide access to SIP specific constructs Signaling protocol independent APIs won t work! Parlay TAPI/JTAPI Mechanisms suggested in IETF: CGI Call Processing Language (CPL) Servlets If programming logic resides at external server? Use SIP to get signaling to it No need for Remote Call Processing API Advanced Networking VoIP - 2 28 SIP-CGI Follows Web-CGI SIP-CGI supports proxying and processes responses as well. Language-indpendent (Perl, C,...) Communicates through input/output and environment variables. CGI programs unlimited in their power Drawback: Buggy scripts may affect server easily. Token is passed between SIP server and CGI to keep state across requests and related responses Advanced Networking VoIP - 2 29 Call Processing Language (CPL) Special-purpose call processing language May be used by both SIP and H.323 servers Target scenario: users determine call processing logic executed at a server Limited languages scope makes sure server s security will not get compromised Portability allows users to move CPL scripts across servers Manually written / generated using GUI tools / supplied by 3rd parties /... Advanced Networking VoIP - 2 30 10

<incoming> <address-switch field="origin" subfield="host"> <address subdomain-of="example.com"> <location url="sip:jones@example.com"> <proxy timeout="10"> <busy> <sub ref="voicemail" /> </busy> <noanswer> <sub ref="voicemail" /> </noanswer> <failure> <sub ref="voicemail" /> </failure> </proxy> </location> </address> <otherwise> <sub ref="voicemail" /> </otherwise> </address-switch> </incoming> Based on XML Actions include: redirection, proxy, rejection Dynamically uploaded by Third-parties CPL Example Advanced Networking VoIP - 2 31 SIP-Servlets Compromise between security and power: a powerful generic language security provided by Java sand-box. SIP Servlet Benefits SIP servlets process a particular SIP request or response Supports: Sending responses, Proxying requests, Initiating requests SIP servlets can create and access session data, call data, transaction data Exposes key SIP headers, but handles most of the SIP details for you Inherits all scale and fault tolerance benefits of HTTP Servlets Advanced Networking VoIP - 2 32 Call Processing Tradeoffs Generality versus security multipurpose programming languages (MPL) provide a huge service space but also a huge vulnerability space Performance versus portability portable languages need to be interpreted -> higher processing delay portability needed if services deployed at multiple servers or end-devices Advanced Networking VoIP - 2 33 11

Generality versus Security Generality CGI Highest Servlets Medium CPL Lowest Security by language RT code admin. verification policy CGI Servlets CPL Advanced Networking VoIP - 2 34 Performance and Portability Performance CGIDOL* Servlets Medium CPLLowest Portability CGIDOL* Servlets Good CPLGood *DOL = depends on the language Advanced Networking VoIP - 2 35 Mobility User mobility Service mobility 3GPP Advanced Networking VoIP - 2 36 12

SIP and Terminal Mobility Terminal can move between subnetworks Issues to consider: Handoff performance Redirection authentication Mobile hosts (MH) inform their home proxy about their new locations using REGISTER Mid-call mobility (Session mobility) is dealt with using reinvite Advanced Networking VoIP - 2 37 SIP and Terminal Mobility Home Network HP REGISTER #2 Signalling FP REGISTER #1 Cell 2 Cell 1 Visited Network Advanced Networking VoIP - 2 38 SIP and Terminal Mobility Home Network #1 INVITE #4 #2 HP INVITE Signalling Data FP INVITE #3 Cell 2 Cell 1 Visited Network Advanced Networking VoIP - 2 39 13

SIP and Terminal Mobility reinvite #3 Home Network HP #1 #4 REGISTER #3 Signalling Data FP REGISTER #2 Cell 2 Cell 1 Visited Network Advanced Networking VoIP - 2 40 SIP and Terminal Mobility reinvite #3 #4 Home Network HP REGISTER #3 Signalling Data FP REGISTER #2 Cell 2 Cell 1 Visited Network Advanced Networking VoIP - 2 41 SIP and Personal Mobility Person uses different devices REGISTER binds a person to a device Proxy and redirect translate address to location and device Issues to consider: Authentication Binding different addresses to single person: LDAP... Advanced Networking VoIP - 2 42 14

SIP and Service Mobility Use same services from different locations and devices speed dial, address book, media preferences, call handling Services located at home server RECORD-ROUTE home proxy to force calls to be processed by home servers Services located at end systems retrieve with REGISTER Issues to consider services need to be device independent standardised service description (CPL) User recognition and authentication Advanced Networking VoIP - 2 43 Può rappresentare una delle alleanze più promettenti per l integrazione delle TLC (soprattutto fisso/mobile) Punta all integrazione della mobilità con i servizi streaming in IP SIP & 3GPP Introduce espressamente in 3G SIP ed un nodo di controllo della multimedialità su IP: CSCF (Call/Session Control Function) Advanced Networking VoIP - 2 44 SIP & 3GPP Legacy Applications & mobile Services *) Network SCP CSCF R-SGW *) Mh Mw Ms CAP Mm HSS *) Cx CSCF Gr Gi Mr Mg Gi EIR MRF Gf Gc Gi MGCF Multimedia IP Networks T-SGW *) Iu SGSN Gn GGSN Gi Mc Iu TE MT UTRAN R Uu Iu MGW Mc Nb MGW Mc PSTN/ Legacy/External MSC server Nc GMSC server T-SGW *) CAP Applications & Services *) CAP D C HSS *) R-SGW *) Mh Advanced Networking VoIP - 2 45 15