2.2.6.1 Invitation

An invitation is a block of XML as described below. There are two invitation formats, one for inviting by way of a password, another for inviting by way of GMC.

The XML schema for a password-based invitation is:

 <?xml version="1.0" encoding="utf-8"?>
 <xs:schema xmlns:dt="urn:schemas-microsoft-com:datatypes" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <xs:import namespace="urn:schemas-microsoft-com:datatypes" />
     <xs:element name="PEERINVITATION">
         <xs:complexType>
             <xs:sequence>
                 <xs:element name="CLOUDNAME" type="xs:string" />
                 <xs:element name="SCOPE" type="xs:string" />
                 <xs:element name="CLOUDFLAGS" type="xs:unsignedByte" />
                 </xs:element name="GROUPPEERNAME" type="xs:string" />
                 </xs:element name="GROUPPEERNAME" type="xs:string" />
             </xs:sequence>
             <xs:attribute name="VERSION" type="xs:string" use="required" />
         </xs:complexType>
     </xs:element>
 </xs:schema>

PEERINVITATION/VERSION: The version of the invitation. For a password-based invitation this value MUST be "1.1".

CLOUDNAME: The name of the PNRP Cloud in which the Group operates.

SCOPE: The scope zone of the PNRP Cloud in which the Group operates. This value MUST be "GLOBAL" (global), "SITELOCAL" (site local), or "LINKLOCAL" (link local).

CLOUDFLAGS: The PNRP Cloud flags. This value MUST be 0 or 1. If the value is 0, it indicates that the Cloud name is public. If the value is 1, it indicates that the Cloud name is private.

GROUPPEERNAME: The Secure Peer Name of the Group, as defined in [MS-PNRP] section 1.3.1.1.

GROUPFRIENDLYNAME: The friendly name of the Group.

The XML schema for a GMC-based invitation is:

 <?xml version="1.0" encoding="utf-8"?>
 <xs:schema xmlns:dt="urn:schemas-microsoft-com:datatypes" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <xs:import namespace="urn:schemas-microsoft-com:datatypes" />
     <xs:element name="PEERINVITATION">
         <xs:complexType>
             <xs:sequence>
                 <xs:element name="CLOUDNAME" type="xs:string" />
                 <xs:element name="SCOPE" type="xs:string" />
                 <xs:element name="CLOUDFLAGS" type="xs:unsignedByte" />
                 <xs:element name="GMC">
                     <xs:complexType>
                         <xs:simpleContent>
                             <xs:extension base="xs:string">
                                 <xs:attribute ref="dt:dt" use="required" />
                             </xs:extension>
                         </xs:simpleContent>
                     </xs:complexType>
                 </xs:element>
             </xs:sequence>
             <xs:attribute name="VERSION" type="xs:string" use="required" />
         </xs:complexType>
     </xs:element>
 </xs:schema>

PEERINVITATION/VERSION: The version of the Group issuing the invitation. This value MUST be "1.0" or "1.1".

CLOUDNAME: The name of the PNRP Cloud in which the Group operates.

SCOPE: The scope zone of the PNRP Cloud in which the Group operates.

This value MUST be "GLOBAL" (global), "SITELOCAL" (site local), or "LINKLOCAL" (link local).

CLOUDFLAGS: The PNRP Cloud flags. This value MUST be 0 or 1. If the value is 0, it indicates that the Cloud name is public. If the value is 1, it indicates that the Cloud name is private.

GMC: A Base-64 ([RFC4648]) encoded string representing the PKCS7 ASN-encoded GMC chain of the invitee ([RFC2315]).