Figure 6.6 Session cancellation example using CANCEL
Call Control
The SIP architecture is one of peer-to-peer communication and end-to-end con-
trol. For example, a proxy may not issue a BYErequest terminating a call. It can
only be issued by one of the user agents (end devices) participating in the call.
However, the ability for a third party to direct or control a call between two
other parties can be extremely useful in various service implementations. For
example, an embedded SIP URI in a web page, when clicked, could cause a
desktop SIP phone to place a call to the desired URI. Or, third-party call con-
trol could be used to implement a web call center or ACD feature, which is use-
ful for handling calls to customer service numbers, where the controller
receives the call and routes it based on a number of factors such as available
agents, time of day, and other factors.
SIP User Agent
1 INVITE
Proxy Server SIP User Agent
9 CANCEL
11 CANCEL
2 INVITE
3 100 Trying 4 INVITE
5 100 Trying
6 180 Ringing
7 180 Ringing
8 180 Ringing
10 200 OK
12 200 OK
17 487 Request Cancelled
No Media Session
Established
Phone stops ringing
on receipt of CANCEL
CANCEL is used to
cancel a pending
session.
13 CANCEL
16 ACK
18 ACK
19 487 Request Cancelled
20 ACK
14 200 OK
15 487 Request Cancelled
Proxy Server
118 Chapter 6