Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Session Initiation Protocol - SIP

Similar presentations


Presentation on theme: "The Session Initiation Protocol - SIP"— Presentation transcript:

1 The Session Initiation Protocol - SIP
© Internation Institute of Telecommunications inc., © , International Institute of Telecommunications Inc. August 2003

2 H.323 Specific Protocols Control and management of the calls Audio
Video Data G.711 G.723.1 G.726 G.728 G.729 H.225 Q.931 Signaling H.245 of control signaling H.261 H.263 H.225 RAS T.120 RTP/RTCP UDP TCP IP Connection (IEEE 802.3)

3 H.323 environment and components
IP telephone Gatekeeper Network IP H.323 terminal MCU Gateway PSTN Access Server VoIP samples the voice signal and encapsulates it in an IP packets, transports it via various equipment supporting VoIP. These voice packets are then recombined into a continuous voice signal which is transmitted to the recipient with an appropriate quality. In our example, IP is on all the components except for the conventional telephones which have a PSTN connectivity to the H.323 network via a Gateway. Connectivity with the IP network can be carried out by a modem, an ASDL access, a LAN, WLAN, etc. The users can communicate between them and the type of connection does not matter. The remote access server (RAS) platform is the foundation on which Internet service providers (ISP) and other telecommunications carriers are bringing to market integrated, Internet-based versions of traditional services such as voice over IP (VoIP), fax over IP (FoIP), and data over IP. H.323 terminal remote access PBX

4 Session Initiation Protocol (SIP)
Signaling protocol for multimedia applications Independent of sub layer protocols (TCP, UDP) Standard developed by the IETF (MMUSIC working group) - RFC 2543 SIP works in various phases of the call Localization of the corresponding terminal Analyze recipient profile and resources Negotiation of the media type and of the communication parameters Availability of the correspondent Call set-up and call follow-up SIP uses several existing protocols Message format (HTTP 1.1) Media negotiation (SDP - Session Description Protocol), Media (RTP) Name resolution and mobility (DNS and DHCP) Applications encoding (MIME) The protocol responsible of initialing a SIP session is a signaling protocol belonging to the application layer of the OSI model. Its role is to open, modify and release the call session. The opening of these sessions makes it possible to carry out audio or videoconference, remote teaching, and multimedia diffusion primarily on IP. Let’s note that with SIP, the users who open a session can communicate in multicast mode or in point-to-point mode. To open a session, the user sends an invitation transporting a session descriptor allowing the users wishing to communicate to agree on the compatibility of their media. Thus SIP can connect mobile stations by transmitting or redirecting the requests towards the current position of the station called. Let’s also note that SIP has the advantage of not being attached to a particular medium and is being independent of the transport protocol of the lower layers. The goal of the RFC 2543 is to detail and specify these concepts.

5 SIP Specific Protocols
Audio Video Signaling G.711 G.729 G.723.1 H.261 H.263 SIP SDP RTP/RTCP TCP/UDP IP Physical Since SIP architecture is layered, it involves a group of protocol, similar to H.323. RTP (Real-time Protocol) to transport information in real time; RTCP (Real-time Control Protocol) to ensure the multimedia control of data flow; SDP (Session Description Protocol) is a multimedia protocol for the description of the sessions.

6 Registering an IP phone
OK Registration Server 1. Register Trying OK Proxy Server

7 SIP Addressing SIP Addresses are identified by URL, in the form user = name or telephone number host = domain name or IP addresses Examples user=phone In SIP, the addresses are identified by the URL (Uniform Resource Locator). These addresses take the form which is similar to an address. SIP Addresses are written in the form The user’s SIP address can also be a telephone number to allow the interconnection with the traditional telephone networks; example sip:514 To indicate that this one uses a telephone number, one adds to the URL the user=phone term. In this case, the call is conveyed to a gateway which makes interface with the traditional telephone network (PSTN).

8 SIP Components User Agent Proxy Server Redirect Server
An end user application initiating, receiving and terminating a call Proxy Server An application server conveying the requests on behalf of the end user application The request is processed and sent to the destination (called person) or to another server Redirect Server An application server determining the destination address (To:) and returning it to the end user application SIP Architecture includes several components: The User agent (UA) resides at the terminal level (PC or a SIP phone). The user agent has a part known as the client (UAC) which sends the requests, and a part known as server (UAS) who answers the requests. The Proxy server (PS) or relay agent is a terminal that conveys the received request of the client. Such a server can decode and modify the messages which it receives before retransmitting them. The Redirect server (RS) provides the new destination address to the client. Let ‘s note that a Redirect Server is accessed by the UAC like a regular server and cannot send requests like the PS. The Localization server (LS) provides the current users position. The Registrar Server is a server which accepts REGISTER requests. Each PS or RS is generally connected to a Registrar.

9 SIP Components (cont'd)
Localization Server Used by the Proxy Server and Redirect Server to obtain the location of the called user (one or more addresses) Registration Server Accept registration requests from the client applications Generally, the service is offered by the Proxy Server or Redirect Server DNS Server Used to locate the Proxy Server or Redirect Server

10 SIP components and services
SIP Servers and services Locate Where this name is or tel. number… Location Database Proxy SIP Server Registrar Redirect Redirect Here is the address Register I am here Proxy INVITES I will call it for you. SIP User Agents INVITE I want to speak with another agent. SIP User Agents GW SIP To locate a SIP user, a terminal must record its position with the localization server by sending a REGISTER request. A terminal user can constantly move from one location to another. Several positions for the same terminal are then recorded. When a SIP server accesses its localization server, it draws up a list of the possible user positions from the received results. This list contains one or more positions. In the case of a RS, this list is returned to the requesting client using the information in the header field.

11 SDP - Session Description Protocol
SDP defines the conversation parameters on the client application (User Agent) SDP transmits information required to establish a multimedia session SDP is similar to H.245 in H.323 functions SDP contains the following parameters: Medium to be used (codec, sampling rate) Destination (IP address and port number) Session name Session duration Contact etc… Example: INVITE INVITE SIP/2.0 Via: SIP/2.0/UDP :5060 Call-ID: From: sip: To: Cseq 1 INVITES Content-type: application/sdp Content-Length: 98 v = (protocol version) O = (owner/creator and session to identify) C = (session information) T = (time the session is active) m = (media name and address transport)

12 SDP Messages v=0 o=marie 3123 121231 IN IP4 192.190.132.20
Indicates the start of the SDP content. o=marie IN IP o: session origin and owner’s name c=IN IP c: connect information Specifies the IP address of a session. m=audio 5004 RTP/AVP 0 Media name and transport address

13 SIP session set-up Each end knows the other one IP address INVITE
100 Trying Signaling 180 Ringing 200 OK ACK Logical opening of RTP channel Logical opening of RTCP channel Contents Media (UDP) Logical opening of RTP channel Logical opening of RTCP channel The calling user (UAC) sends to the PS an INVITE request with the recipient SIP address : The PS contacts the LS and provides it with all or part of the recipient SIP address : (e.g. pierre) The PS may obtain a more precise address (e.g. The PS sends an INVITE request to the recipient server whose address was obtain from the Localization Server localization service (e.g. lab) The recipient UAS informs the terminal being called; And returns to the caller PS the recipient agreement to communicate through a OK answer (code 200); This PS returns to the calling client the recipient agreement; The reception of the recipient agreement is acknowledged by the calling client with an ACK request; This transaction is transmitted directly to the terminal being called. Bye Signaling 200 OK

14 SDP Messages in a SIP session
Each end knows the other one IP address Marie Pierre INVITE INVITE SIP/2.0 Via: SIP/2.0/UDP :5060 Call-ID: From: sip: To: Cseq 1 INVITES Content-type: application/sdp Content-Length: 98 v=0 o=marie IN IP c=IN IP m=audio 5004 RTP/AVP 0 100 Trying 180 Ringing SIP/ OK Call-ID: From: sip: To: Cseq 1 INVITES Content-type: application/sdp Content-Length: 98 v=0 o=pierre IP IP c=IN IP m=audio5004 RTP/AVP 0 200 OK ACK SIP/2.0 Via: SIP/2.0/UDP :5060 Call-ID: From: sip: To: Cseq 1 ACK ACK

15 SIP message types SIP is modeled on HTTP
Use same syntax and semantics as HTTP Request Method (INVITE, ACK, BYE, etc.) Header (Accept, Contact, etc.) Answer Status code (200 OK, 180 Ringing, etc.) Header (Content-type, Content-encoding, etc.) SIP Methods INVITE Initiate a call by inviting a user to take part in a session. ACK Confirm that the client received a final response to a request INVITES. BYE Indicate the end of the call. CANCEL Cancel a request. REGISTER To register the User Agent. OPTIONS Used to know the capacities of the server. SIP Answers 1xx - Informational Messages. 2xx - Successful Responses. 3xx - Redirection Responses. 4xx - Request Failure Responses. 5xx - Server Failure Responses. 6xx - Global Failure Responses.

16 SIP in Proxy mode Location Server 2 Pierre? 3 Pierre@stanford.edu 4 1
INVITE From: 4 INVITE From: 1 6 200 OK 5 200 OK 7 ACK 8 ACK Established session The caller (UAC) sends an INVITE request with the recipient SIP address to the PS; The PS contacts the LS and obtains the recipient SIP address The PS obtains a more precise address The PS sends an INVITE request to the recipient server whose address was provided to him by the LS localization service, The recipient PS informs the terminal being called; The terminal being called returns to the calling PS the recipient agreement to communicate with an OK answer (code 200); The PS returns to the caller the recipient agreement; The reception of the recipient agreement is accepted by the caller with an ACK message; This transaction is transmitted directly to the caller. Proxy Server

17 SIP in Redirect mode Location server 2 Pierre? 3 Pierre@stanford.edu 1
INVITE From: 1 4 302 Moved Contact: Redirect Server 5 ACK 6 INVITE From: The caller (UAC) sends an INVITE request to the Redirect server (RS) with the recipient address; & 3. The RS contacts the Location Server, requesting and obtaining the recipient address The RS returns to the caller the new address with a Moved answer (code 302) announcing that the recipient terminal changed PS; The caller sends an ACK to the RS; Then this caller sends an INVITE request to the recipient or the recipient server. This request has the same Call-ID as the first but its Cseq sequence number is higher. The recipient PS informs the caller UAS; The recipient sends its agreement to communicate to the PS with an OK answer (code 200). The PS returns to the caller the recipient agreement; The reception of the recipient agreement is approved by the caller with an ACK message. This transaction is transmitted directly to the recipient. 7 200 OK 8 ACK Established session

18 SIP call example Call forward busy from B to C
Proxy Server UA A UA B UA C INVITE INVITE 100 Trying 486 Busy ACK INVITE 180 Ringing 180 Ringing 200 OK 200 OK ACK ACK Established session

19 SIP call example Call transfer from A to C
Proxy Server UA A UA B UA C Established session Bye (also C) Bye (also C) 200 OK 200 OK INVITE (req A) INVITE (req A) 100 Trying 180 Ringing 180 Ringing 200 OK 200 OK ACK ACK Established session

20 Sending an INVITE through a SIP based system
10.ACK Moved temporary Moved Temporary 8. INVITE 5. ACK Redirect Server 11. INVITE 1. INVITE 6. INVITE Trying Trying Trying Proxy Server B Proxy Server A . SIP Phone B SIP Phone A

21 Call set up through a SIP based phone system
Redirect Server Ringing Ringing OK 17. INVITE OK 21. ACK 19. ACK 20. ACK Proxy Server B Proxy Server A 22. RTP . SIP Phone B SIP Phone A

22 Call teardown through a SIP-based system
Redirect Server 23. BYE 27. BYE 25. BYE Trying Trying Trying OK OK 30. ACK Proxy Server B Proxy Server A . SIP Phone B SIP Phone A

23 Forking: sending the invite to two phones
10.ACK Moved temporary Moved Temporary 8. INVITE 5. ACK Redirect Server 11. INVITE 1. INVITE 6. INVITE Trying Trying Trying Proxy Server B Proxy Server A 12. INVITE Trying . SIP Phone B SIP Phone A SIP Phone C

24 Forking: the phones ring
Redirect Server Ringing Ringing Ringing Ringing Ringing Proxy Server B Proxy Server A Ringing . SIP Phone B SIP Phone A SIP Phone C

25 Forking: Phone B answers the phone
Redirect Server OK OK OK Proxy Server B Proxy Server A OK 22. CANCEL . SIP Phone B SIP Phone A SIP Phone C

26 SIP and Security Considerations
SIP Security Security Mechanisms Attack and protection Limitations

27 SIP Security Authentication: proof of identity Confidentiality
Integrity

28 Attacks and protections
Registration Hijacking Authentication Impersonating a Server (spoofing) Server Authentication Proxy Server can behave as Man in the Middle End to end Authentication Confidentiality Integrity Registration Hijacking is the simplest type of attack. The attacker registers himself with someone else’s identifier. In this case, the attacker receives the call instead of the real owner. Solution: authentication Impersonating a Server:UAs sends its request to its server in order to be connected to another user agent. The domain of the server is specified in the request URI. An attacker may impersonate the remote server, and that the UA's request could be intercepted by some other party. Solution: Server Authentication User agent trusts its own proxy server; however, the contents of its body messages should be protected from the proxy server since the proxy server can behave as Man in the middle. To solve such a problem, confidentiality, integrity, and end to end authentication should be used.

29 Attacks and protections ( cont…)
Tearing Down Sessions Authentication of the BYE sender Confidentiality Denial of Service Authentication of Register request Tearing Down Sessions: An attacker captures some initial messages in a dialog between two called parties then inserts a BYE request into the session. When BYE is received by the called party, the session will be torn down prematurely. Solutions: _Authentication of the BYE sender. _Confidentiality: The attacker won’t be able to learn the parameters of the session Denial of Service : An attacker sends an excessive amount of traffic to the interface, which causes a particular network element unavailable.

30 User Mobility Terminal Mobility Terminal Moving between networks
Session Mobility User moving between terminals, in “runtime” User Mobility Users changing terminals Service Mobility Keep same services, while mobile

31 SIP and Terminal Mobility
Terminal can move between sub networks GSM and WLAN makes it possible Mobile hosts use Register message to inform their server about their new locations. Re-INVITE is used in mid call mobility (session mobility)

32 SIP and terminal mobility
HP = home premises FP = foreign premises

33 SIP and Terminal Mobility

34 SIP and Session mobility
Re-INVITE is used in session mobility Session Mobility – User moving between terminals, in “runtime”

35 SIP and Session Mobility

36 SIP and User Mobility User changes terminals
The users registers themselves to the appropriate server Location server tracks the location of user Redirect servers prioritize the possible locations of the user

37 SIP and Service Mobility
Keep same services, while mobile Services located at home server Call is processed by home servers using RECORD-ROUTE Service Mobility – Keep same services, while mobile

38 3G and SIP 3G uses IP technology to deliver multimedia content
3G uses SIP for call control, multimedia and signaling function. Users will be identified by SIP URLs and/or E.164 numbers, the numbering system of the telephone system. SIP handles the movement of the mobile user from one domain to another

39 Benefits of 3G Mobility Connectivity Reachability

40 WLAN and SIP Adds SIP based VoIP communications together with WiFi installations Wireless access protocol: CSMA/ CA Call control Protocol: SIP WIFI is based on IEEE standard.

41 SIP References Columbia university Web site IETF SIP working group
IETF SIP working group RFC 3261 SIP forum Ubiquity Information Center : SIP center

42 Questions? ?


Download ppt "The Session Initiation Protocol - SIP"

Similar presentations


Ads by Google