Table Of Contents
How Limits Are Applied in Exchange
How Cisco Unity Learns of Exchange Storage Limits
How Cisco Unity Enforces Exchange Storage Limits
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 DefinitionmDBOverHardQuotaLimit
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:
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:
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:
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.
CCIP, CCSP, the Cisco Arrow logo, the Cisco Powered Network mark, Cisco Unity, Follow Me Browsing, FormShare, and StackWise are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn, and iQuick Study are service marks of Cisco Systems, Inc.; and Aironet, ASIST, BPX, Catalyst, CCDA, CCDP, CCIE, CCNA, CCNP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, the Cisco IOS logo, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Empowering the Internet Generation, Enterprise/Solver, EtherChannel, EtherSwitch, Fast Step, GigaStack, Internet Quotient, IOS, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, LightStream, MGX, MICA, the Networkers logo, Networking Academy, Network Registrar, Packet, PIX, Post-Routing, Pre-Routing, RateMUX, Registrar, ScriptShare, SlideCast, SMARTnet, StrataView Plus, Stratm, SwitchProbe, TeleRouter, The Fastest Way to Increase Your Internet Quotient, TransPath, and VCO are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and certain other countries.
All other trademarks mentioned in this document or Web site are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (0304R)
White Paper: Understanding How Exchange 2000 Storage Limits Work with Cisco Unity (Versions 4.0, 3.1, and 3.0 with Microsoft Exchange)
Copyright © 2003, Cisco Systems, Inc.
All rights reserved.