PresenceState Class

Definition

This class represents the state presence category and denotes the availability of a presentity.

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

Remarks

UserEndpoints are strongly advised to use the BeginPublishPresence(ICollection<PresenceCategory>, AsyncCallback, Object) API so that the instance is published in appropriate containers that allow the aggregation script to react accordingly.

Application endpoints usually prefer to skip any aggregation logic and publish their aggregate state directly since they don't do any watcher management.

When subscribing to remote presentities, this category is automated requested for.

Constructors

PresenceState(Int32, PresenceActivity, PhoneCallType, String)

Creates an instance of the phone state category.

PresenceState(PresenceCategoryWithMetaData)

Creates an instance of the PresenceState class.

PresenceState(PresenceStateType, Int32, PresenceActivity)

Creates an instance of the PresenceState(MachineState/AggregateMachineState/AggregateState/UserState) class.

Fields

AvailabilityValueUnknown

Constant with value -1, represents the unknown availability value.

InstanceIdUnknown

Instance ID is unknown.

(Inherited from PresenceCategory)

Properties

Activity

Gets or sets the activity token.

Availability

Gets the availability for presence state.

AvailabilityValue

Gets or sets the numeric value of availability of presence State, returns -1 if availability value is unknown.

CategoryName

Gets the name of the category.

(Inherited from PresenceCategory)
DeviceType

Gets or sets the device type for MachineState/AggregateState/AggregateMachineState.

EndpointAway

MachineState is Away.

EndpointIdle

MachineState is Idle-Online.

EndpointLocation

Gets or sets the endpoint location with values such as "home", "office", "mobile", or custom location.

EndpointOnline

MachineState is Online.

IsManual

Gets or sets whether this presence is set manually or automatically.

LastActive

Gets or sets the last active time.

MeetingLocation

Gets or sets the meeting location.

MeetingSubject

Gets or sets the meeting subject.

PersistentOnline

Aggregate Presence State is Online, only used as presence for applications like BOT.

StartTime

Gets or sets the start time from which this state will be active.

StateType

Gets the state type representing this presence state.

TimeZoneAbbreviation

Gets or sets the time zone abbreviation.

TimeZoneBias

Gets or sets the time zone bias.

TimeZoneName

Gets or sets the time zone name.

UserAvailable

User state is Available, Availability is 3500 and activity is "online".

UserAway

User state is Away, Availability is 15500 and activity is "away".

UserBeRightBack

User state is BeRightBack, Availability is 12500 and activity is "be-right-back".

UserBusy

User state is Busy, Availability is 6500 and activity is "busy".

UserDoNotDisturb

User state is DoNotDisturb, Availability is 9500.

UserOffline

User state is Offline, Availability is 18000.

UserOffWork

User state is OffWork, Availability is 15500 with activity is "off-work".

Methods

CreateExpiryPolicy()

Determines the expiry policy for this category.

CreateInstanceId(RealTimeEndpoint)

Determines the instance id for this category.

GetCategoryDataXml()

Returns this instance of PresenceState as a serialized xml.

PhoneInACall(String)

Returns the phone state as on-the-phone.

PhoneInAConference(String)

Returns the phone state as in-a-conference.

SetExpiryTime(Int32)

Allows the userstate to be active for a specified number of seconds.

Extension Methods

SetGruu(PresenceState, String)

Applies to