Edit

Share via


ContactGroupServices Class

Definition

ContactGroupServices class contains services to add, delete, or update the contacts and groups of the session's owner.

public ref class ContactGroupServices : Microsoft::Rtc::Collaboration::Presence::PublishSubscribeSession
public class ContactGroupServices : Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession
type ContactGroupServices = class
    inherit PublishSubscribeSession
Public Class ContactGroupServices
Inherits PublishSubscribeSession
Inheritance
ContactGroupServices

Remarks

Contacts are unified communication entities identifiable by SIP URIs that can be assembled into logical collections called groups. A Group is identified by a group ID which is a server-assigned integer. A Contact can belong to zero or more groups. Adding someone to the contact list does not automatically indicate that their presence information is subscribed to. The application must separately use the RemotePresence class to subscribe to these contacts. Groups do not hold references to their contained contacts.

This feature is available only to the UserEndpoint class and not to an ApplicationEndpoint.

These contacts and groups are cached locally when BeginSubscribe(AsyncCallback, Object) is invoked and are cleared if they have not been accessed for longer than five minutes. Subsequent usage of the APIs in this class causes the cache to be populated again.

The allowed operations are adding, deleting, and updating of contact and group properties. When a group is deleted, the group is automatically removed from all contacts belonging to that group.

Properties

CurrentState

Gets the state of the subscription.

(Inherited from PublishSubscribeSession)
IsSubscriptionActive
Obsolete.

Gets whether the session has an active underlying subscription.

(Inherited from PublishSubscribeSession)
SubscriberEndpoint

Gets the endpoint that the subscription belongs to.

(Inherited from PublishSubscribeSession)

Methods

BeginAddContact(String, AsyncCallback, Object)

Begins an asynchronous operation to add a contact.

BeginAddContact(String, ContactAddOptions, AsyncCallback, Object)

Begins an asynchronous operation to add a contact.

BeginAddContact(String, String, Boolean, String, String, Int32[], AsyncCallback, Object)
Obsolete.

Begins an asynchronous operation to add a contact.

BeginAddGroup(String, String, AsyncCallback, Object)

Begins an asynchronous operation to add a group.

BeginDeleteContact(String, AsyncCallback, Object)

Begins an asynchronous operation to remove a specified contact.

BeginDeleteGroup(Int32, AsyncCallback, Object)

Begins an asynchronous operation to remove a specified group.

BeginGetCachedContact(String, AsyncCallback, Object)

Begins an asynchronous operation to get a cached contact.

BeginGetCachedGroup(Int32, AsyncCallback, Object)

Begins an asynchronous operation to get a cached group.

BeginRefresh(AsyncCallback, Object)

Begins an asynchronous operation to refresh the subscription.

BeginSubscribe(AsyncCallback, Object)

Begins an asynchronous operation to subscribe to the presence session.

(Inherited from PublishSubscribeSession)
BeginUnsubscribe(AsyncCallback, Object)

Begins an asynchronous operation to unsubscribe the underlying subscription.

(Inherited from PublishSubscribeSession)
BeginUpdateContact(Contact, AsyncCallback, Object)

Begins an asynchronous operation to update the information for the specified contact.

BeginUpdateGroup(Group, AsyncCallback, Object)

Begins an asynchronous operation to update the information for a specified group.

EndAddContact(IAsyncResult)

Ends the asynchronous operation initiated by BeginAddContact.

EndAddGroup(IAsyncResult)

Ends the asynchronous operation initiated by BeginAddGroup.

EndDeleteContact(IAsyncResult)

Ends the asynchronous operation initiated by BeginDeleteContact.

EndDeleteGroup(IAsyncResult)

Ends the asynchronous operation initiated by BeginDeleteGroup.

EndGetCachedContact(IAsyncResult)

Ends the asynchronous operation initiated by the BeginGetCachedContact.

EndGetCachedGroup(IAsyncResult)

Ends the asynchronous operation initiated by the BeginGetCachedGroup.

EndRefresh(IAsyncResult)

Ends the Refresh Operation initiated by BeginRefresh.

(Inherited from PublishSubscribeSession)
EndSubscribe(IAsyncResult)

Ends the Subscribe operation initiated by BeginSubscribe.

(Inherited from PublishSubscribeSession)
EndUnsubscribe(IAsyncResult)

Ends the asynchronous operation started by BeginUnsubscribe method.

(Inherited from PublishSubscribeSession)
EndUpdateContact(IAsyncResult)

Ends the asynchronous operation initiated by BeginUpdateContact.

EndUpdateGroup(IAsyncResult)

Ends the asynchronous operation initiated by BeginUpdateGroup.

Events

NotificationReceived

Event handler to notify about contacts and groups changes.

SubscriptionStateChange

Raised when there are changes in the underlying subscription state.

(Inherited from PublishSubscribeSession)

Extension Methods

AddContactStoreMigrationHandler(ContactGroupServices, EventHandler<ContactStoreMigrationStatusChangedEventArgs>)
BeginGetAllContacts(ContactGroupServices, AsyncCallback, Object)
BeginGetAllContactsOfAGroup(ContactGroupServices, Int32, AsyncCallback, Object)
BeginGetAllGroups(ContactGroupServices, AsyncCallback, Object)
EndGetAllContacts(ContactGroupServices, IAsyncResult)
EndGetAllContactsOfAGroup(ContactGroupServices, IAsyncResult)
EndGetAllGroups(ContactGroupServices, IAsyncResult)
GetContactStoreMigrationStatus(ContactGroupServices)
RemoveContactStoreMigrationHandler(ContactGroupServices, EventHandler<ContactStoreMigrationStatusChangedEventArgs>)
SetRetryOnInitialSubscriptionDisabled(ContactGroupServices, Boolean)

Applies to