One document matched: draft-ietf-speermint-architecture-16.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- References are listed here so that they can be called via Entity attributes later -->
<!ENTITY RFC1918 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1918.xml">
<!ENTITY RFC3261 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3261.xml">
<!ENTITY RFC3263 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3263.xml">
<!ENTITY RFC3761 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3761.xml">
<!ENTITY RFC3764 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3764.xml">
<!ENTITY RFC3711 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3711.xml">
<!ENTITY RFC3861 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3861.xml">
<!ENTITY RFC3953 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3953.xml">
<!ENTITY RFC5246 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY RFC5486 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5486.xml">
<!ENTITY RFC5746 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5746.xml">
<!ENTITY RFC5878 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5878.xml">
<!ENTITY RFC5922 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5922.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- PROCESSING INSTRUCTIONS - GENERAL -->
<!-- EACH ONE STARTS WITH '?' BELOW -->
<!-- give errors on I-D nits and perform DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc strict='yes' ?>
<?rfc toc='yes'?>
<!-- generate a ToC -->
<!-- the number of levels of subsections in ToC. default: 3 -->
<?rfc tocdepth='4'?>
<!-- END GENERAL PROCESSING -->
<!-- PROCESSING INSTRUCTIONS - CONTROL OF REFERENCES -->
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc symrefs='yes'?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space -->
<?rfc sortrefs='yes' ?>
<!-- do not start each main section on a new page -->
<?rfc compact='yes' ?>
<!-- keep one blank line between list items -->
<?rfc subcompact='no' ?>
<!-- END REFERENCE PROCESSING -->
<rfc ipr='pre5378Trust200902' docName='draft-ietf-speermint-architecture-16' category='info'>
<!-- category values: std, bcp, info, exp, and historic
ipr values: full3978, noModification3978, noDerivatives3978
new ipr values: trust200811, noModificationTrust200811, noDerivativesTrust200811 trust200902, noModificationTrust200902,
noDerivativesTrust200902, and pre5378Trust200902
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- FRONT SECTION -->
<front>
<title abbrev="SPEERMINT Peering Architecture">SPEERMINT Peering Architecture</title>
<author initials="D." surname="Malas" fullname="Daryl Malas" role="editor">
<organization>CableLabs</organization>
<address>
<postal>
<street></street>
<city>Louisville</city>
<region>CO</region>
<country>US</country>
</postal>
<email>d.malas@cablelabs.com</email>
</address>
</author>
<author initials="J." surname="Livingood" fullname="Jason Livingood" role="editor">
<organization>Comcast</organization>
<address>
<postal>
<street></street>
<city>Philadelphia</city>
<region>PA</region>
<country>US</country>
</postal>
<email>Jason_Livingood@cable.comcast.com</email>
</address>
</author>
<date day="8" month="November" year="2010" />
<!-- META-DATA DECLARATIONS -->
<area>Real-time Applications and Infrastructure</area>
<workgroup>SPEERMINT</workgroup>
<abstract>
<t>This document defines a peering architecture for the Session Initiation Protocol (SIP) [RFC3261], it's functional components and interfaces. It also describes the components and the steps necessary to establish a session between two SIP Service Provider (SSP) peering domains.</t>
</abstract>
</front>
<!-- END META-DATA DECLARATIONS -->
<!-- END FRONT SECTION -->
<!-- MIDDLE SECTION -->
<middle>
<section title="Introduction">
<t>This document defines a reference peering architecture for the Session Initiation Protocol (SIP)<xref target='RFC3261'/>, it's functional components and interfaces, in the context of session peering for multimedia interconnects. In this process, we define the peering reference architecture, its functional components, and peering interface functions from the perspective of a SIP Service providers <xref target="RFC5486"/> network. Thus, it also describes the components and the steps necessary to establish a session between two SIP Service Provider (SSP) peering domains.</t>
<t>This architecture enables the interconnection of two SSPs in layer 5 peering, as defined in the SIP-based session peering requirements <xref target='I-D.ietf-speermint-requirements'/>.</t>
<t>Layer 3 peering is outside the scope of this document. Hence, the figures in this document do not show routers so that the focus is on layer 5 protocol aspects.</t>
<t>This document uses terminology defined in the Session Peering for Multimedia Interconnect (SPEERMINT) Terminology document <xref target="RFC5486"/>.</t>
</section>
<section title="Reference Architecture">
<t>The following figure depicts the architecture and logical functions that form peering between two SSPs.</t>
<figure anchor="ref_arc">
<artwork align="center"><![CDATA[
+=============++ ++==============+
|| ||
+-----------+ +-----------+
| SBE | +-----+ | SBE |
| +-----+ | SIP |Proxy| | +-----+ |
| | LUF |<-|------>|ENUM | | | LUF | |
| +-----+ | ENUM |TN DB| | +-----+ |
SIP | | +-----+ | |
------>| +-----+ | DNS +-----+ | +-----+ |
| | LRF |<-|------>|FQDN | | | LRF | |
| +-----+ | |IP | | +-----+ |
| +-----+ | SIP +-----+ | +-----+ |
| | SF |<-|----------------|->| SF | |
| +-----+ | | +-----+ |
+-----------+ +-----------+
|| ||
+-----------+ +-----------+
RTP | DBE | RTP | DBE |
------>| |--------------->| |
+-----------+ +-----------+
|| ||
SSP1 Network || || SSP2 Network
+=============++ ++=============+
]]></artwork>
<postamble>Reference Architecture</postamble>
</figure>
<t>For further details on the elements and functions described in this figure, please refer to <xref target="RFC5486"/>.</t>
</section>
<section title="Procedures of Inter-Domain SSP Session Establishment">
<t>This document assumes that in order for a session to be established from a UA in the originating (or indirect) SSP's network to an UA in the Target SSP's network the following steps are taken:</t>
<t>
<list style="numbers">
<t>Determine the target or indirect SSP via the LUF. (Note: If the target address represents an intra-SSP resource, the behavior is out-of-scope with respect to this draft.)</t>
<t>Determine the address of the SF of the target SSP via the LRF.</t>
<t>Establish the session</t>
<t>Exchange the media, which could include voice, video, text, etc.</t>
<t>End the session (BYE)</t>
</list>
</t>
<t>The originating or indirect SSP would likely perform steps 1-4, and the target SSP would likely perform steps 4-5.</t>
<t>In the case the target SSP changes, then steps 1-4 would be repeated. This is reflected in <xref target="ref_arc" /> that shows the target SSP with its own peering functions.</t>
</section>
<section title="Relationships Between Functions/Elements">
<t>
<list style="symbols">
<t>An SBE can contain a SF function.</t>
<t>An SF can perform LUF and LRF functions.</t>
<t>As an additional consideration, a Session Border Controller, can contain an SF, SBE and DBE, and may perform the LUF and LRF functions.</t>
<t>The following functions can communicate as follows, depending upon various real-world implementations:
<list style="symbols">
<t>SF can communicate with LUF, LRF, SBE and SF</t>
<t>LUF can communicator with SF and SBE</t>
<t>LRF can communicate with SF and SBE</t>
</list>
</t>
</list>
</t>
</section>
<section title="Recommended SSP Procedures">
<t>This section describes the functions in more detail and provides some recommendations on the role they would play in a SIP call in a Layer 5 peering scenario.</t>
<t>Some of the information in the section is taken from <xref target='I-D.ietf-speermint-requirements'/> and is put here for continuity purposes.</t>
<section title="Originating or Indirect SSP Procedures">
<t>This section describes the procedures of the originating or indirect SSP.</t>
<section title="The Look-Up Function (LUF)">
<t>The purpose of the LUF is to determine the SF of the target domain of a given request and optionally to develop Session Establishment Data. It is important to note that the LUF may utilize the public e164.arpa ENUM root, as well as one or more private roots. When private roots are used specialized routing rules may be implemented, and these rules may vary depending upon whether an originating or indirect SSP is querying the LUF.</t>
<section title="Target Address Analysis">
<t>When the originating (or indirect) SSP receives a request to communicate, it analyzes the target URI to determine whether the call needs to be routed internal or external to its network. The analysis method is internal to the SSP; thus, outside the scope of SPEERMINT.</t>
<t>If the target address does not represent a resource inside the originating (or indirect) SSP's administrative domain or federation of domains, then the originating (or indirect) SSP performs a Lookup Function (LUF) to determine a target address, and then is resolves the call routing data by using the Location routing Function (LRF).</t>
<t>For example, if the request to communicate is for an im: or pres: URI type <xref target='RFC3861'/> <xref target='RFC3953'/>, the originating (or indirect) SSP follows the procedures in <xref target='RFC3861'/>. If the highest priority supported URI scheme is sip: or sips: the originating (or indirect) SSP skips to SIP DNS resolution in Section 5.1.3. Likewise, if the target address is already a sip: or sips: URI in an external domain, the originating (or indirect) SSP skips to SIP DNS resolution in <xref target='DNS Resolution'/>. This may be the case, to use one example, with "sips:bob@biloxi.example.com".</t>
<t>If the target address corresponds to a specific E.164 address, the SSP may need to perform some form of number plan mapping according to local policy. For example, in the United States, a dial string beginning "011 44" could be converted to "+44", or in the United Kingdom "00 1" could be converted to "+1". Once the SSP has an E.164 address, it can use ENUM.</t>
</section>
<section title="ENUM Lookup">
<t>If an external E.164 address is the target, the originating (or indirect) SSP consults the public "User ENUM" rooted at e164.arpa, according to the procedures described in <xref target='RFC3761'/>. The SSP must query for the "E2U+sip" enumservice as described in <xref target='RFC3764'/>, but may check for other enumservices. The originating (or indirect) SSP may consult a cache or alternate representation of the ENUM data rather than actual DNS queries. Also, the SSP may skip actual DNS queries if the originating (or indirect) SSP is sure that the target address country code is not represented in e164.arpa.</t>
<t>If an im: or pres: URI is chosen for based on an "E2U+im" <xref target='RFC3861'/> or "E2U+pres" <xref target='RFC3953'/> enumserver, the SSP follows the procedures for resolving these URIs to URIs for specific protocols such a SIP or XMPP as described in the previous section.</t>
<t>The NAPTR response to the ENUM lookup may be a SIP AoR (such as "sips:bob@example.com") or SIP URI (such as "sips:bob@sbe1.biloxi.example.com"). In the case of when a SIP URI is returned, the originating (or indirect) SSP has sufficient routing information to locate the target SSP. In the case of when a SIP AoR is returned, the SF then uses the LRF to determine the URI for more explicitly locating the target SSP.</t>
</section>
</section>
<section title="Location Routing Function (LRF)">
<t>The LRF of an originating (or indirect) SSP analyzes target address and target domain identified by the LUF, and discovers the next hop signaling function (SF) in a peering relationship. The resource to determine the SF of the target domain might be provided by a third-party as in the assisted-peering case. The following sections define mechanisms which may be used by the LRF. These are not in any particular order and, importantly, not all of them may be used.</t>
<section title="DNS Resolution" anchor='DNS Resolution'>
<t>The originating (or indirect) SSP uses the procedures in Section 4 of <xref target='RFC3263'/> to determine how to contact the receiving SSP. To summarize the <xref target='RFC3263'/> procedure: unless these are explicitly encoded in the target URI, a transport is chosen using NAPTR records, a port is chosen using SRV records, and an address is chosen using A or AAAA records.</t>
<t>When communicating with another SSP, entities compliant to this document should select a TLS-protected transport for communication from the originating (or indirect) SSP to the receiving SSP if available, as described further in <xref target='TLS'/>.</t>
</section>
<section title="Routing Table">
<t>If there are no End User ENUM records and the originating (or indirect) SSP cannot discover the carrier-of-record or if the originating (or indirect) SSP cannot reach the carrier-of-record via SIP peering, the originating (or indirect) SSP may deliver the call to the PSTN or reject it. Note that the originating (or indirect) SSP may forward the call to another SSP for PSTN gateway termination by prior arrangement using the routing table.</t>
<t>If so, the originating (or indirect) SSP rewrites the Request-URI to address the gateway resource in the target SSP's domain and may forward the request on to that SSP using the procedures described in the remainder of these steps.</t>
</section>
<section title="LRF to LRF Routing">
<t>Communications between the LRF of two interconnecting SSPs may use DNS or statically provisioned IP Addresses for reachability. Other inputs to determine the path may be code-based routing, method-based routing, Time of day, least cost and/or source-based routing.</t>
</section>
</section>
<section title="The Signaling Path Border Element (SBE)">
<t>The purpose of signaling function is to perform routing of SIP messages as well as optionally implement security and policies on SIP messages, and to assist in discovery/exchange of parameters to be used by the Media Function (MF). The signaling function performs the routing of SIP messages. The SBE may be a B2BUA or it may act as a SIP proxy. Optionally, a SF may perform additional functions such as Session Admission Control, SIP Denial of Service protection, SIP Topology Hiding, SIP header normalization, SIP security, privacy, and encryption. The SF of a SBE can also process SDP payloads for media information such as media type, bandwidth, and type of codec; then, communicate this information to the media function.</t>
<section title="Establishing a Trusted Relationship">
<t>Depending on the security needs and trust relationships between SSPs, different security mechanism can be used to establish SIP calls. These are discussed in the following subsections.</t>
</section>
<section title="IPSec">
<t>In certain deployments the use of IPSec between the signaling functions of the originating and terminating domains can be used as a security mechanism instead of TLS.</t>
</section>
<section title="Co-Location">
<t>In this scenario the SFs are co-located in a physically secure location and/or are members of a segregated network. In this case messages between the originating and terminating SSPs would be sent as clear text.</t>
</section>
<section title="Sending the SIP Request">
<t>Once a trust relationship between the peers is established, the originating (or indirect) SSP sends the request.</t>
</section>
</section>
</section>
<section title="Target SSP Procedures">
<t>This section describes the Target SSP Procedures.</t>
<section title='TLS' anchor='TLS'>
<t>The section defines uses of TLS between two SSPs <xref target='RFC5246'/> <xref target='RFC5746'/> <xref target='RFC5878'/>. When the receiving SSP receives a TLS client hello, it responds with its certificate. The Target SSP certificate should be valid and rooted in a well-known certificate authority. The procedures to authenticate the SSP's originating domain are specified in <xref target='RFC5922'/>.</t>
<t>The SF of the Target SSP verifies that the Identity header is valid, corresponds to the message, corresponds to the Identity-Info header, and that the domain in the From header corresponds to one of the domains in the TLS client certificate.</t>
</section>
<section title="Receive SIP Requests">
<t>Once a trust relationship is established, the Target SSP is prepared to receive incoming SIP requests. For new requests (dialog forming or not) the receiving SSP verifies if the target (request-URI) is a domain that for which it is responsible. For these requests, there should be no remaining Route header field values. For in-dialog requests, the receiving SSP can verify that it corresponds to the top-most Route header field value.</t>
<t>The receiving SSP may reject incoming requests due to local policy. When a request is rejected because the originating (or indirect) SSP is not authorized to peer, the receiving SSP should respond with a 403 response with the reason phrase "Unsupported Peer".</t>
</section>
</section>
<section title="Data Path Border Element (DBE)">
<t>The purpose of the DBE <xref target='RFC5486'/> is to perform media related functions such as media transcoding and media security implementation between two SSPs.</t>
<t>An example of this is to transform a voice payload from one codec (e.g., G.711) to another (e.g., EvRC). Additionally, the MF may perform media relaying, media security <xref target='RFC3711'/>, privacy, and encryption.</t>
</section>
</section>
<section title="Address Space Considerations">
<t>Peering must occur in a common IP address space, which is defined by the federation, which may be entirely on the public Internet, or some private address space <xref target='RFC1918'/>. The origination or termination networks may or may not entirely be in the same address space. If they are not, then a network address translation (NAT) or similar may be needed before the signaling or media is presented correctly to the federation. The only requirement is that all associated entities across the peering interface are reachable.</t>
</section>
<section anchor="Acknowledgments" title="Acknowledgments">
<t>The working group would like to thank John Elwell, Otmar Lendl, Rohan Mahy, Alexander Mayrhofer, Jim McEachern, Jean-Francois Mule, Jonathan Rosenberg, and Dan Wing for their valuable contributions to various versions of this document.</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>This memo includes no request to IANA.</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>In all cases, cryptographic-based security should be maintained as an optional requirement between peering providers conditioned on the presence or absence of underlying physical security of SSP connections, e.g. within the same secure physical building.</t>
<t>In order to maintain a consistent approach, unique and specialized security requirements common for the majority of peering relationships, should be standardized within the IETF. These standardized methods may enable capabilities such as dynamic peering relationships across publicly maintained interconnections.</t>
<t>Additional security considerations have been documented separately in <xref target='I-D.ietf-speermint-voipthreats'/>.</t>
</section>
<section title='Contributors'>
<t>Mike Hammer</t>
<t>Cisco Systems</t>
<t>Herndon, VA - USA</t>
<t>Email: mhammer@cisco.com</t>
<t>--------------------------------------------------------------</t>
<t>Hadriel Kaplan</t>
<t>Acme Packet</t>
<t>Burlington, MA - USA</t>
<t>Email: hkaplan@acmepacket.com</t>
<t>--------------------------------------------------------------</t>
<t>Sohel Khan, Ph.D.</t>
<t>Comcast Cable</t>
<t>Philadelphia, PA - USA</t>
<t>Email: sohel_khan@cable.comcast.com</t>
<t>--------------------------------------------------------------</t>
<t>Reinaldo Penno</t>
<t>Juniper Networks</t>
<t>Sunnyvale, CA - USA</t>
<t>Email: rpenno@juniper.net</t>
<t>--------------------------------------------------------------</t>
<t>David Schwartz</t>
<t>XConnect Global Networks</t>
<t>Jerusalem - Israel</t>
<t>Email: dschwartz@xconnnect.net</t>
<t>--------------------------------------------------------------</t>
<t>Rich Shockey</t>
<t>Shockey Consulting</t>
<t>USA</t>
<t>Email: Richard@shockey.us</t>
<t>--------------------------------------------------------------</t>
<t>Adam Uzelac</t>
<t>Global Crossing</t>
<t>Rochester, NY - USA</t>
<t>Email: adam.uzelac@globalcrossing.com</t>
</section>
<section title='Change Log'>
<t>NOTE TO RFC EDITOR: PLEASE REMOVE THIS SECTION PRIOR TO PUBLICATION.</t>
<t>
<list style='symbols'>
<t>16: Yes, one final outdated reference to fix.</t>
<t>15: Doh! Uploaded the wrong doc to create -14. Trying again. :-)</t>
<t>14: WGLC ended. Ran final nits check prior to sending proto to the AD and sending the doc to the IESG. Found a few very minor nits, such as capitalization and replacement of an obsoleted RFC, which were corrected per nits tool recommendation. The -14 now moves to the AD and the IESG.</t>
<t>13: Closed out all remaining tickets, resolved all editorial notes.</t>
<t>12: Closed out several open issues. Properly XML-ized all references. Updated contributors list.</t>
<t>11: Quick update to refresh the I-D since it expired, and cleaned up some of the XML for references. A real revision is coming soon.</t>
</list>
</t>
</section>
<section title='Open Issues'>
<t>NOTE TO RFC EDITOR: PLEASE REMOVE THIS SECTION PRIOR TO PUBLICATION.</t>
<t>
<list style='symbols'>
<t>NONE!</t>
</list>
</t>
</section>
</middle>
<!-- END MIDDLE SECTION -->
<!-- BACK SECTION -->
<back>
<!-- appendix -->
<references title="Normative References">
<?rfc include="reference.I-D.ietf-speermint-requirements.xml"?>
<?rfc include="reference.I-D.ietf-speermint-voipthreats.xml"?>
&RFC1918;
&RFC3261;
&RFC3263;
&RFC3761;
&RFC3764;
&RFC3861;
&RFC3953;
&RFC5486;
&RFC5922;
&RFC5246;
&RFC5746;
&RFC5878;
</references>
<references title="Informative References">
<?rfc include="reference.I-D.ietf-speermint-voip-consolidated-usecases.xml"?>
&RFC3711;
</references>
</back>
<!-- END BACK SECTION -->
</rfc>| PAFTECH AB 2003-2026 | 2026-04-23 19:43:10 |