draft-ietf-speermint-requirements-01.txt   draft-ietf-speermint-requirements-02.txt 
SPEERMINT Working Group J-F. Mule SPEERMINT Working Group J-F. Mule
Internet-Draft CableLabs Internet-Draft CableLabs
Expires: April 26, 2007 October 23, 2006 Intended status: Best Current July 9, 2007
Practice
Expires: January 10, 2008
SPEERMINT Requirements for SIP-based VoIP Interconnection SPEERMINT Requirements for SIP-based VoIP Interconnection
draft-ietf-speermint-requirements-01.txt draft-ietf-speermint-requirements-02.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 33 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 26, 2007. This Internet-Draft will expire on January 10, 2008.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2006). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document describes high-level guidelines and general This memo defines Best Current Practices for session peering between
requirements for Session PEERing for Multimedia INTerconnect. It SIP Service Providers for voice or other types of multimedia traffic
also defines a minimum set of requirements applicable to session exchanges. In its current state, this document describes high-level
peering for Voice over IP interconnects. It is intended to become guidelines and general requirements for session peering for
best current practices based on the use cases discussed in the multimedia interconnect . It also defines a minimum set of
speermint working group. requirements applicable to session peering for voice over IP,
presence and instant messaging interconnects. It is intended to
become best current practices based on the use cases discussed in the
SPEERMINT working group.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. General Requirements . . . . . . . . . . . . . . . . . . . . . 5 3. General Requirements . . . . . . . . . . . . . . . . . . . . . 5
4. Requirements for SIP-based VoIP Interconnection . . . . . . . 8 3.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. DNS, Call Addressing Data (CAD) and ENUM . . . . . . . . . 8 3.2. Session Peering Points . . . . . . . . . . . . . . . . . . 5
4.2. Minimum set of SIP-SDP-related requirements . . . . . . . 8 3.3. Session Establishment Data (SED) . . . . . . . . . . . . . 6
4.3. Media-related Requirements . . . . . . . . . . . . . . . . 9 3.3.1. User Identities and SIP URIs . . . . . . . . . . . . . 7
4.4. Security Requirements . . . . . . . . . . . . . . . . . . 9 3.3.2. URI Reachability . . . . . . . . . . . . . . . . . . . 7
4.4.1. Security in today's VoIP networks . . . . . . . . . . 9 3.4. Other Considerations . . . . . . . . . . . . . . . . . . . 8
4.4.2. TLS Considerations for session peering . . . . . . . . 10 4. Signaling and Media Guidelines for Session Peering . . . . . . 10
5. Annex A - List of Policy Parameters for VoIP 4.1. Protocol Specifications . . . . . . . . . . . . . . . . . 10
Interconnections . . . . . . . . . . . . . . . . . . . . . . . 12 4.2. Minimum set of SIP-SDP-related requirements . . . . . . . 10
5.1. Categories of parameters and Justifications . . . . . . . 12 4.3. Media-related Requirements . . . . . . . . . . . . . . . . 11
5.2. Summary of Parameters for Consideration in Session 4.4. Requirements for Presence and Instant Messaging . . . . . 11
Peering Policies . . . . . . . . . . . . . . . . . . . . . 14 4.5. Security Requirements . . . . . . . . . . . . . . . . . . 13
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 4.5.1. Security in today's VoIP networks . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 4.5.2. Signaling Security and TLS Considerations . . . . . . 13
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.5.3. Media Security . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . . 18 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16
8.2. Informative References . . . . . . . . . . . . . . . . . . 18 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 21 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 22 7.1. Normative References . . . . . . . . . . . . . . . . . . . 18
7.2. Informative References . . . . . . . . . . . . . . . . . . 18
Appendix A. Policy Parameters for Session Peering . . . . . . . . 21
A.1. Categories of Parameters and Justifications . . . . . . . 21
A.2. Summary of Parameters for Consideration in Session
Peering Policies . . . . . . . . . . . . . . . . . . . . . 24
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 25
Intellectual Property and Copyright Statements . . . . . . . . . . 26
1. Introduction 1. Introduction
The Session PEERing for Multimedia INTerconnect (SPEERMINT) Working Peering at the session level represents an agreement between parties
Group is chartered to focus on architectures to identify, signal, and to allow the exchange of traffic according to a policy. It is
route delay-sensitive communication sessions. These sessions use the assumed that these sessions use the Session Initiation Protocol (SIP)
Session Initiation Protocol (SIP) protocol to enable peering between protocol to enable peering between two or more actors. The actors of
two or more administrative domains over IP networks. SIP session peering are called SIP Service Providers (SSPs) and they
are typically represented by users, user groups such as enterprises
or real-time collaboration service communities, or other service
providers offering voice or multimedia services.
This document describes high-level guidelines and general Common terminology for SIP session peering is defined
requirements for session peering; these requirements are applicable ([I-D.ietf-speermint-terminology]) and a reference architecture is
described in [I-D.ietf-speermint-architecture]. As the traffic
exchanged using SIP as the session establishment protocol increases
between parties, a number of use cases have been exposed by users of
SIP services and various other actors for how session level peering
has been or could be deployed based on the reference architecture
([I-D.ietf-speermint-voip-consolidated-usecases]) .
Peering at the session layer can be achieved on a bilateral basis
(direct peering with SIP sessions established directly between two
SSPs), or on an indirect basis via an intermediary (indirect peering
via a third-party SSP that has a trust relationship with the SSPs),
or on a multilateral basis (assisted peering using a federation model
between SSPs) - see the terminology document for more details.
This document describes guidelines and requirements that are intended
to become Best Current Practices for session peering (direct,
indirect or assisted). These requirements are also independent of
the type of media exchanged by the parties and should be applicable
to any type of multimedia session peering such as Voice over IP to any type of multimedia session peering such as Voice over IP
(VoIP), video telephony, and instant messaging. The document also (VoIP), video telephony, and instant messaging. The document also
defines a minimum set of requirements for a sub-set of the session defines a minimum set of specific requirements for VoIP, presence and
peering use cases: VoIP interconnects. instant messaging interconnects.
It is not the goal of this document to mandate any particular use of
The intent of this version of this document is to describe what any IETF protocols to establish session peering. However, when
mechanisms are used for establishing SIP session peering with a protocol mechanisms are used, the document aims at providing
special look at VoIP interconnects, and in doing so, it defines some guidelines or best current practices on how they should be
of requirements associated with the secure establishment of VoIP implemented, configured or configurable in order to facilitate
interconnects between a large number of peers. session peering.
The primary focus is on the requirements applicable to the boundaries
of layer-5 SIP networks: SIP UA or end-device requirements are
considered out of scope.
It is also not the goal of this document to mandate any particular
use of any IETF protocols to establish session peering by users or
service providers. However, when protocol mechanisms are used, the
document aims at providing guidelines or best current practices on
how they should be implemented, or configured and enabled in order to
facilitate session peering.
Finally, a list of parameters for the definition of a session peering Finally, a list of parameters for the definition of a session peering
policy is provided in an informative annex. It should be considered policy is provided in an informative appendix. It should be
as an example of the information a Voice Service Provider, or considered as an example of the information a SIP Service Provider
Application Service Provider may require in order to connect to may require in order to connect to another using SIP.
another using SIP.
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
and "OPTIONAL" are to be interpreted as described in RFC 2119 and "OPTIONAL" are to be interpreted as described in RFC 2119
[RFC2119]. [RFC2119].
This specification makes use of terms defined in This memo makes use of the following terms and acronyms defined in
[I-D.ietf-speermint-terminology], the Session Description Protocol [I-D.ietf-speermint-terminology]: SIP Service Provider (SSP),
(SDP) [RFC4566] and the Session Initiation Protocol (SIP) [RFC3261]. Signaling Path Border Element (SBE), Data Path Border Element (DBE),
We also use the terms Voice Service Provider (VSP) and Application Session Establishment Data (SED), Layer 3 and Layer 5 peering,
Service Provider (ASP) as defined in [I-D.ietf-ecrit-requirements]. session peering, federation, etc. It is assumed that the reader is
familiar with the Session Description Protocol (SDP) [RFC4566] and
the Session Initiation Protocol (SIP) [RFC3261].
3. General Requirements 3. General Requirements
The following section defines general guidelines and requirements The following sections define general guidelines and requirements
applicable to session peering for multimedia sessions. applicable to session peering for multimedia sessions.
o Session peering should be independent of lower layers. The 3.1. Scope
mechanisms used to establish session peering SHOULD accommodate
diverse supporting lower layers. SSPs desiring to establish session peering relationships have to
reach an agreement on numerous aspects.
This document only addresses best current practice for certain
aspects of a session peering agreement, including the declaration,
advertisement and management of ingress and egress for session
signaling and media, information and conventions related to the
Session Establishment Data (SED), the security requirements each peer
may enforce on its network to accept and secure session exchanges,
and, the format and necessary details to determine the minimum set of
parameters required to achieve SIP and SDP interoperability.
Several other aspects of session peering are critical to reach a
successful agreement but they are considered out of scope of the
SPEERMINT working group and not addressed in this document. They
include aspects such as media (e.g., type of media traffic to be
exchanged, compatible media codecs and media transport protocols,
mechanisms to ensure differentiated quality of service for media),
layer-3 IP connectivity between the Signaling Path and Data Path
Border Elements, traffic capacity control (e.g. maximum number of SIP
sessions at each ingress point, maximum number of concurrent IM or
VoIP sessions), and accounting. The primary focus of this document
is on the requirements applicable to the boundaries of Layer 5 SIP
networks: SIP UA or end-device requirements are also considered out
of scope.
The informative Appendix A lists parameters that SPPs should consider
when discussing the technical aspects of SIP session peering.
3.2. Session Peering Points
For session peering to be scalable and operationally manageable by
SSPs, maximum flexibility should be given for how signaling path and
media path border elements are declared, dynamically advertised and
updated. Indeed, in any session peering environment, there is a need
for a SIP Service Provider to declare or dynamically advertise the
SIP and media entities that will face the peer's network.
An SSP SHOULD declare the signaling border elements responsible for
egress and ingress points so called Signaling Path Border Elements
(SBEs). If the SSP also provides media streams to its users, an SSP
SHOULD declare the media border elements responsible for egress and
ingress points so called Signaling Path Data Elements (SDEs); if such
an SSP relies on STUN servers ([RFC3489]) and STUN Relay extensions
to permit the traversal of NAT devices, the SSP SHOULD declare those
STUN servers as part of its SDEs. It is RECOMMENDED that SSPs use
DNS and provide one or more domain names to be used with [RFC3263] to
locate SBEs.
An SPP SHOULD also indicate if some restrictions exist on the type of
media traffic the SIP entities acting as SBEs are capable of
establishing. Ingress and egress SBE points MAY be peer-dependent,
and/or media-dependent. An SSP SHOULD be able to accomodate
multiple, media-dependent ingress points from a peer's network. The
mechanisms recommended for the declaration and advertisement of SBE
and SDE entities MUST allow for peer and media variability.
Motivations: Motivations:
Session peering is about layer 5 mechanisms. It should not matter While there could be one single Signaling Path Border Element (SBE)
in some SSP networks that communicates with all SIP peer networks, an
SSP may choose to have one or more SBEs for receiving incoming SIP
session requests (ingress signaling points), and one or more SBEs for
outgoing SIP session requests (egress signaling points). Ingress and
egress signaling points may be distinct SIP entities and could be
media-dependent. Some providers deploy SIP entities specialized for
voice, real-time collaboration, etc. For example, within an SSP
network, some SBEs may be dedicated for certain types of media
traffic due to specific SIP extensions required for certain media
types (e.g. SIMPLE, the SIP MESSAGE Method for Instant Messaging
[RFC3428] or the Message Sessions Relay Protocol (MSRP)).
An SSP SHOULD communicate how authentication of the peer's SBEs will
occur (see the security requirements for more details). The use of
access control lists based on fixed IP addresses or fixed IP sub-nets
of the SBEs is NOT RECOMMENDED as it does not scale: it not only
involves an error-prone manual process to configure access control
lists but it also prevents peers from dynamically making IP network
addressing changes to their SBE egress points without advertising
those changes "manually".
3.3. Session Establishment Data (SED)
The Session Establishment Data (SED) is defined as the data used to
route a call or SIP session to the called domain's ingress point
([I-D.ietf-speermint-terminology]). Given that SED is the set of
parameters that the outgoing SBEs need to complete the session
establishment, some information must be shared between SSPs on
special requirements or conventions required for a successful session
establishment. The following paragraphs capture the recommended best
practices for the SED data.
3.3.1. User Identities and SIP URIs
User identities used between peers can be represented in many
different formats. Session Establishment Data SHOULD rely on URIs
(Uniform Resource Identifiers, RFC 3986 [RFC3986]) and SIP URIs
SHOULD be preferred over tel URIs (RFC 3966 [RFC3966]).
The use of DNS domain names and hostnames is RECOMMENDED in SIP URIs
and they MUST be resolvable on the public Internet. It is
RECOMMENDED that the host part of SIP URIs contain a fully-qualified
domain name instead of a numeric IPv4 or IPv6 address. As for the
user part of the SIP URIs, an SSP SHOULD NOT need to be aware of
which individual user identities are valid within a peer's domain.
Although SED data may be based on E.164-based SIP URIs for voice
interconnects, a generic peering methodology should not rely on such
E.164 numbers. As described in
[I-D.draft-elwell-speermint-enterprise-usecases], in some use cases
for enterprise to enterprise peering (even if a transit SSP is
involved), it should be possible to use user identity URIs that do
not map to E.164 numbers, e.g. for presence, instant messaging and
even for voice.
Motivations:
When SSP support voice, telephone numbers commonly appear in the
username portion of a SIP URI. When telephone numbers are in tel
URIs, SIP requests cannot be routed in accordance with the
traditional DNS resolution procedures standardized for SIP as
indicated in RFC 3824 [RFC3824]. The recommendations defined in
[RFC3824] SHOULD be followed by implementers when using E.164 numbers
with SIP. Furthermore, it is commonly assumed that all SIP URIs with
the same domain-part share the same set of peering policies, thus the
domain of the SIP URI may be used as the primary key to any
information regarding the reachability of that SIP URI.
3.3.2. URI Reachability
Based on a well-known URI type (for e.g. sip, pres, or im URIs), it
MUST be possible to determine whether the SSP domain servicing the
URI allows for session peering, and if it does, it SHOULD be possible
to locate and retrieve the domain's policy and SBE entities.
For example, an originating service provider must be able to
determine whether a SIP URI is open for direct interconnection
without requiring an SBE to initiate a SIP request. Furthermore,
since each call setup implies the execution of any proposed
algorithm, the establishment of a SIP session via peering should
incur minimal overhead and delay, and employ caching wherever
possible to avoid extra protocol round trips.
The use of DNS domain names and hostnames is RECOMMENDED in SIP URIs
and they MUST be resolvable on the public Internet. The DNS
procedures specified in [RFC3263] SHOULD be followed to resolve a SIP
URI into a reachable host (IP address and port), and transport
protocol. Note that RFC 3263 relies on DNS SRV [RFC2782] and NAPTR
Resource Records [RFC2915].
Motivations:
This requirement is important as unsuccessful call attempts are
highly undesirable since they can introduce high delays due to
timeouts and can act as an unintended denial of service attack (e.g.,
by repeated TLS handshakes). There should be a high probability of
successful call completion for policy-conforming peers.
3.4. Other Considerations
The considerations listed below were gathered early on in the
SPEERMINT working group as part of discussions to define the scope of
the working group. They are left here but have been re-written
without requirements verbs for the most part.
o Session peering should be independent of lower layers.
The mechanisms used to establish session peering should
accommodate diverse supporting lower layers. It should not matter
whether lower layers rely on the public Internet or are whether lower layers rely on the public Internet or are
implemented by private L3 connectivity, using firewalls or L2/L3 implemented by private L3 connectivity, using firewalls or L2/L3
Virtual Private Networks (VPNs), IPSec tunnels or Transport Layer Virtual Private Networks (VPNs), IPSec tunnels or Transport Layer
Security (TLS) connections [RFC3546]... Security (TLS) connections [RFC3546]...
o Session Peering Policies and Extensibility: o Session Peering Policies and Extensibility:
Policies developed for session peering SHOULD be flexible and Mechanisms developed for session peering should be flexible and
extensible to cover existing and future session peering models. extensible to cover existing and future session peering models.
It is also RECOMMENDED that policies be published via local It is also recommended that SSP policies be published via local
configuration choices in a distributed system like DNS rather than configuration choices in a distributed system like DNS rather than
in a centralized system like a 'peering registry'. in a centralized system like a 'peering registry'.
In the context of session peering, a policy is defined as the set In the context of session peering, a policy is defined as the set
of parameters and other information needed by one VSP/ASP to of parameters and other information needed by an SPP to connect to
connect to another. Some of the session policy parameters may be another. Some of the session policy parameters may be statically
statically exchanged and set throughout the lifetime of the exchanged and set throughout the lifetime of the peering
peering relationship. Others parameters may be discovered and relationship. Others parameters may be discovered and updated
updated dynamically using by some explicit protocol mechanisms. dynamically using by some explicit protocol mechanisms. These
These dynamic parameters may also relate to a VSP/ASP's session- dynamic parameters may also relate to an SSP's session-dependent
dependent or session independent policies as defined in or session independent policies as defined in
[I-D.ietf-sipping-session-policy-framework]. [I-D.ietf-sipping-session-policy-framework].
Motivations:
It is critical that the solutions be flexible and extensible given
the various emerging models: layer 5 peering may involve open
federations of SIP proxies, or closed environments with systems
that only accept incoming calls from selected peers based on a set
of bilateral trust relationships. Federations may also be based
on memberships in peering fabrics or voice service provider clubs,
etc. Session peering may be direct or indirect.
The maintenance of the "system" should scale beyond simple lists
of peering partners. In particular, it must incorporate
aggregation mechanisms which avoid O(n^2) scaling (where n is the
number of participating peers). The distributed management of the
DNS is a good example for the scalability of this approach.
o Administrative and Technical Policies: o Administrative and Technical Policies:
Various types of policy information may need to be discovered or Various types of policy information may need to be discovered or
exchanged in order to establish session peering. At a minimum, a exchanged in order to establish session peering. At a minimum, a
policy SHOULD specify information related to call addressing data policy should specify information related to session establishment
in order to avoid session establishment failures. A policy MAY data in order to avoid session establishment failures. A policy
also include information related to QoS, billing and accounting, may also include information related to QoS, billing and
layer-3 related interconnect requirements which are out of the accounting, layer-3 related interconnect requirements which are
scope of this document. out of the scope of this document, see examples in Section
Appendix A.
Motivations: Motivations:
The reasons for declining or accepting incoming calls from a The reasons for declining or accepting incoming calls from a
prospective peering partner can be both administrative prospective peering partner can be both administrative
(contractual, legal, commercial, or business decisions) and (contractual, legal, commercial, or business decisions) and
technical (certain QoS parameters, TLS keys, domain keys, ...). technical (certain QoS parameters, TLS keys, domain keys, ...).
The objectives are to provide a baseline framework to define, The objectives are to provide a baseline framework to define,
publish and optionally retrieve policy information so that a publish and optionally retrieve policy information so that a
session establishment does not need to be attempted to know that session establishment does not need to be attempted to know that
imcompatible policy parameters will cause the session to fail imcompatible policy parameters will cause the session to fail
(this was originally referred to as "no blocked calls"). (this was originally referred to as "no blocked calls").
o URIs and Domain-Based Peering Context: 4. Signaling and Media Guidelines for Session Peering
Call Addressing Data SHOULD rely on URIs (Uniform Resource
Identifiers, RFC 3986 [RFC3986]) for call routing and SIP URIs
SHOULD be preferred over tel URIs (RFC 3966 [RFC3966]). Although
the initial call addressing data may be based on E.164 numbers for
voice interconnects, a generic peering methodology SHOULD NOT rely
on such E.164 numbers.
Motivations: This section provides some guidelines for maximizing SIP-based
Telephone numbers commonly appear in the username portion of a SIP interconnections between SSPs. It should be considered as the
URI. When telephone numbers are in tel URIs, SIP requests cannot minimal set of requirements to be implemented to perform SIP
be routed in accordance with the traditional DNS resolution interconnects for presence, IM, or VoIP.
procedures standardized for SIP as indicated in RFC 3824
[RFC3824]. Furthermore, we assume that all SIP URIs with the same
domain-part share the same set of peering policies, thus the
domain of the SIP URI may be used as the primary key to any
information regarding the reachability of that SIP URI.
o URI Reachability and Minimal additional cost on call initiation: 4.1. Protocol Specifications
Based on a well-known URI (for e.g. sip, pres, or im URIs), it
MUST be possible to determine whether the domain servicing the URI
(VSP/ASP) allows for session peering, and if it does, it SHOULD be
possible to locate and retrieve the domain's policy and signaling
functions. For example, an originating service provider must be
able to determine whether a SIP URI is open for direct
interconnection without requiring to initiate a SIP request.
Furthermore, since each call setup implies the execution of any
proposed algorithm, the establishment of a SIP session via peering
SHOULD incur minimal overhead and delay, and employ caching
wherever possible to avoid extra protocol round trips.
Motivations: A detailed list of SIP and SDP RFCs the session peers' SBEs must
This requirement is important as unsuccessful call attempts are conform to must be provided by SSPs. It is NOT RECOMMENDED to rely
highly undesirable since they can introduce high delays due to on Internet-Drafts for commercial SIP interconnects, but if
timeouts and can act as an unintended denial of service attack applicable, a list of supported or required IETF Internet-Drafts
(e.g., by repeated TLS handshakes). There should be a high SHOULD be provided. Such specifications SHOULD include protocol
probability of successful call completion for policy-conforming implementation compliance statements, indicate the minimal extensions
peers. that MUST be supported, and the full details on what options and
protocol features MUST be supported, MUST NOT be supported or MAY be
supported. This specification SHOULD include a high-level
description of the services that are expected to be supported by the
peering relationship and it MAY include sample message flows.
o Variability of the Call Address Data: 4.2. Minimum set of SIP-SDP-related requirements
A terminating VSP/ASP or user SHOULD be able to indicate its
domain ingress points (Signaling Path Border Element(s)) based on
the identity of the originating VSP/ASP or user.
The mechanisms recommended for the use and resolution of the call
addressing data SHOULD allow for variability or customization of
the response(s) depending on various elements, such as the
identity of the originating or terminating user or user domain.
4. Requirements for SIP-based VoIP Interconnection The main objective of SIP interconnects being the establishment of
successful SIP calls between peer SSPs, this section provides some
guidelines for the minimum set of SIP specifications that SHOULD be
supported by SBEs.
This section defines some requirements for SIP-based VoIP The Core SIP Specifications as defined in [RFC3261] and
Interconnection. It should be considered as the minimal set of [I-D.ietf-sip-hitchhikers-guide] MUST be supported by Signaling Path
requirements to be implemented to perform SIP VoIP interconnects. Border Elements (SBEs) and any other SIP implementations involved in
session peering. The specifications contained in the Core SIP group
provide the fundamental and basic mechanisms required to enable SIP
interconnects. The Hitchkiker's guide include specific sections for
voice, instant message and presence.
4.1. DNS, Call Addressing Data (CAD) and ENUM Furthermore, SBE implementers MUST follow the recommendations
contained in RFC 3261 regarding the use of the Supported and Require
headers. Signaling Path Border Elements SHOULD include the supported
SIP extensions in the Supported header and the use of the Require
header must be configurable on a per SSP target domain basis in order
to match a network peer's policy and to maximize interoperability.
Call Addressing Data can be derived from various mechanisms available In the cases of indirect or assisted peering, it is also important
to the user, such as ENUM when the input is a telephone number, or that an adequate level of SIP message transparency is available. In
other DNS queries using SRV and NAPTR resource records when the entry particular, the intermediary SBE MUST NOT modify or remove
is a SIP URI for example. The SPEERMINT Working Group is focused on information in the SIP or SDP parameters beyond what is required for
the use of CAD. the purpose of call routing. In particular, intermediary SBE SHOULD
NOT:
The following requirements are best current practices for VoIP o Remove SIP header lines, SIP header fields and SIP message bodies
session peering: that are intended for the destination SBE, or the called SIP UA
irrespective of whether or not those header lines or parameters
are understood by the intermediary SBE;
o SIP URIs SHOULD be preferred over tel URIs when establishing a SIP o Modify header fields and bodies in a way that may break any
session for voice interconnects. integrity protection.
o The recommendations defined in [RFC3824] SHOULD be followed by 4.3. Media-related Requirements
implementers when using E.164 numbers with SIP, and by authors of
NAPTR records for ENUM for records with an 'E2U+sip' service
field. Other ENUM implementation issues and experiences are
described in [I-D.ietf-enum-experiences] that may be relevant for
VoIP interconnects using ENUM.
o The use of DNS domain names and hostnames is RECOMMENDED in SIP SSPs engaged in session peering SHOULD support of compatible codecs.
URIs and they MUST be resolvable on the public Internet. An SSP domain policy SHOULD specify media-related parameters that
their user's SIP entities support or that the SSP authorizes in its
domain's policy. Direct media exchange between the SSPs' user
devices is preferred and media transcoding SHOULD be avoided by
proposing commonly agreed codecs. SSPs SHOULD discuss mechanisms
employed for IPv4-IPv6 translation of media, as well as solutions
used for NAT traversal such as ICE [I-D.ietf-ice] and STUN
([RFC3489]).
o The DNS procedures specified in [RFC3263] SHOULD be followed to Motivations: The media capabilities of an SSP's network are either a
resolve a SIP URI into a reachable host (IP address and port), and property of the SIP end-devices, SIP applications, or, a combination
transport protocol. Note that RFC 3263 relies on DNS SRV of the property of end-devices and Data Path Border Elements that may
[RFC2782] and NAPTR Resource Records [RFC2915]. provide media transcoding.
4.2. Minimum set of SIP-SDP-related requirements The choice of one or more common media codecs for SIP sessions
between SSPs is outside the scope of SPEERMINT. A list of media-
related policy parameters are provided in the informative Appendix A.
The main objective of VoIP interconnects being the establishment of For media related security guidance, please refer to Section
successful SIP calls between peer VSPs/ASPs, this section provides a Section 4.5.
minimum set of SIP-related requirements.
o The Core SIP Specifications as defined in [RFC3261] and 4.4. Requirements for Presence and Instant Messaging
[I-D.ietf-sip-hitchhikers-guide] MUST be supported by Signaling
Path Border Elements and any other SIP implementations involved in
session peering.
Justifications:
The specifications contained in the Core SIP group provide the
fundamental and basic mechanisms required to enable VoIP
interconnects. This includes: the SIP protocol for session
establishment and its updates such as RFC 3853 and RFC 4320, SDP
[RFC4566] and its Offer/Answer model [RFC3264] for VoIP media
session descriptions and codec negotiations, SIP Asserted Identity
for caller ID services, and various other extensions to support
NAT traversal, etc.
o The following RFCs SHOULD be supported: Reliability of Provisional This section lists some presence and Instant Messaging requirements
Responses in SIP - PRACK [RFC3262], the SIP UPDATE method (for defined in [I-D.presence-im-requirements] and authored by A. Houri,
e.g. for codec changes during a session) [RFC3311], the Reason E. Aoki and S. Parameswar. Credits must go to A. Houri, E. Aoki and
header field [RFC3326]. S. Parameswar.
In the context of session peering where peers desire to maximize the It was requested to integrate [I-D.presence-im-requirements] into
chances of successful call establishment, the recommendations this draft since some of the requirements are generic and non
contained in RFC 3261 regarding the use of the Supported and Require specific to any application type. In particular, requirements
headers MUST be followed. Signaling Path Border Elements SHOULD numbered PRES-IM-REQ-001, PRES-IM-REQ-002, PRES-IM-REQ-010, PRES-IM-
include the supported SIP extensions in the Supported header and the REQ-011, PRES-IM-REQ-015 and PRES-IM_REQ-017 are covered by
use of the Require header must be configurable on a per target domain guidelines provided in other parts of this document.
basis in order to match a network peer policy and to maximize
interoperability.
4.3. Media-related Requirements The numbering of the requirements is as defined in the above
mentioned ID. It is expected that as more discussions occur and
consensus is achieved in the working group, those requirements will
be renumbered or re-written in the mindset of a BCP document. The
following list describes requirements for presence and instant
messaging session peering:
VSPs engaged in session peering SHOULD support of compatible codecs o From (PRES-IM-REQ-003, PRES-IM-REQ-004 and PRES-IM-REQ-005): The
and include media-related parameters in their domain's policy. mechanisms recommended for the exchange of presence information
Transcoding SHOULD be avoided by proposing commonly agreed codecs. between SSPs MUST allow a user of one SSP's presence community to
subscribe presentities served by another SSP via its local
community, including subscriptions to a single presentity, a
public or private (personal) list of presentities.
Motivations: The media capabilities of a VSP's network are either a o From (PRES-IM-REQ-006, PRES-IM-REQ-007, PRES-IM-REQ-008 and PRES-
property of the SIP end-devices, or, a combination of the property of IM-REQ-009): The mechanisms recommended for Instant Messaging
end-devices and Data Path Border Elements that may provide media message exchanges between SSPs MUST allow a user of SSP's
transcoding. The choice of one or more common codecs for VoIP community to communicate with users of the other SSP community via
sessions between VSPs is therefore outside the scope of speermint. their local community using various methods, including sending a
Indeed, as stated in introduction, requirements applicable to end- one-time IM message, initiating a SIP session for transporting
devices of a VSP are considered out of scope. A list of media- sessions of messages, participating in n-way chats using chat
related policy parameters are provided in the informative Section 5. rooms with users from the peer SSPs, or sending a file.
4.4. Security Requirements o PRES-IM-REQ-012: Privacy Sharing - In order to enable sending less
notifications between communities, there should be a mechanism
that will enable sharing privacy information of users between the
communities. This will enable sending a single notification per
presentity that will be sent to the appropriate watchers on the
other community according to the presentity's privacy information.
4.4.1. Security in today's VoIP networks o PRES-IM-REQ-013: Privacy Sharing Security - The privacy sharing
mechanism must be done in a way that will enable getting the
consent of the user whose privacy will be sent to the other
community prior to sending the privacy information. if user
consent is not give, it should not be possible to this
optimization. In addition to getting the consent of users
regarding privacy sharing, the privacy data must be sent only via
secure channels between communities.
In today's VoIP deployments, various approaches exist to secure o PRES-IM-REQ-014: Multiple Recipients - It should be possible to
exchanges between VSPs/ASPs. Signaling and media security are the send a presence document with a list of watchers on the other
two primary topics for consideration in most deployments. A number community that should receive the presence document notification.
of transport-layer and network-layer mechanisms are widely used by This will enable sending less presence document notifications
some categories of VSPs: TLS in the enterprise networks for between the communities while avoiding the need to share privacy
applications such as VoIP and secure Instant Messaging, IPSec and information of presentities from one community to the other.
L2/L3 VPNs in some VSP networks where there is a desire to secure all
signaling and media traffic at or below the IP layer. Media level
security is not widely deployed for RTP, even though it is in use in
few deployments where the privacy of voice communications is
critical.
A detailed security threat analysis of session peering exchanges
should provide more guidance on what scalable and efficient methods
should be used to help mitigate the the main security risks in large-
scale session peering.
A recent IETF BoF at IETF 66 (rtpsec) was organized to analyze SIP o PRES-IM-REQ-016: Mappings - A lot of the early deployments of SIP
requirements for SRTP keying; a number of security requirements for based presence and IM gateways are deployed in front of legacy
VoIP were discussed. A few Internet-Drafts have since been released proprietary systems that use different names for different
and focus on media security requirements for SIP sessions properties that exist in PIDF. For example "Do Not Disturb" may
([I-D.ietf-wing-media-security-requirements]). Some of these be translated to "Busy" in another system. In order to make sure
scenarios may be applicable to interdomain VSP/ASP session peering or that the meaning of the status is preserved, there is a need that
they may be augmented in the future by interdomain scenarios. either each system will translate its internal statuses to
standard PIDF based statuses of a translation table of proprietary
statuses to standard based PIDF statuses will be provided from one
system to the other.
4.4.2. TLS Considerations for session peering 4.5. Security Requirements
The remaining of Section 4 covers some details on how TLS could be 4.5.1. Security in today's VoIP networks
deployed and used between 2 VSPs/ASPs to secure SIP exchanges. The
intent is to capture what two VSPs/ASPs should discuss and agree on
in order to establish TLS connections for SIP session peering.
1. Peers SHOULD agree on one or more Certificate Authorities In today's SIP deployments, various approaches exist to secure
(CAs) to trust for securing session peering exchanges. exchanges between SIP Service Providers. Signaling and media
security are the two primary topics for consideration in most
deployments. A number of transport-layer and network-layer
mechanisms are widely used for SIP by some categories of SSPs: TLS in
the enterprise networks for applications such as VoIP and secure
Instant Messaging or in service provider networks for Instant
Messaging and presence applications, IPsec and L2/L3 VPNs in some SSP
networks where there is a desire to secure all signaling and media
traffic at or below the IP layer. Media level security is not widely
used today between providers for media transported using the Real-
Time Protocol (RTP) , even though it is in use in few deployments
where the privacy of voice and other RTP media is critical.
A security threat analysis provides guidance for VoIP session peering
([I-D.draft-niccolini-speermint-voipthreats]). More discussions
based on this threat analysis and use cases is required in the
working group to define best current practices that this document, or
a separate memo should recommend for both signaling and media
security.
4.5.2. Signaling Security and TLS Considerations
The Transport Layer Security (TLS) is a standard way to secure
signaling between SIP entities. TLS can be used in direct peering to
mutually authenticate SSPs and provide message confidentiality and
integrity protection. The remaining paragraphs explore how TLS could
be deployed and used between 2 SSPs to secure SIP exchanges. The
intent is to capture what two SSPs should discuss and agree on in
order to establish TLS connections for SIP session peering.
1. SSPs SHOULD agree on one or more Certificate Authorities (CAs)
to trust for securing session peering exchanges.
Motivations: Motivations:
A VSP/ASP should have control over which root CA it trusts for SIP An SSP should have control over which root CAs it trusts for SIP
communications. This may imply creating a certificate trust list communications. This may imply creating a certificate trust list
and including the peer's CA for each authorized domain. This and including the peer's CA for each authorized domain. In the
requirement allows for the initiating side to verify that the case of a federation, This requirement allows for the initiating
server certificate chains up to a trusted root CA. This also side to verify that the server certificate chains up to a trusted
means that SIP servers SHOULD allow the configuration of a root CA. This also means that SIP servers SHOULD allow the
certificate trust list in order to allow a VSP/ASP to control configuration of a certificate trust list in order to allow a VSP/
which peer's CAs are trusted for TLS connections. Note that these ASP to control which peer's CAs are trusted for TLS connections.
considerations seem to be around two themes: one is trusting a Note that these considerations seem to be around two themes: one
root, the other is trusting intermediate CAs. is trusting a root, the other is trusting intermediate CAs.
2. Peers SHOULD indicate whether their domain policies require 2. Peers SHOULD indicate whether their domain policies require
proxy servers to inspect and verify the identity provided in SIP proxy servers to inspect and verify the identity provided in SIP
requests as defined in [RFC4474]. requests as defined in [RFC4474]. Federations supporting
[RFC4474] MUST specify the CA(s) permitted to issue certificates
of the authentication service.
3. SIP servers involved in the secure session establishment over 3. SIP and SBE servers involved in the secure session
TLS MUST have valid X.509 certificates and MUST be able to receive establishment over TLS MUST have valid X.509 certificates and MUST
a TLS connection on a well-known port. be able to receive a TLS connection on a well-known port.
4. The following TLS/SIP Protocol parameters SHOULD be agreed 4. The following TLS/SIP Protocol parameters SHOULD be agreed
upon as part of session peering policies: the version of TLS upon as part of session peering policies: the version of TLS
supported by Signaling Border Elements (TLSv1, TLSv1.1), the SIP supported by Signaling Border Elements (TLSv1, TLSv1.1), the SIP
TLS port (default 5061), the server-side session timeout (default TLS port (default 5061), the server-side session timeout (default
300 seconds), the list of supported or recommended ciphersuites, 300 seconds), the list of supported or recommended ciphersuites,
and the list of trusted root CAs. and the list of trusted root CAs.
5. SIP servers involved in the session establishment over TLS 5. SIP and SBE servers involved in the session establishment over
MUST verify and validate the client certificates: the client TLS MUST verify and validate the client certificates: the client
certificate MUST contain a DNS or URI choice type in the certificate MUST contain a DNS or URI choice type in the
subjectAltName which corresponds to the domain asserted in the subjectAltName which corresponds to the domain asserted in the
host portion of the URI contained in the From header. It is also host portion of the URI contained in the From header. It is also
recommended that VSPs/ASPs convey the domain identity in the recommended that VSPs/ASPs convey the domain identity in the
certificates using both a canonical name of the SIP server(s) and certificates using both a canonical name of the SIP server(s) and
the SIP URI for the domain as described in section 4 of the SIP URI for the domain as described in section 4 of
[I-D.gurbani-sip-domain-certs]. On the client side, it is also [I-D.gurbani-sip-domain-certs]. On the client side, it is also
critical for the TLS client to authenticate the server as defined critical for the TLS client to authenticate the server as defined
in [RFC3261] and in section 9 of draft-ietf-sip-certs-01.txt. in [RFC3261] and in section 9 of [I-D.ietf-sip-certs].
6. A session peering policy SHOULD include details on SIP session 6. A session peering policy SHOULD include details on SIP session
establishment over TLS if TLS is supported. establishment over TLS if TLS is supported.
5. Annex A - List of Policy Parameters for VoIP Interconnections 4.5.3. Media Security
This informative annex lists the various types of parameters that Media security for session peering is as important as signaling
should be considered when discussing the technical aspects of a VoIP security, especially for SSPs that want to continue to meet commonly
Peering policy . assumed privacy and confidentiality requirements outside their
networks. Media can be secured using secure media transport
protocols (e.g. secure RTP or sRTP). The issues of key management
protocols for sRTP are being raised in IETF and this continues to be
an area where requirements definition and protocol work is ongoing.
More consensus is required outside SPEERMINT before best current
practices can emerge. See media security requirements for SIP
sessions ([I-D.ietf-wing-media-security-requirements]) and its
references for more details. Some of these scenarios may be
applicable to interdomain SSP session peering.
5.1. Categories of parameters and Justifications 5. Acknowledgments
It is intended as an initial list of topics that should be addressed This document is a work-in-progress and it is based on the input and
by peers when establishing a VoIP peering relationship. contributions made by a large number of people in the SPEERMINT
working group, including: Edwin Aoki, Scott Brim, John Elwell, Mike
Hammer, Avshalom Houri, Richard Shocky, Henry Sinnreich, Richard
Stastny, Patrik Faltstrom, Otmar Lendl, Daryl Malas, Dave Meyer,
Sriram Parameswar, Jason Livingood, Bob Natale, Benny Rodrig, Brian
Rosen, Eric Rosenfeld, Adam Uzelac and Dan Wing. Specials thanks go
to Rohan Mahy, Brian Rosen, John Elwell for their initial drafts
describing guidelines or best current practices in various
environments, and to Avshalom Houri, Edwin Aoki and Sriram Parameswar
for authoring the presence and instant messaging requirements.
6. Security Considerations
Securing session peering communications involves numerous protocol
exchanges, first and foremost, the securing of SIP signaling and
media sessions. The security considerations contained in [RFC3261],
and [RFC4474] are applicable to the SIP protocol exchanges. A number
of security considerations are also described in Section Section 4.5.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
7.2. Informative References
[I-D.Malas-sip-performance]
Malas, D., "SIP End-to-End Performance Metrics", May 2007.
[I-D.draft-elwell-speermint-enterprise-usecases]
Elwell, J. and B. Rodrig, "Use cases for Enterprise
Peering using the Session Initiation Protocol",
draft-elwell-speermint-enterprise-usecases-00.txt (work in
progress), February 2007.
[I-D.draft-niccolini-speermint-voipthreats]
Niccolini, S. and E. Chen, "VoIP Security Threats relevant
to SPEERMINT", March 2007.
[I-D.gurbani-sip-domain-certs]
Gurbani, V., Jeffrey, A., and S. Lawrence, "Domain
Certificates in the Session Initiation Protocol (SIP)",
draft-gurbani-sip-domain-certs-05 (work in progress),
June 2007.
[I-D.ietf-ice]
Rosenberg, J., "Interactive Connectivity Establishment
(ICE): A Protocol for Network Address Translator (NAT)
Traversal for Offer/Answer Protocols", June 2007.
[I-D.ietf-sip-certs]
Jennings, C., Peterson, J., and J. Fischl, "Certificate
Management Service for The Session Initiation Protocol
(SIP)", May 2007.
[I-D.ietf-sip-hitchhikers-guide]
Rosenberg, J., "A Hitchhikers Guide to the Session
Initiation Protocol (SIP)", July 2007.
[I-D.ietf-sipping-session-policy-framework]
Hilt, V., "A Framework for Session Initiation Protocol
(SIP) Session Policies",
draft-ietf-sipping-session-policy-framework-01 (work in
progress), June 2006.
[I-D.ietf-speermint-architecture]
Penno et al., R., "SPEERMINT Peering Architecture",
April 2007.
[I-D.ietf-speermint-terminology]
Meyer, R. and D. Malas, "SPEERMINT Terminology",
July 2007.
[I-D.ietf-speermint-voip-consolidated-usecases]
Uzelac et al., A., "VoIP SIP Peering Use Cases",
June 2007.
[I-D.ietf-wing-media-security-requirements]
Wing, D., Fries, S., and H. Tschofenig, "Requirements for
a Media Security Key Management Protocol",
draft-wing-media-security-requirements (work in progress),
June 2007.
[I-D.presence-im-requirements]
Houri, A., Aoki, E., and S. Parameswar, "Presence and IM
Requirements", May 2007.
[RFC2198] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V.,
Handley, M., Bolot, J., Vega-Garcia, A., and S. Fosse-
Parisis, "RTP Payload for Redundant Audio Data", RFC 2198,
September 1997.
[RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
specifying the location of services (DNS SRV)", RFC 2782,
February 2000.
[RFC2915] Mealling, M. and R. Daniel, "The Naming Authority Pointer
(NAPTR) DNS Resource Record", RFC 2915, September 2000.
[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.
[RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C.,
and D. Gurle, "Session Initiation Protocol (SIP) Extension
for Instant Messaging", RFC 3428, December 2002.
[RFC3455] Garcia-Martin, M., Henrikson, E., and D. Mills, "Private
Header (P-Header) Extensions to the Session Initiation
Protocol (SIP) for the 3rd-Generation Partnership Project
(3GPP)", RFC 3455, January 2003.
[RFC3489] Rosenberg, J., Weinberger, J., Huitema, C., and R. Mahy,
"STUN - Simple Traversal of User Datagram Protocol (UDP)
Through Network Address Translators (NATs)", RFC 3489,
March 2003.
[RFC3546] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J.,
and T. Wright, "Transport Layer Security (TLS)
Extensions", RFC 3546, June 2003.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3603] Marshall, W. and F. Andreasen, "Private Session Initiation
Protocol (SIP) Proxy-to-Proxy Extensions for Supporting
the PacketCable Distributed Call Signaling Architecture",
RFC 3603, October 2003.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611,
November 2003.
[RFC3702] Loughney, J. and G. Camarillo, "Authentication,
Authorization, and Accounting Requirements for the Session
Initiation Protocol (SIP)", RFC 3702, February 2004.
[RFC3824] Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using
E.164 numbers with the Session Initiation Protocol (SIP)",
RFC 3824, June 2004.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers",
RFC 3966, December 2004.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
[RFC4474] Peterson, J. and C. Jennings, "Enhancements for
Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 4474, August 2006.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
Appendix A. Policy Parameters for Session Peering
This informative section lists various types of parameters that
should be first considered by implementers when deciding what
configuration parameters to expose to system admins or management
stations, and second, by SSPs or federations of SSPs when discussing
the technical aspects of a session peering policy.
Some aspects of session peering policies must be agreed to and
manually implemented; they are static and are typically documented as
part of a business contract, technical document or agreement between
parties. For some parameters linked to protocol support and
capabilities, standard ways of expressing those policy parameters may
be defined among SSP and exchanged dynamically. For e.g., templates
could be created in various document formats so that it could be
possible to dynamically discover some of the domain policy. Such
templates could be initiated by implementers (for each software/
hardware release, a list of supported RFCs, RFC parameters is
provided in a standard format) and then adapted by each SSP based on
its service description, server or device configurations and variable
based on peer relationships.
A.1. Categories of Parameters and Justifications
The following list should be considered as an initial list of
"discussion topics" to be addressed by peers when initiating a VoIP
peering relationship.
o IP Network Connectivity: o IP Network Connectivity:
It is assumed that IP network connectivity exists between peers. Session peers must define how the IP network connectivity between
While this is out of scope of session peering, VSPs must agree their respective SBEs and SDEs. While this is out of scope of
upon a common mechanism for IP transport of Layer 5 session session peering, SSPs must agree on a common mechanism for IP
signaling and media. This may be accomplish via private (e.g. transport of session signaling and media. This may be accomplish
IPVPN, IPSEC, etc.) or public IP networks. via private (e.g. IPVPN, IPsec, etc.) or public IP networks.
o Media-related Parameters: o Media-related Parameters:
* Media Codecs: list of supported media codecs for audio, real- * Media Codecs: list of supported media codecs for audio, real-
time fax (version of T.38, if applicable), real-time text (RFC time fax (version of T.38, if applicable), real-time text (RFC
4103), DTMF transport, voice band data communications (as 4103), DTMF transport, voice band data communications (as
applicable) along with the supported or recommended codec applicable) along with the supported or recommended codec
packetization rates, level of RTP paylod redundancy, audio packetization rates, level of RTP paylod redundancy, audio
volume levels, etc. volume levels, etc.
skipping to change at page 12, line 43 skipping to change at page 22, line 12
Redundancy (RTP Payload for Redundant Audio Data - [RFC2198]) , Redundancy (RTP Payload for Redundant Audio Data - [RFC2198]) ,
T.38 transport over RTP, etc. T.38 transport over RTP, etc.
* Other: support of the VoIP metric block as defined in RTP * Other: support of the VoIP metric block as defined in RTP
Control Protocol Extended Reports [RFC3611] , etc. Control Protocol Extended Reports [RFC3611] , etc.
o SIP: o SIP:
* A session peering policy SHOULD include the list of supported * A session peering policy SHOULD include the list of supported
and required SIP RFCs, supported and required SIP methods and required SIP RFCs, supported and required SIP methods
(including p headers if applicable), error response codes, (including private p headers if applicable), error response
supported or recommended format of some header field values , codes, supported or recommended format of some header field
etc. values , etc.
* It should also be possible to describe the list of supported * It should also be possible to describe the list of supported
SIP RFCs by various functional groupings. A group of SIP RFCs SIP RFCs by various functional groupings. A group of SIP RFCs
may represent how a call feature is implemented (call hold, may represent how a call feature is implemented (call hold,
transfer, conferencing, etc.), or it may indicate a functional transfer, conferencing, etc.), or it may indicate a functional
grouping as in [I-D.ietf-sip-hitchhikers-guide]. grouping as in [I-D.ietf-sip-hitchhikers-guide].
o Presence and Instant Messaging: TBD
o Accounting: o Accounting:
Call accounting may be required for tracking session usage on a Methods used for call or session accounting SHOULD be specified.
peer's network. It is critical for peers to determine whether the An SSP may require a peer to track session usage. It is critical
support of any SIP extensions for accounting is a pre-requisite for peers to determine whether the support of any SIP extensions
for SIP interoperability. In some cases, call accounting may feed for accounting is a pre-requisite for SIP interoperability. In
data for billing purposes but not always: some operators may some cases, call accounting may feed data for billing purposes but
decide to use accounting as a 'bill and keep' model to track not always: some operators may decide to use accounting as a 'bill
session usage and monitor usage against service level agreements. and keep' model to track session usage and monitor usage against
service level agreements.
[RFC3702] defines the terminology and basic requirements for [RFC3702] defines the terminology and basic requirements for
accounting of SIP sessions. A few private SIP extensions have accounting of SIP sessions. A few private SIP extensions have
also been defined and used over the years to enable call also been defined and used over the years to enable call
accounting between VSP domains such as the P-Charging* headers in accounting between SSP domains such as the P-Charging* headers in
[RFC3455], the P-DCS-Billing-Info header in [RFC3603], etc. [RFC3455], the P-DCS-Billing-Info header in [RFC3603], etc.
o Performance Metrics: o Performance Metrics:
Layer-5 performance metrics should be defined and shared between Layer-5 performance metrics should be defined and shared between
peers. The performance metrics apply directly to signaling or peers. The performance metrics apply directly to signaling or
media; they may be used pro-actively to help avoid congestion, media; they may be used pro-actively to help avoid congestion,
call quality issues or call signaling failures, and as part of call quality issues or call signaling failures, and as part of
monitoring techniques, they can be used to evaluate the monitoring techniques, they can be used to evaluate the
performance of peering exchanges. performance of peering exchanges.
Examples of SIP performance metrics include the maximum number of Examples of SIP performance metrics include the maximum number of
SIP transactions per second on per domain basis, Session SIP transactions per second on per domain basis, Session
Completion Rate (SCR), Session Establishment Rate (SER), etc. Completion Rate (SCR), Session Establishment Rate (SER), etc.
Some SIP end-to-end performance metrics are defined in Some SIP end-to-end performance metrics are defined in
[I-D.Malas-sip-performance]; a subset of these may be applicable [I-D.Malas-sip-performance]; a subset of these may be applicable
to session peering and interconnects. to session peering and interconnects.
Some media-related metrics for monitoring VoIP calls have been Some media-related metrics for monitoring VoIP calls have been
defined in the VoIP Metrics Report Block, in Section 4.7 of defined in the VoIP Metrics Report Block, in Section 4.7 of
[RFC3611]. [RFC3611].
o Security: o Security:
A VSP/ASP SHOULD describe the security requirements that other A SSP SHOULD describe the security requirements that other peers
peers must meet in order to terminate calls to its network. While must meet in order to terminate calls to its network. While such
such a list of security-related policy parameters often depends on a list of security-related policy parameters often depends on the
the security models pre-agreed to by peers, it is expected that security models pre-agreed to by peers, it is expected that these
these parameters will be discoverable or signaled in the future to parameters will be discoverable or signaled in the future to allow
allow session peering outside VSP clubs. The list of security session peering outside SSP clubs. The list of security
parameters may be long and composed of high-level requirements parameters may be long and composed of high-level requirements
(e.g. authentication, privacy, secure transport) and low level (e.g. authentication, privacy, secure transport) and low level
protocol configuration elements like TLS parameters. protocol configuration elements like TLS parameters.
The following list is not intended to be complete, it provides a The following list is not intended to be complete, it provides a
preliminary list in the form of examples: preliminary list in the form of examples:
* Call admission requirements: for some providers, sessions can * Call admission requirements: for some providers, sessions can
only be admitted if certain criteria are met. For example, for only be admitted if certain criteria are met. For example, for
some providers' networks, only incoming SIP sessions signaled some providers' networks, only incoming SIP sessions signaled
over established IPSec tunnels or presented to the well-known over established IPSec tunnels or presented to the well-known
TLS ports are admitted. Other call admission requirements may TLS ports are admitted. Other call admission requirements may
be related to some performance metrics as descrived above. be related to some performance metrics as descrived above.
Finally, it is possible that some requiremetns be imposed on Finally, it is possible that some requiremetns be imposed on
lower layers, but these are considered out of scope of session lower layers, but these are considered out of scope of session
peering. peering.
* Call authorization requirements and validation: the presence of * Call authorization requirements and validation: the presence of
a caller or user identity MAY be required by a VSP/ASP. a caller or user identity MAY be required by an SSP. Indeed,
Indeed, some VSPs/ASPs may further authorize an incoming some SSPs may further authorize an incoming session request by
session request by validating the caller's identity against validating the caller's identity against white/black lists
white/black lists maintained by the service provider or users maintained by the service provider or users (traditional caller
(traditional caller ID screening applications or IM white ID screening applications or IM white list).
list).
* Privacy requirements: a VSP/ASP MAY demand that its SIP * Privacy requirements: an SSP MAY demand that its SIP messages
messages be securely transported by its peers for privacy be securely transported by its peers for privacy reasons so
reasons so that the calling/called party information be that the calling/called party information be protected. Media
protected. Media sessions may also require privacy and some sessions may also require privacy and some SSP policies may
ASP/VSP policies may include requirements on the use of secure include requirements on the use of secure media transport
media transport protocols such as sRTP, along with some protocols such as sRTP, along with some contraints on the
contraints on the minimum authentication/encryption options for minimum authentication/encryption options for use in sRTP.
use in sRTP.
* Network-layer security parameters: this covers how IPSec * Network-layer security parameters: this covers how IPSec
security associated may be established, the IPSec key exchange security associated may be established, the IPSec key exchange
mechanisms to be used and any keying materials, the lifetime of mechanisms to be used and any keying materials, the lifetime of
timed Security Associated if applicable, etc. timed Security Associated if applicable, etc.
* Transport-layer security parameters: this covers how TLS * Transport-layer security parameters: this covers how TLS
connections should be established as described in Section 4.4.2 connections should be established as described in Section
Section 4.5.
5.2. Summary of Parameters for Consideration in Session Peering A.2. Summary of Parameters for Consideration in Session Peering
Policies Policies
The following is a summary of the parameters mentioned in the The following is a summary of the parameters mentioned in the
previous section. They may be part of a session peering policy and previous section. They may be part of a session peering policy and
appear with a level of requirement (mandatory, recommended, appear with a level of requirement (mandatory, recommended,
supported, ...). supported, ...).
o IP Network Connectivity (assumed, requirements out of scope of o IP Network Connectivity (assumed, requirements out of scope of
this document) this document)
skipping to change at page 15, line 4 skipping to change at page 24, line 21
appear with a level of requirement (mandatory, recommended, appear with a level of requirement (mandatory, recommended,
supported, ...). supported, ...).
o IP Network Connectivity (assumed, requirements out of scope of o IP Network Connectivity (assumed, requirements out of scope of
this document) this document)
o Media session parameters: o Media session parameters:
* Codecs for audio, video, real time text, instant messaging * Codecs for audio, video, real time text, instant messaging
media sessions media sessions
* Modes of communications for audio (voice, fax, DTMF), IM (page * Modes of communications for audio (voice, fax, DTMF), IM (page
mode, MSRP) mode, MSRP)
* Media transport and means to establish secure media sessions * Media transport and means to establish secure media sessions
* List of ingress and egress SDEs where applicable, including
STUN Relay servers if present
o SIP o SIP
* SIP RFCs, methods and error responses * SIP RFCs, methods and error responses
* headers and header values * headers and header values
* possibly, list of SIP RFCs supported by groups (e.g. by call * possibly, list of SIP RFCs supported by groups (e.g. by call
feature) feature)
o Accounting o Accounting
o Performance Metrics: SIP signaling performance metrics; media- o Capacity Control and Performance Management: any limits on, or,
level VoIP metrics. means to measure and limit the maximum number of active calls to a
peer or federation, maximum number of sessions and messages per
specified unit time, maximum number of active users or subscribers
per specified unit time, the aggregate media bandwidth per peer or
for the federation, specified SIP signaling performance metrics to
measure and report; media-level VoIP metrics if applicable.
o Security: Call admission control, call authorization, network and o Security: Call admission control, call authorization, network and
transport layer security parameters, media security parameters transport layer security parameters, media security parameters
6. Acknowledgments
This document is a work-in-progress and it is based on the input and
contributions made by a large number of people in the SPEERMINT
working group, including: Scott Brim, Mike Hammer, Richard Shocky,
Henry Sinnreich, Richard Stastny, Patrik Faltstrom, Otmar Lendl,
Daryl Malas, Dave Meyer, Jason Livingood, Bob Natale, Brian Rosen,
Eric Rosenfeld and Adam Uzelac.
7. Security Considerations
Securing session peering communications involves numerous protocol
exchanges, first and foremost, the securing of SIP signaling and
media sessions. The security considerations contained in RF 3261,
RFC 4474 are applicable to the SIP protocol exchanges. A number of
security considerations are also described in Section 4.4 for VoIP
Interconnects.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
8.2. Informative References
[I-D.Malas-sip-performance]
Malas, D., "SIP End-to-End Performance Metrics",
September 2006.
[I-D.gurbani-sip-domain-certs]
Gurbani, V., Jeffrey, A., and S. Lawrence, "Domain
Certificates in the Session Initiation Protocol (SIP)",
draft-gurbani-sip-domain-certs-03 (work in progress),
August 2006.
[I-D.ietf-ecrit-requirements]
Schulzrinne, H. and R. Marshall, "Requirements for
Emergency Context Resolution with Internet Technologies",
August 2006.
[I-D.ietf-enum-experiences]
Conroy, L. and K. Fujiwara, "ENUM Implementation Issues
and Experiences", June 2006.
[I-D.ietf-sip-hitchhikers-guide]
Rosenberg, J., "A Hitchhikers Guide to the Session
Initiation Protocol (SIP)", October 2006.
[I-D.ietf-sipping-session-policy-framework]
Hilt, V., "A Framework for Session Initiation Protocol
(SIP) Session Policies",
draft-ietf-sipping-session-policy-framework-01 (work in
progress), June 2006.
[I-D.ietf-speermint-terminology]
Meyer, R., "SPEERMINT Terminology", September 2006.
[I-D.ietf-wing-media-security-requirements]
Wing, D., Fries, S., and H. Tschofenig, "A Framework for
Session Initiation Protocol (SIP) Session Policies",
draft-wing-media-security-requirements-00 (work in
progress), October 2006.
[RFC2198] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V.,
Handley, M., Bolot, J., Vega-Garcia, A., and S. Fosse-
Parisis, "RTP Payload for Redundant Audio Data", RFC 2198,
September 1997.
[RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
specifying the location of services (DNS SRV)", RFC 2782,
February 2000.
[RFC2915] Mealling, M. and R. Daniel, "The Naming Authority Pointer
(NAPTR) DNS Resource Record", RFC 2915, September 2000.
[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.
[RFC3262] Rosenberg, J. and H. Schulzrinne, "Reliability of
Provisional Responses in Session Initiation Protocol
(SIP)", RFC 3262, June 2002.
[RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation
Protocol (SIP): Locating SIP Servers", RFC 3263,
June 2002.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
June 2002.
[RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP)
UPDATE Method", RFC 3311, October 2002.
[RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason
Header Field for the Session Initiation Protocol (SIP)",
RFC 3326, December 2002.
[RFC3455] Garcia-Martin, M., Henrikson, E., and D. Mills, "Private
Header (P-Header) Extensions to the Session Initiation
Protocol (SIP) for the 3rd-Generation Partnership Project
(3GPP)", RFC 3455, January 2003.
[RFC3546] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J.,
and T. Wright, "Transport Layer Security (TLS)
Extensions", RFC 3546, June 2003.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3603] Marshall, W. and F. Andreasen, "Private Session Initiation
Protocol (SIP) Proxy-to-Proxy Extensions for Supporting
the PacketCable Distributed Call Signaling Architecture",
RFC 3603, October 2003.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611,
November 2003.
[RFC3702] Loughney, J. and G. Camarillo, "Authentication,
Authorization, and Accounting Requirements for the Session
Initiation Protocol (SIP)", RFC 3702, February 2004.
[RFC3824] Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using
E.164 numbers with the Session Initiation Protocol (SIP)",
RFC 3824, June 2004.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers",
RFC 3966, December 2004.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
[RFC4474] Peterson, J. and C. Jennings, "Enhancements for
Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 4474, August 2006.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
Author's Address Author's Address
Jean-Francois Mule Jean-Francois Mule
CableLabs CableLabs
858 Coal Creek Circle 858 Coal Creek Circle
Louisville, CO 80027 Louisville, CO 80027
USA USA
Email: jf.mule@cablelabs.com Email: jf.mule@cablelabs.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2006). Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
skipping to change at page 22, line 47 skipping to change at page 26, line 47
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is provided by the IETF
Internet Society. Administrative Support Activity (IASA).
 End of changes. 75 change blocks. 
449 lines changed or deleted 703 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/