You are on page 1of 60

NITIN GARG, SDE(5ESS), ALTTC

Softswitch Architecture Interdomain protocols


Application specific Application Server SIP, Parlay, Jain Media Gateway Controller Sigtran Signaling Gateway H.248,MGCP Media Gateway RTP Media Gateway SIP-T,BICC Signaling Gateway Media Gateway Controller Application Server

PSTN/ End users

PSTN/ End users

NITIN GARG, SDE(5ESS), ALTTC

NGN PROTOCOLS
NGN Protocols
SGW SS7 SS7 SIGTRAN IP Media Gateway Controller SIP/H.323 Media Gateway Controller Terminals

SS7

SGW
IP Media Gateway Controller Media Gateways MGCP/Megaco

PSTN

Terminals

NITIN GARG, SDE(5ESS), ALTTC

What is SIP ?

SIP : SESSION INITIATION PROTOCOL

NITIN GARG, SDE(5ESS), ALTTC

What is PROTOCOL ?
A protocol is a set of rules to be used for communication between two entities. Elements of a protocol are : 1. Syntax: Refers to How part. The data format e.g.TCP/IP header 2. Semantics: Refers to What part. The control information communicated. 3. Timing: Refers to When part. Synchronous or asynchronous

NITIN GARG, SDE(5ESS), ALTTC

What is a Session?
It is a temporary communication relationship among a group of objects in the service stratum that are assigned to collectively fulfill a task for a period of time A state of a session may change during its lifetime Session based communications may be one-to-one, one-to-many, many-to-one or many-to-many
NITIN GARG, SDE(5ESS), ALTTC 6

What is SIP ?
The Session Initiation Protocol (SIP) is an application layer Signaling Control Protocol used to establish, maintain and terminate multimedia sessions. Multimedia sessions include Internet Telephony, conferences and other similar applications involving such media as audio, video and data. SIP is a protocol from IETF and is defined in RFC 2543
NITIN GARG, SDE(5ESS), ALTTC 7

SIP Characteristics
User to User protocol Establishes, modifies, and tears-down sessions
Relies on other protocols for transport, QoS, Accounting Allows multi-party sessions; multi-casting

SIP itself is independent of session type


Supports multi-service sessions

Provides authentication and privacy


Supports personal mobility

SIP itself is a text based signaling protocol


Heavily influenced by HTTP

NITIN GARG, SDE(5ESS), ALTTC

SIP Characteristics
SIP is dependent upon other protocols like RTP for media transport, Real Time Streaming Protocol (RTSP), Session Description Protocol (SDP) for negotiation of user capabilities and other parameters etc.

NITIN GARG, SDE(5ESS), ALTTC

SIP Characteristics
SIP supports all facets of establishing and terminating multimedia communications:
User Location: determination of the end system to be used for communication User Capabilities: determination of the media and media parameters to be used User availability: determination of the willingness of the called party to engage in communication Call setup: ringing, establishment of call parameters at both called and calling party
NITIN GARG, SDE(5ESS), ALTTC 10

Types of Sessions
The term session is purposely ambiguous. SIP protocol does not care what type of session is being maintained. SIP sessions can be:
Telephone Calls Multimedia Conferences On line Transactions

NITIN GARG, SDE(5ESS), ALTTC

11

SIP Architecture
Redirect Server Proxy Server Terminals and gateways Are also Known as User Agents

Location Server Registrar Server

PSTN

IP Network
Gateway

Terminals/User Agents NITIN GARG, SDE(5ESS), ALTTC 12

SIP Components
SIP basically has two components

User Agent (End system/terminal)

Network Servers (Proxy, Redirect, Registrar)

NITIN GARG, SDE(5ESS), ALTTC

13

SIP Components User Agents


User agents are end-system applications that contain both a user agent client (UAC) and a user agent server (UAS), otherwise known as client and server respectively
Client Initiates SIP requests and acts as the users calling agent Server- Receives requests and returns responses on behalf of users
NITIN GARG, SDE(5ESS), ALTTC 14

SIP Components Network Servers


Three types of network servers can exist in SIP network
Proxy Server Acts on behalf of other clients and contains both client and server functions. A proxy server interprets and can rewrite request headers before passing them on to other servers. Rewriting the headers identifies the proxy as the initiator of the request and ensures that replies follow the same path back to the proxy instead of client

NITIN GARG, SDE(5ESS), ALTTC

15

SIP Components Network Servers


Redirect Server Accepts SIP requests and sends a redirect response back to the client containing the address of the next server. Redirect servers do not accept calls, nor do they process or forward the SIP requests. Registrar Servers A registrar server is a server that accepts REGISTER requests and maintains the availability details of various servers and clients. A registrar is typically colocated with a proxy or redirect server and may sometime offer location services also.
NITIN GARG, SDE(5ESS), ALTTC 16

SIP Addressing
The SIP Uniform Resource Identifier (URI), sometimes called the Uniform Resource Locator (URL), identifies participants in a SIP session. SIP:user@host
Similar to HTTP URI Can designate an individual,
Sip:nitin@bsnl.in

or the first person in a group


Sip:support@your.company.com

Can be imbedded in a web page


NITIN GARG, SDE(5ESS), ALTTC 17

PSTN Addressing Conventions

SIP:2145551212@gateway
Tel:214-555-1212

Can initiate a session with PSTN

NITIN GARG, SDE(5ESS), ALTTC

18

SIP Messages
SIP messages are typically of type requests and responses. Requests flow from client to server and a response from server to a client SIP messages are send either in TCP or UDP. If the protocol type is not listed in URI the client must first attempt to connect using UDP and then TCP Being text based protocol, headers are largely self describing
NITIN GARG, SDE(5ESS), ALTTC 19

SIP Messages
The SIP request starts with a command line. The command line indicates the type of request that is being sent, a field request URI giving the detail of destination and the version of SIP protocol Several headers follow the command line
To and From (Calling and called party identity) Call-Id is a unique token that identifies session Via defines the path that the request has taken Cseq defines the sequence number of the request
20

NITIN GARG, SDE(5ESS), ALTTC

SIP Messages
The SIP message optionally contains a message body. The content and structure of message body is variable
The content type and content-length headers specify the form and size of the message body The message body will typically contain a Session Description Protocol (SDP) messages that contain information about the session, such as media coding format and IP address and port number

NITIN GARG, SDE(5ESS), ALTTC

21

SIP Message Format


Command Line
INVITE sip:vonod@mumbai.tcs.co.in SIP/2.0 Via :SIP/2.0/UDP anilworkstation.com From:Anil<sip:anil@delhi.tcs.co.in> To: Vinod Bhat <sip:vinod@mumbai.tcs.co.in> Call-ID: 123456789 @anilworkstation.com Cseq: 1 INVITE Content type : application/sdp Content-length : xxxx V=0 O= anil 28960783 IN IP4 157.277.12.184 S= Urgent Phone call from Anil T=3149329600 3149329755 C=IN IP4 anilworkstation.com M=audio 5004 RTP/AVP o 3.5 a=rtpmap:0 PCMU/8000 A=rtpmap:3 GSM/8000

Headers

Message Body (Variable)

NITIN GARG, SDE(5ESS), ALTTC

22

SIP Messages (Parameters)


vTells the SDP version oLists the organization of the calling party sDescribes the SDP message(subject) cLists the IP address of the originator tTells the timer value mDescribes the media that the originator expects aGives the media attributes
NITIN GARG, SDE(5ESS), ALTTC 23

SIP Message Format


Command Line
Command/Request line format:
Request Line = Request method@URI SIP/Version

Headers
There are 44 SIP headers listed in RFC 2543. These headers can be divided into four different groups
General Headers Request Headers Response headers Entity Headers
24

NITIN GARG, SDE(5ESS), ALTTC

SIP Headers
General Headers
Call-ID, Contact, Cseq, Date, Encryption, From, RecordRoute, Timestamp, To, via

Request-Headers
Accept-Language, Authorization, Contact, Hide, MaxForward, Organization, Priority, Proxy-Authorization, Proxy-Require, Route, Require, Response-Key, Subject, User Agent

Response headers
Retry-After, Server, Unsupported, Warning, WWWAuthenticate

Entity-Header
Content-Type
NITIN GARG, SDE(5ESS), ALTTC 25

SIP Message Body


Requests may contain message bodies unless otherwise noted. The BYE request must not contain a message body. For ACK, INVITE, and OPTIONS, the message body is always a session description If message body is included in request body is indicated as part of content type header field value. Message body length, the body length in bytes should be given by the content-length field
NITIN GARG, SDE(5ESS), ALTTC 26

SIP Message Body


SDP example for Internet Telephony
v=0 o=g.bell 877283459 877283519 IN IP4 132.152.1.19 c=IN IP4 132.151.1.19 b=CT:64 t=3086272736 m=audio 3456 RTP/AVP 96 a=rtpmap : 96 VDVI/8000/1 m=video 3458 RTP/AVP 31 m=application 32416 udp wb a=orient:portrait
NITIN GARG, SDE(5ESS), ALTTC 27

SIP Message Request Methods


The following six methods are supported by SIP for generating requests
INVITE ACK OPTIONS BYE CANCEL REGISTER

NITIN GARG, SDE(5ESS), ALTTC

28

SIP Message Responses


Six types of response codes are defined in SIP
1xx: Informational request received, continuing to process the request 2xx: Success- the action was successfully received, understood and accepted 3xx: Redirection - further action needs to be taken in order to complete the request 4xx: Client error- the request contains bad syntax or cannot be fulfilled at this server 5xx: Server error the server failed to fulfill an apparently valid request 6xx: Global failure the request cannot be fulfilled at any server
NITIN GARG, SDE(5ESS), ALTTC 29

SIP Messages Response Codes


Some Important Response codes are:
1xx Provisional
100 continue 180 ringing

2xx Success
200 OK

3xx Redirect
301 moved permanently 302 moved temporarily

4xx Client error


400 bad request 401 unauthorized

NITIN GARG, SDE(5ESS), ALTTC

30

SIP Messages Response Codes


5xx: Server error
500 Server internal error 502 bad gateway

6xx: Global failure


600 busy 604 does not exist

NITIN GARG, SDE(5ESS), ALTTC

31

Locating a server
The client must determine the IP address and port no of the server for which the request is destined If the port no is not listed in the SIP URL, the default port is 5060 If the protocol is not listed the client must first attempt using UDP and then TCP The client queries the Domain Name System (DNS) for the host IP address

NITIN GARG, SDE(5ESS), ALTTC

32

Direct Communication Between Endpoints (Basic Call)


1
INVITE Request
Provisional Responses (Trying100,Ringing180)

2 3

OK 200, Response

IP
SIP UA Client

4
Conversation

SIP UA Server

ACK Request Media Stream

Bye Request OK Response

NITIN GARG, SDE(5ESS), ALTTC

33

SIP Proxy Server


IP
User Agent Client User Agent Server

Proxy Server

Signaling

IP
User Agent Client User Agent Server
SIP Signaling

Media
NITIN GARG, SDE(5ESS), ALTTC

User Traffic

34

SIP Proxy Server


The proxy server accepts the INVITE request from the client The proxy server determines the location by using the supplied address and location services An INVITE request is issued to the address of the location returned The called party user agent alerts the user and returns a success indication to the requesting proxy server An OK(200) response is sent from the proxy server to the calling party The calling party confirms receipt by issuing ACK request, which is forwarded by the proxy or sent directly to the called party
NITIN GARG, SDE(5ESS), ALTTC 35

SIP Proxy Server


Location Server
(3) vinod@vinodworkstation

Mumbai.tcss.co.in

Delhi.tcs.co.in

Anil@delhi.tcs.co.in

(2) vinod

vinodworkstation
(4) INVITE vinod@vinodworkstation

(1) INVITE vinod@mumbai.tcs.co.in (7) 200 OK (8) ACK vinod@mumbai.tcs.co.in

(6) 200 OK
(9) ACK vinod@vinodworkstation

(5)

Anilworkstation

PROXY Server
Vinod@vinodworkstation

NITIN GARG, SDE(5ESS), ALTTC

36

SIP Proxy as Gateway


1 INVITE Request Trying Response Ringing Response OK Response 1 ACM 2 3 ANM 3 2 1 IAM

Proxy IP SIP Client


3 ACK Request RTP 4 BYE Request 5 4 PCM

Switch PSTN

POTS
REL RLC 5 OK Response

NITIN GARG, SDE(5ESS), ALTTC

37

SIP Mobility
SIP provides full mobility to the user. User can move from one service provider to another service provider and can retain the same address. The caller may always use the same address, phone number or URL, but will be redirected transparently to the network, location or device of choice of the called party. User can move temporarily or permanently to another network.
NITIN GARG, SDE(5ESS), ALTTC 38

SIP Mobility
Mobility in an IP environment is classified as :
Personal mobility different terminals, same personal identity (address) Terminal mobility the ability to maintain communications when moving a single end system from one subnet to another Service mobility keep same services while mobile

NITIN GARG, SDE(5ESS), ALTTC

39

SIP Mobility
INVITE Request To: bob@usa Moved Temporarily Contact: bob@asia
2 REGIRSTR RequestTo:bob@usa Contact: bob@asia 1

Redirect usa domain

Proxy asia domain

IP
4

IP

ACK Request

INVITE Request To:bob@asia

NITIN GARG, SDE(5ESS), ALTTC

40

Call Setup Through Proxy Server


2. DO I Know Ted ? 1. INVITE SIP:bob@host SIP/2.0 To: sip:bob@host From: ted@otherhost Call-id: 12345@otherhost Cseq: 1 INVITE

Proxy Server

1. I Have to call Bob

IP

UAS

UAC
2. SIP/2.0 407 Proxy Authorization Reqd To: sip:bob@host From: ted@otherhost Call-id: 12345@otherhost Cseq: 1 INVITE Proxy-Authenticate.

Initiation Authorization

NITIN GARG, SDE(5ESS), ALTTC

41

Call Setup Through Proxy Server


3. I Know Ted, he can use this service 3. INVITE SIP:bob@host SIP/2.0 To: sip:bob@host From: ted@otherhost Call-id: 12345@otherhost Cseq: 1 INVITE Authorization

Proxy Server

IP

UAS

UAC

Authorization Digit Collection Digit Translation

NITIN GARG, SDE(5ESS), ALTTC

42

Call Setup Through Proxy Server


4b. SIP/2.0 100 Trying To: sip:bob@host From: ted@otherhost Call-id: 12345@otherhost Cseq: 1 INVITE Proxy Server 4a.
INVITE sip:bob@host SIP/2.0 To: sip:bob@host From: ted@otherhost Call-Id:12345@otherhost Cseq: 1 INVITE

IP

UAS

UAC
4.c
SIP/2.0 180 Ringing To:sip:bob@host From: ted@otherhost Call-Id: 12345@otherhost Cseq: 1 INVITE

Call Routing Connection Setup

NITIN GARG, SDE(5ESS), ALTTC

43

Call Setup Through Proxy Server


Proxy Server

5b. SIP/2.0 200 OK To: sip:bob@host From: ted@otherhost Call-id: 12345@otherhost Cseq: 1 INVITE

5c. ACK sip:bob@host SIP/2.0 To: sip:bob@host From: ted@otherhost Call-Id:12345@otherhost Cseq: 1 ACK

IP

UAS

UAC 5a. SIP/2.0 200 OK To:sip:bob@host From: ted@otherhost Call-Id: 12345@otherhost Cseq: 1 INVITE 44

Call Answer

NITIN GARG, SDE(5ESS), ALTTC

Call Setup Through Proxy Server


Proxy Server

6. Call Detail Record

IP

UAS

UAC
Two-way media flow

Accounting

NITIN GARG, SDE(5ESS), ALTTC

45

Call Release
1a. BYE sip:bob@host SIP/2.0 To: sip:bob@host From: ted@otherhost Call-id: 12345@otherhost Cseq: 1 BYE
Proxy Server

2. Call Detail Record

IP

UAS

UAC Detection Resource Release Accounting

1b. SIP/2.0 200 OK To:sip:bob@host From: ted@otherhost Call-Id: 12345@otherhost Cseq: 1 BYE

NITIN GARG, SDE(5ESS), ALTTC

46

Call Setup Through Redirect Server


Redirection is an alternative to relaying. Redirection makes the callers machine do some additional work, so it makes life easier for the proxy server. In redirection the request of called party is not relayed to other proxy servers, instead caller is provided with the address of the called party and the caller now can directly send the signal to the called party

NITIN GARG, SDE(5ESS), ALTTC

47

Call Setup Through Redirect Server


Mumbai.tcs.co.in Location Server
(3) Vinod@vinodworkstation

Delhi.tcs.co.in (2) Vinod

Vinodworkstation

Anil@delhi.tcs.co.in
(1) INVITE vinod @mumbai.tcs.co.in (4) 301 moved permanently Contact:vonod@vinodworkstation. mumbai.tcs.co.in (5) ACK vinod@mumbai.tcs.co.in

Vinod@vinodworkstation

anilworkstation

Redirect Server

(6) INVITE vinod@vinodworkstation.mumbai.tcs.co.in (7) INVITE 200 OK

(8) ACK vinod@vinodworkstation.mumbai.tcs.co.in

NITIN GARG, SDE(5ESS), ALTTC

48

SIP Interoperability
In the era of network convergence, a key challenge for the network operators and serviced providers is how to ensure interoperability between different communications protocol SIP is fully capable of interoperating with
H.323 ISUP (PSTN/ISDN Network)

NITIN GARG, SDE(5ESS), ALTTC

49

SIP Interoperability Why Interwork ?


H.323 H.323 Network Network
H.323 User
PSTN

?
PSTN

SIP SIP Network Network

?
PSTN User

PSTN User

?
SIP User 50

NITIN GARG, SDE(5ESS), ALTTC

SIP & H.323 Interoperation


Issues:
- H.225 - H.245 SIP Signaling Conversion SDP conversion

Advantage:
- Both use RTP/RTCP for media transfer SIP TCP/UDP IP

SIP Proxy H.323 TCP/UDP IP H.323 GK

IP IP Network Network

IP IP Network Network

?
H.323 User SIP User NITIN GARG, SDE(5ESS), ALTTC 51

How to Interwork SIP-H.323


H.323 GK H.323 TCP/UDP IP Interworking Function (IWF) MSF (Optional) SIP Proxy SIP TCP/UDP IP

IP IP Network Network

IP IP Network Network

H.323 GW Protocol Conversion H.225 H.245 SIP Signaling SDP

H.323 User

Message Mapping Address mapping Call sequence mapping Audio/video formats mapping Media Switching Function (MSF) SIP User

NITIN GARG, SDE(5ESS), ALTTC

52

SIP-T
SIP-T = Session Initiation Protocol Telephony
previously referred to as SIP+ or SIP BCP-T a collection of internet drafts that extend SIP to support inter-Media Gateway Controller (MGC) communications. SIP-T is an interface agreement on a collection of standards as opposed to a separate protocol

SIP-T describes how to interwork SIP and ISUP SIP-T directly negotiates a media connection between gateways. Endpoint information is carried in SDP (Session Description Protocol) which can describe both IP and ATM endpoints.
NITIN GARG, SDE(5ESS), ALTTC 53

SIP-T purpose
Proxy

PSTN bridging (PSTN - IP PSTN)


PSTN Signaling is carried transparently over the IP network
MGC 1

SIP enabled network


MGC 2

IP network
SS7 network
Proxy Proxy

SS7 network

PSTN to IP interworking
MGC

SIP enabled network

SIP agent

IP network
SS7 network
Proxy

NITIN GARG, SDE(5ESS), ALTTC

54

SIP-T Technical Approaches


SIP-T uses two approaches:
1. Map ISUP message contents to fields in the SIP header for interworking with pure SIP agents 2. Encapsulate ISUP message within SIP message body for PSTN bridging

NITIN GARG, SDE(5ESS), ALTTC

55

SIP-T: PSTN-SIP Interworking


Mechanism that facilitates PSTN-SIP interworking Achieves interworking through message translation and encapsulation Outlines procedures for ISUP to SIP signaling conversion
Use of application. Use of Info method for mid-call signaling

Emphasis on ISUP Transparency across PSTN-SIP inter-connection


NITIN GARG, SDE(5ESS), ALTTC 56

SIP-PSTN Interworking
Convert from ISUP to SIP SIP Proxy SIP TCP/UDP IP

ISUP MTP

SGW

ISUP IP

IP IP Network Network

SS7 SS7
MGC performs Interworking SIGTRAN

PSTN PSTN
PSTN User SIP User

NITIN GARG, SDE(5ESS), ALTTC

57

SIP-PSTN Interworking
IAM 1 1 2 ACM 2 3 ANM 3 Ringing Response OK Response INVITE Request Trying Response 1

ISUP Message

MGC

SIP Message ACK Request

IP IP
4 SIP Client

PSTN PSTN
PCM REL 6 NITIN GARG, SDE(5ESS), ALTTC RLC 5 6

RTP BYE Request OK Response 58 5

SIP - Bridging

PSTN PSTN

MGC1 SIP Proxy MGC2

PSTN PSTN

SIP SIP Bridge Bridge


ISUP MGC3 SIP MGC4 Messages translated by MGCs

ISUP

PSTN PSTN

PSTN PSTN

NITIN GARG, SDE(5ESS), ALTTC

59

SIP-T ISUP Message Encapsulation


SIP Proxy

ISUP

SIP SIP Bridge Bridge


MGC1 SIP MGC2

ISUP

PSTN PSTN

PSTN PSTN

SIP Message Body ISUP Message SIP Header ISUP Message ISUP Message

Transparent Transit of ISUP Messages

NITIN GARG, SDE(5ESS), ALTTC

60

You might also like