Tech-invite. RFC 3261's SIP Examples. biloxi.com Registrar. Bob's SIP phone

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

RFC 3665 Basic Call Flow Examples

Application Scenario 1: Direct Call UA UA

Tech-invite RFC SIP PSTN Call Flows 3 PSTN to SIP Dialing. 3.1 Successful PSTN to SIP call

Understanding SIP exchanges by experimentation

Session Initiation Protocol (SIP) Basic Description Guide

Session Initiation Protocol (SIP) Overview

SIPPING Working Group A. Johnston, Ed. Internet-Draft Avaya Intended status: BCP R. Sparks Expires: January 12, 2009 Estacado Systems C. Cunningham S.

Request for Comments: Category: Standards Track Columbia U. G. Camarillo Ericsson A. Johnston WorldCom J. Peterson Neustar R.

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

SIP Session Initiation Protocol

Chapter 3: IP Multimedia Subsystems and Application-Level Signaling

Extensions to Session Initiation Protocol (SIP) and Peer-to-Peer SIP

Session Initiation Protocol (SIP) Overview

Voice over IP Consortium

Problems on Voice over IP (VoIP)

Information About SIP Compliance with RFC 3261

RFC 3666 SIP PSTN Call Flows 3 PSTN to SIP Dialing

SIP Compliance APPENDIX

Session Initiation Protocol (SIP) Ragnar Langseth University of Oslo April 26th 2013

TSIN02 - Internetworking

Session Initiation Protocol (SIP)

Category: Informational Ericsson T. Hallin Motorola September 2007

Installation & Configuration Guide Version 1.6

Extensions to SIP and P2PSIP

ENSC 833-3: NETWORK PROTOCOLS AND PERFORMANCE. Implement Session Initiation Protocol (SIP) User Agent Prototype

The Sys-Security Group

S Postgraduate Course in Radio Communications. Application Layer Mobility in WLAN. Antti Keurulainen,

Journal of Information, Control and Management Systems, Vol. X, (200X), No.X SIP OVER NAT. Pavel Segeč

Compliance with RFC 3261

The path of SIP signalling messages

RFC 3666 SIP PSTN Call Flows 2 SIP to PSTN Dialing

INTERFACE SPECIFICATION SIP Trunking. 8x8 SIP Trunking. Interface Specification. Version 2.0

Abstract. Avaya Solution & Interoperability Test Lab

Multimedia Communication

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

Overview of the Session Initiation Protocol

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

Politecnico di Torino. Porto Institutional Repository

Application Notes for Configuring SIP Trunking between Cincinnati Bell Any Distance evantage and Avaya IP Office Issue 1.0

EDA095 Audio and Video Streaming

Internet Engineering Task Force (IETF) Request for Comments: Acme Packet January 2011

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

Higher layer protocols

OpenSIPS Workshop. Federated SIP with OpenSIPS and RTPEngine

RFC 3666 SIP PSTN Call Flows 2 SIP to PSTN Dialing

SIP Trunk design and deployment in Enterprise UC networks

Cisco ATA 191 Analog Telephone Adapter Overview

SIP System Features. Differentiated Services Codepoint CHAPTER

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

SIP Trunk design and deployment in Enterprise UC networks

Interoperability Test Guideline. For SIP/MPEG-4 Multimedia Communication System

Media Communications Internet Telephony and Teleconference

Configuring SIP Registration Proxy on Cisco UBE

RFC 3666 SIP PSTN Call Flows 2 SIP to PSTN Dialing

The Session Initiation Protocol

A RELOAD Usage for Distributed Conference Control (DisCo)

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

Voice over IP (VoIP)

Application Notes for Configuring SIP Trunking between Global Crossing SIP Trunking Service and an Avaya IP Office Telephony Solution Issue 1.

Telecommunication Services Engineering Lab. Roch H. Glitho

The Session Initiation Protocol

Reserving N and N+1 Ports with PCP

Mohammad Hossein Manshaei 1393

Brocade ServerIron ADX

Abstract. Avaya Solution & Interoperability Test Lab

N-Squared Software SIP Specialized Resource Platform SIP-SDP-RTP Protocol Conformance Statement. Version 2.3

SIP Server Deployment Guide. SRV address support in Contact and Record-Route headers

SIP SIP Stack Portability

Multimedia networking: outline

Application Notes for Configuring Avaya IP Office 8.1 with Etisalat SIP Trunk service Issue 1.0

SIP Trunk design and deployment in Enterprise UC networks

EDA095 Audio and Video Streaming

Internet Engineering Task Force (IETF) S. McGlashan Hewlett-Packard May Media Control Channel Framework. Abstract

Session Initiation Protocol

RFC 3666 SIP PSTN Call Flows 2 SIP to PSTN Dialing

Configuring SIP Call-Transfer Features

IMS signalling for multiparty services based on network level multicast

This sequence diagram was generated with EventStudio System Designer (

FortiOS Handbook - VoIP Solutions: SIP VERSION 6.0.1

SIP (Session Initiation Protocol)

3GPP TS V ( )

3GPP TR V7.0.0 ( )

P2PSIP, ICE, and RTCWeb

Configuring SIP Call-Transfer Features

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

SIP Network Overview

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

Lecture 7: Internet Streaming Media

Technical specifications for connecting SIP PBX to the Business Trunk service by Slovak Telekom without registration, with static routing.

EDA095 Audio and Video Streaming

3GPP TR V ( )

Configuring SIP Call-Transfer Features

3GPP TS V ( )

SIP INFO Method for DTMF Tone Generation

Setting up Alcatel 4400 Digital PIMG Integration

SIP Devices Configuration

Network Working Group. Expires: April 30, 2002 October 30, The Refer Method draft-ietf-sip-refer-02. Status of this Memo

All-IP Core Network Multimedia Domain

Transporting Voice by Using IP

Transcription:

Tech-invite http://www.tech-invite.com RFC 3261's SIP Examples V2.2 November 22, 2005 Registrar Bob's SIP INVITE 100 Trying Proxy INVITE 100 Trying Proxy 200 OK INVITE REGISTER This is a representation, as a slide show, of the SIP examples outlined in chapter 4 (overview of operation) and detailed in chapter 24 of RFC 3261 SIP: Session Initiation Protocol. SIP messages are reported in strict conformance with this RFC. 180 Ringing 180 Ringing 180 Ringing 200 OK 200 OK 200 OK ACK Media Session BYE 200 OK Copyright 2005 Joël Repiquet. All Rights Reserved. 17 pages

RFC 3261's Example Registration (a) Location Server The Request-URI names the domain of the location service for which the registration is meant The To header field contains the address of record whose registration is to be created registrar The From header field contains the address-of-record of the person responsible for the registration. The value is the same as the To header field unless the request is a third-party registration. All registrations from a UA should use the same Call-ID header field value for registrations sent to a particular registrar. The CSeq value guarantees proper ordering of REGISTER requests. A UA must increment the CSeq value by one for each REGISTER request with the same Call-ID. F1 REGISTER sip:registrar. SIP/2.0 Via: SIP/2.0/UDP bobspc.:5060 ;branch=z9hg4bknashds7 Max-Forwards: 70 To: Bob <sip:bob@> From: Bob <sip:bob@> ;tag=456248 Call-ID: 843817637684230@998sdasdh09 CSeq: 1826 REGISTER Contact: <sip:bob@192.0.2.4> Expires: 7200 The Contact header field with zero or more values containing address bindings. The Expires header field indicates how long the UA would like the binding to be valid. The value is a number indicating seconds.

RFC 3261's Example Registration (b) Location Server Store registrar F2 SIP/2.0 200 OK Via: SIP/2.0/UDP bobspc.:5060 ;branch=z9hg4bknashds7 ;received=192.0.2.4 To: Bob <sip:bob@> ;tag=2493k59kd From: Bob <sip:bob@> ;tag=456248 Call-ID: 843817637684230@998sdasdh09 CSeq: 1826 REGISTER Contact: <sip:bob@192.0.2.4> Expires: 7200

RFC 3261's Example Session Setup (1) The initial Request-URI of the message is set to the value of the URI in the To field. The Via header field indicates the transport (UDP) used for the transaction and identifies the location -- sent-by (pc33.) -- where the response is to be sent. The "branch" parameter is used to identify the transaction created by that request. It is mandatory and must always begin with the characters "z9hg4bk". The Max-Forwards header field serves to limit the number of hops a request can transit on the way to its destination. It is decremented by one at each hop. F1 INVITE sip:bob@ SIP/2.0 Via: SIP/2.0/UDP pc33. Max-Forwards: 70 To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:alice@pc33.> Content-Type: application/sdp Content-Length: 142 ( SDP not shown) The To header field specifies the desired "logical" recipient of the request, or the address-of-record (AOR) of the user or resource that is the target of this request. There is no "tag" parameter since the dialog is not established yet. The From header field indicates the logical identity of the initiator of the request, possibly the user's address-of-record. "Alice" is the (optional) display name. The "tag" parameter identifies this UA as a peer of the dialog. The Call-ID header field acts as a unique identifier and must be the same for all requests and responses sent by either UA in a dialog. The CSeq header field serves as a way to identify and order transactions. It consists of a sequence number and a method, matching that of the request. The Contact header field provides a SIP or SIPS URI that can be used by Bob's UA to contact UA for subsequent requests. The Content-Type header field indicates the media type of the message-body sent to the recipient. SDP (session description protocol ) is defined in RFC2327. user agent (UA) does not know the location of Bob's UA or his server in the domain. Therefore, the INVITE request is sent to the SIP server that serves domain (). The address of the SIP server could have been configured in, or it could have been discovered by DHCP, for example.

The "" server finds the SIP server that serves the "" domain by performing a particular type of DNS lookup. This procedure (selecting a transport protocol, determining port and IP address) is described in RFC3263 (SIP: Locating SIP Servers). RFC 3261's Example Session Setup (2) Before forwarding the INVITE request, the "" server adds an additional Via header field value that contains its own address -- sent-by (bigbox3.site3.) -- and the "branch" transaction value F2 SIP/2.0 100 Trying Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> F3 INVITE sip:bob@ SIP/2.0 Via: SIP/2.0/UDP bigbox3.site3. ;branch=z9hg4bk77ef4c2312983.1 Via: SIP/2.0/UDP pc33. Max-Forwards: 69 To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:alice@pc33.> Content-Type: application/sdp Content-Length: 142 ( SDP not shown) The "received" parameter is added to the Via header field built by UA (as for "100 Trying" message). Max-Forwards is decremented by one The remainder of the INVITE request received from UA is unchanged. The 100 (Trying) response contains the same To, From, Call-ID, CSeq header field values as the INVITE request. The "received" parameter is added to the Via header field by the "server transport" of, after examining the value of the sent-by parameter (pc33.). This sent-by parameter was inserted by the UA's "client transport" in the Via header field value, just before sending the INVITE request. The sent-by field contained an IP address or host name, and port. The "received" parameter contains the IP source address from which the packet was received.

RFC 3261's Example Session Setup (3) F4 Location Server SIP/2.0 100 Trying Via: SIP/2.0/UDP bigbox3.site3. ;branch=z9hg4bk77ef4c2312983.1 ;received=192.0.2.2 Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> Before forwarding the INVITE request, the "" server adds an additional Via header field value that contains its own address The "received" parameter is added to the Via header field built by "" server Max-Forwards is decremented by one Response Query F5 The server consults the location server database, that contains the current IP address of Bob. INVITE sip:bob@192.0.2.4 SIP/2.0 Via: SIP/2.0/UDP server10. ;branch=z9hg4bk4b43c2ff8.1 Via: SIP/2.0/UDP bigbox3.site3. ;branch=z9hg4bk77ef4c2312983.1 ;received=192.0.2.2 Via: SIP/2.0/UDP pc33. Max-Forwards: 68 To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:alice@pc33.> Content-Type: application/sdp Content-Length: 142 ( SDP not shown) The remainder of the INVITE request received from "" server is unchanged.

RFC 3261's Example Session Setup (4) The "received" parameter is added to the Via header field built by "" server The "tag" parameter, identifying this UA as a peer of the dialog, is added to the To header field. Although the dialog is not established yet, the 3 values that identify a dialog (Call-ID, local Tag, remote Tag) are already defined. The Contact header field provides a SIP or SIPS URI that can be used by UA to contact Bob's UA for subsequent requests. The other header field values (From, Call-ID, CSeq, and bottom Via's) are copied from the INVITE request. F6 SIP/2.0 180 Ringing Via: SIP/2.0/UDP server10. ;branch=z9hg4bk4b43c2ff8.1 ;received=192.0.2.3 Via: SIP/2.0/UDP bigbox3.site3. ;branch=z9hg4bk77ef4c2312983.1 ;received=192.0.2.2 Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:bob@192.0.2.4> rings and indicates this in a 180 (Ringing) response, which is routed back in the reverse direction to (IP address and transport found in the top Via header field)

RFC 3261's Example Session Setup (5) F7 SIP/2.0 180 Ringing Via: SIP/2.0/UDP bigbox3.site3. ;branch=z9hg4bk77ef4c2312983.1 ;received=192.0.2.2 Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:bob@192.0.2.4> The top Via header field in the 180 (Ringing) message received from Bob's UA, is used by server for retrieving the relevant transaction, using the "branch" parameter. It is then removed and the information in the new top Via header field is used for forwarding the message towards the next hop in the reverse path:.

RFC 3261's Example Session Setup (6) F8 SIP/2.0 180 Ringing Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:bob@192.0.2.4> The top Via header field in the 180 (Ringing) message received from, is used by server for retrieving the relevant transaction, using the "branch" parameter. It is then removed and the information in the new top Via header field is used for forwarding the message towards the next hop in the reverse path: UA. " passes the Ringing information to Alice, using an audio ringback tone or by displaying a message on screen.

RFC 3261's Example Session Setup (7) "" / "branch=z9hg4bk4b43c2ff8.1" transaction, between and Bob's UA, terminates with this 200 (OK) response F9 SIP/2.0 200 OK Via: SIP/2.0/UDP server10. ;branch=z9hg4bk4b43c2ff8.1 ;received=192.0.2.3 Via: SIP/2.0/UDP bigbox3.site3. ;branch=z9hg4bk77ef4c2312983.1 ;received=192.0.2.2 Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:bob@192.0.2.4> Content-Type: application/sdp Content-Length: 131 (Bob's SDP not shown) " When Bob answers the call, his SIP sends a 200 (OK) response to indicate that the call has been answered. The 200 (OK) contains a message body with the SDP media description of the type of session that Bob is willing to establish with Alice.

RFC 3261's Example Session Setup (8) "" / "branch=z9hg4bk77ef4c2312983.1" transaction, between and, terminates with this 200 (OK) response F10 SIP/2.0 200 OK Via: SIP/2.0/UDP bigbox3.site3. ;branch=z9hg4bk77ef4c2312983.1 ;received=192.0.2.2 Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:bob@192.0.2.4> Content-Type: application/sdp Content-Length: 131 (Bob's SDP not shown) "

RFC 3261's Example Session Setup (9) F11 SIP/2.0 200 OK Via: SIP/2.0/UDP pc33. To: Bob <sip:bob@> From: Alice <sip:alice@> Contact: <sip:bob@192.0.2.4> Content-Type: application/sdp Content-Length: 131 (Bob's SDP not shown) "" / "branch=z9hg4bknashds8" transaction, between and UA, terminates with this 200 (OK) response stops the ringback tone and indicates that the call has been answered

RFC 3261's Example Session Setup (10) sends an ACK (message request) to to confirm the reception of the final response (200 (OK)). In this example, the ACK is sent directly from to Bob's SIP, bypassing the two proxies. This occurs because the endpoints have learned each other's address from the Contact header fields through the INVITE/200 (OK) exchange, which was not known when the initial INVITE was sent. F12 ACK sip:bob@192.0.2.4 SIP/2.0 Via: SIP/2.0/UDP pc33. ;branch=z9hg4bknashds9 Max-Forwards: 70 To: Bob <sip:bob@> From: Alice <sip:alice@> CSeq: 314159 ACK

RFC 3261's Example Session Setup (11) Alice and Bob's media session has now begun, and they send media packets using the format to which they agreed in the exchange of SDP. In general, the end-toend media packets take a different path from the SIP signaling messages. One or a combination of the following media types can be used with SDP: "audio", "video", "application", "data", "control"... Media Session

RFC 3261's Example Session Setup (12) F13 BYE sip:alice@pc33. SIP/2.0 Via: SIP/2.0/UDP 192.0.2.4 ;branch=z9hg4bknashds10 Max-Forwards: 70 From: Bob <sip:bob@> To: Alice <sip:alice@> CSeq: 231 BYE At the end of the call, Bob disconnects (hangs up) first and his SIP generates a BYE (request) message. This BYE is routed directly to, again bypassing the proxies.

RFC 3261's Example Session Setup (13) Alice confirms receipt of the BYE with a 200 (OK) response, which terminates the session and the BYE transaction. F14 SIP/2.0 200 OK Via: SIP/2.0/UDP 192.0.2.4 ;branch=z9hg4bknashds10 From: Bob <sip:bob@> To: Alice <sip:alice@> CSeq: 231 BYE

RFC 3261's Example Session Setup (end)