You are on page 1of 42

The Session Initiation Protocol - SIP

www.iitelecom.com

Internation Institute of Telecommunications inc., 2000-2004

H.323 Specific Protocols

Audio
G.711 G.723.1 G.726 G.728 G.729

Video

Data

Control and management of the calls H.225 RAS


H.225 Q.931 Signaling H.245 of control signaling

H.261 H.263

T.120

RTP/RTCP UDP IP TCP

Connection (IEEE 802.3)

2
IIT 101 IITelecom, 2004

H.323 environment and components


IP telephone Gatekeeper

H.323 terminal

MCU

Network
IP

Gateway

Access Server

PSTN

3
IIT 101 IITelecom, 2004

PBX

H.323 terminal remote access

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)

4
IIT 101 IITelecom, 2004

SIP Specific Protocols

Audio
G.711 G.729 G.723.1

Video H.261 H.263

Signaling

SIP

SDP

RTP/RTCP

TCP/UDP IP Physical

5
IIT 101 IITelecom, 2004

Registering an IP phone
3. Register 4. 200 OK

Registration Server

1. Register

2. 100 Trying
5. 200 OK

Proxy Server

6
IIT 101 IITelecom, 2004

SIP Addressing
SIP Addresses are identified by URL, in the form user@host
user = name or telephone number host = domain name or IP addresses

Examples
sip:xyz@iitelecom.com sip:xyz@192.168.10.1 sip:5141234567@iitelecom.com; user=phone

7
IIT 101 IITelecom, 2004

SIP Components
User Agent
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

8
IIT 101 IITelecom, 2004

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

9
IIT 101 IITelecom, 2004

SIP components and services

SIP Servers and services

Locate Where this name is or tel. number

Registrar

Redirect

Location Database Proxy SIP Server

Register I am here

Redirect Here is the address Proxy INVITES I will call it for you.

SIP User Agents

INVITE I want to speak with another agent.

SIP User Agents


GW SIP

10
IIT 101 IITelecom, 2004

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:

Example: INVITE
INVITE sip:pierre@192.168.1.31 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.20:5060 Call-ID: 141710@192.190.132.20 From: sip: marie@192.190.132.20 To: sip:pierre@192.190.132.31 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)

Medium to be used (codec, sampling rate)


Destination (IP address and port number)

Session name
Session duration Contact etc
11
IIT 101 IITelecom, 2004

SDP Messages
v=0

Indicates the start of the SDP content.

o=marie 3123 121231 IN IP4 192.190.132.20

o: session origin and owners name

c=IN IP4 192.190.132.20

c: connect information Specifies the IP address of a session.

m=audio 5004 RTP/AVP 0

Media name and transport address

12
IIT 101 IITelecom, 2004

SIP session set-up


Each end knows the other one IP address INVITE Signaling

100 Trying 180 Ringing 200 OK ACK


Logical opening of RTP channel

Logical opening of RTCP channel


Contents Logical opening of RTP channel Logical opening of RTCP channel Media (UDP)

Bye
Signaling 200 OK

13
IIT 101 IITelecom, 2004

SDP Messages in a SIP session


Each end knows the other one IP address

Marie 192.168.1.20

Pierre 192.168.1.31

INVITE sip:pierre@192.168.1.31 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.20:5060 Call-ID: 141710@192.190.132.20 From: sip: marie@192.190.132.20 To: sip:pierre@192.190.132.31 Cseq 1 INVITES Content-type: application/sdp Content-Length: 98 v=0 o=marie 3123 121231 IN IP4 192.190.132.20 c=IN IP4 192.190.132.20 m=audio 5004 RTP/AVP 0

INVITE
100 Trying 180 Ringing
SIP/2.0 200 OK Call-ID: 141710@192.190.132.20 From: sip: marie@192.190.132.20 To: sip:pierre@192.190.132.31 Cseq 1 INVITES Content-type: application/sdp Content-Length: 98 v=0 o=pierre 5664 456456 IP IP4 192.190.132.31 c=IN IP4 192.190.132.31 m=audio5004 RTP/AVP 0

200 OK

ACK sip:pierre@192.190.132.31 SIP/2.0 Via: SIP/2.0/UDP 192.190.132.20:5060 Call-ID: 141710@192.190.132.20 From: sip: marie@192.190.132.20 To: sip:pierre@192.190.132.31 Cseq 1 ACK

ACK

14
IIT 101 IITelecom, 2004

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.

SIP Answers

1xx - Informational Messages.

ACK

Confirm that the client received a final response to a request INVITES.


Indicate the end of the call. Cancel a request.

2xx - Successful Responses. 3xx - Redirection Responses.

BYE CANCEL

4xx - Request Failure Responses.


5xx - Server Failure Responses. 6xx - Global Failure Responses.

REGISTER To register the User Agent. OPTIONS Used to know the capacities of the server.

15
IIT 101 IITelecom, 2004

SIP in Proxy mode

Location Server

2
INVITE pierre@uqam.ca

Pierre?

Pierre@stanford.edu
4 INVITE pierre@stanford.edu
From: marie@iitelecom.com

1 From: marie@iitelecom.com 6 200 OK 7 ACK


marie@iitelecom.com

5 200 OK 8 ACK Established session Proxy Server


pierre@stanford.edu

16
IIT 101 IITelecom, 2004

SIP in Redirect mode

Location server

Pierre?

Pierre@stanford.edu

1 From: marie@iitelecom.com
4
302 Moved Contact: pierre@stanford.edu

INVITE pierre@uqam.ca

Redirect Server

5 ACK
marie@iitelecom.com

6 INVITE pierre@stanford.edu
From: marie@iitelecom.com

7 200 OK

8 ACK
pierre@stanford.edu

Established session

17
IIT 101 IITelecom, 2004

SIP call example Call forward busy from B to C


UA A Proxy Server UA B UA C

INVITE 100 Trying

INVITE 486 Busy

ACK
INVITE 180 Ringing 200 OK ACK ACK

180 Ringing
200 OK

Established session

18
IIT 101 IITelecom, 2004

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 INVITE (req A) INVITE (req A) 100 Trying 180 Ringing 180 Ringing 200 OK

200 OK

200 OK
ACK

ACK
Established session
19
IIT 101 IITelecom, 2004

Sending an INVITE through a SIP based system


3. INVITE 4. 302 Moved temporary 5. ACK Redirect Server 1. INVITE 2. 100 Trying 11. INVITE 6. INVITE 10.ACK 9. 302 Moved Temporary 8. INVITE

7. 100 Trying

12. 100 Trying

Proxy Server A

Proxy Server B

SIP Phone A

SIP Phone B

20
IIT 101 IITelecom, 2004

Call set up through a SIP based phone system

Redirect Server 13. 180 Ringing 16. 200 OK 21. ACK

15. 180 18. 200 OK 19. ACK

14. 180 Ringing 17. INVITE 20. ACK

Proxy Server A

Proxy Server B

22. RTP SIP Phone B SIP Phone A

21
IIT 101 IITelecom, 2004

Call teardown through a SIP-based system

Redirect Server 23. BYE 24. 100 Trying 31. 200 OK

27. BYE 28. 100 Trying 29. 200 OK

25. BYE 26. 100 Trying 30. ACK

Proxy Server A

Proxy Server B

SIP Phone B SIP Phone A

22
IIT 101 IITelecom, 2004

Forking: sending the invite to two phones


3. INVITE
4. 302 Moved temporary 5. ACK Redirect Server 1. INVITE 6. INVITE 2. 100 Trying 14. 100 Trying 7. 100 Trying 11. INVITE 10.ACK 9. 302 Moved Temporary 8. INVITE

Proxy Server A

Proxy Server B

12. INVITE SIP Phone A

13. 200 Trying SIP Phone B

SIP Phone C

23
IIT 101 IITelecom, 2004

Forking: the phones ring

Redirect Server 17. 180 Ringing 16. 180 Ringing 20. 180 Ringing 15. 180 Ringing 19. 180 Ringing

Proxy Server A

Proxy Server B

18. 180 Ringing SIP Phone A SIP Phone B

SIP Phone C

24
IIT 101 IITelecom, 2004

Forking: Phone B answers the phone

Redirect Server

25. 200 OK

21. 200OK 23. 200 OK

Proxy Server A

Proxy Server B

24. 200 OK SIP Phone A

22. CANCEL SIP Phone B

SIP Phone C

25
IIT 101 IITelecom, 2004

SIP and Security Considerations


SIP Security
Security Mechanisms

Attack and protection


Limitations

26
IIT 101 IITelecom, 2004

SIP Security

Authentication: proof of identity

Confidentiality
Integrity

27
IIT 101 IITelecom, 2004

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

28
IIT 101 IITelecom, 2004

Attacks and protections ( cont)

Tearing Down Sessions

Authentication of the BYE sender

Confidentiality

Denial of Service

Authentication of Register request

29
IIT 101 IITelecom, 2004

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

30
IIT 101 IITelecom, 2004

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.

31
IIT 101 IITelecom, 2004

SIP and terminal mobility

32
IIT 101 IITelecom, 2004

SIP and Terminal Mobility

33
IIT 101 IITelecom, 2004

SIP and Session mobility


Re-INVITE is used in session mobility

34
IIT 101 IITelecom, 2004

SIP and Session Mobility

35
IIT 101 IITelecom, 2004

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

36
IIT 101 IITelecom, 2004

SIP and Service Mobility

Keep same services, while mobile

Services located at home server

Call is processed by home servers using RECORD-ROUTE

37
IIT 101 IITelecom, 2004

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

38
IIT 101 IITelecom, 2004

Benefits of 3G

Mobility
Connectivity

Reachability

39
IIT 101 IITelecom, 2004

WLAN and SIP

Adds SIP based VoIP communications together with WiFi installations

Wireless access protocol: CSMA/ CA

Call control Protocol: SIP

40
IIT 101 IITelecom, 2004

SIP References
Columbia university Web site
http://www.cs.columbia.edu/sip/

IETF SIP working group


RFC 3261

http://ietf.org/html.charters/sip-charter.html

SIP forum
http://www.sipforum.org

Ubiquity Information Center : SIP center


http://www.sipcenter.com

41
IIT 101 IITelecom, 2004

Questions?

?
42
IIT 101 IITelecom, 2004

You might also like