Figure 20.3 Chord Ring
Areas of applicability of Chord to SIP include a distributed location service
[9], registration [17], DNS [10], and NAT and firewall relay traversal. These
will be discussed in the following sections.
P2P SIP
Client-server (CS) SIP deploys servers (such as SIP registrars, SIP proxies, var-
ious servers for component services as described in Chapter 19) for voicemail,
third-party call control, IVR, conferencing, and so on, and also STUN and
TURN servers for NAT traversal. The SIP standard does not mandate these
servers and mentions that they are optional [11]. Once a SIP UA knows the
location of the desired parties, all SIP call control can happen in the P2P mode
as well, as discussed in [12], where it is shown how PBX and PSTN telephony
functions can be implemented using P2P SIP call control.
Standards for P2P SIP discovery and call control have not yet been devel-
oped as of this writing, but the principles are fairly well understood, and sev-
eral P2P SIP implementations have been reported in research and academia, as
well as commercial products [13], [14], [15], [16].
P2P SIP can be best understood by a simple example and by comparing it
with client-server SIP using the trapezoid model in RFC 3261, as described in
Chapter 6, “SIP Overview.”
Figure 20.4a shows the discovery and call routing process in the trapezoid
model.
Predecessor Node
Successor Node
Node
Chord Overlay Ring
Finger Table of node points to other nodes in ring
346 Chapter 20