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.
- options
Type: Microsoft.Rtc.Collaboration.ConferenceJoinOptions
Options to customize joining a conference. Could be set to null.
- 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.