third party call control(3pcc)

30
1 Third Party Call Control Third Party Call Control(3pcc) Alexandre Ling Lee COMS W4995 VoIP Security Instruction : Prof. Schulzrinne

Upload: peony

Post on 10-Feb-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Third Party Call Control. Third Party Call Control(3pcc). Alexandre Ling Lee COMS W4995 VoIP Security Instruction : Prof. Schulzrinne . Third Party Call Control. Outline. 3pcc intro 3pcc call establishment Error handling Early media SDP precondition Case study. - PowerPoint PPT Presentation

TRANSCRIPT

1

Third Party Call Control

Third Party Call Control(3pcc)

Alexandre Ling LeeCOMS W4995 VoIP Security

Instruction : Prof. Schulzrinne

2

Third Party Call Control

Outline

3pcc intro3pcc call establishmentError handlingEarly mediaSDP preconditionCase study

3

Third Party Call Control

3pcc Intro

3pcc the ability of one entity to create a call in which communication is actually between other parties.

use the mechanisms specified within the Session Initiation Protocol (SIP). Examples of use:

Operator services conferencing

4

Third Party Call Control

3pcc Intro-Controller

A controller a SIP User Agent that wishes to create a Session between two other user agents. issue either its own or other’s party

“forged” From address. does not carry the media stream sent over the call channels.

often called back-2-back user agent

5

Third Party Call Control

Logical view of 3PCC for a two-party session

http://www.lucent.com/livelink/0900940380044981_White_paper.pdf

6

Third Party Call Control

3pcc call establishment

Flow I~ Flow IV Establishment of this session is

created by a third party, referred to as the controller.

benefits and drawbacks to each of these flows

7

Third Party Call Control

Flow I – Simply and Elegant Flow

A

B

1

23

4

56

7

200 offer1

INVITE no SDP

INVITE offer1

200 OK answer1

ACKACK answer1

RTP Media

Timeline

<ring>

<ring><answer>

<answer>

8

Third Party Call Control

Flow I – Simply and Elegant Flow

Pros: simple no manipulation of the SDP by the

controller works for any media types supported

by both endpoints. Cons:

timeout problem

9

Third Party Call Control

A

B

1

2 3

5

67

10

200 sdp2

INVITE bh sdp1INVITE sdp2

200 OK sdp3

ACKINVITE sdp3

Timeline

RTP Media

4 ACK

8 200 OK sdp29 ACK

bh= Black holeconnection address=0.0.0.0

Flow II-Alternative flow with bh sdp

<ring>

<ring><answer>

<answer>

10

Third Party Call Control

Flow II-Alternative flow with bh sdp

Pros: all final responses are immediately ACKed. no timeout and message inefficiency problems of flow 1.

Cons: the controller need know the media types to be used for the call bh sdp sent and bh sdp response Infinite loop of re-INVITEs

11

Third Party Call Control

Flow III

A

B

1

2

4

5

8

6

10

200 offer1

INVITE no SDP

INVITE no SDP200 OK offer2

ACK answer2

INVITE offer2’

Timeline

RTP Media

3 ACK answer1(bh)

7 200 answer2’

9 ACK

<ring>

<ring>

<answer>

<answer>

12

Third Party Call Control

Flow III

Pros: operate without any spurious retransmissions or timeouts. the controller need not guess the media that will be used by the participants.

Cons: Controller need to perform SDP manipulations. Reorder and trim SDP X is done by controller, so that the media lines match up with those in some other SDP, Y. The controller need to detect and terminate the call with different codecs and media line. the flow is far more complicated than Flow I

13

Third Party Call Control

A

B

1

2

4

5

8

6

10

200 answer1 no media

INVITE offer1 no media

INVITE no SDP

200 OK offer2

ACK answer2

INVITE offer2’

TimelineRTP Media

3 ACK

7 200 answer2’

9 ACK

Flow IV - a variation on Flow III

<ring>

<ring>

<answer>

<answer>

14

Third Party Call Control

Flow IV - a variation on Flow III

Pros: the media manipulations by controller

is more simply. Cons:

user A will be alerted without any media having been established yet.

If there is no media in common, user annoyance and possibly resulting in

billing events.

15

Third Party Call Control

Recommendation

FlowI the simplest and the most efficient flow User B is actually an automata that will answer the call immediately. media servers, conferencing servers, and messaging servers

Flow II SHOULD NOT be used

16

Third Party Call Control

Recommendation

Flow III MAY be used instead of FlowIV, but it provides no additional benefits over Flow IV.

Flow IV For calls to unknown entities, or to entities known to represent people, it is RECOMMENDED

17

Third Party Call Control

Error handling

Condition1: one call is established to A, and B would fail 。

User B is busy no media in common the request time out

Solution: the controller send a BYE to A.

Reason header--carries the status code from the error response.

18

Third Party Call Control

Error handling

Condition2:A

B

1

2

4

56

200 answer1 no media

INVITE offer1 no media

INVITE no SDP

180INVITE offer2

3 ACK

7 4918 ACK

<ring>

<ring>

180: Ringing491: Request pending

Timeline

19

Third Party Call Control

Continued Processing

Central point of signaling between users Help to create a new BYE to finish the

session Forward the re-INVITE receive from one

participants

20

Third Party Call Control

3

910

7

12

200 answer3’

INV no media

200 offer3

BYE

RTP Media

4 200 no media

ACK

1

Timeline

2 200 OK

6 INV no SDP5 ACK

8 INV offer3’

A B C

11 ACK answer3

21

Third Party Call Control

Third Party Call Control and

-Early Media

-SDP Preconditions

22

Third Party Call Control

Early Media

The condition of where the session is established. Before the call is setup, the msg(tones or anouncements) that about this call

23

Third Party Call Control

SDP Preconditions

SIP extension Signaling, resource reservation

Precondition about the users is needed by the controller Controller can cut the session if it is necessary(no overlapping codec or media)

There may be another possible the precondition is needed by the participant

24

Third Party Call Control

A B1234

5

67

183 answer1 no mediaINVITE offer1 no media

PRACK200 OK

INVITE no SDP183 offer2Des=sendrecvConf=recvCur=none

Timeline

UPDATE offer2’Des=sendrecvConf=recvCur=none8 200 UPDATE answer2’Des=sendrecvConf=recvCur=none

9 PRACK answer2Des=sendrecvConf=recvCur=none10 200 PRACK

11 reservation

183 Session in Progress

25

Third Party Call Control

A B

14

15

<ring>

UPDATE offer3’Des=sendrecvConf=recvCur=recv200 UPDATE answer3’Des=sendrecvConf=recvCur=send

16 200 UPDATE answer3Des=sendrecvConf=recvCur=send

13 UPDATE offer3Des=sendrecvConf=recvCur=recv

12 reservation

17 UPDATE offer4Des=sendrecvConf=recvCur=sendrecv18 UPDATE offer4’Des=sendrecvConf=recvCur=sendrecv19 200 UPDATE answer4’Des=sendrecvConf=recvCur=sendrecv<ring>

Timeline

26

Third Party Call Control

A B

21

22

20

180 INVITE

180 INVITE

200 UPDATE answer4Des=sendrecvConf=recvCur=sendrecv

26 ACK

25 200 INVITE

24 ACK

23 200 INVITE<answer>

<answer>

Timeline

27

Third Party Call Control

Case Study

Click-to-dial

28

Third Party Call Control

User’s Phone1

7

11

5

8

12

200 OK offer2

HTTP OK

ACKINV no SDP

RTP Media

2 HTTP 200 OK

INV offer2’

ACK’

6

Timeline

3 INV offer1 no media

4 INV answer1 no media

9 200 answer210 ACK answer2

Click-to-dial

29

Third Party Call Control

Recommendation Offers and answers that contain a connection line with an address of 0.0.0.0. Re-INVITE requests that change the port to which media should be sent o Re-INVITEs that change the connection address Re-INVITEs that add a media stream Re-INVITEs that remove a media stream (setting its port to zero) Re-INVITEs that add a codec amongst the set in a media stream SDP Connection address of zero o Initial INVITE requests with a connection address of zero Initial INVITE requests with no SDP Initial INVITE requests with SDP but no media lines Re-INVITEs with no SDP

30

Third Party Call Control

Reference

J. Rosenberg, J. Peterson, H. Schulzrinne, G. Camarillo,” Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP)”, RFC3725, Apr, 2004 T. Chiang, V. Gurbani, J.Reid,”The Need for Third-Party Call Control”,Lucent Tech., 2002