Edit

Share via


McuSession Class

Definition

Encapsulates common MCU operations and events.

public ref class McuSession abstract
public abstract class McuSession
type McuSession = class
Public MustInherit Class McuSession
Inheritance
McuSession
Derived

Remarks

McuSession is a modality-agnostic base class from which McuSession implementations supporting specific media types are derived. InstantMessagingMcuSession and AudioVideoMcuSession are examples of such implementations for the "message" and "audio, video" media types, respectively. McuSession is one of the base components of the modality-extensible conferencing framework. An McuSession implementation conceptualizes the set of operations that are relevant to a specific MCU type. It also encapsulates the roster events that are relevant to that MCU type.

Note that an McuSession is always contained within a ConferenceSession object. An McuSession is described as bound to a conference if the the parent ConferenceSession object has joined a conference that also supports the MCU type represented by the McuSession. A ConferenceSession object on the other hand may contain one or more McuSessions, each represent a different MCU type. An McuSession needs to be bound to a conference before invoking MCU operations or receiving MCU events.

The McuSession does not represent a Session Initiation Protocol (SIP) or a Centralized Conference Command Protocol (C3P) session with the MCU. All McuSession operations are internally proxied to the parent ConferenceSession object which manages the signaling and subscription sessions with the focus. The focus on the other hand proxies any MCU commands to the MCU. MCU events are also internally proxied from the ConferenceSession to the relevant McuSession object.

Constructors

McuSession(String)

Creates a new instance of the McuSession class.

Properties

ConferenceSession

Gets the parent ConferenceSession object.

McuInformation

Gets information about the MCU including the MCU address or null if the MCU session is not bound to a conference (The parent ConferenceSession has not joined a conference yet, or the joined conference does not support the corresponding MCU type).

State

Gets the state of the MCU as communicated by the focus.

SupportedMediaTypes

Gets the media types supported by the MCU type.

Methods

BeginDialOut(String, McuDialOutOptions, AsyncCallback, Object)

Sends a request to MCU to initiate a call to the supplied destination URI.

BeginEject(ConversationParticipant, AsyncCallback, Object)

Ejects a participant from the MCU.

BeginEject(ConversationParticipant, EjectOptions, AsyncCallback, Object)

Ejects a participant from the MCU.

BeginEject(String, AsyncCallback, Object)

Ejects a participant or an endpoint from the MCU based on the supplied URI.

BeginEject(String, EjectOptions, AsyncCallback, Object)

Ejects a participant or an endpoint from the MCU based on the supplied URI.

BeginSendCommand(ConferenceCommand, AsyncCallback, Object)

Send a request to the MCU via the focus.

BeginSendCommand(ConferenceCommand, ConferenceCommandOptions, AsyncCallback, Object)

Send a request to the MCU via the focus.

BeginTransfer(Call, McuTransferOptions, AsyncCallback, Object)

Transfers an established two party call to the MCU.

EndDialOut(IAsyncResult)

Waits for the pending operation to complete.

EndEject(IAsyncResult)

Waits for the pending eject operation to complete.

EndSendCommand(IAsyncResult)

Waits for the pending send command to complete.

EndTransfer(IAsyncResult)

Waits for the pending operation to complete.

GetLocalParticipantEndpoints()

Gets a snapshot collection of the endpoints used by the local participant to communicate with the MCU.

GetRemoteParticipantEndpoints()

Gets a snapshot collection of the endpoints used by remote participants to communicate with the MCU.

HandleParticipantEndpointAttendanceChanged(Collection<KeyValuePair<ParticipantEndpoint, McuParticipantEndpointProperties>>, Collection<KeyValuePair<ParticipantEndpoint, McuParticipantEndpointProperties>>)

Notification that a participant endpoint(s) has left or joined the MCU.

HandleParticipantEndpointPropertiesChanged(ParticipantEndpoint, PropertyMergeInformation<McuParticipantEndpointProperties>)

Process updated MCU participant endpoint properties.

HandlePropertiesChanged(PropertyMergeInformation<McuSessionProperties>)

Process updated session properties.

RaiseAttendanceChanged<TProperties>(Collection<KeyValuePair<ParticipantEndpoint, McuParticipantEndpointProperties>>, Collection<KeyValuePair<ParticipantEndpoint, McuParticipantEndpointProperties>>, EventHandler<ParticipantEndpointAttendanceChangedEventArgs<TProperties>>)

Raises a attendance changed event on behalf of the derived class.

RaiseSessionParticipantPropertyChanged<TProperties>(ParticipantEndpoint, PropertyMergeInformation<McuParticipantEndpointProperties>, EventHandler<ParticipantEndpointPropertiesChangedEventArgs<TProperties>>)

Raises a property changed event for the McuSessionParticipant.

RaiseSessionPropertyChanged<TProperties>(PropertyMergeInformation<McuSessionProperties>, EventHandler<PropertiesChangedEventArgs<TProperties>>)

Raises a property changed event on behalf of the derived class.

ResetCore()

Resets the McuSession instance for reuse.

ToRealTimeAddress(McuSession)

Converts this McuSession object to the MCU address for dial in purposes.

ToString()

Returns a String that represents the current McuSession.

TryGetParticipantEndpointProperties(ParticipantEndpoint, McuParticipantEndpointProperties)

Gets the basic properties for a participant endpoint in the MCU.

Operators

Implicit(McuSession to RealTimeAddress)

Converts this McuSession object to the MCU address for dial in purposes.

Events

StateChanged

Raised when the MCU state changes are reported back to the application.

Extension Methods

BeginSendCommand(McuSession, ConferenceCommand, ConferenceCommandOptions, AsyncCallback, Object)
EndSendCommand(McuSession, IAsyncResult)

Applies to