2.6 Uncompressed OAB Version 2 and OAB Version 3 Details File

 The Details file<6> contains all other properties for Address Book objects in OAB version 2 and OAB version 3. The server does not index the Details file. The client can choose not to download the Details file in order to save space and bandwidth since there is no information in there that the client requires for basic e-mail addressing.

The Details file contains variable size records that store a fixed set of properties for each Address Book object. Each record can be up to 65536 bytes long and all properties that the server stores for a single Address Book object have to fit into that record. The server does not index the data and there are no links from this file to any of the other files, but the Browse file does have links to this file.

The following ABNF definition shows the format of an uncompressed OAB version 2 and OAB version 3 Details file.

  
 v2-details-file       =         OAB_HDR 1*details-record
 details-record        =         user-certificate business-telephone
                                 given-name initials street-address
                                 city-locality state-province postal-code
                                 country-region title company-name 
                                 assistant-name
                                 department-name null home-telephone
                                 business2-telephone home2-telephone
                                 primary-fax mobile-telephone 
                                 assistant-telephone pager-telephone
                                 comment proxy-addresses smime-certs
                                 x509-certs
 v3-details-file       =         OAB_HDR 1*v3-details-record
 v3-details-record     =         user-certificate business-telephone
                                 given-name initials street-address
                                 city-locality state-province postal-code
                                 country-region title company-name 
                                 assistant-name
                                 department-name target-address
                                 home-telephone
                                 business2-telephone-mv home2-telephone-mv
                                 primary-fax mobile-telephone 
                                 assistant-telephone pager-telephone
                                 comment proxy-addresses smime-certs
                                 x509-certs home-mdb manager
                                 display-name-printable
  
 user-certificate       =       binary-value
 business-telephone     =       string-value
 given-name             =       string-value
 initials               =       string-value
 street-address         =       string-value
 city-locality          =       string-value
 state-province         =       string-value
 postal-code            =       string-value
 country-region         =       string-value
 title                  =       string-value
 company-name           =       string-value
 assistant-name         =       string-value
 department-name        =       string-value
 home-telephone         =       string-value
 business2-telephone    =       string-value
 home2-telephone        =       string-value
 business2-telephone-mv =       multivalued-string
 home2-telephone-mv     =       multivalued-string
 primary-fax            =       string-value
 mobile-telephone       =       string-value
 assistant-telephone    =       string-value
 pager-telephone        =       string-value
 comment                =       string-value
 proxy-addresses        =       multivalued-string
 smime-certs            =       multivalued-binary
 x509-certs             =       multivalued-binary
 target-address         =       string-value
 home-mdb               =       x500-dn
 manager                =       x500-dn
 display-name-printable =       teletex-string
 string-value           =       *(ansi-char) null / null
 ansi-char              =       %x01-%xFF
                                ; 8 bits of data
 teletex-string         =       *(teletex-char) null / null
                                ; The teletex-char element is defined 
                                ; in the ABNF definition of section 2.1.
 null                   =       %x00
                                ; 8 bits of data
 multivalued-string     =       count 0*255(string-value) / null
 count                  =       %x00-%xFF
                                ; 8 bits of data
 binary-value           =       byte-count 0*65535(OCTET) / null
 byte-count             =       %x0000-%xFFFF
                                ; 16 bits of data
 multivalued-binary     =       count 0*255(binary-value) / null

Each Details record MUST fit into 65535 bytes. If a value is not present, a null byte MUST be encoded. All strings MUST be null-terminated strings. Multivalued-binary or multivalued-string encodings with one or more values MUST NOT have any zero length elements.

The details elements for OAB version 2 details files map directly to the following property tag table. For details about the following properties, see [MS-OXOABK].

Property tag name

Property tag

Property type

Description

PidTagUserCertificate ([MS-OXOABK] section 2.2.4.34)

0x3A220102

PtypBinary ([MS-OXCDATA] section 2.11.1)

The user-certificate property contains an ASN.1 authentication certificate for a messaging user. This property is deprecated and SHOULD NOT be set.

PidTagBusinessTelephoneNumber ([MS-OXOABK] section 2.2.4.21)

0x3A08001F

PtypString* ([MS-OXCDATA] section 2.11.1)

The business-telephone property contains the primary telephone number of the place of business of the Address Book object.

PidTagGivenName ([MS-OXOABK] section 2.2.4.2)

0x3A06001F

PtypString*

The given-name property contains the given name of the Address Book object.

PidTagInitials ([MS-OXOABK] section 2.2.4.3)

0x3A0A001F

PtypString*

The initials property contains the initials for parts of the full name of the Address Book object.

PidTagStreetAddress ([MS-OXOABK] section 2.2.4.14)

0x3A29001F

PtypString*

The street-address property contains the street address of the Address Book object.

PidTagLocality ([MS-OXOABK] section 2.2.4.16)

0x3A27001F

PtypString*

The city-locality property contains the name of the locality of the Address Book object, such as the town or city.

PidTagStateOrProvince ([MS-OXOABK] section 2.2.4.17)

0x3A28001F

PtypString*

The state-province property contains the name of the state or province where the Address Book object is located.

PidTagPostalCode ([MS-OXOABK] section 2.2.4.18)

0x3A2A001F

PtypString*

The postal-code property contains the postal code of the Address Book object.

PidTagCountry ([MS-OXOABK] section 2.2.4.19)

0x3A26001F

PtypString*

The country-region property contains the name of the country or region where the Address Book object is located.

PidTagTitle ([MS-OXOABK] section 2.2.4.4)

0x3A17001F

PtypString*

The title property contains the job title of the Address Book object.

PidTagCompanyName ([MS-OXOABK] section 2.2.4.7)

0x3A16001F

PtypString*

The company-name property contains the name of the company that employs the Address Book object.

PidTagAssistant ([MS-OXOABK] section 2.2.4.8)

0x3A30001F

PtypString*

The assistant-name property contains the name of the administrative assistant for the Address Book object.

PidTagDepartmentName ([MS-OXOABK] section 2.2.4.6)

0x3A18001F

PtypString*

The department-name property contains the department name in which the Address Book object works.

null

0x3A08001F

PtypString*

Duplicate PidTagBusinessTelephoneNumber property. The client MUST ignore this value.

PidTagHomeTelephoneNumber ([MS-OXOABK] section 2.2.4.22)

0x3A09001F

PtypString*

The home-telephone property contains the primary home telephone number for the Address Book object.

PidTagBusiness2TelephoneNumber ([MS-OXOABK] section 2.2.4.23)

0x3A1B001F

PtypString*

The business2-telephone-mv property contains a secondary business telephone number for the Address Book object.

MUST be set to null in an OAB Version 2 Details file.

PidTagHome2TelephoneNumber ([MS-OXOABK] section 2.2.4.25)

0x3A2F001F

PtypString*

The home2-telephone-mv property contains a secondary home telephone number for the Address Book object.

MUST be set to null in an OAB Version 2 Details file.

PidTagPrimaryFaxNumber ([MS-OXOABK] section 2.2.4.29)

0x3A23001F

PtypString*

The primary-fax property contains the telephone number for the fax machine of the Address Book object.

PidTagMobileTelephoneNumber ([MS-OXOABK] section 2.2.4.27)

0x3A1C001F

PtypString*

The mobile-telephone property contains the mobile telephone number of the Address Book object.

PidTagAssistantTelephoneNumber ([MS-OXOABK] section 2.2.4.31)

0x3A2E001F

PtypString*

The assistant-telephone property contains the telephone number for the administrative assistant of the Address Book object.

PidTagPagerTelephoneNumber ([MS-OXOABK] section 2.2.4.28)

0x3A21001F

PtypString*

The pager-telephone property contains the pager telephone number of the Address Book object.

PidTagComment ([MS-OXOABK] section 2.2.3.31)

0x3004001F

PtypString*

The comment property contains a description of the purpose or content of an object.

PidTagAddressBookProxyAddresses ([MS-OXOABK] section 2.2.3.23)

0x800F101F

PtypMultipleString* ([MS-OXCDATA] section 2.11.1)

The proxy-addresses property contains a list of e-mail addresses that this Address Book object is known by.

Each value MUST begin with an e-mail address type followed by a colon character then followed by the address value.

PidTagUserX509Certificate ([MS-OXOABK] section 2.2.4.36)

0x3A701102

PtypMultipleBinary ([MS-OXCDATA] section 2.11.1)

The smime-certs property contains SMIME certificates that the server formats as PKCS-7 encodings. For more details, see [RFC2315].

PidTagAddressBookX509Certificate ([MS-OXOABK] section 2.2.4.35)

0x8C6A1102

PtypMultipleBinary

The X509-certs property contains X.509 certificates encoded by using ASN.1 ([ITU-X.690-2008]). For more details, see [RFC3280].

*The server encodes this property as an ANSI character set string, but the client can interpret it as an ANSI character set or Unicode string.

The details elements for OAB version 3 details files map directly to the following property tag table.

Property tag name

Property tag

Property type

Description

PidTagUserCertificate

0x3A220102

PtypBinary

The user-certificate property contains an ASN.1 authentication certificate for a messaging user. This property is deprecated and SHOULD be set to a null entry.

PidTagBusinessTelephoneNumber

0x3A08001F

PtypString

The business-telephone property contains the primary telephone number of the place of business of the Address Book object.

PidTagGivenName

0x3A06001F

PtypString

The given-name property contains the given name of the Address Book object.

PidTagInitials

0x3A0A001F

PtypString

The initials property contains the initials for parts of the full name of the Address Book object.

PidTagStreetAddress

0x3A29001F

PtypString

The street-address property contains the street address of the Address Book object.

PidTagLocality

0x3A27001F

PtypString

The city-locality property contains the name of the locality of the Address Book object, such as the town or city.

PidTagStateOrProvince

0x3A28001F

PtypString

The state-province property contains the name of the state or province where the Address Book object is located.

PidTagPostalCode

0x3A2A001F

PtypString

The postal-code property contains the postal code of the Address Book object.

PidTagCountry

0x3A26001F

PtypString

The country-region property contains the name of the country or region where the Address Book object is located.

PidTagTitle

0x3A17001F

PtypString

The title property contains the job title of the Address Book object.

PidTagCompanyName

0x3A16001F

PtypString

The company-name property contains the name of the company that employs the Address Book object.

PidTagAssistant

0x3A30001F

PtypString

The assistant-name property contains the name of the administrative assistant for the Address Book object.

PidTagDepartmentName

0x3A18001F

PtypString

The department-name property contains the department name in which the Address Book object works.

PidTagAddressBookTargetAddress ([MS-OXOABK] section 2.2.3.22)

0x8011001F

PtypString

The target-address property contains the destination address for this object.

PidTagHomeTelephoneNumber

0x3A09001F

PtypString

The home-telephone property contains the primary home telephone number for the Address Book object.

PidTagBusiness2TelephoneNumbers

0x3A1B101F

PtypMultipleString

The business2-telephone property contains secondary business telephone numbers for the Address Book object.

PidTagHome2TelephoneNumbers

0x3A2F101F

PtypMultipleString

The home2-telephone property contains secondary home telephone numbers for the Address Book object.

PidTagPrimaryFaxNumber

0x3A23001F

PtypString

The primary-fax property contains the telephone number for the fax machine of the Address Book object.

PidTagMobileTelephoneNumber

0x3A1C001F

PtypString

The mobile-telephone property contains the mobile telephone number of the Address Book object.

PidTagAssistantTelephoneNumber

0x3A2E001F

PtypString

The assistant-telephone property contains the telephone number for the administrative assistant of the Address Book object.

PidTagPagerTelephoneNumber

0x3A21001F

PtypString

The pager-telephone property contains the pager telephone number of the Address Book object.

PidTagComment

0x3004001F

PtypString

The comment property contains a description of the purpose or content of an object.

PidTagAddressBookProxyAddresses

0x800F101F

PtypMultipleString

The proxy-addresses property contains a list of e-mail addresses that this Address Book object is known by.

Each value MUST begin with an e-mail address type followed by a colon character then followed by the address value.

PidTagUserX509Certificate

0x3A701102

PtypMultipleBinary

The smime-certs property contains SMIME certificates formatted as PKCS-7 encodings. For more details, see [RFC2315].

PidTagAddressBookX509Certificate

0x8C6A1102

PtypMultipleBinary

The X509-certs property contains X.509 certificates encoded by using ASN.1 ([ITU-X.690-2008]). For more details, see [RFC3280].

PidTagAddressBookHomeMessageDatabase ([MS-OXOABK] section 2.2.4.37)

0x8006001F

PtypString

The home-mdb property contains the DN (3) of the message store for this mailbox. This property value is not subject to truncation.

PidTagAddressBookManager ([MS-OXOABK] section 2.2.5.1)

0x8005000D

PtypObject ([MS-OXCDATA] section 2.11.1)

The manager property contains the DN (3) of the manager of the recipient. The user object for the manager contains a directReports property, as specified by [MS-OXLDAP] section 2.2.2.2, that contains references to all user objects that have their manager property set to this DN (3).

PidTagAddressBookDisplayNamePrintable ([MS-OXOABK] section 2.2.3.7)

0x39FF001F

PtypString

The display-name-printable property contains the printable string version of the display name. MUST contain Teletex characters only, as specified by the teletex-char rule in section 2.1.