One document matched: draft-zourzouvillys-bliss-ach-config-requirements-00.xml


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY rfc2119 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
]>

<rfc category="info" ipr="full3978" docName="draft-zourzouvillys-bliss-ach-config-requirements-00">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc compact="yes" ?> <!-- Conserve vertical whitespace -->
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>

    <front>
        <title abbrev="ACH Config Requirements">
          Automatic Call Handling (ACH) Configuration Requirements
        </title>
        <author initials='T.Z' surname="Zourzouvillys" fullname='Theo Zourzouvillys'>
          <organization>VoIP.co.uk</organization>
          <address>
            <postal>
              <street>Commerce House</street>
              <street>Telford Road</street>
              <city>Bicester</city>
              <region>Oxfordshire</region>
              <code>OX26 4LD</code>
              <country>UK</country>
            </postal>
            <phone>+44 1908 764196</phone>
            <email>theo@voip.co.uk</email>
            <uri>http://voip.co.uk</uri>
          </address>
        </author>
        <date month="October" year="2008" day="24"/>
        <workgroup>BLISS</workgroup>
        <abstract>
          <t>
            This document examines the requirements for a protocol that allows an
            agent to configure an ACH enabled proxy.
          </t>
        </abstract>
    </front>

  <middle>

    <section title="Introduction">
      <t>
        Automatic Call Handling (ACH) provides support for SIP proxies to apply automatic treatment to calls,
        as described in [I-D.ietf-bliss-ach-analysis].
      </t>
      <t>
        In order to encourage interoperability, a protocol is needed for User Agents (or agents acting on behalf
        of the user) to be able to configure a proxy to apply treatment to calls.
      </t>
      <t>
        This document analyzes the requirements needed for such a protocol.
      </t>
    </section>

    <section title="Requirements notation">
      <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 <xref target="RFC2119"/>.
      </t>
    </section>

    <section title="Scope">
      <t>
        This document examines a range of requirements for an agent running on behalf of a user served by an ACH enabled proxy to
        be able to configure the proxy.
      </t>
      <t>
        This document only discusses the requirements for such functionality.  A separate document will address solutions.
      </t>
    </section>

    <section title="Definitions">
      <t>
        <list>
          <t>Agent- A client acting on behalf of a user</t>
          <t>Profile - A set of configuration parameters that define what treatment should be applied to incoming calls.</t>
        </list>
      </t>
    </section>

    <section title="Overview">
      <t>
        ACH provides functionality for a SIP proxy hosted on a network to provide services on behalf of a user, for example to
        reject a call or forward it as needed.
      </t>
      <t>
        Currently, SIP vendors each define their own out of band methods for configuring these call handling rules - commonly via a
        web interface or an IVR application.  Both of these examples have the drawback that they are suitable for use by a human user,
        but not for an agent acting on behalf of a user or automata.
      </t>
      <t>
        The ACH configuration mechanism will provide a mechanism more suited for use by a user's agent to modify the configuration
        on the proxy.  This then allows an agent to present the user with an interface suitable to the device for manipulating
        this information, or an automaton acting on behalf of a user running somewhere within the network.
      </t>
    </section>

    <section title="Requirements">

      <section title="High Level Requirements">

        <section title="Discovery">
          <t>
            REQ: Given a SIP AOR, an agent should be able to discover where to go to retrieve the ACH configuration settings.
          </t>
        </section>

        <section title="Settings Manipulation">
          <t>
            REQ: It must be possible for an agent to add new ACH settings.
          </t>
          <t>
            REQ: It must be possible for an agent to modify existing ACH settings.
          </t>
          <t>
            REQ: It must be possible for an agent to delete existing ACH settings.
          </t>
        </section>

        <section title="Optional: Multiple Profiles">

          <t>
            An optional part of the ACH configuration could allow multiple profiles to be configured on the server.  An agent would then
            be able to switch between profiles without needing to know the configuration itself, by selecting the profile in the main
            configuration.
          </t>

          <t>
            This would be useful for a SIP UA without a UI - the active profile could be selected without needing an interface, and would
            not need to implement logic for manipulation of profiles, as this could be done using a UA with a display.
          </t>

          <t>
            It also allows a user with multiple devices to keep multiple profiles, and a change to the profile on one device would not need to
            be made on all devices.
          </t>

          <t>
            REQ: A means may be defined to allow multiple profiles to be created and stored on the server, and choose an active one for call treatment.
          </t>

          <section title="Active Profile">
            <t>
              REQ: An agent must be able to discover the active profile given an AOR and valid credentials for accessing it.
            </t>
          </section>

          <section title="Profile Manipulation">
            <t>
              REQ: It must be possible for an agent to define new profiles, list, modify, and delete existing ones.
            </t>
          </section>

        </section>

        <section title="Conflict Detection">
          <t>
            REQ: An agent must be able to fetch settings or a profile, modify them, and re-upload without any risk of conflicts.  It must also be
            able to fetch the active profile, and attempt to change it without any risk of conflict from another agent
            attempting to also change the profile in the process.
          </t>
        </section>

        <section title="Agent Notifications">
          <t>
            REQ: An agent should be able to register it's interest in receiving updates to settings for a given user.
          </t>
        </section>

        <section title="Error Detection">
          <t>
            REQ: A server must have functionality for returning descriptive errors back to the agent when attempting to modify settings.
          </t>
        </section>

        <section title="Extending Settings">
          <t>
            REQ: It must be possible for vendors to define extensions to the settings in a way that will not conflict with other vendors settings.
          </t>
        </section>

      </section>

      <section title="Profile Requirements">

        <section title="Conditions">
          <t>
            REQ: Apply different treatment based on sets of conditions:
            <list style="format (%d)">
              <t>Response code from sending call to a binding</t>
              <t>Caller Identity</t>
              <t>Time of day or week</t>
              <t>Specific set of date/time periods</t>
            </list>
          </t>
        </section>

        <section title="Semantic Meaning">
          <t>
            An agent should be able to download a profile uploaded by another agent from another vendor and be able to render an interface
            to a user to allow them to change the settings, or alter a UI based on the configuration - for example to illuminate an "call divert enabled"
            lamp.
          </t>
          <t>
            REQ: An agent must be able to extract the semantic meaning in a simple manner from an ACH configuration profile after fetching it.
          </t>
        </section>

        <section title="Extending Profiles">
          <t>
            REQ: It must be possible to define extensions to the configuration format to define new primitive conditions or actions for call treatment
            within profiles.
          </t>
        </section>

        <section title="NAT Traversal">
          <t>
            It is important that agents behind NAT will function correctly, both for direct configuration manipulation, and also
            for notifications of configuration changes.
          </t>
          <t>
            REQ: An agent must be fully functional behind NAT.
          </t>
        </section>

        <section title="Security">
          <t>
            It is possible that a SIP proxy only has access to the RFC 2617 HA1 value of a user's credentials.
          </t>
          <t>
            REQ: Both the agent and server MUST support Digest authentication for authenticating the agent based on the same credentials used by
            a SIP user agent for registration operations.
          </t>
          <t>
            REQ: An agent must be able to validate the identity of the server in a secure fashion.
          </t>
          <t>
            REQ: Data transfered between the agent and server must have integrity protection.
          </t>
          <t>
            REQ: Data transfered between the agent and server must be secured from eavesdropping.
          </t>
        </section>
      </section>

    </section>

    <section title="Security Considerations">
      <t>
        All operations described in this document should be subject to appropriate security, the requirements for
        which are stated earlier in the document.
      </t>
    </section>

    <section title="Acknowledgements">
      <t>
        The following individuals were part of the ACH Team, and have helped to shape this document:
      </t>
      <t>
        Christian Schmidt, John Elwell, John Zhao, Michael Procter, Shida Schubert, and Martin Dolly.
      </t>
    </section>

  </middle>

  <back>
    <references title='Normative References'>
      &rfc2119;
      <?rfc include='http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml'?>
      <!-- ?rfc include="reference.I-D.ietf-bliss-ach-analysis"? -->
    </references>
  </back>

</rfc>


PAFTECH AB 2003-20262026-04-24 05:36:59