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