Refers a URI to the remote participant.

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

Syntax

Visual Basic (Declaration)
Public 
Function 
BeginRefer ( _
	
referTarget 
As 

RealTimeAddress, _
	
referStatus 
As 

ReferStatus, _
	
signalingHeaders 
As 
IEnumerable(
Of 

SignalingHeader), _
	
contentType 
As 
ContentType, _
	
body 
As 
Byte(), _
	
userCallback 
As 
AsyncCallback, _
	
state 
As 
Object _
) 
As 
IAsyncResult
C#
public 
IAsyncResult 
BeginRefer(
	

RealTimeAddress 
referTarget,
	
ReferStatus

referStatus,
	
IEnumerable<

SignalingHeader> 
signalingHeaders,
	
ContentType 
contentType,
	
byte[] 
body,
	
AsyncCallback 
userCallback,
	
Object 
state
)
Visual C++
public:
IAsyncResult^ 
BeginRefer(
	

RealTimeAddress^ 
referTarget, 
	

ReferStatus^ 
referStatus, 
	
IEnumerable<

SignalingHeader^>^ 
signalingHeaders, 
	
ContentType^ 
contentType, 
	
array<
unsigned char>^ 
body, 
	
AsyncCallback^ 
userCallback, 
	
Object^ 
state
)
JavaScript
function 
beginRefer(
referTarget, 
referStatus, 
signalingHeaders, 
contentType, 
body, 
userCallback, 
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: IEnumerable < (Of < ( SignalingHeader > ) > )
Headers required for this refer.
contentType
Type: ContentType
Content type describing the body. Can be null if body is null.
body
Type: array< Byte > [] () []
The body for the data. Can be null.
userCallback
Type: AsyncCallback
The method to be called when the asynchronous operation is completed.
state
Type: Object
A user-provided object that distinguishes this particular asynchronous operation from other asynchronous operations.

Return Value

An IAsyncResult that references the asynchronous operation.

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.

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.

See Also