Applications can publish their availability to people near me. When you call PeerCollabRegisterCapability(), you can specify a scope which is the subnet and information about that application is now available to people near me. Now, each capability is associated with a GUID, a name, description, a path and a scope. If the capability is registered in the pnm scope, then our infrastructure will publish out some information about the application (name, guid, but not the path).

The client that wishes to send an invite calls RequestPublishedItems(), and can then enumerate the capabilities, to get the GUID of the application to send the invite to.