public virtual Call RedirectCall(string callSid, CallOptions options)
{
Require.Argument("CallSid", callSid);
Require.Argument("Url", options.Url);
var request = new RestRequest(Method.POST);
request.Resource = "Accounts/{AccountSid}/Calls/{CallSid}.json";
request.AddParameter("CallSid", callSid, ParameterType.UrlSegment);
request.AddParameter("Url", options.Url);
if (options.Method.HasValue()) request.AddParameter("Method", options.Method);
if (options.FallbackUrl.HasValue()) request.AddParameter("FallbackUrl", options.FallbackUrl);
if (options.FallbackMethod.HasValue()) request.AddParameter("FallbackMethod", options.FallbackMethod);
if (options.StatusCallback.HasValue())
{
request.AddParameter("StatusCallback", options.StatusCallback);
request.AddParameter("StatusCallbackUrl", options.StatusCallback); //workaround for issue DEVX-401
}
if (options.RecordingStatusCallback.HasValue())
{
request.AddParameter("RecordingStatusCallback", options.RecordingStatusCallback);
}
if (options.RecordingStatusCallbackMethod.HasValue())
{
request.AddParameter("RecordingStatusCallbackMethod", options.RecordingStatusCallbackMethod);
}
if (options.RecordingChannels.HasValue()) request.AddParameter("RecordingChannels", options.RecordingChannels);
if (options.StatusCallbackMethod.HasValue()) request.AddParameter("StatusCallbackMethod", options.StatusCallbackMethod);
return Execute<Call>(request);
}