ConferenceSession.BeginJoin Method (String, ConferenceJoinOptions, AsyncCallback, Object)

Joins a conference based on the provided conference URI and join options.

Namespace:  Microsoft.Rtc.Collaboration
Assembly:  Microsoft.Rtc.Collaboration (in Microsoft.Rtc.Collaboration.dll)

Syntax

'Declaration
Public Function BeginJoin ( _
    conferenceUri As String, _
    options As ConferenceJoinOptions, _
    userCallback As AsyncCallback, _
    state As Object _
) As IAsyncResult
'Usage
Dim instance As ConferenceSession
Dim conferenceUri As String
Dim options As ConferenceJoinOptions
Dim userCallback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult

returnValue = instance.BeginJoin(conferenceUri, _
    options, userCallback, state)
public IAsyncResult BeginJoin(
    string conferenceUri,
    ConferenceJoinOptions options,
    AsyncCallback userCallback,
    Object state
)

Parameters

  • conferenceUri
    Type: System.String
    The URI of the conference to join.
  • userCallback
    Type: System.AsyncCallback
    The method to be called when the asynchronous operation is completed.
  • state
    Type: System.Object
    A user-provided object that distinguishes this particular asynchronous operation from other asynchronous operations.

Return Value

Type: System.IAsyncResult
An IAsyncResult that references the asynchronous operation.

Exceptions

Exception Condition
InvalidOperationException

Thrown when the operation is not valid at the given conference session state or if the application attempted to join a difference conference after it received a conference invitation or an Mcu dial-out.

ArgumentException

Thrown when the supplied conferenceUri is null or empty.

Remarks

Joining a conference is required to receive roster events on the ConferenceSession and McuSession implementations.

An endpoint supporting privileged operations is required to join as a trusted application.

Applications can customize joining a conference by passing a ConferenceJoinOptions instance.

An application may land in the lobby depending on how it joined the conference and the current conference settings. An application joining a conference as trusted will never land in the conference lobby.

When an application lands in the lobby, the State will be transitioned to InLobby and the State will be also transitioned to InLobby. The userCallback will not be invoked until the application has either been admitted into the conference by a leader, removed from the lobby by a leader or left the lobby.

If the application was admitted into the conference, the EndJoin(IAsyncResult) method will not throw any exceptions. The State will be transitioned to Conferenced and the State will be transitioned to Connected. On the other hand, if the application was removed from the lobby by a conference leader, the EndJoin(IAsyncResult) method will throw a ConferenceFailureException with Reason set to set to UserDenied or UserRemoved.

When an application leaves the lobby by calling BeginTerminate(AsyncCallback, Object), then the EndJoin(IAsyncResult) method will throw an OperationFailureException. An OperationTimeoutException will be thrown if the application lobby wait period expired.

Lobby participants receive limited information about the conference, therefore not all the ConferenceSession properties are populated while in the lobby. Also, lobby participants do not receive any information about other participants in the conference or waiting in the lobby and they are not able to perform any operations on the conference like modifying the conference access level.

See Also

Reference

ConferenceSession Class

ConferenceSession Members

BeginJoin Overload

Microsoft.Rtc.Collaboration Namespace