Tag Archives: Unified Messaging

Feature comparison: EWS vs. EWS Managed API


Are you a .Net Developer who develop custom application using Exchange Web Services (EWS) Managed API or EWS (Auto-generated proxies)? Then this is for you. The EWS Managed API provides an intuitive interface for developing client applications that use EWS. The API enables unified access to Exchange resources, while using Outlook–compatible business logic. In short, you can use the EWS Managed API to access EWS in versions of Exchange starting with Exchange Server 2007 Service Pack 1 (SP1), including Exchange Online. However, do you know that not all features that are available in EWS are implemented in the EWS Managed API?

EWS vs EWS Managed API

You can refer the above snapshot or related documentation identifies the EWS Managed API feature implementations that target different versions of Exchange. If the EWS Managed API does not implement a feature that you want to use, you might consider an auto-generated proxy object model.

Exchange Server 2010 Architecture and its feature set


You can download the following PDF file – a poster, which highlights the architecture and feature set of Microsoft Exchange Server 2010. Apart from showing the high-level architecture, it highlights the feature set of Exchange Server 2010 and sections include:

  • Management and Monitoring
  • High Availability
  • Mailbox Server Role
  • Client Access Server Role
  • Unified Messaging Server Role
  • Hub Transport Server Role
  • Edge Transport Server Role

Security warning: The name of the security certificate is invalid or does not match the name of the site


Recently i started MS Outlook 2007 and tried connecting to a mailbox that is hosted on a mailbox server that is running Microsoft Exchange Server 2010 inside the local network. I received the following security warning “The name of the security certificate is invalid or does not match the name of the site.”

During my analysis, i found that this error had happened due to the default self-signed Exchange Server 2010 certificate – it causing a name mismatch error to occur.

Also regarding this, i found the following support knowledgebase article talks about it – this scenario applies only to Outlook clients that connect to Exchange from inside the local network.In order to overcome the problem and the article provides resolution also.

Based on the above article this issue may occur if the following conditions are true:

  • You replace the default self-signed Exchange Server 2007 or Exchange Server 2010 certificate with a different certificate.
    Note The Setup program in Exchange Server 2007 or in Exchange Server 2010 creates a default self-signed certificate when Exchange Server 2007 or Exchange Server 2010 is installed.
  • The common name on the replacement certificate does not match the fully qualified domain name (FQDN) of the URL that is stored in the following objects:
    • The Service Connection Point object for the Auto discover service
    • The InternalUrl attribute of Exchange 2007 Web Service (EWS)
    • The InternalUrl attribute of the Offline Address Book Web service
    • The InternalUrl attribute of the Exchange unified messaging (UM) Web service

By default, the URL that is stored in these objects references the NetBIOS name of the server. For example, a URL that resembles the following URL is stored:

https://NetBIOS_name.contoso.com/autodiscover/autodiscover.xml

This may differ from the host name that is used in the FQDN of the replacement certificate. For example, the replacement certificate may have an FQDN that resembles the following FQDN: mail.contoso.com

This issue causes a name mismatch error to occur. Therefore, you receive the security warning message when you try to connect Outlook 2007 to the mailbox

Update : What’s New in Exchange 2010 Web Services


Exchange 2010 introduces the following important changes that might affect your Web services–based applications:

  • Several new features have been added to Exchange Web Services (EWS), including operations related to the following: user configuration, mail tips, message tracking, calendar and contact sharing, room availability, time zones, service configuration, and Unified Messaging.
  • A new SOAP-based Autodiscover service has been introduced as an alternative to using the “plain old XML” (POX) Autodiscover service.
  • Exchange Web Services (EWS) has been updated to include Unified Messaging functionality. You no longer have to use the separate Unified Messaging Web service (nor do we [MS]recommend this).

New Features : Exchange 2010 & Unified Messaging


You can consider this as part of previous post which talks about Outlook & voice mail. In this post, i just want to concentrate with respect to Exchange 2010 and its unified messaging features introduced. Exchange Server 2010 offers unprecedented flexibility over traditional voice mail systems that improve daily productivity by consolidating e-mail and voice mail onto one inbox. Unified Messaging also gives users unique and powerful new ways of accessing their information with a telephone, computer, or mobile device. It provides:

  • Triage voice mail immediately upon arrival via the Voice Mail Preview speech-to-text capabilities to act upon voice mail quickly and efficiently without a telephone or computer speaker.

  • Manage your voice mail and e-mail systems from a single platform. Enable end users to create customized greetings and individual call transfer options.

  • Manage Unified Messaging using scriptable commands to easily create customizable workflows.

  • Build highly available and reliable Unified Messaging infrastructures to match an organization’s needs.

  • Light up the Message Waiting Indicator on your phone to announce the arrival of a new voice mail message.

Functional Descriptions

Voice Mail Preview:
Exchange Server 2010 will facilitate the cumbersome task of navigating through voice messages. With Exchange Server 2010 speech-to-text translation, the user can read the contents of the audio recording in the same fashion they would read an e-mail. Furthermore, if the resulting voice messages are opened using Microsoft Office Outlook 2010, the text of the voice mail preview will become "actionable". Recognized names, contacts, and phone numbers will all be identified with icons that the user can select to add contacts, call using Office Communicator, or send e-mail. To facilitate navigation of the audio, clicking in the text will cause the voice mail to jump to that word and continue playing.

Protected Voice Mail:
Exchange Server 2010 solves the problem of unauthorized distribution of the messages by securing the message content, specifying the users who may access that content, and the operations that they may perform on it. It uses Active Directory Rights Management Services to apply Do Not Forward permissions to voice messages that are designated either by the sender (by marking the message as private) or by administrative policy. This prevents the forwarding of protected voice mails in a playable form to unauthorized persons, whatever the mail client used.

Message Waiting Indicator (MWI):
Now with Unified Messaging, users are notified of the presence of new/unread voice mail by lighting the lamp and providing a count on their supported desk phone. Additionally, users can configure their text messaging notification account to receive the beginning content of the voice mail preview in the SMS.

Auto Attendant: 
Users are often looking for a person in an organization, but are unsure of the extension or exact phone information. Exchange Unified Messaging’s Auto Attendant enables users to easily navigate to the person they are trying to reach when calling an organization with either the telephone keypad or speech inputs to navigate the menu structure, place a call to a user, or locate a user and then place a call to that user. An auto attendant gives you the ability to:

  • Create a customizable set of menus for callers

  • Define informational greetings, business hours greetings, non-business hours greetings, and holiday schedules

  • Describe how to search the organization’s directory and connect to a user’s extension

  • Enable external users to call the operator

Call Answering Rules:
Unified Messaging enables users to have more control over their call flows. For a salesman, this could mean the difference between sending an important sales lead to his voice mail instead of finding him on his cell phone or home phone. Call Answering Rules present callers with custom greetings, Find-Me, and call transfer options, in addition to leaving a voice mail. Moreover, these rules can be preceded by conditions (such as caller-IDs, time-of -day and Exchange free/busy status), giving end-users greater control over how they can be reached over the phone.

Outlook Voice Access:
Users now have control over their Inbox with Outlook Voice Access via a telephone keypad or voice inputs. This enables anywhere access to their mailbox when a user is away from a computer or Internet-connected device. Now users no longer have need to worry about being late for appointments or being disconnected when traveling, as they can instantly call into their mailbox to manage their calendar, contacts, and e-mail.

Language Support:
More users can now listen to and interact with their e-mail and voice mail in their native language or dialect. Exchange Server 2010 offers a broad range of language support with support for 16 languages including three varieties of English, plus Mandarin, Cantonese, European and North American versions of Spanish and French, and several other European languages.

Way to go!! Millions Switch to Exchange and SharePoint from Notes


I was reading couple of relevant documents, i noticed this blog post “Millions Switch to Exchange and SharePoint from Notes”. It talks about millions of users switched to Exchange Server and SharePoint from Notes – Really it was amazing to hear. I noticed that, “…In our last fiscal year (July 2008 – June 2009), more than 4.7 million people began the switch to Exchange and SharePoint from Notes.  In today’s economic climate, this is strong testimony to the cost-savings and efficiency gains that companies can get by moving off Notes.  Customers are recognizing that investment, even in tough times, can make them stronger for the long haul….”

Wow, way to go!!

Tutorial : Free/Busy data – Series # 1


Publishing Free/Busy data:


Free/busy data is published information that contains a user’s personal availability data based on the user’s schedule. Microsoft Exchange Server uses the information extensively when users schedule meetings.



  • Exchange Server 2003 stores free/busy information in a dedicated public folder that is named SCHEDULE+ FREE BUSY. This folder contains a separate subfolder for each administrative group in your Exchange organization. When a user publishes free/busy data, Exchange Server 2003 posts the information in a message in the appropriate free/busy subfolder. The free/busy folders are system folders and function in a manner that is similar to offline address book folders.

  • Exchange Server 2007 uses the availability service.

Free/Busy data & different versions of Outlook and Exchange Server :



  • The process of publishing free/busy data from the user’s client application to the appropriate free/busy folder depends in part on the client that the user has.

  • Outlook and other MAPI-based clients function somewhat differently in this respect from Web-based clients such as Microsoft Office Outlook Web Access for Exchange Server 2003 and Microsoft Outlook Mobile Access.

  • The Availability service for Microsoft Exchange Server 2007 provides calendar information for your users. This information is known as free/busy information.

How Outlook publishes free/busy data?


By default, Outlook publishes the free/busy data for a user one time every 15 minutes, and again when Outlook shuts down. When publishing, Outlook updates the entire free/busy message instead of just adding changes to the existing message. The message includes free/busy data that ranges from the current month to two months in the future.


How to customize with Outlook?


Outlook users can customize the free/busy settings, including the following:




    • Publishing interval, which can be as short as one minute.

    • Number of months in the future to publish, which can be as long as 36 months.

Outlook 2007 with different Exchange Servers:


As we know that Microsoft Office Outlook 2007 works well with a variety of e-mail servers, and you can take advantage of an even richer feature set by using Outlook with the latest version of Microsoft Exchange Server. Some features of Office Outlook 2007 require or work better with Microsoft Exchange Server 2003 or later.



  • Free/Busy information is always up-to-date for users with Exchange 2007 Availability service. But it’s not the case with Exchange 2003.

  • Tentative calendar booking is managed on the Exchange Server. Users do not need to run Outlook for others to see their Free/Busy status. This feature is only available in Exchange Server 2007, not with Exchange Server 2003.

MadFB, Autodiscover & Outlook clients:



  • The Autodiscover service provides information for the Availability service by locating and providing the external and internal URLs for the Outlook 2007 client.

  • If your Microsoft Office Outlook 2007 users cannot view calendar information for other Outlook 2007 users in your Exchange 2007 environment, the problem may involve a failure in either the Autodiscover service or the Availability service.

  • Microsoft Entourage for the Macintosh also relies on this MadFB(MSExchangeFBPublish) process to publish free/busy data.

  • Outlook Web Access and Outlook Mobile Access do not publish free/busy data directly to the public folder store.

  • Instead, they rely on a free/busy publishing agent that is named MadFB (also known as MSExchangeFBPublish), which runs as part of the Microsoft Exchange System Attendant service (MSExchangeSA).

  • MadFB has two functions.


    • It publishes free/busy messages for Outlook Web Access and Outlook Mobile Access

    • It deletes duplicate free/busy messages

Note: Because most of the processing is handled by the Exchange servers instead of the client, using Outlook Web Access and Outlook Mobile Access can provide performance and reliability advantages over Outlook.


There are various other issues happens with respect to Free/Busy data when we do with programming as well as with the Outlook clients. I tried to catch up some of them and summarize for your view….


1. Troubleshooting the Free/Busy information for Outlook 2007 by reading this technet article or you can check it through the error codes available. Some of them are,



  • 0x80072EE7 – ERROR_INTERNET_NAME_NOT_RESOLVED – This error is usually caused by a missing host record for the Autodiscover service in the Domain Naming service.

  • 0X80072F17 – ERROR_INTERNET_SEC_CERT_ERRORS – This error is usually caused by an incorrect certificate configuration on the Exchange 2007 computer that has the Client Access server role installed.

  • 0X80072EFD – ERROR_INTERNET_CANNOT_CONNECT – This error is usually caused by issues that are related to Domain Naming service.

  • 0X800C820A – E_AC_NO_SUPPORTED_SCHEMES – This error is usually caused by incorrect security settings in Outlook 2007.

2. If you use Exchange Server 2007, you can determine whether the Availability service is not functioning properly or not:
(i) using Event log (ii) using Test-OutlookWebServices cmdlet
.


Using Event log:


When we try to review the application event log on the Exchange 2007 Client Access server and check for events that are generated by the Availability service. There are common events that are associated with the availability service as described. Some of them are,


  • 4001 The Availability service could not discover an Availability service in the remote forest   If you see this event, verify that the Autodiscover service in the remote forest is functioning correctly.

  • 4003 PublicFolderRequestFailed   This event usually indicates a failure to look up free/busy information for legacy mailboxes. Typically, this information comes from public folders. This error might be caused if the public folders are configured incorrectly or if the Availability service has not been configured to look up public folders for the legacy mailboxes. The description of this event will usually include the URL to the target public folder and one of the following HTTP errors:


    • 401   If you see this HTTP error, Integrated Windows authentication is probably disabled on the /public virtual directory.

    • 403   If you see this HTTP error, the Client Access server may be offline or it does not contain a replica. This might occur if Secure Sockets Layer (SSL) is not enabled on the /public virtual directory.

    • 404   This HTTP error can occur if the /public virtual directory could not be found.

  • 4005 Could not find information in Active Directory to allow cross-forest requests   If you see this event, you must configure the Availability service across forests.

  • 4011 Cross-forestRequestFailed   This usually indicates a failure to locate an AvailabilityAddressSpace object that is required to proxy the Availability service request to a different forest.

  • In this case, we will see how to find and troubleshoot the issue using the Event log. A 4003 event indicates a failure to look up free/busy information for legacy mailboxes. Typically, this information comes from public folders. The following is an example of a 4003 event.




    Event ID : 4003


    Raw Event ID : 4003


    Category : Availability Service


    Source : MSExchange Availability


    Type : Error


    Message : Process 4664[w3wp.exe:/LM/W3SVC/1/ROOT/EWS-1-128114978363374212]: Microsoft.Exchange.InfoWorker.Common.Availability.PublicFolderRequest failed. The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.PublicFolderRequestProcessingException


    This may be due to Exchange 2007 users are unable to see the free/busy information for users whose mailboxes reside on the Exchange 2003 server. The free/busy information displays as hash marks for these users in the Outlook Scheduling Assistant page.


    Using Test-OutlookWebServices cmdlet:


    When you try to test through cmdlet test the service using, 
                            Test-OutlookWebServices -id:user1@contoso.com -TargetAddress: user2@contoso.com



    • The Test-OutlookWebServices cmdlet uses a specified e-mail address to verify that the Outlook provider is configured correctly.

    • The optional MonitoringLogFile parameter indicates whether the results are written to the log file for Microsoft Operations Manager (MOM).

    • Using the Test-OutlookWebServices cmdlet to verify the Autodiscover service settings for Microsoft Outlook on a computer that is running Microsoft Exchange Server 2007 that has the Client Access server role installed.

    • This will provide the error details about the Availability service.

    For example, as specified in the following article and code example verifies the service information that is returned to the Outlook 2007 client from the Autodiscover service for a user who is named monika@contoso.com. The code example verifies information for the following services:



    • Availability service

    • Outlook Anywhere

    • Offline Address Book

    • Unified Messaging

    test-OutlookWebServices -identity:monika@contoso.com

    This code example tests for a connection to each service. This example also submits a request to the Availability service for the user monika@contoso.com to determine whether the user’s free/busy information is being returned correctly from the Client Access server to the Outlook 2007 client.


    3. Free/Busy Options Not Unique to Each Profile:


    On a computer that contains multiple profiles, the Free/Busy options will be the same for every profile. This information is defined in the KB article. The Free/Busy information is stored on a per-user basis rather than a per-profile basis. If the user who is logged on to the computer defines multiple profiles, each profile will contain the same Free/Busy information.

    To set the calendar Free/Busy information, follow these steps:


    1. On the Tools menu, click Options.


    2. On the Preferences tab, click Calendar Options.


    3. Click Free/Busy Options. In the Free/Busy Options dialog box you can set the following items:



    • How many months of Free/Busy information to publish.


    • How frequently the information should be updated.


    • Whether the information should be published on the Internet.


    • The Internet URL address for storing and searching for the information.


    4. Conditions that affect the display of Free/Busy time in Outlook:

    After you make an appointment in your active Calendar in Microsoft Outlook, other people may not immediately see that time as busy. This condition may also occur when someone attempts to invite you to a meeting.


    There are three possible causes for this behavior:



    • By default, Outlook updates your Free/Busy time every 15 minutes. If the update is not complete, others will not see your appointment as busy time.


    • Outlook publishes your Free/Busy time for only the next two months. If your appointment is beyond the published limit, others will not see your appointment as busy time.


    • If the appointment Show Time As property is set to Free, others will not see your appointment as busy time.


    The unavailability of Free/Busy information appears as black hatched lines in the Attendee Availability dialog box.


    Resolution:



    • If the cause is how often Outlook updates Free/Busy time, follow these steps as described in the support KB.

    • If the cause is how far ahead Outlook publishes Free/Busy time, follow these steps as described in the support KB

    • If the cause is that the Appointment Show Time As property is not set to Free, follow these steps as described in the support KB

    5. Legacy free/busy information no longer appears for appointments that are booked against a mailbox in Exchange Server 2007:


    In a Microsoft Exchange Server 2007 environment, you configure a room mailbox to have the AllBookInPolicy attribute set to “false.” When you do this, the legacy free/busy information no longer appears for the appointments that are booked against the mailbox. For example, when you examine the free/busy information by using the Scheduling Assistant, the room mailbox shows a status of No Information.


    This issue occurs because the default permission is changed to “None” when the AllBookInPolicy attribute is set to “false.” This situation prevents the Exchange System Attendant from publishing the legacy free/busy information. By default, when any mailbox is created, the free/busy permissions are set as follows:


    Default: Read: Free/Busy time
    Anonymous: None


    This condition is also true for resource mailboxes.


    To go through the following article to resolve this problem in Exchange Server 2007 Service Pack 1.


    6. Resolving problems in Outlook for delegated Exchange Server 2003 mailbox users :


    As stated above, we need to perform this procedure if delegated users are receiving error messages such as “Unable to open the free/busy message” when they try to modify the mailbox owner’s calendar.




    1. Request that all delegate users and the mailbox owner shut down Outlook.



    2. Request that the mailbox owner start Outlook with the /cleanfreebusy switch. The mailbox owner can do this from the command prompt by typing: outlook/cleanfreebusy


      Outlook will re-create the LocalFreeBusy message and synchronize the other mailbox folders to use it.



    3. Resume using Outlook. Delegates should now be able to use the mailbox as expected.


    7. Cleaning Mailbox stores using MadFB:


    As stated above, and in the over time, the free/busy folders may accumulate duplicate free/busy messages. In addition, Outlook and the free/busy folders may become unsynchronized, especially for mailboxes that have multiple delegate users. This section provides information about how Exchange Server 2003 automatically maintains free/busy data according to a configurable schedule, and about how you can repair synchronization problems.


    The cleanup process includes:



    • Deleting duplicate free/busy data messages.
      These are messages with an appended –x in the URL, where x is the number of the duplicate message. For each set of duplicates, MadFB keeps the oldest message and deletes the rest.

    • Repairing the URLs of free/busy messages.
      The URL of a free/busy message must be in canonical format, ending with subject(based on legacyExchangeDN).EML.
      Messages that are duplicates of existing free/busy messages have non-canonical URLs because of the appended -x. Messages that have been upgraded or replicated from Microsoft Exchange Server version 5.5 have URLs that contain GUIDs. These messages are also considered non-canonical.

    8. Calendar support in an Exchange and Non-exchange environment:


    As stated in the following article regarding the calendar support in an Exchange and Non-exchange environment (for ex. using the Microsoft Exchange Connector for Lotus Notes and the Microsoft Exchange Connector for Novell GroupWise) perform several functions to support calendaring capabilities between the foreign system and Exchange Server 2003:



    • Replicate directory information so that both Exchange users and foreign system users have access to calendaring data.

    • Convert meeting request items from Exchange format to the foreign format and from the foreign format to the Exchange format.

    • Detect Exchange Server 2003 free/busy requests and look up the appropriate free/busy data in the foreign system. This free/busy lookup is bidirectional.