One document matched: draft-marocco-p2psip-interwork-01.txt
Differences from draft-marocco-p2psip-interwork-00.txt
Network Working Group E. Marocco
Internet-Draft Telecom Italia
Intended status: Standards Track D. Bryan
Expires: September 3, 2007 SIPeerior Technologies Inc.
March 2, 2007
Interworking between P2PSIP Overlays and Conventional SIP Networks
draft-marocco-p2psip-interwork-01
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 3, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Marocco & Bryan Expires September 3, 2007 [Page 1]
Internet-Draft Interworking between P2PSIP and SIP March 2007
Abstract
This document describes how user agents registered in P2PSIP overlay
networks can interwork with those in conventional SIP networks.
Communications between any two user agents will happen through the
SIP protocol and the location of SIP servers will follow the usual
procedures. However, interworking in some environments may require
the support of additional elements; this document also describes such
elements and how to locate them in P2PSIP overlays.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. P2PSIP Overlay Identifier . . . . . . . . . . . . . . . . 8
3. Additional Logical Elements for Interworking . . . . . . . . . 9
3.1. P2PSIP Proxy Peer . . . . . . . . . . . . . . . . . . . . 9
3.1.1. Insertion into DNS . . . . . . . . . . . . . . . . . . 9
3.2. Relay Agent Peer . . . . . . . . . . . . . . . . . . . . . 10
3.2.1. Relay Agent Peer Selection . . . . . . . . . . . . . . 10
3.3. Locating the new Elements . . . . . . . . . . . . . . . . 10
3.3.1. P2PSIP Proxy Peer URI . . . . . . . . . . . . . . . . 10
3.3.2. Relay Agent Peers URIs . . . . . . . . . . . . . . . . 11
3.3.3. Impacts on the Overlay . . . . . . . . . . . . . . . . 11
4. User Registration . . . . . . . . . . . . . . . . . . . . . . 12
4.1. Registering with the Overlay . . . . . . . . . . . . . . . 12
4.2. Registering with a Public SIP Network . . . . . . . . . . 12
5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1. Caller and Callee within the Overlay . . . . . . . . . . . 13
5.2. Callee within a Public SIP Network . . . . . . . . . . . . 14
5.3. Caller within a Public SIP Network . . . . . . . . . . . . 16
5.4. Callee Registered in a Public Network from an Overlay . . 17
6. Security Considerations . . . . . . . . . . . . . . . . . . . 20
7. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 21
8. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.1. Changes from 00 . . . . . . . . . . . . . . . . . . . . . 22
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.1. Normative References . . . . . . . . . . . . . . . . . . . 23
9.2. Informative References . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
Intellectual Property and Copyright Statements . . . . . . . . . . 25
Marocco & Bryan Expires September 3, 2007 [Page 2]
Internet-Draft Interworking between P2PSIP and SIP March 2007
1. Introduction
This document describes how user agents registered in P2PSIP overlay
networks [I-D.willis-p2psip-concepts] can interwork with those in
conventional SIP networks [RFC3261]. In particular, no assumption is
made about the overlay but that it allows clients and peers to insert
and retrieve routing information, possibly bound to URIs [RFC3986].
The main goal of peer-to-peer networks is to build distributed
systems using resources such as bandwidth, storage and computation
power, shared by participating peers. P2PSIP overlay peer protocols,
in particular, aim to enable lookup services for clients initiating
and managing SIP protocol sessions without relying on central
servers.
To enable P2PSIP overlays to fully interwork with conventional SIP
networks (i.e. handling sessions either originated or terminated in
public domains), some peers must provide more resources than those
required for maintaining the overlay through the P2PSIP peer
protocol. Indeed, connectivity with public domains requires some
peers willing to share their ability to exchange messages with public
hosts on the Internet and, even more important, to be registered in
the public naming service (DNS) for a fully qualified domain name
(FQDN) which uniquely identifies the overlay they participate in.
The purpose of this document is to define the elements which can
supply the additional resources required for full interworking, to
specify how such elements can register and be located within the
overlay, and to describe how user agents (UAs) can establish sessions
across overlay boundaries.
1.1. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described RFC 2119 [RFC2119].
Terminology defined in RFC 3261 [RFC3261] and in P2PSIP concepts
draft [I-D.willis-p2psip-concepts] is used without definition.
Conventional SIP Network: A SIP network where location and routing
functionalities are provided by centralized elements, as described in
RFC 3261 [RFC3261].
Public SIP Network: A SIP network, either conventional or P2PSIP
based, whose user agents can be located using procedures specified in
RFC 3263 [RFC3263].
Marocco & Bryan Expires September 3, 2007 [Page 3]
Internet-Draft Interworking between P2PSIP and SIP March 2007
P2PSIP Proxy Peer: An element registered with the P2PSIP overlay
which is able to route SIP messages directed to public URLs. If a
P2PSIP proxy peer is bound to a FQDN, it can be used also for routing
SIP messages directed to UAs in the P2PSIP overlay.
Relay Agent Peer: An element registered with the P2PSIP overlay which
provides relayed transport addresses through protocols like TURN
[I-D.ietf-behave-turn] and TEREDO [RFC4380] for allowing media
streaming between UAs without direct connectivity.
Marocco & Bryan Expires September 3, 2007 [Page 4]
Internet-Draft Interworking between P2PSIP and SIP March 2007
2. Overview
User agents registered in a P2PSIP overlay are able to reach each
other through the SIP protocol, with resource location handled by the
overlay itself. Figure 1 shows a typical example of the very basic
deployment, where the overlay supplies the functionalities which, in
canonical networks, are usually provided by registrars and proxies.
sip:alice@p2psip.org
___
/_\ Media--------+
SIP |
: |
+-----------:-----------+ |
|p2psip.org : | |
| : | |
| : | |
|P2PSIP : | |
|Overlay : | |
| : | |
| : | |
| : | |
| : | |
+-----------:-----------+ |
: |
: |
___ |
/_\ -------------+
sip:bob@p2psip.org
Session between P2PSIP user agents. Media streams flow directly
between UAs.
Figure 1
The example in Figure 1 requires that all UAs have direct
connectivity with each other. However, since such connectivity is
often impeded by environmental constraints introduced by NATs,
firewalls or simply by lack of physical links, resources other than
those used for maintaining the overlay are generally needed for users
to effectively establish multimedia sessions.
Figure 2 shows an example where UAs use the overlay to store and
locate locations of relay agent peers (Section 3.2) used to
effectiverly exchange data such as media even when NATs are present.
Marocco & Bryan Expires September 3, 2007 [Page 5]
Internet-Draft Interworking between P2PSIP and SIP March 2007
sip:alice@p2psip.org
___
/_\ Media--------+
SIP |
: |
+-----------:-----------+ |
|p2psip.org : +-----------------+
| : +-----------------+|
| : |Relay Agent Peer |+
|P2PSIP : +-----------------+
|Overlay : | |
| : | |
| : | |
| : | |
| : | |
+-----------:-----------+ |
: |
: |
___ |
/_\ -------------+
sip:bob@p2psip.org
Session between P2PSIP user agents. Media streams are relayed.
Figure 2
Overlays such as those depicted in Figure 1 and Figure 2 can be used
only for local communications. Even in network environments where
connectivity is not a problem, interworking with non-P2PSIP nodes
must be considered. While P2PSIP UAs can initiate sessions with
conventional SIP UAs using common resolution procedures defined in
RFC 3263 [RFC3263], they cannot be addressed in any way from outside
the overlay.
Overlays intended to provide global connectivity must provide
interworking with canonical SIP, in addition to providing relaying
services amongst the P2PSIP overlay peers. These overlays must
provide mechanisms for routing SIP messages to conventional SIP
entities in the public Internet and to be located and contacted using
standard SIP procedures. Figure 3 shows an example where
communication is enabled both within the overlay and across its
boundaries, thanks to resources shared by P2PSIP Proxy Peers
(Section 3.1).
Marocco & Bryan Expires September 3, 2007 [Page 6]
Internet-Draft Interworking between P2PSIP and SIP March 2007
sip:alice@p2psip.org sip:carol@example.com
___ ___
/_\ Media--------+ +--------------------- /_\
SIP | | :
: | | :
+-----------:-----------+ | | :
|p2psip.org : +-----------------+ :
| : +-----------------+| :
| : |Relay Agent Peer |+ :
|P2PSIP : +-----------------+ :
|Overlay : | :
| : +-----------------+ :
| : +-----------------+| +---------+
| :.......|P2PSIP Proxy Peer|+...........|SIP Proxy|
| +-----------------+ +---------+
+-----------------------+sip:p2psip.org sip:example.com
Example of a system connecting a UA in a P2PSIP overlay and one in a
conventional SIP network. The user in the P2PSIP overlay is
addressed by her local URI and data streams are relayed.
Figure 3
It is worth noting that, in the example in Figure 3, users who
register in the overlay MUST have URLs whose host parts match with
the FQDN for which overlay's P2PSIP proxy peers are bound to. That
is, the P2P overlay identifier for the overlay must be an FQDN.
Section 4 defines the detailed procedure for user registration.
Overlays such as the one in Figure 3, which have resources for both
relaying data and routing SIP messages to and from public servers can
be considered equivalent to conventional SIP networks when viewed
from the outside. Such a property is extremely important for P2PSIP
UAs which have also an account with conventional SIP providers, but
do not have direct connectivity with their servers. Indeed, such
UAs, following the usual procedures defined in RFC 3261 [RFC3261],
can register their overlay URL as a contact for their conventional
SIP address of record (AOR).
Figure 4 shows an example where a user (alice) registers both in an
overlay (p2psip.org) and, through P2PSIP proxy peers, with a
conventional SIP network (sip:example.org). SIP messages sent by
another user (carol) who only knows her conventional SIP URL
(sip:alice@example.org) are routed to her conventional SIP proxy
(sip:example.org) and, from here, to overlay's P2PSIP proxy
peers(sip:p2psip.org) which eventually reach her through the overlay.
Marocco & Bryan Expires September 3, 2007 [Page 7]
Internet-Draft Interworking between P2PSIP and SIP March 2007
sip:alice@example.org (public AOR)
sip:alice@p2psip.org sip:carol@example.com
___ ___
/_\ Media--------+ +--------------------- /_\
SIP | | :
: | | :
+-----------:-----------+ | | :
|p2psip.org : +-----------------+ :
| : +-----------------+| :
| : |Relay Agent Peer |+ :
|P2PSIP : +----------------+ :
|Overlay : | :
| : +-----------------+ :
| : +-----------------+| +---------+
| :.......|P2PSIP Proxy Peer|+.... ....|SIP Proxy|
| +-----------------+ : : +---------+
+-----------------------+sip:p2psip.org : : sip:example.com
: :
: :
+---------+
|SIP Proxy|
+---------+
sip:example.org
(alice's client-server proxy)
Interworking between one UA in a P2PSIP overlay and one in a
conventional SIP network. The user in the P2PSIP overlay is
addressed by her well known global URI and data streams are relayed
Figure 4
2.1. P2PSIP Overlay Identifier
For overlays which wish to interconnect with existing SIP networks,
the P2PSIP overlay identifier MUST be a FQDN. Moreover, some entity
(humans or automata) responsible for the overlay MUST be able to
manipulate DNS records referring to such identifier for registering
and unregistering P2PSIP proxy peers as defined in Section 3.1.
Procedures for selecting overlay identifiers and for manipulating DNS
records are outside of the scope of this document.
Marocco & Bryan Expires September 3, 2007 [Page 8]
Internet-Draft Interworking between P2PSIP and SIP March 2007
3. Additional Logical Elements for Interworking
This section describes the network elements which provide the
additional resources that P2PSIP overlays need for interworking with
conventional SIP networks. Note that these are logical roles, and
may (and in fact likely would) be combined into one entity such as a
P2PSIP UA. As with the functions in RFC 3261 [RFC3261], we treat
them as separate entities in this document for clarity.
3.1. P2PSIP Proxy Peer
A P2PSIP proxy peer, as mentioned in [I-D.willis-p2psip-concepts]
(Section 3.1, "What Kinds of P2PSIP Peers and Clients Might Exist?"),
is an element which can exchange SIP messages with public domains and
provides this function as a service to the overlay it is registered
in. In particular, the most important characteristics are the
following:
o A P2PSIP proxy peer MUST be able to send SIP requests and receive
SIP responses directed to hosts with a public Internet address.
o A P2PSIP proxy peer MUST be able to perform location procedures
defined in RFC 3263 [RFC3263]. This implies that it MUST also be
able to query the DNS.
o A P2PSIP proxy peer SHOULD have a binding in the DNS so that any
resolution for the overlay identifier performed according to
location procedures defined in RFC 3263 [RFC3263] returns a list
of P2PSIP proxy peers including this node. If such binding
doesn't exist for any of the P2PSIP proxy peers, the overlay
cannot be reached by public SIP networks.
P2PSIP proxy peer MUST record route on SIP request crossing overlay's
boundaries, using the overlay identifier instead of their local
address, due to the ephemeral nature of P2PSIP nodes.
3.1.1. Insertion into DNS
The mechanism for registering P2PSIP proxy peers with the DNS is a
critical point of the overlay. In fact, if the authorization
policies are too permissive, it could be exploited by malicious nodes
for denial of service attacks, while, if they are too strict, it
could introduce a bottleneck in negation with the peer-to-peer model.
Future specifications need to provide mechanisms for managing
controlled registration with the DNS, allowing the adoption of
different policies in different deployments.
P2PSIP proxy peers will generally be located on devices with direct
Marocco & Bryan Expires September 3, 2007 [Page 9]
Internet-Draft Interworking between P2PSIP and SIP March 2007
Internet access. It is NOT RECOMMENDED to insert records in the DNS
for P2PSIP proxy peers behind NATs. While NAT traversal mechanisms
such as STUN [I-D.ietf-behave-rfc3489bis] and TEREDO [RFC4380] can be
used to determine a public address and port which can be registered
in the DNS, NAT binding changes are not deterministic and can cause
inconsistencies.
3.2. Relay Agent Peer
A relay agent peer is an element which can directly exchange media
with hosts on the public Internet. STUN relay servers (previously
called TURN servers), specified in the STUN draft
[I-D.ietf-behave-turn] and TEREDO [RFC4380] relays are typical
examples of relay agents.
Relay agent peers can be located behind some types of NATs if, using
traversal mechanisms not based on relay (e.g. STUN
[I-D.ietf-behave-rfc3489bis]), they can obtain several public
address-port pairs.
3.2.1. Relay Agent Peer Selection
It is extremely difficult to determine apriori which type of relay
agent peer fits best for a media session with a particular UA. To
avoid this choice, UAs SHOULD find as many relay agent peers as
possible and MUST establish media sessions using the ICE
[I-D.ietf-mmusic-ice] mechanism so that the most appropriate relay
can be chosen at run time.
3.3. Locating the new Elements
P2PSIP UAs often need to locate resources or obtain services provided
by P2PSIP proxy peers and relay agent peers. Such lookup is
performed directly in the overlay through the P2PSIP client protocol.
One possible way to allow the location of resources within the
overlay is to define URI for identifying the elements which provide
them. While many mechanisms are possible, we outline a simple
possible approach below.
3.3.1. P2PSIP Proxy Peer URI
P2PSIP proxy peers act as SIP servers and are identified by SIP URLs.
Such URLs MUST have only the host field set, and its value MUST match
the overlay identifier.
For example, the URL which identifies P2PSIP proxy peers registered
within the overlay "p2psip.org" could be "sip:p2psip.org".
Marocco & Bryan Expires September 3, 2007 [Page 10]
Internet-Draft Interworking between P2PSIP and SIP March 2007
It is worth noting that the lookups of P2PSIP proxy peers, made in
the overlay or in the DNS, are conceptually identical.
3.3.2. Relay Agent Peers URIs
Since relay agent peers can implement different protocols, there will
be different URI schemas for identifying each kind. As a general
rule, URLs identifying relay agent peers which implement a given
protocol, will be formed according to the specific scheme and will
have the host field (or the equivalent field) matching the overlay
identifier.
While such URI schema do not currently exist, one could use something
like "turn:p2psip.org" and "teredo:p2psip.org" identify relay agent
peers registered in the overlay "p2psip.org" and implementing TURN
and TEREDO protocols respectively.
3.3.3. Impacts on the Overlay
In overlays where the load balancing among all peers utilizes a key-
partitioning approach, the lookup of services based on well known
URIs would cause dangerous displacements of the overlay traffic. In
fact, since many clients and peers need to know the location of a
relay agent peer, the peer responsible for a URI which identifies any
of those would have to handle much more lookup requests than other
peers which store only user records.
Marocco & Bryan Expires September 3, 2007 [Page 11]
Internet-Draft Interworking between P2PSIP and SIP March 2007
4. User Registration
In order to be reachable from a conventional SIP UA, a UA
participating in a P2PSIP overlay that supports interworking MUST
create a binding in the overlay between its local contact and an URL
(i.e. P2PSIP overlay user identifier) as defined in Section 4.1. If
the user associated with the UA has another public SIP URI, they MAY
register such a URL with the authoritative registrar using a P2PSIP
proxy peer as described in Section 4.2.
4.1. Registering with the Overlay
UAs perform registration in the overlay through the P2PSIP client
protocol. Such registration consists of an insertion of a P2PSIP
overlay user routing record bound to the user identifier.
To support interworking with canonical SIP, the user identifier MUST
be a well formed SIP URL, with the host field matching the overlay
identifier. The user field MUST be set, and its value will usually
be the P2PSIP overlay user identifier.
According to local policies, the user MAY need to enroll and obtain
appropriate credentials for their URL before being able to register
records for it.
4.2. Registering with a Public SIP Network
Users registered in fully interworking P2PSIP overlays can use P2PSIP
proxy peers for sending messages to public SIP networks. This is
especially useful for registering bindings for AORs for which the
overlay is not authoritative. This mechanism can be used to register
the contact for a node participating in a P2PSIP overlay with a well
known SIP URI associated with the user that is well known to their
usual buddies but outside the overlay.
For registering with a public SIP network, an UA follows these steps:
1. The UA MUST perform user registration as defined in Section 4.1.
2. The UA MUST get the address of a P2PSIP proxy peer performing a
lookup as defined in Section 3.3.
3. The UA MUST send a REGISTER message for binding the URL it has
registered in the overlay to its public AOR. The message MUST be
sent using the P2PSIP proxy peer as an outbound proxy.
Marocco & Bryan Expires September 3, 2007 [Page 12]
Internet-Draft Interworking between P2PSIP and SIP March 2007
5. Examples
5.1. Caller and Callee within the Overlay
The following example refers to the network depicted in Figure 2.
Alice overlay relay relay Bob
| | | | |
| | | | |
| (1) Get Relay | | | |
|-------------->| | | |
| (2) Response | | | |
|<--------------| | | |
| | | | |
| (3) Init Relay| | | |
|------------------------------>| | |
| (4) Ok | | | |
|<------------------------------| | |
| | | | |
| (5) INVITE | | | |
|-------------->| (6) INVITE | | |
| |---------------------------------------------->|
| | | | |
| | | | (7) Get Relay |
| |<----------------------------------------------|
| | | | (8) Response |
| |---------------------------------------------->|
| | | | |
| | | |(9) Init Relay |
| | | |<--------------|
| | | | (10) Ok |
| | | |-------------->|
| | | | |
| | | | |
| (11) ICE | | | |
| /-----------\ | /-------------------------------------------\ |
|/ \|/ \|
|\ /|\ /|
| \-----------/ | \-------------------------------------------/ |
| | | | |
| (12) Media | | | |
|<=============================>|<=============>|<=============>|
| | | | |
Figure 5
Marocco & Bryan Expires September 3, 2007 [Page 13]
Internet-Draft Interworking between P2PSIP and SIP March 2007
First Alice queries the overlay for discovering the location of some
relay agent peers (1-2) and initializes one (3-4) for preparing an
ICE candidate. Then she sends an INVITE request with an ICE offer to
Bob through the overlay (5-6).
When Bob receives the INVITE, he queries the overlay to obtain the
location of some relay agent peers (7-8) and initializes one (9-10)
for preparing an ICE candidate. Then the session establishment
completes carrying ICE offers and answers and following the signaling
path of the first INVITE (11).
Eventually, the media is relayed across both Alice's and Bob's relay
agent peers (12).
5.2. Callee within a Public SIP Network
The following example refers to the network depicted in Figure 3.
Marocco & Bryan Expires September 3, 2007 [Page 14]
Internet-Draft Interworking between P2PSIP and SIP March 2007
---------------- overlay members ------------- ----- public -----
Alice overlay relay P2PSIP Carol's Carol
| | | proxy peer proxy |
| | | | | |
|(1) Get Relay | | | | |
|------------->| | | | |
|(2) Response | | | | |
|<-------------| | | | |
| | | | | |
|(3) Init Relay| | | | |
|------------------------->| | | |
|(4) Ok | | | | |
|<-------------------------| | | |
| | | | | |
|(5) Get Proxy | | | | |
|------------->| | | | |
|(6) Response | | | | |
|<-------------| | | | |
| | | | | |
|(7) INVITE | | | | |
|------------------------------------->|(8) INVITE | |
| | | |---------->|(9) INVITE |
| | | | |---------->|
| | | | | |
| (10) ICE | | | | |
| /----------------------------------\ | /-------------------\ |
|/ \|/ \|
|\ /|\ /|
| \----------------------------------/ | \-------------------/ |
| | | | | |
|(11) Media | | | | |
|<========================>|<=================================>|
| | | | | |
Figure 6
First Alice queries the overlay for discovering the location of one
or more relay agent peers (1-2) and initializes one (3-4) for
preparing an ICE candidate. Then she queries the overlay requesting
the location of some P2PSIP proxy peers (5-6) and sends an INVITE
request with an ICE offer to Carol through one of those (7).
The P2PSIP proxy peers performs common location procedures and
discovers the address of Carol's authoritative proxy for routing the
INVITE. Before sending (8), it adds to the message a Record-Route
header with a value equal to the overlay identifier, so that any
Marocco & Bryan Expires September 3, 2007 [Page 15]
Internet-Draft Interworking between P2PSIP and SIP March 2007
other request will reach a P2PSIP proxy peer registered in the same
overlay. Carol's location is found by her proxy based on
registration information (9).
When Carol receives the INVITE, the session establishment completes
carrying ICE offers and answers (if supported) (10).
Media is relayed across Alice's relay agent peer (11).
5.3. Caller within a Public SIP Network
The following example refers to the network depicted in Figure 3.
Alice overlay relay P2PSIP Carol
| | | proxy peer |
| | | | |
| | | | (1) INVITE |
| | | (2) INVITE |<--------------|
| (3) INVITE |<------------------------------| |
|<--------------| | | |
| | | | |
|(4) Get Relay | | | |
|-------------->| | | |
|(5) Response | | | |
|<--------------| | | |
| | | | |
|(6) Init Relay | | | |
|------------------------------>| | |
|(7) Ok | | | |
|<------------------------------| | |
| | | | |
| (8) ICE | | | |
| /-------------------------------------------\ | /-----------\ |
|/ \|/ \|
|\ /|\ /|
| \-------------------------------------------/ | \-----------/ |
| | | | |
| (9) Media | | | |
|<=============================>|<=============================>|
| | | | |
Figure 7
When Carol wants to contact Alice (using the address bound to the P2P
Marocco & Bryan Expires September 3, 2007 [Page 16]
Internet-Draft Interworking between P2PSIP and SIP March 2007
overlay identifier), she performs a conventional SIP location
procedure (RFC3263) and finds the address of one or more P2PSIP proxy
peers for the overlay. Carol then sends an INVITE message addressed
to Alice to any one of the set of such addresses (1). The P2PSIP
proxy peer routes the INVITE to Alice through the overlay (2-3) using
the overlay's resource location and routing mechanisms.
When Alice receives the INVITE, she queries the overlay to discover
the location of one or more relay agent peers (4-5) and initializes
one for preparing an ICE candidate (or an answer, if the INVITE
didn't declare to support ICE) (6-7).
Then the session establishment completes carrying ICE offers and
answers (if the INVITE declared to support it) (8).
Finally, media is relayed across Alice's relay agent peer (9).
5.4. Callee Registered in a Public Network from an Overlay
The following example refers to the network depicted in Figure 3.
Marocco & Bryan Expires September 3, 2007 [Page 17]
Internet-Draft Interworking between P2PSIP and SIP March 2007
---------------- overlay members ------------- ----- public -----
Alice overlay relay P2PSIP Alice's Carol
| | | proxy peer proxy |
| | | | | |
|(1) Get Proxy | | | | |
|------------->| | | | |
|(2) Response | | | | |
|<-------------| | | | |
| | | | | |
|(3) REGISTER | | | | |
|------------------------------------->|(4) REGISTER |
| | | |---------->| |
: : : : : :
: : : : : :
: : : : : :
| | | | |(5) INVITE |
| | | |(6) INVITE |<----------|
| | |(7) INVITE |<----------| |
| (8) INVITE |<----------------------| | |
|<-------------| | | | |
| | | | | |
|(9) Get Relay | | | | |
|------------->| | | | |
|(10)Response | | | | |
|<-------------| | | | |
| | | | | |
|(11)Init Relay| | | | |
|------------------------->| | | |
|(12)Ok | | | | |
|<-------------------------| | | |
| | | | | |
| (13) ICE | | | | |
| /----------------------------------\ | /-------------------\ |
|/ \|/ \|
|\ /|\ /|
| \----------------------------------/ | \-------------------/ |
| | | | | |
|(14) Media | | | | |
|<========================>|<=================================>|
| | | | | |
Figure 8
Right after registering in the overlay, Alices queries the location
of some P2PSIP proxy peers (1-2) and sends a REGISTER request to her
public SIP server through one of them, binding the URL registered in
Marocco & Bryan Expires September 3, 2007 [Page 18]
Internet-Draft Interworking between P2PSIP and SIP March 2007
the overlay to her public AOR (4-3).
When Carol wants to contact Alice, she sends an INVITE request
addressed to her public SIP proxy (5). The proxy finds in its local
database the binding with the URL registered in the overlay, so it
performs a conventional SIP location procedure (RFC3263) for the
overlay identifier (i.e. the domain of the URL) and finds the address
of one or more P2PSIP proxy peers. Then it routes the INVITE message
to any of those (6), which in turn routes the INVITE to Alice through
the overlay (7-8) using the overlay's resource location and routing
mechanisms.
When Alice receives the INVITE, she queries the overlay to discover
the location of one or more relay agent peers (9-10) and initializes
one for preparing an ICE candidate (or an answer, if the INVITE
didn't declare to support ICE) (11-12).
Then the session establishment completes carrying ICE offers and
answers (if the INVITE declared to support it) (13).
Finally, media is relayed across Alice's relay agent peer (14).
Marocco & Bryan Expires September 3, 2007 [Page 19]
Internet-Draft Interworking between P2PSIP and SIP March 2007
6. Security Considerations
Besides the security issues already raised in SIP [2] and other
P2PSIP work, the interconnection model based on "well known" URIs is
vulnerable to spoofing attacks. More work, or the application of
existing SIP work on identity should applied to this to mitigate this
risk.
Another security issue is the registration of P2PSIP proxy peers with
a public DNS; it could be either a point of failure, if registration
policies are too permissive, or a threat to the peer-to-peer model,
if they are too restrictive. Mechanisms must allow for nodes to be
entered and removed, in a secure fashion. This work is related to
and likely to use dynamic DNS.
In a full interworking scenario identity assertion is critically
important; this document shows how it could be achieved proxying
regular authentication to traditional SIP domains. Mechanisms such
as issuing certificates to assert and validate user identities should
be used.
Marocco & Bryan Expires September 3, 2007 [Page 20]
Internet-Draft Interworking between P2PSIP and SIP March 2007
7. Open Issues
1. We need to define a mechanism for authenticating, inserting and
removing DNS records for the overlay. Need to work with dynamic
DNS group to address this.
2. Service location based on well-known URIs impacts the overlay
load-balance, especially if it is based on key partitioning among
peers.
3. Clients route SIP messages addressed to external hosts directly
to P2PSIP proxy peers, without involving the overlay. We should
define in details how and why this works, but there are some
implications on the P2PSIP client protocol to be defined. If the
overlay is supposed to let also conventional SIP user agents
work, such routing must be done directly by peers.
4. URI schemes for relay agent peers are not defined and are also
needed for things besides interworking. Is it feasible to define
URNs for those protocols for which a URI schema does not exist?
5. As security/identity mechanisms for P2PSIP (certificate based or
otherwise) emerge, they should be worked into this document.
Marocco & Bryan Expires September 3, 2007 [Page 21]
Internet-Draft Interworking between P2PSIP and SIP March 2007
8. Changes
8.1. Changes from 00
Introduced the issue of the P2PSIP proxy peer registration with the
DNS outside "Security Considerations".
Introduced the issue of load-balancing when lookup is based on well-
known URIs.
Included the example showing registration with public SIP networks.
Marocco & Bryan Expires September 3, 2007 [Page 22]
Internet-Draft Interworking between P2PSIP and SIP March 2007
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
[RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation
Protocol (SIP): Locating SIP Servers", RFC 3263,
June 2002.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
9.2. Informative References
[I-D.ietf-behave-rfc3489bis]
Rosenberg, J., "Simple Traversal Underneath Network
Address Translators (NAT) (STUN)",
draft-ietf-behave-rfc3489bis-04 (work in progress),
July 2006.
[I-D.ietf-behave-turn]
Rosenberg, J., "Obtaining Relay Addresses from Simple
Traversal of UDP Through NAT (STUN)",
draft-ietf-behave-turn-01 (work in progress), June 2006.
[I-D.ietf-mmusic-ice]
Rosenberg, J., "Interactive Connectivity Establishment
(ICE): A Methodology for Network Address Translator (NAT)
Traversal for Offer/Answer Protocols",
draft-ietf-mmusic-ice-09 (work in progress), June 2006.
[I-D.willis-p2psip-concepts]
Willis, D., Bryan, D., Matthews, P., and E. Shim,
"Concepts and Terminology for Peer to Peer SIP",
draft-willis-p2psip-concepts-00 (work in progress),
June 2006.
[RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through
Network Address Translations (NATs)", RFC 4380,
February 2006.
Marocco & Bryan Expires September 3, 2007 [Page 23]
Internet-Draft Interworking between P2PSIP and SIP March 2007
Authors' Addresses
Enrico Marocco
Telecom Italia
Via G. Reiss Romoli, 274
Turin 10148
Italy
Phone: +39 011 228 5029
Email: enrico.marocco@telecomitalia.it
David Bryan
SIPeerior Technologies, Inc. and College of William and Mary
3000 Easter Circle
Williamsburg, VA 23188
USA
Phone: +1.757.565.0101
Email: dbryan@SIPeerior.com
Marocco & Bryan Expires September 3, 2007 [Page 24]
Internet-Draft Interworking between P2PSIP and SIP March 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Marocco & Bryan Expires September 3, 2007 [Page 25]
| PAFTECH AB 2003-2026 | 2026-04-24 02:42:49 |