Understanding the Globally Routable User Agent URI

The Globally Routable User-Agent URI (GRUU) is an extension of SIP that is currently defined in an Internet-Draft, available at http://tools.ietf.org/id/draft-ietf-sip-gruu-13.txt. The GRUU is specifically designed to implement reliable routing to a specific device for an end user. Though a plain SIP URI such as [email protected] is a URI that refers to a user, a GRUU is a URI that refers to a specific device. The Communicator client running on each user's computer will have its own GRUU that allows other applications to route messages specifically to that device. A GRUU can be used within multiple separate SIP dialogs to reach the same device. This works not just for client applications but also for server applications (for example, the Mediation Server, which was discussed in Chapter 2).

The GRUU is widely applied across the server to solve a variety of problems, including but not limited to Enterprise Voice call transfer or conference escalation scenarios, which require the ability to establish a new dialog with a specific endpoint. The GRUU is also used to address scenarios where one endpoint in a dialog is server based and, therefore, the To/From header in the dialog cannot be resolved to a specific endpoint. In the original SIP standard, it was not possible to construct a URI that could be routed to and from anywhere (including the Internet) and reach a specific device or user agent.

In previous versions, the server used a proprietary extension called an End-Point Identifier (EPID) to address a specific user agent. In Office Communications Server 2007, the GRUU replaces the EPID where possible. Office Communications Server 2007 supports backwards compatibility with EPIDs, but to the degree possible all new applications and clients should use the GRUU instead.

The GRUU is a SIP URI that generally follows the form shown here:

sip:<user>@<domain or FQDN>;opaque=<private>;grid=<optional cookie>;gruu

Here is an example:

sip:[email protected];opaque=user:epid:qIIWS2j5AVeD_HxnQdxmlwAA;gruu

The opaque parameter in combination with the address of record (AOR) make this URI unique even though the prefix of the URI is still the standard user address. The gruu parameter specifies that this URI has all the properties of a GRUU and can be used with multiple separate SIP dialogs to reach the same UA (device). The grid parameter is optional and is inserted by a user agent instance when the user agent uses the GRUU to route to itself. If the grid parameter is included in a request, it helps the user agent instance determine the context of the request.

Understanding GRUU Creation

The server is responsible for creating a GRUU and returning it to the client through the SIP registration mechanism if the client requests one at registration time. The GRUU returned to the client during the registration process is not managed or exposed to the administrator in any way. This process is handled entirely by the User Services module and can be inspected only by examining the registration database itself. For details about the User Services module, see Chapter 19. The GRUU can be used anywhere you would normally use a URI.

How the GRUU Is Used by Office Communications Server

The GRUU is used by Office Communications Server in the following ways:

  • Communicator 2007 clients request and receive a GRUU at registration time that they will use in their Contact header for all subsequent SIP dialogs, such as Enterprise Voice calls, conferencing, and so on.

  • Live Meeting 2007 uses one aspect of GRUU known as the "sip.instance" to create a unique identifier for each meeting client in a conference. This is necessary because the meeting client does not actually register with the server and therefore cannot obtain a genuine GRUU from the server for use in its SIP Contact header.

  • The client uses the GRUU of the Media Relay Access Server (MRAS) application (co-located with the A/V Conferencing Server) to send requests to the MRAS without necessarily having to know the FQDN of the server or be able to directly connect to the MRAS. The client learns the MRAS application's GRUU through in-band provisioning. (The A/V Conferencing Server uses the MRAS application GRUU that is configured in WMI.)

  • Enterprise Voice endpoints send their QoS metric reports to a GRUU, which identifies the metrics collection point. (The Mediation Server and A/V Conferencing Server use the collection point GRUU configured in WMI.)

  • The voice-mail server (generally Microsoft Exchange Server's Unified Messaging) for a given user will be identified by a GRUU. The client learns this GRUU through in-band provisioning (for itself) and through presence (for someone else). An application running on the server, ExUM Routing, resolves the GRUU to a specific Exchange Unified Messaging server that handles user voice mailboxes. An application can be written that resolves the GRUU for non–Microsoft Exchange voice-mail systems.

  • Pools use GRUU to address other pools for batched subscriptions.

  • The Mediation Server uses GRUU to identify different outbound gateways that are connected to the Mediation Server. This allows Office Communications Server to send messages to a single FQDN/port on the Mediation Server and have the messages routed correctly to the proper outbound IP-PSTN gateway. (This GRUU is not exposed in any way to the client; it is used only for server-to-server communications.)

  • During conference creation, the client addresses the Focus Factory by using a GRUU that is composed in part by the meeting organizer's SIP URI. This Focus Factory GRUU is sent to the client via in-band provisioning. The Focus Factory is the central policy and state manager for a conference and acts as the coordinator for all aspects of the conference. For details about the Focus Factory, see Chapter 19.

  • Conferences are identified using a GRUU that is constructed from the organizer's SIP URI. This GRUU is routable within the SIP network and allows conference requests to be routed to the appropriate Conference Focus. The Conference Focus is the central policy and state manager for a conference and acts as the coordinator for all aspects of the conference. For details about the Conference Focus, see Chapter 19.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset