In this paper, we consider the evolution of telephone networks from time-division multiplexing circuit switching to packet switching and, in particular, to packet switching-based on Internet Protocol (IP-supported telephony). We analyze IP-supported telephony design solutions by proposing a layered reference model in which each layer is associated to a subset of the functions that support telephony. We use the reference model to establish a terminology and a framework for the comparison of the design solutions. We group the design solutions in scenarios and compare them in terms of the reference model proposed. We then focus on IP telephony, in which IP is used in telephone company networks, and on Internet telephony, in which the Internet is used to support telephony. We show that they both can be seen as implementations of the same architecture, which consists of a set of components, associated to functions, and of the interactions among these components. We then consider the issue of voice-data integration and analyze the variety of design solutions that can be adopted to integrate voice and data.