4.4.3 Self SUBSCRIBE BENOTIFY

The server then sends a BENOTIFY on a self SUBSCRIBE dialog as a result of a publication.

BENOTIFY sip:172.24.32.208:2140;transport=tls;ms-opaque=37dc925222;ms-received-cid=5E00 SIP/2.0
Via: SIP/2.0/TLS 172.24.41.100:5061;branch=z9hG4bK0AAF5059.4FCDDC51;branched=FALSE
Authentication-Info: ...
Max-Forwards: 70
To: <sip:alice@contoso.com>;tag=1415cd9c08;epid=ffad8b59dc
Content-Length: …
From: <sip:alice@contoso.com>;tag=F63B0080
Call-ID: 0599fe5e383644229740f1afefa5b456
CSeq: 2 BENOTIFY
Require: eventlist
Content-Type: application/vnd-microsoft-roaming-self+xml
Event: vnd-microsoft-roaming-self
subscription-state: active;expires=47515
 
<roamingData xmlns="http://schemas.microsoft.com/2006/09/sip/roaming-self"
           xmlns:cat="http://schemas.microsoft.com/2006/09/sip/categories"
           xmlns:con="http://schemas.microsoft.com/2006/09/sip/containers"
           xmlns:sub="http://schemas.microsoft.com/2006/09/sip/presence-subscribers"
 
xmlns:del="http://schemas.microsoft.com/2007/09/sip/delegates">
  <categories xmlns="http://schemas.microsoft.com/2006/09/sip/categories" uri="sip:alice@contoso.com">
    <category name="state" instance="1" publishTime="2008-01-22T23:41:05.450" container="2" version="1" expireType="user">
      <state xsi:type="aggregateState" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.microsoft.com/2006/09/sip/state">
        <availability>3500</availability>
      </state>
    </category>
    <category name="state" instance="268435456" 
              publishTime="2008-01-22T23:41:05.450" container="2"
              version="1" expireType="user">
      <state xsi:type="aggregateMachineState" 
             endpointId="a8f9a3a8-ee61-56d7-b306-c67b08fb28d8"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.microsoft.com/2006/09/sip/state">
        <availability>3500</availability>
      </state>
    </category>
    <category name="state" instance="831107580" 
              publishTime="2008-01-22T23:41:05.450" container="2"
              version="1" expireType="endpoint"
              endpointId="A8F9A3A8-EE61-56D7-B306-C67B08FB28D8">
      <state xmlns="http://schemas.microsoft.com/2006/09/sip/state"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             manual="false" xsi:type="machineState">
        <availability>3500</availability>
        <endpointLocation></endpointLocation>
      </state>
    </category>
    <category name="device" instance="412819398"
              publishTime="2008-01-22T23:41:05.450" container="2"
              version="1" expireType="endpoint"
              endpointId="A8F9A3A8-EE61-56D7-B306-C67B08FB28D8">
      <device xmlns="http://schemas.microsoft.com/2006/09/sip/device"
              endpointId="A8F9A3A8-EE61-56D7-B306-C67B08FB28D8">
        <capabilities preferred="false" uri="sip:alice@contoso.com">
          <text capture="true" render="true" publish="false">
          </text>
          <gifInk capture="false" render="true" publish="false">
          </gifInk>
          <isfInk capture="false" render="true" publish="false">
          </isfInk>
        </capabilities>
        <timezone>00:00:00-00:00</timezone>
        <machineName>MachineName</machineName>
      </device>
    </category>
    <category name="services" instance="0"
              publishTime="2008-01-22T23:41:05.450" container="2"
              version="1" expireType="user">
      <services xmlns="http://schemas.microsoft.com/2006/09/sip/service">
        <service uri="sip:alice@contoso.com">
          <capabilities>
            <text render="true" capture="true"
                  publish="false"
                  preferredEndpointId="a8f9a3a8-ee61-56d7-b306-c67b08fb28d8"
                  deviceAvailability="3500"/>
            <gifInk render="true" capture="false"
                    publish="false"
                    preferredEndpointId="a8f9a3a8-ee61-56d7-b306-c67b08fb28d8"
                    deviceAvailability="3500"/>
            <isfInk render="true" capture="false"
                    publish="false"
                    preferredEndpointId="a8f9a3a8-ee61-56d7-b306-c67b08fb28d8"
                    deviceAvailability="3500"/>
          </capabilities>
        </service>
      </services>
    </category>
    <category name="state" instance="1" 
              publishTime="2008-01-22T23:41:05.450" container="3"
              version="1" expireType="user">
      <state xsi:type="aggregateState"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.microsoft.com/2006/09/sip/state">
        <availability>3500</availability>
      </state>
    </category>
    <category name="state" instance="831107580"
              publishTime="2008-01-22T23:41:05.450" container="3"
              version="1" expireType="endpoint"
              endpointId="A8F9A3A8-EE61-56D7-B306-C67B08FB28D8">
      <state xmlns="http://schemas.microsoft.com/2006/09/sip/state"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             manual="false" xsi:type="machineState">
        <availability>3500</availability>
        <endpointLocation></endpointLocation>
      </state>
    </category>
    <category name="state" instance="1" 
              publishTime="2008-01-22T23:41:05.450" container="100"
              version="1" expireType="user">
      <state xsi:type="aggregateState"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.microsoft.com/2006/09/sip/state">
        <availability>3500</availability>
      </state>
    </category>
    <category name="legacyInterop" instance="1"
              publishTime="2008-01-22T23:41:05.450" container="100"
              version="1" expireType="user">
      <legacyInterop availability="3500"/>
    </category>
    <category name="services" instance="0"
              publishTime="2008-01-22T23:41:05.450" container="100"
              version="1" expireType="user">
      <services xmlns="http://schemas.microsoft.com/2006/09/sip/service">
        <service uri="sip:alice@contoso.com">
          <capabilities>
            <text render="true" capture="true" deviceAvailability="3500"/>
            <gifInk render="true" capture="false" deviceAvailability="3500"/>
            <isfInk render="true" capture="false" deviceAvailability="3500"/>
          </capabilities>
        </service>
      </services>
    </category>
    <category name="state" instance="1"
              publishTime="2008-01-22T23:41:05.450" container="200"
              version="1" expireType="user">
      <state xsi:type="aggregateState"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.microsoft.com/2006/09/sip/state">
        <availability>3500</availability>
      </state>
    </category>
    <category name="legacyInterop" instance="1"
              publishTime="2008-01-22T23:41:05.450" container="200"
              version="1" expireType="user">
      <legacyInterop availability="3500"/>
    </category>
    <category name="services" instance="0"
              publishTime="2008-01-22T23:41:05.450" container="200"
              version="1" expireType="user">
      <services xmlns="http://schemas.microsoft.com/2006/09/sip/service">
        <service uri="sip:alice@contoso.com">
          <capabilities>
            <text render="true" capture="true" deviceAvailability="3500"/>
            <gifInk render="true" capture="false" deviceAvailability="3500"/>
            <isfInk render="true" capture="false" deviceAvailability="3500"/>
          </capabilities>
        </service>
      </services>
    </category>
    <category name="state" instance="1"
              publishTime="2008-01-22T23:41:05.450" container="300"
              version="1" expireType="user">
      <state xsi:type="aggregateState"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.microsoft.com/2006/09/sip/state">
        <availability>3500</availability>
      </state>
    </category>
    <category name="legacyInterop" instance="1"
              publishTime="2008-01-22T23:41:05.450" container="300"
              version="1" expireType="user">
      <legacyInterop availability="3500"/>
    </category>
    <category name="services" instance="0"
              publishTime="2008-01-22T23:41:05.450" container="300"
              version="1" expireType="user">
      <services xmlns="http://schemas.microsoft.com/2006/09/sip/service">
        <service uri="sip:alice@contoso.com">
          <capabilities>
            <text render="true" capture="true" deviceAvailability="3500"/>
            <gifInk render="true" capture="false" deviceAvailability="3500"/>
            <isfInk render="true" capture="false" deviceAvailability="3500"/>
          </capabilities>
        </service>
      </services>
    </category>
    <category name="state" instance="1"
              publishTime="2008-01-22T23:41:05.450" container="400"
              version="1" expireType="user">
      <state xsi:type="aggregateState"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.microsoft.com/2006/09/sip/state">
        <availability>3500</availability>
      </state>
    </category>
    <category name="legacyInterop" instance="1"
              publishTime="2008-01-22T23:41:05.450" container="400"
              version="1" expireType="user">
      <legacyInterop availability="3500"/>
    </category>
    <category name="services" instance="0"
              publishTime="2008-01-22T23:41:05.450" container="400"
              version="1" expireType="user">
      <services xmlns="http://schemas.microsoft.com/2006/09/sip/service">
        <service uri="sip:alice@contoso.com">
          <capabilities>
            <text render="true" capture="true" deviceAvailability="3500"/>
            <gifInk render="true" capture="false" deviceAvailability="3500"/>
            <isfInk render="true" capture="false" deviceAvailability="3500"/>
          </capabilities>
        </service>
      </services>
    </category>
  </categories>
</roamingData>

The following example shows a BENOTIFY that is triggered by a calendarState publication operation:

BENOTIFY sip:172.24.32.124:54111;transport=tcp;ms-opaque=d445641ebd;ms-received-cid=1100 SIP/2.0
Via: SIP/2.0/TCP 172.24.41.100;branch=z9hG4bK1A8DAF2D.8C27980A;branched=FALSE
Authentication-Info: ...
Max-Forwards: 70
To: <sip:bob@contoso.com>;tag=2e359b464c;epid=84d3db8c23
Content-Length: …
From: <sip:bob@contoso.com>;tag=1F700080
Call-ID: cccb942d2c044a8a8edb6828f7496d06
CSeq: 6 BENOTIFY
Require: eventlist
Content-Type: application/msrtc-event-categories+xml
Event: presence
subscription-state: active;expires=31927
 
<categories xmlns="http://schemas.microsoft.com/2006/09/sip/categories" uri="sip:user2@contoso.com">
  <category xmlns="http://schemas.microsoft.com/2006/09/sip/categories" name="calendarData" instance="2135971629" publishTime="2008-01-11T18:11:33.577">
    <calendarData xmlns="http://schemas.microsoft.com/2006/09/sip/calendarData" mailboxID="user2@contoso.com">
      <freeBusy startTime="2008-01-10T08:00:00Z" granularity="PT15M" encodingVersion="1">
      </freeBusy>
    </calendarData>
  </category>
  <category xmlns="http://schemas.microsoft.com/2006/09/sip/categories" name="calendarData" instance="0" publishTime="2008-01-11T18:11:33.577">
    <calendarData xmlns="http://schemas.microsoft.com/2006/09/sip/calendarData" mailboxID="user2@contoso.com">
      <WorkingHours xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
        <TimeZone>
          <Bias>480</Bias>
          <StandardTime>
            <Bias>0</Bias>
            <Time>02:00:00</Time>
            <DayOrder>1</DayOrder>
            <Month>11</Month>
            <DayOfWeek>Sunday</DayOfWeek>
          </StandardTime>
          <DaylightTime>
            <Bias>-60</Bias>
            <Time>02:00:00</Time>
            <DayOrder>2</DayOrder>
            <Month>3</Month>
            <DayOfWeek>Sunday</DayOfWeek>
          </DaylightTime>
        </TimeZone>
        <WorkingPeriodArray>
          <WorkingPeriod>
            <DayOfWeek>Monday Tuesday Wednesday Thursday Friday</DayOfWeek>
            <StartTimeInMinutes>600</StartTimeInMinutes>
            <EndTimeInMinutes>1140</EndTimeInMinutes>
          </WorkingPeriod>
        </WorkingPeriodArray>
      </WorkingHours>
    </calendarData>
  </category>
  <category xmlns="http://schemas.microsoft.com/2006/09/sip/categories" name="contactCard" instance="0" publishTime="2008-01-11T17:06:08.390">
    <contactCard xmlns="http://schemas.microsoft.com/2006/09/sip/contactcard">
      <identity>
        <name>
          <displayName>user2</displayName>
        </name>
      </identity>
    </contactCard>
  </category>
  <category xmlns="http://schemas.microsoft.com/2006/09/sip/categories" name="state" instance="1" publishTime="2008-01-11T18:11:33.577">
    <state xsi:type="aggregateState" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2006/09/sip/state">
      <availability>6500</availability>
      <activity token="in-a-meeting"/>
      <endpointLocation>Home_Custom_EndPoint_Location</endpointLocation>
      <meetingSubject>Customer Meeting</meetingSubject>
      <meetingLocation>Conference Room - Building 7</meetingLocation>
    </state>
  </category>
  <category xmlns="http://schemas.microsoft.com/2006/09/sip/categories" name="services" instance="0" publishTime="2008-01-11T18:04:53.780">
    <services xmlns="http://schemas.microsoft.com/2006/09/sip/service">
      <service uri="sip:user2@contoso.com">
        <capabilities>
          <text render="true" capture="true" deviceAvailability="3500"/>
          <gifInk render="true" capture="false" deviceAvailability="3500"/>
          <isfInk render="true" capture="false" deviceAvailability="3500"/>
        </capabilities>
      </service>
    </services>
  </category>
</categories>
 

The following example is a self subscription NOTIFY that is generated as a result of a setSubscriber request:

BENOTIFY sip:172.24.32.124:54111;transport=tcp;ms-opaque=d445641ebd;ms-received-cid=1100 SIP/2.0
Via: SIP/2.0/TCP 172.24.41.100;branch=z9hG4bKBD3D826C.CFD7B7AF;branched=FALSE
Authentication-Info: ...
Max-Forwards: 70
To: <sip:bob@contoso.com>;tag=7b011632fc;epid=84d3db8c23
Content-Length: …
From: <sip:bob@contoso.com>;tag=C84D0080
Call-ID: f5d1bb95be0944dba41ef493a63383e4
CSeq: 14 BENOTIFY
Require: eventlist
Content-Type: application/vnd-microsoft-roaming-self+xml
Event: vnd-microsoft-roaming-self
subscription-state: active;expires=45785
 
<roamingData xmlns="http://schemas.microsoft.com/2006/09/sip/roaming-self"
    xmlns:cat="http://schemas.microsoft.com/2006/09/sip/categories"
    xmlns:con="http://schemas.microsoft.com/2006/09/sip/containers"
    xmlns:sub="http://schemas.microsoft.com/2006/09/sip/presence-subscribers">
  <subscribers xmlns="http://schemas.microsoft.com/2006/09/sip/presence-subscribers"/>
</roamingData>
 

The following example is a self subscription NOTIFY body that is generated if the server did not remove acknowledged entries, or if the subscription that triggered the NOTIFY was an MSRTC or PIDF subscription:

<roamingData xmlns="http://schemas.microsoft.com/2006/09/sip/roaming-self"
    xmlns:cat="http://schemas.microsoft.com/2006/09/sip/categories"
    xmlns:con="http://schemas.microsoft.com/2006/09/sip/containers"
    xmlns:sub="http://schemas.microsoft.com/2006/09/sip/presence-subscribers">
  <subscribers xmlns="http://schemas.microsoft.com/2006/09/sip/presence-subscribers">
    <subscriber user="john@contoso.com" displayName="User" acknowledged="true" type="sameEnterprise" />
  </subscribers>
</roamingData>