XCCC: How to Interpret Instant Messaging Methods and Response Codes

This article has been archived. It is offered "as is" and will no longer be updated.
Microsoft Exchange Server Instant Messaging uses the RVP protocol to communicate over a TCP/IP network connection. This article tells you how to interpret the Instant Messaging methods and the Hypertext Transfer Protocol (HTTP) response codes you see in the Microsoft Internet Information Services (IIS) log or in a Network Monitor trace. Instant Messaging uses both RVP methods (Subscribe, Unsubscribe, Subscriptions, and Notify) and Distributed Authoring Version (DAV) methods (Propfind, Proppatch, and ACL).
More information

The RVP Methods Used by Instant Messaging

SUBSCRIBE This is the method for logon and "subscription" to a resource. The SUBSCRIBE method is the first method used in any Instant Messaging communication. The SUBSCRIBE method tells the resource's home server to notify the "watcher" of any property changes. By default, a "watcher" subscribes to a resource for 14,400 seconds (4 hours). The Instant Messaging client re-subscribes to each resource approximately 5 minutes before the 4-hour period ends. This time-out is not a configurable option.

UNSUBSCRIBE This method cancels resource subscriptions enabled by the subscribe method. When you quit the Instant Messaging client or log off the Exchange Server Instant Messaging service, the Instant Messaging client sends an unsubscribe message for each user on its contact list.

SUBSCRIPTIONS This method retrieves a list of other Instant Messaging users currently watching your status. To use the SUBSCRIPTIONS method in the Instant Messaging client, click Options on the Tools menu, and then click View on the Privacy tab.

NOTIFY This method informs a subscriber that the user's status has changed. The NOTIFY method is also used to send messages.

The DAV Methods Used by Exchange Server Instant Messaging

PROPFIND This method obtains information about a subscribed resource, such as the display name or the current presence state (Online, Offline, and so on) of a contact.

PROPPATCH This method changes the object's status. The seven possible object statuses are Online, Appear Offline, Busy, Be Right Back, Away from Computer, On the Phone, and Out to Lunch (these are not configurable). When your Instant Messaging client logs on, your Instant Messaging status is set to Online. This status is valid for 1,200 seconds (20 minutes). Every 15 minutes, your Instant Messaging client reissues another PROPATCH method to reset this 20-minute timeout. If the Instant Messaging client does not update its status within 20 minutes, the Instant Messaging Home Server marks the user as Offline and notifies all the subscribers to this resource that his/her status has changed to Offline. This time-out is not a configurable option.

ACL This is the method used to allow or deny other Instant Messaging contacts to view your Instant Messaging status.

Common HTTP Response Codes

The following list explains some common HTTP response codes you may see when you troubleshoot Exchange Server Instant Messaging. You can view these response codes by viewing the IIS Logs or by performing a Network Monitor Trace. By default, the IIS Logs are located in the %windir%\system32\logfile folder.

RFC 2068 defines the following five classes of response codes:
  • 1xx: Informational - Request received, continuing process.
  • 2xx: Success - The action was successfully received, understood, and accepted.
  • 3xx: Redirection - Further action must be taken in order to complete the request.
  • 4xx: Client Error - The request contains bad syntax or cannot be fulfilled.
  • 5xx: Server Error - The server failed to fulfill an apparently valid request.

Exchange Server Instant Messaging Error Codes

202 Successful: A request has been successfully carried out and there is one method or call in the packet. It is a single-status request.

302 Object Moved: This code indicates that the server is not the requested user's home server. The response includes the new URL for the correct home server. A response of this type is typically received from an Instant Messaging Router.

401 Access Denied: This code indicates that the user name and password combination for the requested resource is not valid. This response code is often seen if the client workstation is configured to use a proxy server. If the logon authentication is using NTLM and it is sent to the Instant Messaging Virtual Server through a proxy server, the logon attempt will fail. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
278974 Troubleshooting authentication failures in Instant Messaging
NOTE: It is normal to see at least two Access Denied responses during each SUBSCRIBE request. This is part of the NTLM authentication process.

For additional information regarding the authentication process, see the following Web site: 404 Not Found: This response code usually indicates that the e-mail address that you entered on the Instant Messaging client does not match a valid Instant Messaging User Address. When you log on to the Instant Messaging client, try using the Instant Messaging User Address. To verify this address, follow these steps:
  1. Open Active Directory Users and Computers.
  2. Right-click the appropriate user, and then click Properties on the secondary menu that appears.
  3. Click the Exchange Features tab.
  4. Select Instant Messaging to highlight it, and then click the Properties button.
  5. Note the Instant Messaging User Address.
NOTE: You are not limited to using the Instant Messaging User Address if you have created an RVP record in DNS. Please refer to the Exchange 2000 Help file for more information; see the topics "Instant Messaging" and "DNS resource records." For additional information about configuring Instant Messaging logging, click the article number below to view the article in the Microsoft Knowledge Base:
266754 XADM: How to Configure Instant Messaging Logging

Article ID: 298421 - Last Review: 01/07/2015 14:12:58 - Revision: 4.0

  • Microsoft Exchange 2000 Server Standard Edition
  • kbnosurvey kbarchive kbinfo KB298421