160 likes | 172 Views
Third Party Call Control(3pcc). Speaker: Ching Chen Chang Date:2006.2.12. Outline. Introduction 3pcc Call Establishment Example Call Flows. Introduction. Third Party Call Control (3pcc) refers to the general ability of one entity to manipulate calls between other parties.
E N D
Third Party Call Control(3pcc) Speaker: Ching Chen Chang Date:2006.2.12
Outline • Introduction • 3pcc Call Establishment • Example Call Flows
Introduction • Third Party Call Control (3pcc) refers to the general ability of one entity to manipulate calls between other parties. • Controller: A SIP User Agent that wishes to create a session between other user agents. • 3pcc is used for operator service and conferencing. • Many SIP services are possible through 3pcc. • These include the traditional ones on the PSTN, but also new ones such as click-to-dial.
3pcc Call Establishment(1/9) • The primary primitive operation of third party call control is the establishment of a session between 2 parties. • There are four flows of call establishment. • Each of these call flows has its benefits and drawbacks.
3pcc Call Establishment(2/9) • Flow 1 A Controller B (1)INVITE no SDP (2) 200 offer1 (3) INVITE offer1 (4) 200 OK answer1 (5) ACK (6) ACK answer1 (7) RTP
3pcc Call Establishment(3/9) • Flow 1 is simple. • But it has a serious timeout problem. • If user B don’t answer the call immediately, user A may retransmit 200 OK because it does not receive ACK. • It limits the applicability of the flow to scenarios where the controller knows that B will answer the INVITE immediately.
3pcc Call Establishment(4/9) • Flow 2 A Controller B (1)INVITE bh sdp1 (2) 200 sdp2 (3) INVITE sdp2 (4) ACK (5) 200 OK sdp3 (6) ACK (7) INVITE sdp3 (8) 200 OK sdp2 (9) ACK (10) RTP
3pcc Call Establishment(5/9) • Bh: black holed. • INVITE bh sdp contains a single audio media line, one codec, a random port number, and a connection address of 0.0.0.0(Invalid). • This flow does not have timeout problem. • But if message 2 and message 8 do not contain same SDP, the controller needs to re-INVITE B. After that, the controller re-INVIE A, too. • The result is an infinite loop of re-INVITEs.
3pcc Call Establishment(6/9) • Flow 3 A Controller B (1)INVITE no SDP (2) 200 offer1 (3) ACK answer1(bh) (4) INVITE no SDP (5) 200 OK offer2 (6)INVITE offer2’ (7) 200 answer2’ (8) ACK answer2 (9) ACK (10) RTP
3pcc Call Establishment(7/9) • No timeout problems. • Controller don’t have to guess the media that will be used. • But the controller does need to perform SDP manipulations. • It’s more complicated.
3pcc Call Establishment(8/9) • Flow 4 A Controller B (1)INVITE offer1 no media (2) 200 answer1 no media (3) ACK (4) INVITE no SDP (5) 200 OK offer2 (6) INVITE offer2’ (7) 200 answer2’ (8) ACK answer2 (9) ACK (10) RTP
3pcc Call Establishment(9/9) • It’s a variation on Flow 3. • The initial INVITE contains SDP with no media lines. • If there is no media in common, the call can bee terminated later with a BYE. • However, the users will have already been alerted, resulting in user annoyance.
Example Call Flows(1/3) • Click-to-Dial • Click-to-Dial allows a user to click on a web page when users wish to speak to a customer service representative. • When the user clicks on the link, the service is triggered through an HTTP POST. • It is like flow 4. • Mid-Call Announcement Capability • The service is for pre-paid calling cards. • The usage of 3pcc is just for playing the mid-call dialog to collect the credit card information. • It’s like flow 1 and flow 3.
Example Call Flows(2/3) Customer Service Controller User’s Phone User’s Browser (1) HTTP POST (2) HTTP 200 OK (3)INVITE offer1 no media (4) 200 answer1 no media (5) ACK (6) INVITE no SDP (7) 200 OK offer2 (8) INVITE offer2’ (9) 200 answer2’ (10) ACK answer2 (11) ACK (12) RTP
Example Call Flows(3/3) Pre-Paid User Controller Called Party Media Server (1) INVITE SDP c=bh (2) 200 answer1 (3) ACK (4)INVITE no SDP (5) 200 offer2 (6) INVITE offer2 (7) 200 answer2 (8) ACK answer2 (9) ACK (10) RTP (11) BYE (12) 200 OK (13) INVITE no SDP (14) 200 offer3 (15) INVITE offer3’ (16) 200 answer3’ (17) ACK answer3’ (18) ACK (19) RTP
Reference • Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP) http://www.packetizer.com/rfc/rfc3725 • Third Party Call Control (3pcc) http://www.wzsky.net/html/Cisco/Network/54766.html