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/ |