Peer-to-peer SIP

Last updated

Peer-to-peer SIP (P2P-SIP) is an implementation of a distributed voice over Internet Protocol (VoIP) or instant messaging communications application using a peer-to-peer (P2P) architecture in which session control between communication end points is facilitated with the Session Initiation Protocol (SIP).

Contents

SIP in a P2P architecture

In a pure peer-to-peer application architecture no central servers are required, [1] whereas traditional SIP telephony networks have relied on using centrally deployed and managed SIP servers, in analogy to the centralized switching architecture of the public switched telephone network (PSTN). [2] [3] P2P application design can improve scalability [4] and survivability in the event of central network outages.

The Session Initiation Protocol is in principle a client-server protocol, however it has been described in analogy to the P2P relationship, called a dialog, which is defined by a unique combination of SIP protocol parameters (To-tag, From-tag, Call-ID). [3] Both endpoints of a communication session implement a user-agent server and a user-agent client, which enables any two user agents to communicate directly with one another without the mediation of another a central switching system. SIP also provides facilities of registering (REGISTER request) the network location of a user agent with other SIP elements and subscription (SUBSCRIBE request) and notification (NOTIFY request) features for event tracking between user agents.

Based on these inherent SIP features it is possible to construct a peer-to-peer network of SIP nodes.

In another approach, SIP over P2P, the SIP location service is replaced by conventional P2P overlay networking approach, such as the OverSim framework. [5] In this model, the overlay network is used for service or node discovery and rendezvous. The search key in such a mechanism is the Uniform Resource Identifier (URI) of a user agent. This URI requires resolution to a particular device or Uniform Resource Locator (URL) that must be performed in real time. P2P-SIP systems may employ structured peer-to-peer approaches, [6] as well as unstructured peer-to-peer architectures. [7]

Standards

The Internet Engineering Task Force (IETF) is conducting a working group (P2PSIP) that develops standards-track specifications for P2P-SIP. [8] This effort is based on using the REsource LOcation And Discovery (RELOAD) Base Protocol [9] a peer-to-peer (P2P) signaling protocol for use on the Internet. The P2P signaling protocol provides the network nodes that form an overlay network with abstract storage, messaging, and security services. [10] [11]

Related Research Articles

<span class="mw-page-title-main">Peer-to-peer</span> Type of decentralized and distributed network architecture

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of nodes.

The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications including WebRTC, television services and web-based push-to-talk features.

The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telephone systems, as well as mobile phone calling over LTE (VoLTE).

SIMPLE, the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions, is an instant messaging (IM) and presence protocol suite based on Session Initiation Protocol (SIP) managed by the Internet Engineering Task Force.

STUN is a standardized set of methods, including a network protocol, for traversal of network address translator (NAT) gateways in applications of real-time voice, video, messaging, and other interactive communications.

VoIP spam or SPIT is unsolicited, automatically dialed telephone calls, typically using voice over Internet Protocol (VoIP) technology.

A session border controller (SBC) is a network element deployed to protect SIP based voice over Internet Protocol (VoIP) networks.

Extensible Authentication Protocol (EAP) is an authentication framework frequently used in network and internet connections. It is defined in RFC 3748, which made RFC 2284 obsolete, and is updated by RFC 5247. EAP is an authentication framework for providing the transport and usage of material and parameters generated by EAP methods. There are many methods defined by RFCs, and a number of vendor-specific methods and new proposals exist. EAP is not a wire protocol; instead it only defines the information from the interface and the formats. Each protocol that uses EAP defines a way to encapsulate by the user EAP messages within that protocol's messages.

A back-to-back user agent (B2BUA) is a logical network element in Session Initiation Protocol (SIP) applications. SIP is a signaling protocol for managing multimedia Voice over Internet Protocol (VoIP) telephone calls. A back-to-back user agent operates between both end points of a communications session and divides the communication channel into two call legs, and mediates all SIP signaling between the endpoints of the session, from establishment to termination. As all control messages for each call flow through the B2BUA, a service provider may implement value-added features available during the call.

In computing, a shared resource, or network share, is a computer resource made available from one host to other hosts on a computer network. It is a device or piece of information on a computer that can be remotely accessed from another computer transparently as if it were a resource in the local machine. Network sharing is made possible by inter-process communication over the network.

In computer networking, the Message Session Relay Protocol (MSRP) is a protocol for transmitting a series of related instant messages in the context of a communications session. An application instantiates the session with the Session Description Protocol (SDP) over Session Initiation Protocol (SIP) or other rendezvous methods.

<span class="mw-page-title-main">Henning Schulzrinne</span> German-American computer scientist

Henning Schulzrinne is a German-American computer engineer who led research and development of the voice over IP network protocols.

<span class="mw-page-title-main">Mark Handley (computer scientist)</span>

Mark James Handley is Professor of Networked Systems in the Department of Computer Science of University College London since 2003, where he leads the Networks Research Group.

Resource Location and Discovery (RELOAD) is a peer-to-peer (P2P) signalling protocol for use on the Internet. A P2P signalling protocol provides its clients with an abstract storage and messaging service between a set of cooperating peers that form the overlay network. RELOAD is designed to support a peer-to-peer SIP network, but can be utilized by other applications with similar requirements by defining new usages that specify the kinds of data that must be stored for a particular application. RELOAD defines a security model based on a certificate enrollment service that provides unique identities. NAT traversal is a fundamental service of the protocol. RELOAD also allows access from "client" nodes that do not need to route traffic or store data for others.

<span class="mw-page-title-main">Media gateway control protocol architecture</span>

The media gateway control protocol architecture is a methodology of providing telecommunication services using decomposed multimedia gateways for transmitting telephone calls between an Internet Protocol network and traditional analog facilities of the public switched telephone network (PSTN). The architecture was originally defined in RFC 2805 and has been used in several prominent voice over IP (VoIP) protocol implementations, such as the Media Gateway Control Protocol (MGCP) and Megaco (H.248), both successors to the obsolete Simple Gateway Control Protocol (SGCP).

Network address translators (NAT) are used to overcome the lack of IPv4 address availability by hiding an enterprise or even an operator's network behind one or few IP addresses. The devices behind the NAT use private IP addresses that are not routable in the public Internet. The Session Initiation Protocol (SIP) has established itself as the de facto standard for voice over IP (VoIP) communication. In order to establish a call, a caller sends a SIP message, which contains its own IP address. The callee is supposed to reply back with a SIP message destined to the IP addresses included in the received SIP message. This will obviously not work if the caller is behind a NAT and is using a private IP address.

The Session Initiation Protocol (SIP) is the signaling protocol selected by the 3rd Generation Partnership Project (3GPP) to create and control multimedia sessions with multiple participants in the IP Multimedia Subsystem (IMS). It is therefore a key element in the IMS framework.

<span class="mw-page-title-main">Well-known URI</span>

A well-known URI is a Uniform Resource Identifier for URL path prefixes that start with /.well-known/. They are implemented in webservers so that requests to the servers for well-known services or information are available at URLs consistent well-known locations across servers.

Application Layer Transport Optimization (ALTO) is a protocol that allows internet clients to obtain information that compares the network properties of paths to other endpoints. Typically, this would be used to identify the lowest-cost location to access a copy of some sort of content.

References

  1. Schollmeier, Rüdiger (2002). "A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications". Proceedings of the First International Conference on Peer-to-Peer Computing, IEEE: 101–102. doi:10.1109/P2P.2001.990434. ISBN   0-7695-1503-7.
  2. D.A. Bryan; B.B. Lowekamp; C. Jennings (15 June 2005). SOSIMPLE: A Serverless, Standards-based, P2P SIP Communication System. Orlando, FL: IEEE. pp. 42–49. ISBN   0-7695-2525-3.
  3. 1 2 J. Rosenberg; H. Schulzrinne; G. Camarillo; A. Johnston; J. Peterson; R. Sparks; M. Handley; E. Schooler (June 2002). SIP: Session Initiation Protocol. Network Working Group. doi: 10.17487/RFC3261 . RFC 3261.Proposed Standard. Updated by RFC  8591, 8760, 8898, 3853, 4320, 5626, 5393, 4916 and 5630. Obsoletes RFC  2543.
  4. Rüdiger Schollmeier; Gero Schollmeier (September 5–7, 2002), Why Peer-to-Peer (P2P) Does Scale: An Analysis of P2P Traffic Patterns, Proceedings of the IEEE 2002 International Conference on Peer-to-Peer Computing (P2P2002), Linköping, Sweden
  5. Ingmar Baumgart; Bernhard Heep; Stephan Krause (May 2007). "OverSim: A Flexible Overlay Network Simulation Framework" (PDF). Proceedings of 10th IEEE Global Internet Symposium (GI '07) in conjunction with IEEE INFOCOM 2007, Anchorage, AK, USA. Archived from the original (PDF) on 2011-05-16. Retrieved 2009-07-06.
  6. Wolfgang Kellerer; Gerald Kunzmann; Rüdiger Schollmeier; Stefan Zöls (2007), "Structured peer-to-peer systems for telecommunications and mobile environments", AEU - International Journal of Electronics and Communications, 60, Elsevier: 25–29, doi:10.1016/j.aeue.2005.10.005
  7. Chien-Ming Cheng; Shiao-Li Tsao; Jin-Chang Chou (7 September 2007), Unstructured Peer-to-Peer Session Initiation Protocol for Mobile Environment, vol. 3, IEEE 18th International Symposium on Personal, Indoor and Mobile Radio Communications, 2007 (PIMRC 2007)., pp. 1–5
  8. C. Jennings; B. Lowekamp; E. Rescorla; S. Baset; H. Schulzrinne (April 27, 2016). T. C. Schmidt (ed.). A SIP Usage for RELOAD. IETF. I-D draft-ietf-p2psip-sip.
  9. C. Jennings; E. Rescorla; S. Baset; H. Schulzrinne (February 24, 2013). B. Lowekamp (ed.). REsource LOcation And Discovery (RELOAD) Base Protocol. IETF. I-D draft-ietf-p2psip-base.
  10. A. Knauf; G. Hege; M. Waehlisch (November 13, 2016). T. C. Schmidt (Ed.) (ed.). A Usage for Shared Resources in RELOAD (ShaRe). IETF. I-D draft-ietf-p2psip-share.
  11. A. Knauf; G. Hege; M. Waehlisch (August 1, 2013). T. C. Schmidt (ed.). A RELOAD Usage for Distributed Conference Control (DisCo). IETF. I-D draft-ietf-p2psip-disco.