<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8288 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8288.xml">
<!ENTITY RFC3986 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml"> 
<!ENTITY RFC7033 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7033.xml"> 
<!ENTITY RFC6749 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml"> 
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- Generated by id2xml 1.5.0 on 2022-03-02T22:35:34Z -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<?rfc tocappendix="yes" ?>
<rfc category="std" docName="draft-engi-siptrunkingcapability-link-02" ipr="trust200902" xml:lang="en">

	<front>
   	<title abbrev="&quot;sipTrunkingCapability&quot; Link Type">
         The 'sipTrunkingCapability' Link Relation Type
      </title>
   	
      <author initials="K." surname="Inamdar" fullname="Kaustubh Inamdar">
      <organization>Unaffiliated</organization>
      <address>
      <email>kaustubh.ietf@gmail.com</email>
      <uri></uri>
      </address>
      </author>

      <author initials="S." surname="Narayanan" fullname="Sreekanth Narayanan">
      <organization>Cisco</organization>
      <address>
      <email>sreenara@cisco.com</email>
      <uri></uri>
      </address>
      </author>

      <author initials="D." surname="Engi" fullname="Derek Engi">
      <organization>Cisco</organization>
      <address><postal>
      <street>Ann Arbor, MI</street>
      <street>US</street>
      </postal>
      <phone>+1 919 392 7966</phone>
      <email>deengi@cisco.com</email>
      <uri></uri>
      </address>
      </author>

      <author initials="G." surname="Salgueiro" fullname="Gonzalo Salgueiro">
      <organization>Cisco</organization>
      <address><postal><street>7200-12 Kit Creek Rd.</street>
      <street>Research Triangle Park, NC 27709</street>
      <street>US</street>
      </postal>
      <phone>+1 919 392 3266</phone>
      <email>gsalguei@cisco.com</email>
      <uri></uri>
      </address>
      </author>

   	<date year="2022" month="September" day="15"/>
	  <abstract><t>
      This specification defines the 'sipTrunkingCapability' link relation type that may be used for the retrieval of capabilities and configuration requirements from Internet Telephony Service Providers (ITSPs). A Session Initiation Protocol (SIP) trunking capability set is defined to allow the transfer of technical requirements needed for seamless peering between SIP-based enterprise telephony networks and ITSPs where an exchange of parameters and configuration information is required.</t>

	  </abstract>
	</front>

	<middle>
	  <section title="Introduction" anchor="introduction">

      <t>
      RFC 8288 <xref target="RFC8288"/> defined a way of indicating relationships between
   resources on the Web. This document specifies the 'sipTrunkingCapability' link
   relation type according to the rules of RFC 8288 <xref target="RFC8288"/>.  Links with this relationship type can be used to exchange capability information between potential peer devices. In the event that systems require additional parameters and configuration to negotiate communication, a well-known URI can be utilized to deliver information to potential peers including machine-readable instructions and parameters needed for peering.
      </t>

   	<t>
      The 'sipTrunkingCapability' link relation type may be used on web resources hosted by Internet Telephony Service Providers (ITSPs) to provide a structured and detailed capability set document.  The capability set document encapsulates a set of characteristics of an ITSP, which when retrieved by enterprise telephony network devices allows for automated establishment of Session Initiation Protocol (SIP) trunking between the two telephony networks.
      </t>

   	</section>

   	<section title="Terminology" anchor="terminology"><t>
      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

   	</section>

   	<section title="The 'sipTrunkingCapability' Link Relation Type" anchor="link-type">
         <t>
         A capability set document is hosted via web resources by the ITSP.  A unique location of the document can be preconfigured and provided to each peer by the ITSP, or a centrally published resource can be used that dynamically generates the capability set document based on Uniform Resource Identifier(s) <xref target="RFC3986"/> determined by the peering device.  The document describes the configuration parameters required to successfully establish SIP trunking between an enterprise and service provider SIP telephony network.  The capability set document SHOULD be composed of structured and machine-readable parameters that could be easily converted into configuration data to meet the communication requirements of the service provider.  The need for an enterprise telephony network to obtain a capability set document from an Internet Telephony Service Provider (ITSP) is documented in Automatic Peering for SIP Trunks <xref target="I-D.ietf-asap-sip-auto-peer"/>.  
         </t>
      </section>

   	<section title="Example Usage" anchor="examples">
         <t>
            This section provides an example of possible use of the 'sipTrunkingCapability' relation type.  The enterprise network device solicits the location of the capability document from the well-known URI hosted by the SIP service provider using the WebFinger protocol <xref target="RFC7033"/>.
         </t>

<figure>
<artwork>
<![CDATA[
   GET /.well-known/webfinger?
      resource=acct%3Atrunkent1456%40example.com&
      rel=sipTrunkingCapability
      HTTP/1.1
   Host: ssp1.example.com
]]>
</artwork>
</figure>
         <t>
            The capability set location is returned to the source device referencing the URI that contains parameters for peering. 
         </t>
<figure>
<artwork>
<![CDATA[   
   HTTP/1.1 200 OK
   Access-Control-Allow-Origin: *
   Content-Type: application/jrd+json
   {
      "subject" : "acct:trunkent1456@example.com",
      "links" :
      [
         {
            "rel" : "sipTrunkingCapability",
            "href" :"https://capserver.ssp1.com/capserver/capdoc.json"
         }
      ]
   }
]]>
</artwork>
</figure>
         
        <t>
         The ITSP may use an authentication framework such as OAuth 2.0 <xref target="RFC6749"/> to determine the identity of the enterprise telephony network and provide the appropriate capability set document.
        </t>

      </section>
      
      <section title="IANA Considerations" anchor="iana">
             <t>IANA is instructed to register the sipTrunkingCapability link relation under the "Link Relation Types" Registry, with a reference to this document, using the following template:
</t>

        <t><list style="hanging">
            <t hangText="Relation Name:">sipTrunkingCapability</t>

            <t hangText="Description:">A capability document that defines parameters or configuration requirements for automated peering and communication channel negotiation of the Session Initiation Protocol (SIP).</t>
            <t hangText="Reference:">RFC&rfc.number;</t>
            <t>[[NOTE TO RFC EDITOR: Please change &rfc.number; to the number assigned to this specification, and remove this paragraph on publication.]]</t>
          </list></t>
           
      </section>

      <section title="Security Considerations" anchor="security">
         <t>
            The 'sipTrunkingCapability' relation type is not known to introduce any new security issues not already discussed in RFC 8288 <xref target="RFC8288"/> for generic use of web linking mechanisms.  However, it is recommended to exercise caution when publishing potentially sensitive capability information over unencrypted or unauthenticated channels. 
         </t>
      
      </section>

   	<section title="Acknowledgements" anchor="acknowledgements">
         <t>
            This document resulted from the discussions in the ASAP working group, especially the detailed and thoughtful comments of Paul Jones, Marc Petit-Huguenin, Cullen Jennings, Jonathan Rosenberg, Jon Peterson and Chris Wendt.
         </t>
      </section>
	</middle>
	<back>
	<references title="Normative References">
   	&RFC2119;
    &RFC8174;
    &RFC8288;
   </references>
   <references title="Informative Reference">
      <reference anchor="I-D.ietf-asap-sip-auto-peer" target="https://datatracker.ietf.org/doc/html/draft-ietf-asap-sip-auto-peer">
         <front>
            <title>Automatic Peering for SIP Trunks</title>
            <author initials="K." surname="Inamdar" fullname="K. Inamdar">
              <organization/>
            </author>
            <author initials="S." surname="Narayanan" fullname="S. Narayanan">
              <organization/>
            </author>
            <author initials="C." surname="Jennings" fullname="C. Jennings">
              <organization/>
            </author>
            <date year="2021" month="October"/>
            <abstract>
              <t>
               This draft specifies a configuration workflow to enable enterprise Session Initiation Protocol (SIP) networks to solicit the capability set of a SIP service provider network.  The capability set can subsequently be used to configure features and services on the enterprise edge element, such as a Session Border Controller (SBC), to ensure smooth peering between enterprise and service provider networks.
              </t>
            </abstract>
          </front>
        </reference>
        &RFC3986;
        &RFC7033;
        &RFC6749;

   </references>
  </back>
</rfc>