Partager via


3.4.5.1 SIP Registrar Operation

A SIP registrar compliant with this protocol can generate a GRUU by creating a SIP URI with an address-of-record in the domain that the registrar is responsible for as the user and domain portion. It then MUST add a mandatory GRUU parameter, and it SHOULD add an additional opaque parameter with a value that encodes information about one the following entities:

  • the user agent type and an identifier of a specific endpoint bound with the user agent address-of-record, as specified in [RFC3261] section 10.2.1,

  • an instance of an application endpoint,

  • an instance of a server endpoint.

When generating a GRUU for a user agent that follows the registration procedure defined in [MS-SIPREGE], the registrar can create a URI using ABNF, as defined in [RFC5234], for user-agent-gruu syntax, as defined in section 2.2.3. The address-of-record value in the ABNF comes from the URI in the To header field. The ABNF for ua-opaque-val syntax is defined in section 2.2.2, where encoded-uuid-val value is obtained by applying an encoding procedure to the binary form of the UUID obtained from the +sip.instance parameter of the Contact header field. The encoding procedure MUST produce a string that satisfies the syntax of a SIP URI parameter, as defined in [RFC3261] section 25. One example of an encoding procedure is defined in [RFC3548] section 4.

When generating a GRUU for an application that implements voice mail service for a user, the registrar can create a URI using ABNF for voice-mail-gruu syntax, as defined in section 2.2.3. The address-of-record value in the ABNF MUST belong to the user whose voice mail service is represented by the GRUU. The ABNF app-voicemail-opaque-val syntax is defined in section 2.2.2.

When generating a GRUU for an application that implements location profile service for a user, the registrar can create a URI using ABNF for location-profile-gruu syntax, as defined in section 2.2.3. The address-of-record value in the ABNF MUST belong to the user whose location profile service is represented by the GRUU. The ABNF app-locationprofile-opaque-val syntax is defined in section 2.2.2.

When generating a GRUU for a multimedia conference endpoint created by the user agent that follows the procedure for conference creation defined in [MS-CONFBAS], the registrar can create a URI using ABNF for conf-endpoint-gruu syntax, as defined in section 2.2.3. The address-of-record value in the ABNF MUST be associated, as specified in [RFC3261] section 10.2.1, with the user that organized the conference. The ABNF for app-conf-opaque-val syntax is defined in section 2.2.2, where conf-entity-val value describes the type of conferencing endpoint. The encoded-conf-id-val value can be obtained by applying the procedure defined in [RFC3548] section 4 to the binary form of conference identifier, which is defined in [MS-CONFPRO] section 2.2.1.2.

When generating a GRUU for a server deployed within a domain for which a SIP registrar is responsible, the registrar can create a URI using ABNF for server-instance-gruu syntax defined in section 2.2.3. The server-fqdn value in the ABNF is a fully qualified domain name (FQDN) of the server. The domain-fqdn value is the FQDN of the domain for which the SIP registrar is responsible. The ABNF for server-opaque-val syntax is defined in section 2.2.2, where server-type-val value describes the type of service provided by the server with the HomeServer string representing the SIP registrar and presence server, the MRAS string representing the media relay authentication server, the MediationServer string representing the mediation server, and a QoSM string representing the quality of service monitoring server. The encoded-server-instance-val value can be obtained by applying the procedure defined in [RFC3548] section 4 to the binary form of the GUID that is associated with the server instance entry in Active Directory.

When a SIP registrar compliant with this protocol creates a SIP location service record for user agents that use the registration procedure defined in [MS-SIPREGE], it MUST generate a GRUU that satisfies all of the following requirements:

  • When a request is sent to the GRUU, it routes to a SIP proxy with access to the SIP location service record that this registrar creates.

  • The GRUU MUST include the gruu URI parameter.

  • If the GRUU contains an opaque URI parameter, the URI that results from stripping out the opaque and gruu URI parameters MUST be equivalent to the address-of-record for which the SIP location service record is created.

The registrar then MUST store the GRUU with the SIP location service record that it creates as the result of the registration procedure in addition to other information described in [RFC3261] section 10. It MUST also return the GRUU to the user agent requesting it as a part of the registration procedure defined in [MS-SIPREGE] section 3.1. The registrar can also use other methods of delivering GRUUs to user agents that represent server application or conferencing endpoints in the registrar domain.