Guest

Cisco Unity

Understanding How Exchange 2000 Storage Limits Work with Cisco Unity (Versions 4.0, 3.1, and 3.0 with Microsoft Exchange)

  • Viewing Options

  • PDF (197.0 KB)
  • Feedback
White Paper: Understanding How Exchange 2000 Storage Limits Work with Cisco Unity (Versions 4.0, 3.1, and 3.0 with Microsoft Exchange)

Table Of Contents

White Paper: Understanding How Exchange 2000 Storage Limits Work with Cisco Unity (Versions 4.0, 3.1, and 3.0 with Microsoft Exchange)

Introduction

Scope

How Limits Are Applied in Exchange

How Cisco Unity Learns of Exchange Storage Limits

Mailbox Store Limits

Specific Mailbox Limits

How Cisco Unity Enforces Exchange Storage Limits

Subscriber Sign-In

Full-Mailbox Check Feature


White Paper: Understanding How Exchange 2000 Storage Limits Work with Cisco Unity (Versions 4.0, 3.1, and 3.0 with Microsoft Exchange)


Published October 10, 2002

Introduction

Planning and implementing storage limits is a critical step in any implementation of Microsoft Exchange 2000 Server. Limits that are placed on the mailbox store or on individual mailboxes will affect how Cisco Unity functions, as Cisco Unity must obey all storage limits imposed by an Exchange 2000 server. There is no way for Cisco Unity to programmatically override storage limits.

The Microsoft Support website provides information on how to plan and implement storage limits for Exchange 2000. Refer to the Microsoft Knowledge Base article Q319583 for more information.

Scope

This document is designed to help the reader understand how Cisco Unity discovers the storage limits in Exchange 2000 and the actions that Cisco Unity takes to enforce limits.

How Limits Are Applied in Exchange

Within Exchange 2000, administrators can implement storage limits for a mailbox store or, more granularly, for a specific mailbox.

When an Exchange 2000 administrator implements limits on a mailbox store, Exchange 2000 writes those limits to the Configuration Domain Controller. The Configuration Domain Controller is a domain controller (DC) specified by Exchange 2000 for all reads and writes. Designating a single DC as the Configuration Domain Controller prevents latency in configuration changes between Exchange 2000 servers since all Exchange 2000 servers are typically set to use the same Configuration Domain Controller.

After writing to the Configuration Domain Controller, Active Directory (AD) replicates the data to Global Catalog server (GC). The time is takes for replication will depend on the AD topology and replication schedule.

When an Exchange 2000 administrator implements limits on a specific mailbox, those changes are written to the DC with which the instance of the "Active Directory Users and Computers" snap-in is associated.

Every time data is written to a DC, AD increments the Update Sequence Number (USN). The USN value of the last change to the object is stored in the uSNChanged property, which is present on all objects in the directory. It is important to note that the USN value for an object on one DC does not dictate the USN number for the same object on a different DC; the USN value for an object is unique to each DC.

How Cisco Unity Learns of Exchange Storage Limits

Mailbox Store Limits

In an Exchange 2000 integration, Cisco Unity discovers the mailbox store limits by monitoring the GC. Cisco Unity monitors the GC through the AvDSGlobalCatalog service.

Mailbox store limits are discovered through monitoring the object(s) in the GC of the ms-Exch-Private-MDB class. Each mailbox store in the forest is represented in the GC by an object of the ms-Exch-Private-MDB class. Within the Exch-Private-MDB class, Cisco Unity is interested in the following attributes for storage limit discovery:

Table 1 Mailbox Store Attributes

Attribute Name
Definition

mDBOverHardQuotaLimit

Prohibit send and receive at (KB)

mDBOverQuotaLimit

Prohibit send at (KB)

mDBStorageQuota

Issue warning at (KB)


The objects and attributes can be viewed by binding to the GC Configuration Container with ADSIEdit. Refer to the Microsoft Knowledge Base article Q252370 on the Microsoft Support website for information about the layout of the Exchange 2000 Server configuration within AD.


Note Cisco Unity monitors only a single GC for changes. When troubleshooting the limits that are set at the mailbox store level, Cisco recommends that you bind to the GC that Cisco Unity monitors. To determine the GC that Cisco Unity is monitoring, open Regedit and browse to: HKLM\SOFTWARE\Active Voice\Directory Connectors\DirSynchGlobalCatalog\1.00\Directory\DefaultGlobalCatalogServer.


When a change is made to one of the attributes in the GC, the USN will be incremented. Every 15 minutes the AvDSGlobalCatalog service polls the GC to see if the USN value has incremented. If the AvDSGlobalCatalog service learns of the higher USN value it then queries the GC looking for changes to the objects that it monitors. Relevant changes that are found are replicated to the UnityDb SQL Server database.

Each mailbox store within the organization will have a row in the MailboxStore table of the UnityDb database. The following is a mapping of the attributes on the ms-Exch-Private-MDB class used by Cisco Unity for mailbox store limits, and the columns that they are replicated to in the MailboxStore table:

Table 2 Mapping of ms-Exch-Private-MDB Attributes to the MailboxStore Table

ms-Exch-Private-MDB Attribute Name
MailboxStore Table Column Name

mDBOverHardQuotaLimit

MailboxSendReceiveLimit

mDBOverQuotaLimit

MailboxSendLimit

mDBStorageQuota

MailboxWarningLimit

uSNChanged

ObjectChangedID


Specific Mailbox Limits

In an Exchange 2000 integration, Cisco Unity discovers the specific mailbox limits by monitoring the DC. Cisco Unity monitors the DC through the AvDSAD service.

Specific mailbox limits are discovered through monitoring the subscriber AD account objects on the DC. Within a subscriber AD account, Cisco Unity is interested in the following attributes for storage limit discovery:

Table 3 Attributes Used for Storage Limit Discovery

Attribute Name
Definition

mDBOverHardQuotaLimit

Prohibit send and receive at (KB)

mDBOverQuotaLimit

Prohibit send at (KB)

mDBStorageQuota

Issue warning at (KB)

mDBUseDefaults

Use mailbox store or specific mailbox limits


The objects and attributes can be viewed by binding to the Domain NC with ADSIEdit.


Note Cisco Unity monitors only a single DC per domain for changes. When troubleshooting limits that are set at the mailbox level, Cisco recommends that you bind to the DC that Cisco Unity monitors for the subscriber domain. To determine the DC that Cisco Unity is monitoring, open Regedit and browse to: HKEY_LOCAL_MACHINE\SOFTWARE\Active Voice\Directory Connectors\DirSynchAD\1.00\Domains\<domain_name>\DefaultDomainController.


When a change is made to one of the attributes on the DC, the USN will be incremented. Every two minutes the AvDSAD service polls the DC to see if the USN value has incremented. If the AvDSAD service learns of the higher USN value it then queries the DC looking for changes to the objects that it monitors. Relevant changes that are found are replicated to the UnityDb SQL Server database.

Each subscriber associated with the specific Cisco Unity server will have a row in the Subscriber table of the UnityDb database. The following is a mapping of the attributes on the subscriber AD account used by Cisco Unity for mailbox store limits, and the columns that they are replicated to in the Subscriber table:

Table 4 Mapping of Subscriber AD Attributes to the Subscriber Table

Subscriber AD Attribute Name
Subscriber Table Column Name

mDBOverHardQuotaLimit

MailboxSendReceiveLimit

mDBOverQuotaLimit

MailboxSendLimit

mDBStorageQuota

MailboxWarningLimit

mDBUseDefaults

MailboxUseDefaultLimits

uSNChanged

ObjectChangedID


How Cisco Unity Enforces Exchange Storage Limits

Subscriber Sign-In

During subscriber sign-in, Cisco Unity logs on to the subscriber mailbox by using the MAPI protocol. During the logon sequence, Cisco Unity checks the PR_MESSAGE_SIZE property, which returns the size in bytes of the subscriber mailbox.

Cisco Unity then consults the MailboxUseDefaultLimits value in the Subscriber table for the subscriber who is logging on to see if that subscriber is using the mailbox store limits.

If the MailboxUseDefaultLimits value is set to 1, Cisco Unity consults the MailboxStore table for the subscriber mailbox store limits.

If the MailboxUseDefaultLimits value is set to 0, Cisco Unity further consults the subscriber row in the Subscriber table for the specific mailbox limits.

Based on the results of this discovery process, Cisco Unity will play one of three different messages to the subscriber, or nothing if none of the three limits has been met or exceeded.

mDBStorageQuota

If mDBStorageQuota has been exceeded, Cisco Unity will play the following message to the subscriber after completing subscriber sign-in:

"Note: Your Inbox is almost full. Please delete some messages now. Do you want to erase your deleted messages? For yes, press 1. For no, press 2."

mDBOverQuotaLimit

If mDBOverQuotaLimit has been exceeded, Cisco Unity will play the following message to the subscriber after completing subscriber sign-in:

"Note: Your Inbox is full. You cannot send new messages. Please delete some messages now. Do you want to erase your deleted messages? For yes, press 1. For no, press 2."

mDBOverHardQuotaLimit

If mDBOverHardQuotaLimit has been exceeded, Cisco Unity will play the following message to the subscriber after completing subscriber sign-in:

"Sorry. Your Inbox is full. You cannot send or receive new messages. Please delete some messages now. Do you want to erase your deleted messages? For yes, press 1. For no, press 2."

Full-Mailbox Check Feature

Beginning with Cisco Unity Release 3.1(5), the system can be enabled to check whether a subscriber mailbox is full when an outside caller attempts to leave a message for the subscriber. For information on how to enable the Full-Mailbox Check feature, refer to the Release Notes for Cisco Unity Release 3.1(5). The Release Notes for Cisco Unity Release 3.1(5) can be found on Cisco.com at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_unity/unity31/rel_note/cu315rn.htm.

By default, the Full-Mailbox Check feature is turned off, and Cisco Unity will not check whether a subscriber mailbox is full before allowing an outside caller to leave a message. Messages that are left for subscribers with full mailboxes are delivered to the Unaddressed Messages distribution list.

When the Full-Mailbox Check feature is enabled, Cisco Unity logs onto the subscriber mailbox by using the MAPI protocol, and requests the PR_MESSAGE_SIZE property, which returns the size, in bytes, of the subscriber mailbox.

Cisco Unity then consults the MailboxUseDefaultLimits value in the Subscriber table for the subscriber who is logging on to see if that subscriber is using the mailbox store limits.

If the MailboxUseDefaultLimits value is set to 1, Cisco Unity consults the MailboxStore table for the subscriber mailbox store limits.

If the MailboxUseDefaultLimits value is set to 0, Cisco Unity further consults the subscriber row in the Subscriber table for the specific mailbox limits.

If Cisco Unity determines that the mDBOverHardQuotaLimit value has not been exceeded, the outside caller is prompted to leave a message. Otherwise, the outside caller hears the following prompt:

"Sorry. You cannot record a message for <Subscriber>. This mailbox is full."

After playing the prompt, Cisco Unity transfers the caller back to the Opening Greeting and logs the following message to the Windows Application Event log:

"The mailbox for [Alias: subscriber alias] is full. The subscriber cannot send or receive new voice messages until mailbox size is reduced. Mailbox size limits are specified in the message store, not Cisco Unity."


Note Note that enabling the Full-Mailbox Check feature affects outside callers only, and does not affect how Cisco Unity handles messages to a full mailbox when the messages come from other Cisco Unity subscribers (identified subscriber messaging). When a subscriber mailbox is full, and a message comes from another subscriber, Cisco Unity sends a non-delivery receipt (NDR) to the sending subscriber. Additionally, Cisco Unity behaves as if the Full-Mailbox Check feature is disabled in the following circumstances: when an outside caller leaves a message for a call handler whose recipient is a distribution list (for example, the default recipient for the Operator call handler is the Unaddressed Messages list); and when an outside caller leaves a message for an interview handler.