The procedure that is described in this article uses the multiple-valued parsing functionality of the otherMailbox field. When you import the
Primary-Proxy-Addresses attribute into a multiple-valued field (for example, the otherMailbox field), you can search the attribute using the
MULTI_VALUED function, and then update Exchange Server with any changes.
To change the default format of the
Primary Proxy-Addresses attribute:
- Click the Design MA action.
- Click the Control Metadirectory tab.
- Click the Parsing Templates tab.
- Edit both the Add tab and the Modify tab to make the following changes:
%- Proxy-Addresses:$cd.otherMailbox
#- Proxy-Addresses:$v_proxyAddress0
#- Proxy-Addresses:$v_proxyAddress1
#- Proxy-Addresses:$v_proxyAddress2
#- Proxy-Addresses:$v_proxyAddress3
#- Proxy-Addresses:$v_proxyAddress4
#- Proxy-Addresses:$v_proxyAddress5
#- Proxy-Addresses:$v_proxyAddress6
#- Proxy-Addresses:$v_proxyAddress7
NOTE: The eight existing variable lines have been replaced by a single line that designates multiple occurrences. Select the otherMailbox field as the destination because this field is a multiple-valued field. The first symbol is a percent sign (%), which indicates that this line can occur multiple times.
After you import the attributes into the otherMailbox field, you can manipulate the values to change the addresses for the person object. For more information, refer to the MMS documentation for an explanation of multiple-valued attribute operators.
In Advanced Attribute Flow, make the changes that are required to the existing addresses, and then direct the updated field back to the connected folder.
As an example of the basic logic, you can configure your Advanced Attribute Flow to be similar to the following example:
$mv.otherMailbox=$cd.otherMailbox
IF $mv.givenName=Blacktip
THEN
$mv.otherMailbox-=SMTP:BlacktipS@Harbor.Saltwater.com
$mv.otherMailbox+=SMTP:BlacktipShark@Harbor.Saltwater.com
ENDIF
$cd.otherMailbox=$mv.otherMailbox
In this example, you remove and add a Simple Mail Transfer Protocol (SMTP) address. The
othermailbox attribute only allows one SMTP value. If you have multiple SMTP values that are flowing out to Exchange Server in the
Proxy-Addresses attribute, you receive an error message.
NOTE: Uniqueness is not enforced in the otherMailbox field. To confirm that the SMTP address is unique, write the value to the mail attribute in the metaverse. If the SMTP address is not unique, you receive an error message.
After you make the required changes, edit the output templates to allow the value to flow out as a multiple-valued attribute. To edit the Add and the Modify template:
- Click the Design MA action.
- Click the Control Connected Directory tab.
- Click the Output Templates tab.
- Click the Add tab and the Modify tab, and then add the following line code to each template:
($MULTI_VALUED("0",$cd.otherMailbox,"- Proxy-Addresses 1:"))
#(- Proxy-Addresses:$dummy)
NOTE: You must type 1 after "Proxy-Addresses" because MAPI requires an index number for updates even if the same number is used for all values and records.
You may want to use this procedure to import and to work with the
Secondary-Proxy-Addresses attribute. Before you do so, consider the following issues:
- The field order in the Metaverse Add Parsing template must match the field order that is defined in the Configure MA action, the Connected Directory Specifics tab, the Attributes to Discover tab, and the Exchange Server mailbox attributes that are to be discovered.
- When you use the MULTI_VALUED function to search for values, be aware that this function is not case-sensitive; "SMTP" and "smtp" are evaluated the same way. To work around this issue, place the Secondary-Proxy-Addresses attribute in a separate MULTI_VALUED field.