draft-ietf-speermint-architecture-00.txt   draft-ietf-speermint-architecture-01.txt 
Network Working Group R.Penno (Editor) Speermint Working Group R.Penno (Editor)
Internet Draft Juniper Networks Internet Draft Juniper Networks
Expires: February 2007 August 8, 2006 Expires: March 2007 September 18, 2006
SPEERMINT Peering Architecture SPEERMINT Peering Architecture
draft-ietf-speermint-architecture-00 draft-ietf-speermint-architecture-01
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that By submitting this Internet-Draft, each author represents that
any applicable patent or other IPR claims of which he or she is 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 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 becomes aware will be disclosed, in accordance with Section 6 of
BCP 79. BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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 November 2006. This Internet-Draft will expire on November 2006.
Abstract Abstract
This document defines a SPEERMINT peering reference architecture, its This document defines the SPEERMINT peering architecture, its
functional components and peering interface functions. functional components and peering interface functions.
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119] document are to be interpreted as described in [1]
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction...................................................2
2. Network Context................................................3 2. Network Context................................................3
3. Procedures.....................................................5 3. Procedures.....................................................5
4. Reference SPEERMINT Architecture...............................5 4. Reference SPEERMINT Architecture...............................5
5. Peer Function Examples.........................................6 5. Peer Function Examples.........................................7
5.1. The Location Function (LF) of an Initiating Provider......7 5.1. The Location Function (LF) of an Initiating Provider......7
5.1.1. Target address analysis..............................7 5.1.1. Target address analysis..............................7
5.1.2. User ENUM Lookup.....................................7 5.1.2. User ENUM Lookup.....................................8
5.1.3. Carrier ENUM lookup..................................8 5.1.3. Carrier ENUM lookup..................................8
5.1.4. Routing Table........................................8 5.1.4. Routing Table........................................8
5.1.5. SIP DNS Resolution...................................8 5.1.5. SIP DNS Resolution...................................8
5.1.6. SIP Redirect Server..................................9 5.1.6. SIP Redirect Server..................................9
5.2. The Location Function (LF) of a Receiving Provider........9 5.2. The Location Function (LF) of a Receiving Provider........9
5.2.1. Publish ENUM records.................................9 5.2.1. Publish ENUM records.................................9
5.2.2. Publish SIP DNS records..............................9 5.2.2. Publish SIP DNS records..............................9
5.3. Policy Function (PF)......................................9 5.3. Policy Function (PF)......................................9
5.3.1. TLS.................................................10 5.3.1. TLS.................................................11
5.3.2. IPSec...............................................11 5.3.2. IPSec...............................................11
5.3.3. Subscribe Notify....................................11 5.3.3. Subscribe Notify....................................11
5.4. Signaling Function (SF)..................................11 5.4. Signaling Function (SF)..................................11
5.5. Media Function (MF)......................................12 5.5. Media Function (MF)......................................12
6. Call Control and Media Control Deployment Options.............12 6. Call Control and Media Control Deployment Options.............12
7. Security Considerations.......................................13 7. Security Considerations.......................................13
8. IANA Considerations...........................................14 8. IANA Considerations...........................................14
9. Conclusions...................................................14 9. Acknowledgments...............................................14
10. Acknowledgments..............................................14
Author's Addresses...............................................15 Author's Addresses...............................................15
11. References...................................................15 10. References...................................................15
11.1. Normative References....................................15 10.1. Normative References....................................15
11.2. Informative References..................................17 10.2. Informative References..................................16
Intellectual Property Statement..................................18 Intellectual Property Statement..................................17
Disclaimer of Validity...........................................19 Disclaimer of Validity...........................................18
Copyright Statement..............................................19 Copyright Statement..............................................18
Acknowledgment...................................................19 Acknowledgment...................................................18
1. Introduction 1. Introduction
The objective of this document is to define a reference peering The objective of this document is to define a reference peering
architecture in the context of Session PEERing for Multimedia architecture in the context of Session PEERing for Multimedia
INTerconnect (SPEERMINT). In this process, we define a peering INTerconnect (SPEERMINT). In this process, we define the peering
reference architecture, its functional components, and peering reference architecture (reference, for short), its functional
interface functions from the perspective of a real-time components, and peering interface functions from the perspective of a
communications (Voice and Multimedia) IP Service provider network. real-time communications (Voice and Multimedia) IP Service provider
network.
This reference architecture allows the interconnection of two service This architecture allows the interconnection of two service providers
providers in layer 5 peering as defined in the SPEERMINT Requirements in layer 5 peering as defined in the SPEERMINT Requirements [13] and
[2] and Terminology [1] documents for the purpose SIP-based voice and Terminology [12] documents for the purpose SIP-based voice and
multimedia traffic. multimedia traffic.
IP Layer peering is outside the scope of SPEERMINT at this time; Layer 3 peering is outside the scope of this document. Hence, the
thus, we do not include them in the SPEEMINT Peering Architecture. figures in this document do not show routers so that the focus is on
Note that IP Routers are not shown in the subsequent figures so that Layer 5 protocol aspects.
the focus is on Layer 5 protocol aspects.
This document uses terminology defined in the SPEERMINT Terminology This document uses terminology defined in the SPEERMINT Terminology
document [1]. document [12].
2. Network Context 2. Network Context
Figure 1 shows an example network context. Two SIP providers can form Figure 1 shows an example network context. Two SIP providers can form
a Layer 5 peer over either the public Internet or private Layer 3 a Layer 5 peer over either the public Internet or private Layer 3
networks. In addition, two or more providers may form a SIP (Layer 5) networks. In addition, two or more providers may form a SIP (Layer 5)
federation [1][9] on either the public Internet or private Layer 3 federation [17] on either the public Internet or private Layer 3
networks. This document does not make any assumption whether the SIP networks. This document does not make any assumption whether the SIP
providers directly peer to each other or through Layer 3 transit providers directly peer to each other or through Layer 3 transit
network as per use case of [7]. network as per use case of [16].
Note that Figure 1 allows for the following potential SPEERMINT Note that Figure 1 allows for the following potential SPEERMINT
peering scenarios: peering scenarios:
o Enterprise to Enterprise across the public Internet o Enterprise to Enterprise across the public Internet
o Enterprise to Service Provider across the public Internet o Enterprise to Service Provider across the public Internet
o Service Provider to Service Provider across the public Internet o Service Provider to Service Provider across the public Internet
skipping to change at page 4, line 5 skipping to change at page 4, line 5
o Service Provider to Service Provider across a private Layer 3 o Service Provider to Service Provider across a private Layer 3
network network
The members of a federation may jointly use a set of functions such The members of a federation may jointly use a set of functions such
as location peering function, application function, subscriber as location peering function, application function, subscriber
database function, SIP proxies, and/or functions that synthesize database function, SIP proxies, and/or functions that synthesize
various SIP and non-SIP based applications. Similarly, two providers various SIP and non-SIP based applications. Similarly, two providers
may jointly use a set of peering functions. The federation functions may jointly use a set of peering functions. The federation functions
or the peering functions can be either public or private. or the peering functions can be either public or private.
+------------------+ +-------------------+
| Public | | Public |
| Peering Function | | Peering Function |
| or | | or |
| Public | | Public |
|Federation Function| |Federation Function|
+------------------+ +-------------------+
| |
----- -----
+-----------+ / \ +-----------+ +-----------+ / \ +-----------+
|Enterprise | -- -- |Enterprise | |Enterprise | -- -- |Enterprise |
|Provider A |-----------/ \-----------|Provider B | |Provider A |-----------/ \-----------|Provider B |
+-----------+ -- -- +-----------+ +-----------+ -- -- +-----------+
/ Public \ / Public \
| Internet | | Internet |
\ (Layer 3) / \ (Layer 3) /
+-----------+ -- -- +-----------+ +-----------+ -- -- +-----------+
skipping to change at page 4, line 40 skipping to change at page 4, line 40
|Provider E |-----------/ \-----------|Provider F | |Provider E |-----------/ \-----------|Provider F |
+-----------+ -- Service -- +-----------+ +-----------+ -- Service -- +-----------+
/ Provider \ / Provider \
| Private | | Private |
\ Network / \ Network /
+-----------+ -- (Layer 3) -- +-----------+ +-----------+ -- (Layer 3) -- +-----------+
|Service |-----------\ /-----------|Service | |Service |-----------\ /-----------|Service |
|Provider G | -- -- |Provider H | |Provider G | -- -- |Provider H |
+-----------+ \____/ +-----------+ +-----------+ \____/ +-----------+
| |
+------------------+ +-------------------+
| Private | | Private |
| Peering Function | | Peering Function |
| or | | or |
|Federation Function| |Federation Function|
+------------------+ +-------------------+
Figure 1: SPEERMINT Network Context Figure 1: SPEERMINT Network Context
3. Procedures 3. Procedures
This document assumes that a call from an end user in the initiating This document assumes that a call from an end user in the initiating
peer goes through the following steps to establish a call to an end peer goes through the following steps to establish a call to an end
user in the receiving peer: user in the receiving peer:
. the analysis of a target address, 1. The analysis of a target address.
. the discovery of the receiving peering point a. If the target address represents an intra-VSP resource,
address, we go directly to step 4.
. the enforcement of authentication and other policy, 2. the discovery of the receiving peering point address,
. the discovery of end user address, 3. the enforcement of authentication and other policy,
. the routing of SIP messages, 4. the discovery of end user address,
. the session establishment, 5. the routing of SIP messages,
. the transfer of media, 6. the session establishment,
. and the session termination. 7. the transfer of media,
8. and the session termination.
4. Reference SPEERMINT Architecture 4. Reference SPEERMINT Architecture
Figure 2 depicts the SPEERMINT reference architecture and logical Figure 2 depicts the SPEERMINT architecture and logical functions
functions that form the peering between two SIP service providers I that form the peering between two SIP service providers I and R,
and R, where I is the Initiating peer and R is the Receiving peer. where I is the Initiating peer and R is the Receiving peer.
+----+ +------+
| LF | | DNS, |
------- +----+ ------- | Db, |
| etc |
------- +------+ -------
/ \ | | / \ / \ | | / \
| LF---+ +---LF | | LF---+ +---LF |
| | | | | | | |
| PF-----------PF | | PF----------PF |
| | | | | | | |
| SIP SF-----------SF SIP | | SIP SF----------SF SIP |
| Service | | Service | | Service | | Service |
|Provider MF---------MF Provider| |Provider MF----------MF Provider|
| I | | R | | I | | R |
| | | | | | | |
| | | | | | | |
\ / \ / \ / \ /
------- ------- ------- -------
Figure 2: Reference SPEERMINT Architecture Figure 2: Reference SPEERMINT Architecture
The procedures presented in Chapter 3 are implemented by a set of The procedures presented in Chapter 3 are implemented by a set of
peering functions: peering functions:
o Location Function (LF): Purpose is to develop call routing data o Location Function (LF): Purpose is to develop call routing data
(CRD) by discovering the Signaling Function (SF), Policy Function (CRD) by discovering the Signaling Function (SF), Policy Function
(PF), and end user's reachable host (IP address and port). (PF), and end user's reachable host (IP address and port).
o Policy Function (PF): Purpose is to perform authentication and to o Policy Function (PF): Purpose is to perform authentication and to
exchange policy parameters to be used by the SF. exchange policy parameters to be used by the SF. The data acquired
through the policy function can provide input to the LF, SF or MF
functions. Therefore the policy function can happen multiple times
(through multiple methods) during the procedures used to establish
a call.
o Signaling Function (SF): Purpose is to perform routing of SIP o Signaling Function (SF): Purpose is to perform routing of SIP
messages, to optionally perform termination and re-initiation of messages, to optionally perform termination and re-initiation of
call, to optionally implement security and policies on SIP call, to optionally implement security and policies on SIP
messages, and to assist in discovery/exchange of parameters to be messages, and to assist in discovery/exchange of parameters to be
used by the Media Function (MF). used by the Media Function (MF).
o Media Function (MF): Purpose is to perform media related function o Media Function (MF): Purpose is to perform media related function
such as media transcoding and media security implementation such as media transcoding and media security implementation
between two SIP providers. between two SIP providers.
The intention of defining these functions is to provide a framework The intention of defining these functions is to provide a framework
for design segmentation and allow each one to evolve separately. for design segmentation and allow each one to evolve separately.
5. Peer Function Examples 5. Peer Function Examples
This section describes the peering functions in more detail and This section describes the peering functions in more detail and
provides some examples on the role they would play in a SIP call in a provides some examples on the role they would play in a SIP call in a
Layer 5 peering scenario. Layer 5 peering scenario.
Some of the information in the chapter is taken from [4]. Some of the information in the chapter is taken from [14].
5.1. The Location Function (LF) of an Initiating Provider 5.1. The Location Function (LF) of an Initiating Provider
Purpose is to develop call routing data (CRD) [1] by discovering the Purpose is to develop call routing data (CRD) [12] by discovering
Signaling Function (SF), Policy Function (PF), and end user's the Signaling Function (SF), Policy Function (PF), and end user's
reachable host (IP address and host). The LF of an Initiating reachable host (IP address and host). The LF of an Initiating
provider analyzes target address and discovers the next hop provider analyzes target address and discovers the next hop
signaling function (SF) in a peering relationship using DNS, SIP signaling function (SF) in a peering relationship using DNS, SIP
Redirect Server, or a functional equivalent database. Redirect Server, or a functional equivalent database.
5.1.1. Target address analysis 5.1.1. Target address analysis
When the initiating provider receives a request to communicate, the When the initiating provider receives a request to communicate, the
initiating provider analyzes the target state data to determine initiating provider analyzes the target state data to determine
whether the call needs to be terminated internal or external to its whether the call needs to be terminated internal or external to its
skipping to change at page 7, line 33 skipping to change at page 7, line 39
consult any manner of private data sources to make this consult any manner of private data sources to make this
determination. determination.
If the target address does not represent a resource inside the If the target address does not represent a resource inside the
initiating peer's administrative domain or federation of domains, the initiating peer's administrative domain or federation of domains, the
initiating provider resolves the call routing data by using the initiating provider resolves the call routing data by using the
Location Function (LF). Examples of the LF are the functions of ENUM, Location Function (LF). Examples of the LF are the functions of ENUM,
Routing Table, SIP DNS, and SIP Redirect Server. Routing Table, SIP DNS, and SIP Redirect Server.
If the request to communicate is for an im: or pres: URI type, the If the request to communicate is for an im: or pres: URI type, the
initiating peer follows the procedures in [RFC3861]. If the highest initiating peer follows the procedures in [8]. If the highest
priority supported URI scheme is sip: or sips:, the initiating peer priority supported URI scheme is sip: or sips:, the initiating peer
skips to SIP DNS resolution in Section 5.1.5. Likewise, if the target skips to SIP DNS resolution in Section 5.1.5. Likewise, if the target
address is already a sip: or sips: URI in an external domain, the address is already a sip: or sips: URI in an external domain, the
initiating peer skips to SIP DNS resolution in Section 5.1.5.5.1.5. initiating peer skips to SIP DNS resolution in Section 5.1.5.
If the target address corresponds to a specific E.164 address, the If the target address corresponds to a specific E.164 address, the
peer may need to perform some form of number plan mapping according peer may need to perform some form of number plan mapping according
to local policy. For example, in the United States, a dial string to local policy. For example, in the United States, a dial string
beginning "011 44" could be converted to "+44", or in the United beginning "011 44" could be converted to "+44", or in the United
Kingdom "00 1" could be converted to "+1". Once the peer has an Kingdom "00 1" could be converted to "+1". Once the peer has an
E.164 address, it can use ENUM. E.164 address, it can use ENUM.
5.1.2. User ENUM Lookup 5.1.2. User ENUM Lookup
If an external E.164 address is the target, the initiating peer If an external E.164 address is the target, the initiating peer
consults the public "User ENUM" rooted at e164.arpa, according to the consults the public "User ENUM" rooted at e164.arpa, according to the
procedures described in RFC 3761. The peer MUST query for the procedures described in RFC 3761. The peer MUST query for the
"E2U+sip" enumservice as described in RFC 3674 [11], but MAY check "E2U+sip" enumservice as described in RFC 3764 [11], but MAY check
for other enumservices. The initiating peer MAY consult a cache or for other enumservices. The initiating peer MAY consult a cache or
alternate representation of the ENUM data rather than actual DNS alternate representation of the ENUM data rather than actual DNS
queries. Also, the peer MAY skip actual DNS queries if the queries. Also, the peer MAY skip actual DNS queries if the
initiating peer is sure that the target address country code is not initiating peer is sure that the target address country code is not
represented in e164.arpa. If a sip: or sips: URI is chosen the peer represented in e164.arpa. If a sip: or sips: URI is chosen the peer
skips to Section 5.1.5. skips to Section 5.1.5.
If an im: or pres: URI is chosen for based on an "E2U+im" [10] or If an im: or pres: URI is chosen for based on an "E2U+im" [10] or
"E2U+pres" [RFC3953] enumserver, the peer follows the procedures for "E2U+pres" [9] enumserver, the peer follows the procedures for
resolving these URIs to URIs for specific protocols such a SIP or resolving these URIs to URIs for specific protocols such a SIP or
XMPP as described in the previous section. XMPP as described in the previous section.
5.1.3. Carrier ENUM lookup 5.1.3. Carrier ENUM lookup
Next the initiating peer checks for a carrier-of-record in a carrier Next the initiating peer checks for a carrier-of-record in a carrier
ENUM domain according to the procedures described in [11]. As in the ENUM domain according to the procedures described in [12]. As in the
previous step, the peer MAY consult a cache or alternate previous step, the peer MAY consult a cache or alternate
representation of the ENUM data in lieu of actual DNS queries. The representation of the ENUM data in lieu of actual DNS queries. The
peer first checks for records for the "E2U+sip" enumservice, then for peer first checks for records for the "E2U+sip" enumservice, then for
the "E2U+pstn" enumservice as defined in [12]. If a terminal record the "E2U+pstn" enumservice as defined in [21]. If a terminal record
is found with a sip: or sips: URI, the peer skips to Section 5.1.5, is found with a sip: or sips: URI, the peer skips to Section 5.1.5,
otherwise the peer continues processing according to the next otherwise the peer continues processing according to the next
section. section.
5.1.4. Routing Table 5.1.4. Routing Table
If there is no user ENUM records and the initiating peer cannot If there is no user ENUM records and the initiating peer cannot
discover the carrier-of-record or if the initiating peer cannot reach discover the carrier-of-record or if the initiating peer cannot reach
the carrier-of-record via SIP peering, the initiating peer still the carrier-of-record via SIP peering, the initiating peer still
needs to deliver the call to the PSTN or reject the call. Note that needs to deliver the call to the PSTN or reject the call. Note that
the initiating peer MAY still sends the call to another provider for the initiating peer MAY still sends the call to another provider for
PSTN gateway termination by prior arrangement using a routing table. PSTN gateway termination by prior arrangement using a routing table.
If so, the initiating peer rewrites the Request-URI to address the If so, the initiating peer rewrites the Request-URI to address the
gateway resource in the target provider's domain and MAY forward the gateway resource in the target provider's domain and MAY forward the
request on to that provider using the procedures described in the request on to that provider using the procedures described in the
remainder of these steps. remainder of these steps.
5.1.5. SIP DNS Resolution 5.1.5. SIP DNS Resolution
Once a sip: or sips: in an external domain is selected as the target, Once a sip: or sips: in an external domain is selected as the target,
the initiating peer uses the procedures described in [RFC3263] the initiating peer uses the procedures described in [4] Section 4.
Section 4. To summarize the RFC 3263 procedure: unless these are
explicitly encoded in the target URI, a transport is chosen using To summarize the RFC 3263 procedure: unless these are explicitly
NAPTR records, a port is chosen using SRV records, and an address is encoded in the target URI, a transport is chosen using NAPTR records,
chosen using A or AAAA records. Note that these are queries of a port is chosen using SRV records, and an address is chosen using A
records in the global DNS. or AAAA records. Note that these are queries of records in the
global DNS.
It is worth mentioning that the PF can override the default RFC 3263
procedure. That may be based on learned routes (via SUBSCRIBE), or
federation announcements.
5.1.6. SIP Redirect Server 5.1.6. SIP Redirect Server
A SIP Redirect Server may help in resolving current address of a A SIP Redirect Server may help in resolving current address of a
mobile target address. mobile target address.
5.2. The Location Function (LF) of a Receiving Provider 5.2. The Location Function (LF) of a Receiving Provider
5.2.1. Publish ENUM records 5.2.1. Publish ENUM records
skipping to change at page 9, line 30 skipping to change at page 9, line 40
5.2.2. Publish SIP DNS records 5.2.2. Publish SIP DNS records
To receive peer requests, the receiving peer MUST insure that it To receive peer requests, the receiving peer MUST insure that it
publishes appropriate NAPTR, SRV, and address (A and/or AAAA) records publishes appropriate NAPTR, SRV, and address (A and/or AAAA) records
in the global DNS that resolve an appropriate transport, port, and in the global DNS that resolve an appropriate transport, port, and
address to a relevant SIP server. address to a relevant SIP server.
5.3. Policy Function (PF) 5.3. Policy Function (PF)
Policy function is optional. The purpose of policy function is to The purpose of policy function is to perform authentication and to
perform authentication and to exchange peering policy capabilities to exchange peering policy capabilities to be used by the signaling
be used by the signaling function. function. The policy function can happen multiple times (through
multiple methods) during the procedures used to establish a call and
the data acquired as a result can provide input to the LF, SF or MF
functions.
Policy data can come through DNS NAPTR resolution as shown in [18]
and/or a SIP peering event package [22].
The policy capabilities should be specified through well defined XML The policy capabilities should be specified through well defined XML
schemas. These policies define the capabilities of each peer and its schemas. These policies define the capabilities of each peer and its
devices used for peering. For example, the following capabilities devices used for peering. For example, the following capabilities
could be exchanged through the policy function: could be exchanged through the policy function:
o Adjacency (Next hop network attributes) o Adjacency (Next hop network attributes)
o If there are many adjacent proxies to use, the choice could be o If there are many adjacent proxies to use, the choice could be
based on: based on:
skipping to change at page 10, line 25 skipping to change at page 10, line 41
o Inflow Traffic Restriction (not call-by-call) o Inflow Traffic Restriction (not call-by-call)
o For maintenance actions o For maintenance actions
o For congestion management o For congestion management
o How can a carrier prevent upstream networks from submitting o How can a carrier prevent upstream networks from submitting
calls for certain destinations in overload calls for certain destinations in overload
The Policy function can be implemented by method such as described in
[6] as subscribe-notify.
The authentication policy function can be implemented by TLS (as The authentication policy function can be implemented by TLS (as
described in (5.3.1), IPSec or any other method that meet the described in (5.3.1), IPSec or any other method that meet the
security needs to a specific deployment. security needs to a specific deployment.
Editor's Note: This section will be updated based on the progress on Editor's Note: This section will be updated based on the progress on
the SPEERMINT policy document. the SPEERMINT policy document.
5.3.1. TLS 5.3.1. TLS
Once a transport, port, and address are found, the initiating peer Once a transport, port, and address are found, the initiating peer
skipping to change at page 11, line 19 skipping to change at page 11, line 34
handshake. handshake.
5.3.2. IPSec 5.3.2. IPSec
Editor's Note: will be described later. Editor's Note: will be described later.
5.3.3. Subscribe Notify 5.3.3. Subscribe Notify
Policy function may also be optionally implemented by dynamic Policy function may also be optionally implemented by dynamic
subscribe, notify, and exchange of policy information and feature subscribe, notify, and exchange of policy information and feature
information among providers. information among providers [22].
5.4. Signaling Function (SF) 5.4. Signaling Function (SF)
The purpose of signaling function is to perform routing of SIP The purpose of signaling function is to perform routing of SIP
messages, to optionally perform termination and re-initiation of a messages, to optionally perform termination and re-initiation of a
call, to optionally implement security and policies on SIP messages, call, to optionally implement security and policies on SIP messages,
and to assist in discovery/exchange of parameters to be used by the and to assist in discovery/exchange of parameters to be used by the
Media Function (MF). Media Function (MF).
The routing of SIP messages are performed by SIP proxies. The The routing of SIP messages are performed by SIP proxies. The
skipping to change at page 11, line 42 skipping to change at page 12, line 9
Optionally, a SF may perform additional functions such as Session Optionally, a SF may perform additional functions such as Session
Admission Control, SIP Denial of Service protection, SIP Topology Admission Control, SIP Denial of Service protection, SIP Topology
Hiding, SIP header normalization, and SIP security, privacy and Hiding, SIP header normalization, and SIP security, privacy and
encryption. encryption.
The signaling function can also process SDP payloads for media The signaling function can also process SDP payloads for media
information such as media type, bandwidth, and type of codec; then, information such as media type, bandwidth, and type of codec; then,
communicate this information to the media function. Signaling communicate this information to the media function. Signaling
function may optionally communicate with network layer to pass Layer function may optionally communicate with network layer to pass Layer
3 related policies [GATE] 3 related policies [10]
Signaling Function supports the following RFCs as per SPEERMINT
Requirement document [2]:
o SF MUST support the core SIP RFCs defined in SIP Hitchhikers
Guide [5].
o SF MUST support SDP related RFCs: the Session
Description Protocol (SDP) [RFC2327], and the Offer/Answer
mechanism with SDP [RFC3264].
o SF SHOULD support: Reliability of Provisional
Responses in SIP - PRACK [RFC3262], the SIP UPDATE method (for
e.g. for codec changes during a session) [RFC3311], the Reason
header field [RFC3326].
5.5. Media Function (MF) 5.5. Media Function (MF)
Examples of the media function is to transform voice payload from one Examples of the media function is to transform voice payload from one
coding (e.g., G.711) to another (e.g., EvRC), media relaying, media coding (e.g., G.711) to another (e.g., EvRC), media relaying, media
security, privacy, and encryption. security, privacy, and encryption.
Editor's Note: This section will be further updated. Editor's Note: This section will be further updated.
6. Call Control and Media Control Deployment Options 6. Call Control and Media Control Deployment Options
skipping to change at page 13, line 24 skipping to change at page 13, line 24
| | MF |<~~~~\(Option)|~~~~| MF | | | | MF |<~~~~\(Option)|~~~~| MF | |
| +----+ . \ / . +----+ | | +----+ . \ / . +----+ |
| | . \__ _/ . | | | | . \__ _/ . | |
\_________ / . . \________ _/ \_________ / . . \________ _/
---------- ---------- ---------- ----------
--- Signal (SIP) --- Signal (SIP)
~~~ Bearer (RTP/IP) ~~~ Bearer (RTP/IP)
... Scope of peering ... Scope of peering
Figure 3: Decomposed v. Composed Peering Figure 3: Decomposed v. Collapsed Peering
The advantage of composed peering architecture is that one-element The advantage of a collapsed peering architecture is that one-element
solves all peering issues. Disadvantage examples of this architecture solves all peering issues. Disadvantage examples of this architecture
are single point failure, bottle neck, and complex scalability. are single point failure, bottle neck, and complex scalability.
In a decomposed model, SF and MF are implemented in separate peering In a decomposed model, SF and MF are implemented in separate peering
logical elements. Signaling functions are implemented in a proxy and logical elements. Signaling functions are implemented in a proxy and
media functions are implemented in another logical element. The media functions are implemented in another logical element. The
scaling of signaling versus scaling of media may differ between scaling of signaling versus scaling of media may differ between
applications. Decomposing allows each to follow a separate migration applications. Decomposing allows each to follow a separate migration
path. path.
skipping to change at page 14, line 19 skipping to change at page 14, line 19
relationships, should be standardized within the IETF. These relationships, should be standardized within the IETF. These
standardized methods may enable capabilities such as dynamic peering standardized methods may enable capabilities such as dynamic peering
relationships across publicly maintained interconnections. relationships across publicly maintained interconnections.
TODO: Address RFC-3552 BCP items. TODO: Address RFC-3552 BCP items.
8. IANA Considerations 8. IANA Considerations
There are no IANA considerations at this time. There are no IANA considerations at this time.
9. Conclusions 9. Acknowledgments
The proposed peering reference architecture decomposes the peering
interface into a set of well defined functions. Such an arrangement
allows each function to the specified and evolved separately.
10. Acknowledgments
The working group thanks Sohel Khan for his initial architecture The working group thanks Sohel Khan for his initial architecture
draft that helped to initiate work on this draft. draft that helped to initiate work on this draft.
A significant portion of this draft is taken from [4] with permission A significant portion of this draft is taken from [14] with
from the author R. Mahy. The other important contributor is Otmar permission from the author R. Mahy. The other important contributor
Lendl. is Otmar Lendl.
Author's Addresses Author's Addresses
Mike Hammer Mike Hammer
Cisco Systems Cisco Systems
13615 Dulles Technology Drive 13615 Dulles Technology Drive
Herndon, VA 20171 Herndon, VA 20171
USA USA
Email: mhammer@cisco.com Email: mhammer@cisco.com
skipping to change at page 15, line 43 skipping to change at page 15, line 43
USA USA
Email: rpenno@juniper.net Email: rpenno@juniper.net
Adam Uzelac Adam Uzelac
Global Crossing Global Crossing
1120 Pittsford Victor Road 1120 Pittsford Victor Road
PITTSFORD, NY 14534 PITTSFORD, NY 14534
USA USA
Email: adam.uzelac@globalcrossing.com Email: adam.uzelac@globalcrossing.com
11. References 10. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description 10.1. Normative References
Protocol", RFC 2327, April 1998.
[RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
specifying the location of services (DNS SRV)", RFC 2782, Levels", BCP 14, RFC 2119, March 1997.
February 2000.
[RFC2915] Mealling, M. and R. Daniel, "The Naming Authority Pointer [2] Mealling, M. and R. Daniel, "The Naming Authority Pointer
(NAPTR) DNS Resource Record", RFC 2915, September 2000. (NAPTR) DNS Resource Record", RFC 2915, September 2000.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
A., Peterson, J., Sparks, R., Handley, M., and E. Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Session Initiation Protocol", RFC 3261, June 2002.
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.
[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.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control [4] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol
Protocol Extended Reports (RTCP XR)", RFC 3611, (SIP): Locating SIP Servers", RFC 3263, June 2002.
November 2003.
[RFC3764] Peterson, J., "enumservice registration for Session [5] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and
Initiation Protocol (SIP) Addresses-of-Record", RFC 3764, T. Wright, "Transport Layer Security (TLS) Extensions", RFC
April 2004. 3546, June 2003.
[RFC3824] Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using [6] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
E.164 numbers with the Session Initiation Protocol (SIP)", "RTP: A Transport Protocol for Real-Time Applications", STD 64,
RFC 3824, June 2004. RFC 3550, July 2003.
[RFC3861] Peterson, J., ''Address Resolution for Instant Messaging [7] Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using E.164
and Presence'',RFC 3861, August 2004. numbers with the Session Initiation Protocol (SIP)", RFC 3824,
June 2004.
[RFC3951] Andersen, S., Duric, A., Astrom, H., Hagen, R., Kleijn, [8] Peterson, J., "Address Resolution for Instant Messaging and
W., and J. Linden, "Internet Low Bit Rate Codec (iLBC)", Presence",RFC 3861, August 2004.
RFC 3951, December 2004.
[RFC3952] Duric, A. and S. Andersen, "Real-time Transport Protocol [9] Peterson, J., "Telephone Number Mapping (ENUM) Service
(RTP) Payload Format for internet Low Bit Rate Codec Registration for Presence Services", RFC 3953, January 2005.
(iLBC) Speech", RFC 3952, December 2004.
[RFC3953] Peterson, J., "Telephone Number Mapping (ENUM) Service [10] ETSI TS 102 333: " Telecommunications and Internet converged
Registration for Presence Services", RFC 3953, January Services and Protocols for Advanced Networking (TISPAN); Gate
2005. control protocol".
[GATE] ETSI TS 102 333: " Telecommunications and Internet [11] Peterson, J., "enumservice registration for Session Initiation
converged Services and Protocols for Advanced Networking Protocol (SIP) Addresses-of-Record", RFC 3764, April 2004.
(TISPAN); Gate control protocol".
11.2. Informative References 10.2. Informative References
[1] Meyer, D., "SPEERMINT Terminology", draft-ietf-speermint- [12] Meyer, D., "SPEERMINT Terminology", draft-ietf-speermint-
terminology-01 (work in progress), May 2006. terminology-04 (work in progress), May 2006.
[2] Mule, J-F., ''SPEERMINT Requirements for SIP-based VoIP [13] Mule, J-F., "SPEERMINT Requirements for SIP-based VoIP
Interconnection'', draft-ietf-speermint-requirements-00.txt, Interconnection", draft-ietf-speermint-requirements-00.txt,
June 2006. June 2006.
[3] Hilt, V., Camarillo, G., and J. Rosenberg, "A Framework for [14] Mahy, R., "A Minimalist Approach to Direct Peering", draft-
Session Initiation Protocol (SIP) Session Policies", draft-
ietf-sipping-session-policy-framework-00 (work in progress)
[4] Mahy, R., ''A Minimalist Approach to Direct Peering'', draft-
mahy-speermint-direct-peering-00.txt, June 19, 2006. mahy-speermint-direct-peering-00.txt, June 19, 2006.
[5] Rosenberg, J., "A Hitchhikers Guide to the Session Initiation [15] Penno, R., et al., "SPEERMINT Routing Architecture Message
Protocol (SIP)", February 2006. Flows", draft-ietf-speermint-flows-00.txt", August 2006.
[6] Penno, R., et al., ''SPEERMINT Routing Architecture Message
Flows'', draft-ietf-speermint-message-flows-00.txt'', August
2006.
[7] Lee, Y., ''Session Peering Use Case for Cable'', draft-lee- [16] Lee, Y., "Session Peering Use Case for Cable", draft-lee-
speermint-use-case-cable-00.txt, June, 2006. speermint-use-case-cable-00.txt, June, 2006.
[8] Houri, A., et al., ''RTC Provisioning Requirements'', draft- [17] Houri, A., et al., "RTC Provisioning Requirements", draft-
houri-speermint-rtc-provisioning-reqs-00.txt, June, 2006. houri-speermint-rtc-provisioning-reqs-00.txt, June, 2006.
[9] Habler, M., et al., ''A Federation based VOIP Peering [18] Habler, M., et al., "A Federation based VOIP Peering
Architecture'', draft-lendl-speermint-federations-01.txt, June Architecture", draft-lendl-speermint-federations-03.txt,
2006. September 2006.
[10] Mahy, R., "A Telephone Number Mapping (ENUM) Service [19] Mahy, R., "A Telephone Number Mapping (ENUM) Service
Registration for Instant Messaging (IM) Services", draft-ietf- Registration for Instant Messaging (IM) Services", draft-ietf-
enum-im-service-00 (work in progress), March 2006. enum-im-service-00 (work in progress), March 2006.
[11] Haberler, M. and R. Stastny, "Combined User and Carrier ENUM in [20] Haberler, M. and R. Stastny, "Combined User and Carrier ENUM in
the e164.arpa tree", draft-haberler-carrier-enum-02 (work in the e164.arpa tree", draft-haberler-carrier-enum-02 (work in
progress), March 2006. progress), March 2006.
[12] Livingood, J. and R. Shockey, "IANA Registration for an [21] Livingood, J. and R. Shockey, "IANA Registration for an
Enumservice Containing PSTN Signaling Information", draft-ietf- Enumservice Containing PSTN Signaling Information", draft-ietf-
enum-pstn-04 (work in progress), May 2006. enum-pstn-04 (work in progress), May 2006.
[22] Penno, R., Malas D., and Melampy, P., "A Session Initiation
Protocol (SIP) Event package for Peering", draft-penno-sipping-
peering-package-00 (work in progress), September 2006.
Intellectual Property Statement Intellectual Property Statement
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
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
 End of changes. 76 change blocks. 
194 lines changed or deleted 146 lines changed or added

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