Applications such as Napster and Kazaa have demonstrated extensive research potential for peer-to-peer (P2P) systems. P2P systems inherently have high scalability, robustness and fault tolerance because there is no centralized server and the nodes self-organize the network on join and leave. This is achieved at the cost of increased search time for the resources of interest. IP telephony can be viewed as an application of P2P architecture where the participants form the self-organizing P2P overlay network to locate and communicate with other participants. My talk has two parts: in the first half I will give an overview of some of the existing structured and unstructured peer-to-peer systems such as Napster, Kazaa and Chord. In the second half, I will talk about how P2P can be used for IP telephony, in particular for the Session Initiation Protocol (SIP)-based systems.