This method can be used to send a reliable provisional response with option to send answer for early media. If the inviter supports 100rel and the local policy is not unsupported, this method will wait for the PRACK. Otherwise, this method will not require 100rel. Any application that supports 100rel is recommended to use this method for sending provisional response. SendProvisional method can be used only when the application knows for sure that the remote does not require 100rel.

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

Syntax

Visual Basic (Declaration)
Protected 
Function 

BeginSendReliableProvisionalResponse ( _
	
responseCode 
As 
Integer, _
	
needEarlyMediaSupport 
As 
Boolean, _
	
options 
As 

CallProvisionalResponseOptions, _
	
userCallback 
As 
AsyncCallback, _
	
state 
As 
Object _
) 
As 
IAsyncResult
C#
protected 
IAsyncResult 

BeginSendReliableProvisionalResponse(
	
int 
responseCode,
	
bool 
needEarlyMediaSupport,
	

CallProvisionalResponseOptions 
options,
	
AsyncCallback 
userCallback,
	
Object 
state
)
Visual C++
protected:
IAsyncResult^ 

BeginSendReliableProvisionalResponse(
	
int 
responseCode, 
	
bool 
needEarlyMediaSupport, 
	

CallProvisionalResponseOptions^ 
options, 
	
AsyncCallback^ 
userCallback, 
	
Object^ 
state
)
JavaScript
function 

beginSendReliableProvisionalResponse(
responseCode, 
needEarlyMediaSupport, 
options, 
userCallback, 
state);

Parameters

responseCode
Type: Int32
The response code.
needEarlyMediaSupport
Type: Boolean
The flag indicating whether the provisional response need to send media description
options
Type: Microsoft.Rtc.Collaboration . . :: . CallProvisionalResponseOptions
Optional parameters for sending the provisional response.
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

A provisional response must be sent on primary signaling session of the call. A provisional response could be sent only on an Incoming call, before the call is established.

Exceptions

Exception Condition
ArgumentOutOfRangeException Thrown when the responseCode parameter passed is not in the valid range (101-199) for sending provisional response.
ArgumentNullException Thrown when the optionsparameter contains null values.
ArgumentException Thrown when the optionsparameter contains invalid signaling headers.
InvalidOperationException

Thrown when the call is not in the valid state or the remote side does not support reliable priovisional response.

Also, thrown when the needEarlyMediaSupportparameter is set and this method is called while early media is already being negotiated.

See Also