Figure 6.6 Session cancellation example using CANCELCall 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 Agent1 INVITEProxy Server SIP User Agent9 CANCEL11 CANCEL2 INVITE
3 100 Trying 4 INVITE
5 100 Trying
6 180 Ringing
7 180 Ringing
8 180 Ringing10 200 OK12 200 OK17 487 Request CancelledNo Media Session
EstablishedPhone stops ringing
on receipt of CANCELCANCEL is used to
cancel a pending
session.13 CANCEL16 ACK18 ACK
19 487 Request Cancelled20 ACK14 200 OK15 487 Request CancelledProxy Server118 Chapter 6