Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface MePerson

Represents the signed-in user.

Essentially, this object is a person object with the ability to change certain properties. It must be noted that the user may be signed on multiple endpoints and all these endpoints may be sending simultaneous requests to change the online status, change the note text and so on. The server aggregates these requests and notifies all the endpoints of the aggregated user state change.

Hierarchy

Index

Properties

activity

activity: Property<string>

The custom user-defined activity text augments the online status value.

It is encoded in UTF-16 and in the locale specified during application creation. The value of this string is localized in the current application's culture provided the localized string exists in the contact's publication.

Otherwise, the value of this string is one of the well known activity strings in which case the application is responsible for the localization. The well known ones are:

"in-a-meeting", (user has an accepted meeting) "urgent-interruptions-only", (busy) "on-the-phone", (speaking with one person) "in-a-conference", (speaking with more than one person) "off-work", "out-of-office", "presenting".

avatarUrl

avatarUrl: Property<string>

This may either be a remote URL to a PNG or a JPEG picture or a data URL with embedded picture data.

capabilities

capabilities: Capabilities

Like note, the capabilities is not a property, but an object containing the following sub-properties (all of which contain boolean flags indicating whether the person is capable of communicating using certain modalities):

 var modalities = person.capabilities;
 if (!modalities.audio())
     console.log("audio not supported");

Since capabilities is not a property itself, it can not be subscribed to; but its sub-properties can be subscribed to:

 // get capabilities object
 var modalities = person.capabilities;
 // subscribe to changes of capabilities.audio
 modalities.audio.subscribe();
 modalities.audio.changed((f) => {
     console.log("audio modality is " + f ?
         'supported' : 'not supported');
 });

company

company: Property<string>

department

department: Property<string>

displayName

displayName: Property<string>

email

email: Property<string>

Alias to the first email address in the emails collection.

emails

emails: Collection<Email>

All email addresses.

endpointType

endpointType: Property<EndpointType>

The device type on which the contact has been the most active.

id

id: Property<string>

SIP URI of this person. i.e. "sip:johndoe@contoso.com"

lastSeenAt

lastSeenAt: Property<Date>

When the status is 'Away' this indicates when the person was last available

location

location: Location & { reset(): Promise<void>; }

var location = person.location(); // read the location person.location.subscribe(); // subscribe to location changes person.location.changed((location) => { console.log("new location is " + location); }); Performing a reset on this tells the server to pick the most appropriate value for location

note

note: Note & { reset(): Promise<void>; }

var note = person.note; // get the note object note.text.subscribe(); // subscribe to changes of note.text note.text.changed((t) => { console.log("new note is " + t); }); Performing a reset on this tells the server to pick the most appropriate value for note

office

office: Property<string>

phoneNumbers

phoneNumbers: Collection<PhoneNumber>

Sorted by type.

status

status: Status & { reset(): Promise<void>; }

Performing a reset on this tells the server to pick the most appropriate value for status

title

title: Property<string>