 SIP, but there are no standard specifications or criterions yet. Some Internet drafts have been proposed to IETF. The concepts and terminology for use of SIP in a peer-to-peer environment are defined in [6]. The draft describes the functional relationships between the network elements from a high-level view. An architecture for P2P SIP systems is specified in [15] in which a separate and independent peer-to-peer overlay layer provides a distributed resource placement and search service for SIP. A hierarchical P2P SIP architecture is outlined in [16], in which heterogeneous overlays are inter-connected via a decentralized manner. 9.4.1 Concepts and High-Level Description Some basic concepts and high-level description are given in [6]. A P2P SIP overlay is defined as a collection of nodes organized in a peer-to-peer fashion for the purpose of enabling real-time communication using SIP. The nodes in the overlay, which are defined as P2P SIP peers, collectively provide a distributed mechanism for both mapping names to network locations and transporting SIP messages between any two nodes in the overlay. The peers in the overlay collectively run a distributed database algorithm. This distributed database algorithm allows a copy of a data item stored on more than one peer and for it to be retrieved in an efficient manner. One of the most useful functions of the distributed database is to store the information required to provide the mapping between AoRs and Contact URIs for the distributed location function. Besides offering storage and transport services, some individual peers are also expected to offer other services. These services, such as STUN [21] and © 2009 by Taylor & Francis Group, LLC SIP Handbook: Services, Technologies, and Security voicemail services, may be required to allow the overlay to form and operate, or may enhance the basic P2P SIP functionality. Peers in an overlay need to speak some protocol between themselves to maintain the overlay and to store and retrieve data. Currently, this proto- col is 