SignalingSession.BeginRefer Method (RealTimeAddress, ReferStatus, IEnumerable<SignalingHeader>, AsyncCallback, Object)
Refers a URI to the remote participant.
Namespace: Microsoft.Rtc.Signaling
Assembly: Microsoft.Rtc.Collaboration (in Microsoft.Rtc.Collaboration.dll)
Syntax
'Declaration
Public Function BeginRefer ( _
referTarget As RealTimeAddress, _
referStatus As ReferStatus, _
signalingHeaders As IEnumerable(Of SignalingHeader), _
userCallback As AsyncCallback, _
state As Object _
) As IAsyncResult
'Usage
Dim instance As SignalingSession
Dim referTarget As RealTimeAddress
Dim referStatus As ReferStatus
Dim signalingHeaders As IEnumerable(Of SignalingHeader)
Dim userCallback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult
returnValue = instance.BeginRefer(referTarget, _
referStatus, signalingHeaders, userCallback, _
state)
public IAsyncResult BeginRefer(
RealTimeAddress referTarget,
ReferStatus referStatus,
IEnumerable<SignalingHeader> signalingHeaders,
AsyncCallback userCallback,
Object state
)
Parameters
- referTarget
Type: Microsoft.Rtc.Signaling.RealTimeAddress
RealTimeAddress that contains the refer URI
- referStatus
Type: Microsoft.Rtc.Signaling.ReferStatus
The refer status object provided by the caller to signal refer state change
- signalingHeaders
Type: System.Collections.Generic.IEnumerable<SignalingHeader>
Headers required for this refer. Can be 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 |
---|---|
ArgumentException | Thrown when the refer status object is not Idle or is already used by another session. |
InvalidOperationException | Thrown when called in an invalid state. |
Remarks
The platform supports multiple Refer operations at the same time. Some clients may not support parallel Refer operations. Until the first notification is received, the capability of the remote client is not known. For this reason, the first Refer operation is special in the sense the subsequent Refer operations are queued until first notify is received to learn the capability of the remote client. If the remote supports parallel Refer operations, the queued Refer operations are all released. If the remote does not support parallel Refer operations, the Refer operations are carried out one at a time. When the terminating notify is received, the next Refer operation is started. For this reason, calling synchronous method to send Refer or waiting on the operation to complete (EndRefer) before the callback is called are highly discouraged.