INTERNET DRAFT          EXPIRES MAY 1998        INTERNET DRAFT
Network Working Group                               A. Brown
Internet Draft                             Nortel Technology
Expires: May 24, 1998                      November 18, 1997
Category: Experimental


                       VPIM Directory
                 Schema Definition & Profile
              <draft-ema-vpimdir-schema-00.txt>

Status of this Memo

     This document is an Internet-Draft.  Internet-Drafts are working
     documents of the Internet Engineering Task Force (IETF), its
     areas, and its working groups.  Note that other groups may also
     distribute working documents as Internet-Drafts.

     Internet-Drafts are draft documents valid for a maximum of six
     months and may be updated, replaced, or obsoleted by other
     documents at any time.  It is inappropriate to use Internet-
     Drafts as reference material or to cite them other than as
     "work in progress."

     To view the entire list of current Internet-Drafts, please check
     the "1id-abstracts.txt" listing contained in the Internet-Drafts
     Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
     (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
     Coast), or ftp.isi.edu (US West Coast).

Abstract

     One use of a directory service is the retrieval of
     information, such as email address and spoken name, to
     support voice messsaging.  This document defines the
     directory schema required for an X.500/LDAP-based
     directory service for use by applications supporting
     Voice Profile for Internet Mail [VPIM2].  The directory
     service is intended to assist the exchange of voice
     messages between voice messaging systems.  Interaction
     with desktop applications is outside the scope of this
     draft.

     Some schema elements defined herin may be of more
     general use than just for voice messaging.  They are
     included here because they are not defined elsewhere.
     It is anticipated that the next version of this schema
     will only reference such definitions if they get
     defined in more appropriate areas.

     This schema will be used to support a pilot VPIM
     directory service based on X.500 93 and LDAPv2.  This
     next version of the schema will support X.500 97 and
     LDAPv3.



1.   Overview

     This document defines a set of X.500/LDAP object
     classes and attributes for use in a voice messsaging
     directory service.  Also defined are X.500 DIT content
     rules, name forms and DIT structure rules.

     The directory structure provides clients with the
     ability to access directory information, given only a
     telephone number. The voice messaging directory is
     structured according to the E.164 numbering plan, with
     each node in the tree representing a single digit of an
     E.164 telephone number. Given a telephone number, an
     LDAP client can pinpoint an entry in the voice
     messaging tree.  This structure allows voice messaging
     systems to retrieve information without having to
     perform a global search for a telephone number and
     without having to understand different numbering plan
     structures.

     Other numbering plans besides E.164, and other
     alphanumeric identity structures, such calling cards
     and user IDs, can also be supported by similar tree
     stuctures.

2.   General Issues

     Attribute type and object class definitions for use
     with X.500 are written using Abstract Syntax Notation
     One [ASN.1].  Equivalent attribute type and object
     class definitions for use with LDAP are written using
     the BNF form of AttributeTypeDescription and
     ObjectClassDescription given in [ATTRIBS04].  Lines
     have been folded for readability.

     Schema definitions for use only with X.500 are defined
     only in ASN.1.

3.   Attributes

3.1  Sub-Tree Node Naming Attribute

     The VPIM directory is structured in a hierarchy whereby
     each node in the tree represents a single digit of an
     E.164 telephone number.  The higher in the tree a digit
     is, the higher its significance in the telephone
     number.  The e164Digit attribute type is used for
     naming nodes in the tree.  Since the nodes in the tree
     are named by a single digit, the e164Digit attribute
     shall have a length of one digit.  e164Digit will be
     abbreviated to ed for this document. Some examples of
     Distinguished Name composed from e164Digits are:

     A telephone number of +1 613 765 1234 would have the
     following corresponding Distinguished Name in the VPIM
     directory:

          ed=4, ed=3, ed=2, ed=1, ed=5, ed=6, ed=7, ed=3, ed=1, ed=6, ed=1,
          o=some commonly agreed upon prefix

     Telephone number +1 613 765 1234 with extension 555
     would result in the following Distinguished Name:

          ed=5, ed=5, ed=5, ed=4, ed=3, ed=2, ed=1, ed=5, ed=6, ed=7, ed=3,
          ed=1, ed=6, ed=1, o=some commonly agreed upon prefix

     The ASN.1 definition of e164Digit for X.500
     implementations is:

     e164Digit ATTRIBUTE ::= {
          WITH SYNTAX         NumericString (SIZE(ub-vpim-at-e164Digit))
          EQUALITY MATCHING RULE   numericStringMatch
          ID   id-vpim-at-e164Digit}

     ub-vpim-at-e164Digit               INTEGER ::= 1

     The BNF definition of e164Digit for use with LDAP is:

          (2.16.840.1.113694.1.2.1.1.1 NAME 'e164Digit'
           EQUALITY      2.5.13.8
           SYNTAX   '1.3.6.1.4.1.1466.115.121.1.36 {1}')

3.2  Voice Messaging Internet Mail Address

     The attribute vPIMrfc822Mailbox stores the SMTP address
     of a voice mailbox.  It is defined as a distinct
     attribute to distinguish it from the rfc822Mailbox
     attribute that may be used for other purposes. Although
     it would be preferable to define vPIMrfc822Mailbox as a
     subtype of rfc822Mailbox, it is defined here as an
     entirely new attribute because some directory
     implementations do not support sub-typing.

     The more desirable vCard emailoption (e.g. email:VPIM)
     can be supported when X.500 97 and LDAPv3 products are
     more readily available.  With 1997 X.500 Directory
     implementations, Directory Contexts will be used to
     distinguish the VPIM value of email from other uses of
     the email attribute type.  Attribute Description will
     be used to perform a similar function for LDAP.  When
     these implementations become more widespread,
     subsequent versions of this document will be released
     with the new schema.

     The ASN.1 definition for X.500 implementations is:

     vPIMrfc822Mailbox ATTRIBUTE ::= {
          WITH SYNTAX    caseIgnoreIA5StringSyntax
               (SIZE (1 .. ub-rfc822-mailbox)) -- from RFC 1274
          ID id-vpim-at-vPIMrfc822Mailbox }

     --Note: The definition for vPIMrfc822Mailbox is
             identical to that defined for rfc822Mailbox in
             RFC 1274, except that vPIMrfc822Mailbox has a
             different object identifier and is defined
             using X.501 1993 as opposed to 1988 attribute
             type definition notation.

The BNF definition for use with LDAP is:

            (2.16.840.1.113694.1.2.1.1.2 NAME 'vPIMrfc822Mailbox'
             EQUALITY 1.3.6.1.4.1.1466.109.114.2
             SYNTAX   '1.3.6.1.4.1.1466.115.121.1.26 {256}')

3.3  Text Name

     The attribute commonName, abbreviated as cn, stores the
     values of text name.  The formatted name, FN, defined
     for vCard, is based on the semantics of the X.520
     Common Name attribute.

     The ASN.1 definition for X.500 implementations can be
     found in X.520.  The BNF definition for use with LDAP
     can be found in <draft-ietf-asid-ldapv3schema-x500-
     00.txt>.

3.4  Spoken Name

     The vPIMSpokenName attribute is an octet string and
     should be encoded in 32 kbit/s ADPCM exactly as defined
     by ITU-T Recommendation G.726. SpokenName shall contain
     the spoken name of the user in the voice of the user.
     The length of the spoken name segment must not exceed
     12 seconds.  Private or additional encoding types are
     outside the scope of this version.  When X.500 97 and
     LDAPv3 implementations are widely used, additional
     encoding types will be supported.  The definition of
     private types is a local matter and thus not subject to
     standardization.

     The ASN.1 definition for X.500 implementations is:

     vPIMSpokenName ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName }

     ub-vpim-at-vPIMSpokenName          INTEGER ::= 4000

     The BNF definition for use with LDAP is:

          (2.16.840.1.113694.1.2.1.1.3 NAME 'vPIMSpokenName'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

     For support of other encoding types for spoken, the
     following four attribute types are also defined in
     ASN.1 and BNF as follows:

     vPIMSpokenName1 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName1 }

     vPIMSpokenName2 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName2 }

     vPIMSpokenName3 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName3 }

     vPIMSpokenName4 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName4 }

          (2.16.840.1.113694.1.2.1.1.3.1 NAME 'vPIMSpokenName1'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

          (2.16.840.1.113694.1.2.1.1.3.2 NAME 'vPIMSpokenName2'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

          (2.16.840.1.113694.1.2.1.1.3.3 NAME 'vPIMSpokenName3'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

          (2.16.840.1.113694.1.2.1.1.3.4 NAME 'vPIMSpokenName4'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

     Use of these additional spoken name definitions will be
     defined as required in experimenatal trials.
     Subsequent versions of this document will use one
     attribute type to store all encoding types of spoken
     name.

3.5  Supported Encoding Types

     The vPIMSupportedEncodingTypes attribute indicates the
     type(s) of encodings that can be received at the
     address specified in vPIMrfc822Mailbox.

     The ASN.1 definition for X.500 implementations is:

     vPIMSupportedEncodingTypes ATTRIBUTE ::= {
          WITH SYNTAX              DirectoryString
          EQUALITY MATCHING RULE   caseIgnoreMatch
          ID             id-vpim-at-vPIMSupportedEncodingTypes }

     The BNF definition of vPIMSupportedEncodingTypes for
     use with LDAP is:

         (2.16.840.1.113694.1.2.1.1.4 NAME
              'vPIMSupportedEncodingTypes'
           EQUALITY      2.5.13.2
           SYNTAX   '1.3.6.1.4.1.1466.115.121.1.15')

     The allowable values of DirectoryString for this
     version of the schema are:

               audio/32KADPCM
               image/tiff

     Additional publicly-defined extensions, registered with
     IANA as specified in RFC 2048, may also used.  Non-
     standard and private encoding types must be indicated
     py prepending the new type name with either "X-" or "x-".

     The existance of the value "image/tiff" indicates that
     fax is enabled for the mailbox whose address is defined
     by the vPIMrfc822mailbox attribute.

3.6  Maximum Message Size

     Many email systems enforce size limitations on messages
     that can be received.  vPIMMaxMessageSize can be used
     to record the maximum integer number of bytes that can
     be received in a message, including the header, sent to
     the address specified in vMrfc822Mailbox.  This
     attribute would be useful in other applications but has
     not been defined elsewhere.  This attribute is only to
     be used until a more appropriate attribute is defined
     elsewhere.

     The ASN.1 definition for X.500 implementations is:

     vPIMMaxMessageSize ATTRIBUTE ::= {
          WITH SYNTAX              NumericString
          EQUALITY MATCHING RULE   numericStringMatch
          ID                  id-vpim-at-vPIMMaxMessageSize}

     The BNF definition for use with LDAP is:

         (2.16.840.1.113694.1.2.1.1.5 NAME 'vPIMMaxMessageSize'
           EQUALITY      2.5.13.8
             SYNTAX   '1.3.6.1.4.1.1466.115.121.1.36')

3.7  Additional Multimedia Attributes

     Types for other required multimedia attributes are for
     further study.

4.   Object Classes

4.1  e164Node Structural Object Class

     Structural object classes are used in defining the
     hierarchical structure of the directory tree. e164Node
     is the structural object class that will be used in
     defining the structure of VPIM directory tree. All
     entries of this type must contain the e164Digit
     attribute which is used to name entries in the VPIM
     directory tree.

     The ASN.1 definition for X.500 implementations is:

     e164Node  OBJECT-CLASS ::= {
          SUBCLASS OF         top
          MUST CONTAIN        { e164Digit }
          ID                  { id-vpim-oc-e164node} }

     The BNF definition for use with LDAP is:

          (2.16.840.1.113694.1.2.1.2.1 NAME 'e164Node'
           SUP top
           STRUCTURAL
           MUST e164Digit)

4.2  vPIMUser Auxiliary Object Class

     An auxiliary object class is used to group related
     attributes which can be applied to several types of
     entries.  The vPIMUser attribute type defines
     attributes that may be useful in providing a VPIM
     directory service.  All entries having an object class
     of vPIMUser may contain any of the attributes
     vPIMrfc822Mailbox, commonName, vPIMSpokenName,
     vPIMSpokenName1, vPIMSpokenName2, vPIMSpokenName3,
     vPIMSpokenName4, vPIMSupportedEncodingTypes, and
     vPIMMaxMessageSize.

     This definition will be expanded in the future to other
     multimedia attributes.  If subtyping were used,
     rfc822Mailbox would also be specified as an optional
     attribute.

     The ASN.1 definition for X.500 implementations is:

     vPIMUser                 OBJECT-CLASS ::= {
          KIND                auxiliary
          SUBCLASS OF         top
          MAY CONTAIN         { vPIMrfc822Mailbox,
                                commonName, vPIMSpokenName,
                               vPIMSpokenName1, vPIMSpokenName2,
                               vPIMSpokenName3, vPIMSpokenName4,
                                vPIMSupportedEncodingTypes,
                                vPIMMaxMessageSize }
          ID                  { id-vpim-oc-vPIMUser } }

     The BNF definition for use with LDAP is:

          (2.16.840.1.113694.1.2.1.2.2 NAME 'vPIMUser'
           SUP top
           AUXILIARY
           MAY ( vPIMrfc822Mailbox $
                cn $
                vPIMSpokenName $
                vPIMSpokenName1 $
                vPIMSpokenName2 $
                vPIMSpokenName3 $
                vPIMSpokenName4 $
                vPIMSupportedEncodingTypes $
                vPIMMaxMessageSize ))

5.   DIT Content Rules

     Directory Information Tree (DIT) Content rules over-
     ride all other rules for specifying which attributes
     may appear in an entry.  The e164NodeRule DIT content
     rule specifies that the e164Node structural object
     class and the vPIMUser auxiliary object class are to be
     used to define entries to which this content rule
     applies.

     The ASN.1 definition for X.500 implementations is:

     e164NodeRule CONTENT-RULE ::= {
          STRUCTURAL OBJECT-CLASS  e164Node
          AUXILIARY OBJECT-CLASSES vPIMUser }

6.   Name Forms

     Name forms control how entries are named in the
     directory tree.  They are referenced in the DIT
     structure rules which are used to define which classes
     of object may be subordinate to other classes of object
     in the directory.  Object classes of the
     e164DigitNameForm name form are named using the
     e164Digit attribute type.

     e164DigitNameForm   NAME-FORM ::= {
          NAMES                         e164Node
          WITH ATTRIBUTES               { e164Digit }
          ID             id-vpim-nf-e164Digitnameform }

7.   DIT Structure Rules

     The VPIM directory is structured according to Figure 1.

     Structure rule 1 defines entries, that are named
     according to countryNameForm (i.e., named with
     attribute countryName), to be immediately subordinate
     to the root of the DIT. Similarly, structure rule 2
     defines organizations as also under root.

     sr1 STRUCTURE-RULE ::= {
     NAME FORM countryNameForm, - - X.521
     ID                  1 }

     sr2 STRUCTURE-RULE ::= {
     NAME FORM      orgNameForm, - - X.521
     ID                  2 }

Structure rule 3 specifies that organization entries can be
located under country entries.

     sr3 STRUCTURE-RULE ::= {
     NAME FORM      orgNameForm,
     SUPERIOR RULES { sr1 },
     ID             3 }
                                      root
                                       /\
                                     2/  \1
                                     /    \
                                    / countryName
                                   /     /
                                  /     /3
                                 /     /
                         organziationName
                                 \
                                  \4
                                   \
                                  e164Digit
                                 /    |
                                5\    /
                                   --

                Figure 1: DIT Structure Rules

     Structure rule 4 specifies e164Digit entries placed
     under organizational entries.

     sr4 STRUCTURE-RULE ::= {
     NAME FORM      e164DigitNameform,
     SUPERIOR RULES { sr2 | sr3 },
     ID                  4 }

     Structure rule 5 defines e164Digit entries subordinate
     to e164Digit entries.

     sr5 STRUCTURE-RULE ::= {
     NAME FORM      e164DigitNameform,
     SUPERIOR RULES { sr4 },
     ID                  5 }

8.   Summary of ASN.1 and BNF Definitions

8.1  ASN.1 Definitions

     -- attributes

     e164Digit ATTRIBUTE ::= {
          WITH SYNTAX         NumericString (SIZE(ub-vpim-at-e164Digit))
          EQUALITY MATCHING RULE   numericStringMatch
          ID   id-vpim-at-e164Digit}

     vPIMrfc822Mailbox ATTRIBUTE ::= {
          WITH SYNTAX    caseIgnoreIA5StringSyntax
               (SIZE (1 .. ub-rfc822-mailbox)) -- from RFC 1274
          ID id-vpim-at-vPIMrfc822Mailbox }

     vPIMSpokenName ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName }

     vPIMSpokenName1 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName1 }

     vPIMSpokenName2 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName2 }

     vPIMSpokenName3 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName3 }

     vPIMSpokenName4 ATTRIBUTE ::= {
          WITH SYNTAX              OCTET STRING
                              (SIZE (1..ub-vpim-at-vPIMSpokenName)
          EQUALITY MATCHING RULE   octetStringMatch
          ID                  id-vpim-at-vPIMSpokenName4 }

     vPIMSupportedEncodingTypes ATTRIBUTE ::= {
          WITH SYNTAX              DirectoryString
          EQUALITY MATCHING RULE   caseIgnoreMatch
          ID             id-vpim-at-vPIMSupportedEncodingTypes }

     vPIMMaxMessageSize ATTRIBUTE ::= {
          WITH SYNTAX              NumericString
          EQUALITY MATCHING RULE   numericStringMatch
          ID                  id-vpim-at-vPIMMaxMessageSize }

     -- object classes

     e164Node  OBJECT-CLASS ::= {
          SUBCLASS OF         top
          MUST CONTAIN        { e164Digit }
          ID                  { id-vpim-oc-e164node} }

     vPIMUser                 OBJECT-CLASS ::= {
          KIND                auxiliary
          SUBCLASS OF         top
          MAY CONTAIN         { vPIMrfc822Mailbox,
                                commonName, vPIMSpokenName,
                               vPIMSpokenName1, vPIMSpokenName2,
                               vPIMSpokenName3, vPIMSpokenName4,
                                vPIMSupportedEncodingTypes,
                                vPIMMaxMessageSize }
          ID                  { id-vpim-oc-vPIMUser } }

     -- DIT content rules

     e164NodeRule        CONTENT-RULE ::= {
          STRUCTURAL OBJECT-CLASS  e164Node
          AUXILIARY OBJECT-CLASSES vPIMUser }

     -- Name Forms

     e164DigitNameForm   NAME-FORM ::= {
          NAMES                         e164Node
          WITH ATTRIBUTES               { e164Digit }
          ID             id-vpim-nf-e164Digitnameform }

     -- structure rules

     sr1 STRUCTURE-RULE ::= {
     NAME FORM countryNameForm, - - X.521
     ID                  1 }

     sr2 STRUCTURE-RULE ::= {
     NAME FORM      orgNameForm, - - X.521
     ID                  2 }

     sr3 STRUCTURE-RULE ::= {
     NAME FORM      orgNameForm,
     SUPERIOR RULES { sr1 },
     ID                  3 }

     sr4 STRUCTURE-RULE ::= {
     NAME FORM      e164DigitNameform,
     SUPERIOR RULES { sr2 | sr3 },
     ID                  4 }

     sr5 STRUCTURE-RULE ::= {
     NAME FORM      e164DigitNameform,
     SUPERIOR RULES { sr4 },
     ID                  5 }

     -- upper bounds

     ub-vpim-at-e164Digit                    INTEGER ::= 1
     ub-vpim-at-vPIMSpokenName               INTEGER ::= 4,000

     -- object identifiers

     id-vpim        OBJECT IDENTIFIER ::= {2.16.840.1.113694.1.2.1}

     id-vpim-at     OBJECT IDENTIFIER ::= {id-vpim 1}
     id-vpim-at-e164Digit OBJECT IDENTIFIER ::= {id-vpim-at 1}
     id-vpim-at-vPIMrfc822Mailbox OBJECT IDENTIFIER ::= {id-vpim-at 2}
     id-vpim-at-vPIMSpokenName OBJECT IDENTIFIER ::= {id-vpim-at 3}
     id-vpim-at-vPIMSpokenName1 OBJECT IDENTIFIER ::= {id-vpim-at 3.1}
     id-vpim-at-vPIMSpokenName2 OBJECT IDENTIFIER ::= {id-vpim-at 3.2}
     id-vpim-at-vPIMSpokenName3 OBJECT IDENTIFIER ::= {id-vpim-at 3.3}
     id-vpim-at-vPIMSpokenName4 OBJECT IDENTIFIER ::= {id-vpim-at 3.4}
     id-vpim-at-vPIMSupportedEncodingTypes
          OBJECT IDENTIFIER ::= {id-vpim-at 4}
     id-vpim-at-vPIMMaxMessageSize OBJECT IDENTIFIER ::= {id-vpim-at 5}

     id-vpim-oc          OBJECT IDENTIFIER ::= {id-vpim 2}
     id-vpim-oc-vMNode   OBJECT IDENTIFIER ::= {id-vpim-oc 1}
     id-vpim-oc-vMUser   OBJECT IDENTIFIER ::= {id-vpim-oc 2}

     id-vpim-nf          OBJECT IDENTIFIER ::= {id-vpim 3}
     id-vpim-nf-e164Digitnameform OBJECT IDENTIFIER ::= { id-vpim-nf 1}

8.2  BNF Definitions

8.2.1.1.1.1.1.1.11  Attributes

          (2.16.840.1.113694.1.2.1.1.1 NAME 'e164Digit'
           EQUALITY      2.5.13.8
           SYNTAX   '1.3.6.1.4.1.1466.115.121.1.36 {1}')

          (2.16.840.1.113694.1.2.1.1.2 NAME 'vPIMrfc822Mailbox'
           EQUALITY 1.3.6.1.4.1.1466.109.114.2
           SYNTAX   '1.3.6.1.4.1.1466.115.121.1.26 {256}')

          (2.16.840.1.113694.1.2.1.1.3 NAME 'vPIMSpokenName'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')
          (2.16.840.1.113694.1.2.1.1.3.1 NAME 'vPIMSpokenName1'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

          (2.16.840.1.113694.1.2.1.1.3.2 NAME 'vPIMSpokenName2'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

          (2.16.840.1.113694.1.2.1.1.3.3 NAME 'vPIMSpokenName3'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

          (2.16.840.1.113694.1.2.1.1.3.4 NAME 'vPIMSpokenName4'
           EQUAILTY 2.5.13.17
           SYNTAX '1.3.6.1.4.1.1466.115.121.1.40 {4000}')

         (2.16.840.1.113694.1.2.1.1.4 NAME
               'vPIMSupportedEncodingTypes'
           EQUALITY      2.5.13.2
           SYNTAX   '1.3.6.1.4.1.1466.115.121.1.15')

         (2.16.840.1.113694.1.2.1.1.5 NAME 'vPIMMaxMessageSize'
           EQUALITY      2.5.13.8
           SYNTAX   '1.3.6.1.4.1.1466.115.121.1.36')


8.2.1     Object Classes

          (2.16.840.1.113694.1.2.1.2.1 NAME 'e164Node'
           SUP top
           STRUCTURAL
           MUST e164Digit)

          (2.16.840.1.113694.1.2.1.2.2 NAME 'vPIMUser'
           SUP top
           AUXILIARY
           MAY ( vPIMrfc822Mailbox $
                cn $
                vPIMSpokenName $
                vPIMSpokenName1 $
                vPIMSpokenName2 $
                vPIMSpokenName3 $
                vPIMSpokenName4 $
                vPIMSupportedEncodingTypes $
                vPIMMaxMessageSize ))


8.3  Tabular Summary of Schema Elements


     Attribute                     OID             Abbrev    Length
     --------                      ---             ------    ------
     e164Digit                     id-vpim-at 1              1
     vPIMrfc822Mailbox             id-vpim-at 2              256
     commonName (X.520)            5.4.3           cn        64
     vPIMSpokenName                id-vpim-at 3              4,000
     vPIMSpokenName1               id-vpim-at 3.1            4,000
     vPIMSpokenName2               id-vpim-at 3.2            4,000
     vPIMSpokenName3               id-vpim-at 3.3            4,000
     vPIMSpokenName4               id-vpim-at 3.4            4,000
     vPIMSupportedEncodingTypes    id-vpim-at 4
     vPIMMaxMessageSize            id-vpim-at 5


     Object    OID            Kind         Attributes
     Class
     ------    ---            ----         ----------
     e164Node  id-vpim-oc 1   structural   Mandatory:
                                              e164Digit
     vPIMUser  id-vpim-oc 2   auxiliary    Optional:
                                              vPIMrfc822Mailbox
                                              commonName
                                              vPIMSpokenName
                                              vPIMSpokenName1
                                              vPIMSpokenName2
                                              vPIMSpokenName3
                                              vPIMSpokenName4
                                              vPIMSupported
                                                  EncodingTypes
                                              vPIMMaxMessageSize


     DIT Content Rule    Contains Object Classes
     ----------------    ------------------------
                         Structural       Mandatory
                         ----------       ---------
     e164Node            e164NOde         vPIMUser


     Name Form           OID           Applies to    Named
                                       Object Class  by
     ---------           ---           ------------  ------
     e164DigitNameForm   id-vpim-nf 1  e164Node      e164Digit


     DIT
     Structure
     Rule      Naming Attrib       Superior rules Superior Attribs
     --------- ----------------    -------------- ----------------
     sr1       countryName
     sr2       organizationName
     sr3       organizationName    sr1            countryName
     sr4       e164Digit           sr2, sr3       organizationName
     sr5       e164Digit           sr4            e164Digit


9.   Security considerations:

     For the VPIM pilot directory service, access control
     should be such that anonymous reads are allowed for all
     VPIM attributes.

     The VPIM directory was designed for single X.500 read
     operations (base object searches in LDAP). Multiple
     mulilevel searches may degrade performance and should
     be discouraged.  To prohibit access to entries without
     explicitly providing the name of an entry, denyBrowse
     should enforced for anonymous users.

10.  Acknowledgements

     Thanks to Mark Wahl for his valuable comments.

11.  Additional information:

     Person & email address to contact for further
     information:
          Anne R. Brown
          arbrown@nortel.ca
     Intended usage: COMMON
     Author/Change controller: Anne R. Brown

11.1 Author's Address

     Anne R. Brown
     Nortel Technology
     P.O. Box 3511, Station C
     Ottawa, ON  K1Y 4H7
     Canada
     Phone: +1-613-765-5274
     Fax: +1-613-763-2697
     arbrown@nortel.ca

  6. References

     [ATTRIBS04] M. Wahl, A. Coulbeck, T. Howes, S. Kille, W. Yeong, C.
          Robbins, "Lightweight X.500 Directory Access
          Protocol Attribute Syntax Definitions", INTERNET-
          DRAFT <draft-ietf-asid-ldapv3-attributes-04.txt>,
          March 1997.

     [VPIM2] Greg Vaudreuil and Glenn Parsons, "Voice Profile for
          Internet Mail - version 2", Work in Progress, May
          1997.


<draft-ema-vpimdir-schema-00.txt> Expires: May 24, 1997