3.7.4.1 Subscribing to the Contact/Group List

A client retrieves its contact list and learns of changes to the contact list (made by other clients for this user) through a subscription. The client subscribes to the roaming contact list by sending a SUBSCRIBE request for the vnd-microsoft-roaming-contact event. An example SUBSCRIBE request is as follows.

 SUBSCRIBE sip:user@tradewind.com SIP/2.0
 Via: SIP/2.0/TLS 157.56.65.142:3485
 Max-Forwards: 70
 From: <sip:user@tradewind.com >;
    tag=51a7d2afbea6420a98d9c7629dacb811;epid=a892397901
 To: <sip:user@tradewind.com >
 Call-ID: f1c446dc3df340edb144a6e6471abf7b
 CSeq: 1 SUBSCRIBE
 Contact: <sip:user@tradewind.com:3485;
    maddr=157.56.65.142;transport=tls>;proxy=replace
 User-Agent: RTC/1.3
  
 Event: vnd-microsoft-roaming-contacts
 Accept: application/vnd-microsoft-roaming-contacts+xml
  
 Supported: com.microsoft.autoextend
 Supported: ms-benotify
 Proxy-Require: ms-benotify
 Supported: ms-piggyback-first-notify
 Proxy-Authorization: NTLM qop="auth", 
    realm="SIP Communications Service", 
    opaque="bfaf9a7c", crand="67b72300", 
    cnum="1", targetname="tradewind.com", 
    response="0100000064326166c2bdf103d2994f63"
 Content-Length: 0

Note The Request-URI, To URI, and From URI are all the SIP URIs of the user that is requesting a contact list. The "Event: vnd-microsoft-roaming-contacts" header identifies that this is a roaming contact list subscription. The Accept header contains the only supported content-type for this roaming contact list. The remaining supported and proxy-require headers are described in more detail in the Presence Document.

The full or delta contact/group list is returned by the server in NOTIFY and BENOTIFY requests, or in the body of a 200 OK response (also called a piggyback NOTIFY). See Receiving the Contact List from the Server (section 3.7.5.2).