本文整理汇总了C#中Twilio.TwiML.TwilioResponse.Pause方法的典型用法代码示例。如果您正苦于以下问题:C# TwilioResponse.Pause方法的具体用法?C# TwilioResponse.Pause怎么用?C# TwilioResponse.Pause使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Twilio.TwiML.TwilioResponse
的用法示例。
在下文中一共展示了TwilioResponse.Pause方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IncomingCall
//
// GET: /Phone/
public ActionResult IncomingCall(string CallSid, string FromCity, string FromState, string FromZip, string FromCountry)
{
LocationalCall call = (LocationalCall)GetCall(CallSid);
StateManager.AddNewCall(call);
StateManager.AddToLog(CallSid, "Incoming call...");
call.City = FromCity;
call.Country = FromCountry;
call.ZipCode = FromZip;
call.State = FromState;
TwilioResponse response = new TwilioResponse();
response.BeginGather(new
{
action = Url.Action("ServiceRequest"),
timeout = 120,
method = "POST",
numDigits = 1
});
response.Say("Welcome to the Bank of Griff.");
response.Pause();
response.Say("Press 1 to manage your account.");
response.Say("Press 2 to take out a loan.");
response.Say("Press 3 to talk to a representative.");
response.Pause();
response.EndGather();
return SendTwilioResult(response);
}
示例2: Post
//public HttpResponseMessage Get(VoiceRequest request)
//{
// try
// {
// if (request != null)
// {
// repo.AddMessage(string.Format("unknown,\"{0}\",\"{1}\",starting", request.From, request.To));
// }
// else
// {
// repo.AddMessage("unknown,unknown,unknown,starting");
// }
// var response = new TwilioResponse();
// response.Say("G'day and welcome to the twilio monitoring thing...you should see your call appear on the web now...");
// //return response;
// return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
// }
// catch (Exception ex)
// {
// var response = new TwilioResponse();
// response.Say(ex.Message);
// response.Say(ex.StackTrace);
// return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
// }
//}
public HttpResponseMessage Post(VoiceRequest request)
{
try
{
if (request != null)
{
repo.AddMessage(string.Format("unknown,{0},{1},starting", request.From, request.To));
}
else
{
repo.AddMessage("unknown,unknown,unknown,starting");
}
var response = new TwilioResponse();
response.Say("G'day and welcome to the twilio monitoring thing...you should see your call appear on the web now...");
response.Pause(5);
response.Say("Good bye...");
//return response;
return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
}
catch (Exception ex)
{
var response = new TwilioResponse();
response.Say(ex.Message);
response.Say(ex.StackTrace);
return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
}
}
示例3: Index
//
// GET: /CallCenter/
public ActionResult Index()
{
var response = new TwilioResponse();
response.Pause(5);
response.Say("Thanks for calling the Music Store");
return TwiML(response);
}
示例4: Post
public HttpResponseMessage Post(VoiceRequest request, string pin)
{
var user = AuthenticationService.GetUser(pin);
var response = new TwilioResponse();
response.Say(string.Format("Hello {0}", user.Name));
response.Pause(2);
response.Hangup();
return this.TwiMLResponse(response);
}
示例5: Post
public HttpResponseMessage Post(VoiceRequest request, string userId)
{
var response = new TwilioResponse();
var usernames = new Dictionary<string, string>
{
{ "12345", "Tom" },
{ "23456", "Dick" },
{ "34567", "Harry" }
};
var username = usernames[userId];
response.Say(string.Format("Hello {0}", username));
response.Pause(5);
response.Hangup();
return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
}
示例6: SecondClientResponse
public TwiMLResult SecondClientResponse(CallContextModel model, string digits)
{
var response = new TwilioResponse();
try
{
model.CallerStatus = Request["CallStatus"];
switch (digits)
{
case "1":
// Update database second client is ready now and update status
Services.Call.ReceiverReadyNow(model.CallId);
Services.Call.UpdateCallStatus(model.CallId, model.CallerStatus, true);
response.Redirect(Url.Action("SecondClientReady", model));
break;
default:
response.Pause(10);
response.Redirect(Url.Action("SecondClientStart", model));
break;
}
}
catch (Exception e)
{
Log.Error("First client response. Error: ", e);
// Error
response.Say(ConferenceConst.ErrorMessage, new { voice = VoiceInConference, language = LanguageInConference });
response.Hangup();
}
return new TwiMLResult(response);
}
示例7: FirstClientStart
public TwiMLResult FirstClientStart(CallContextModel model)
{
var response = new TwilioResponse();
try
{
var call = Services.Call.GetByCallSid(Request["CallSid"]);
// Get info for call context
model.CallId = call.Id;
model.ReceiverSid = Request["CallSid"];
model.ReceiverStatus = Request["CallStatus"];
// Get first client and second client
var fromUser = Services.Users.GetUserById(model.CallerId);
var toUser = Services.Users.GetUserById(model.ReceiverId);
// Update call status
Services.Call.UpdateCallStatus(model.CallId, model.ReceiverStatus, false);
var greeting = string.Empty;
if (model.IsCustomer) // Customer initiate call >> Consultant called first
{
string template = ConferenceConst.CallMenuForTalkNow;
greeting = string.Format(template, fromUser.Name, model.NatureOfEnquiry);
}
else // Consultant initiate call >> Customer called first
{
string template = ConferenceConst.CallMenuForSchedule;
greeting = string.Format(template, toUser.Name, fromUser.Name, model.NatureOfEnquiry);
}
response.BeginGather(new { numDigits = 1, action = Url.Action("FirstClientResponse", model) });
response.Pause(2);
response.Say(greeting, new { voice = VoiceInConference, language = LanguageInConference });
response.EndGather();
response.Redirect(Url.Action("FirstClientStart", model));
}
catch (Exception e)
{
// Save Log
Log.Error("First client start. Error:", e);
// Error
response.Say(ConferenceConst.ErrorMessage, new { voice = VoiceInConference, language = LanguageInConference });
response.Hangup();
}
return new TwiMLResult(response);
}
示例8: FirstClientHold
public TwiMLResult FirstClientHold(CallContextModel model)
{
var response = new TwilioResponse();
try
{
bool pickedUp = Services.Call.ReceiverPickedUp(model.CallId);
bool ready = Services.Call.ReceiverReady(model.CallId);
// Update call status
model.ReceiverStatus = Request["CallStatus"];
Services.Call.UpdateCallStatus(model.CallId, model.ReceiverStatus, false);
if (pickedUp && ready)
{
// Join conference room
response.Redirect(Url.Action("FirstClientConference", model));
}
else
{
response.Pause(20);
if (model.IsCustomer) //do Customer initiate call >> Consultant called first
{
response.Say(ConferenceConst.WaitForCustomer, new { voice = VoiceInConference, language = LanguageInConference });
}
else // Consultant initiate call >> Customer called first
{
response.Say(ConferenceConst.WaitForConsultant, new { voice = VoiceInConference, language = LanguageInConference });
}
response.Redirect(Url.Action("FirstClientHold", model));
}
return new TwiMLResult(response);
}
catch (Exception e)
{
Log.Error("First client hold. Error: ", e);
// Error
response.Say(ConferenceConst.ErrorMessage, new { voice = VoiceInConference, language = LanguageInConference });
response.Hangup();
}
return new TwiMLResult(response);
}
示例9: ConsultantAfterCallResponse
public TwiMLResult ConsultantAfterCallResponse(CallContextModel model, string digits)
{
var response = new TwilioResponse();
var message = ConferenceConst.AcctionCompleted;
var specialist = new UserDto();
var call = new CallDto();
bool canWaiveFee = true;
int transcriptSuccess = 2;
try
{
if (digits.Equals("2") || digits.Equals("3") || digits.Equals("4") || digits.Equals("5"))
{
call = Services.Call.GetByCallSid(Request["CallSid"]);
if (string.IsNullOrWhiteSpace(model.RecordUrl))
{
model.RecordSid = call.RecordSid;
model.RecordDuration = call.RecordDuration;
model.RecordUrl = call.RecordUrl;
}
// Get specialist
if (model.IsCustomer) // Caller is customer
{
specialist = Services.Users.GetUserById(model.ReceiverId);
}
else
{
specialist = Services.Users.GetUserById(model.CallerId);
}
int startingTime = Convert.ToInt32(Services.SystemConfig.GetByKey(ParamatricBusinessRules.STARTING_TIME.ToString()).Value);
if (call.Duration <= startingTime)
{
canWaiveFee = false;
}
}
switch (digits)
{
case "1": // Dictate your follow up action
var statusCallBack = Utilities.FormatLink(Url.Action("VoiceMail", "Conference", model));
Services.Call.RedirectToVoiceMail(Request["CallSid"], statusCallBack);
break;
case "2": // Transcript consultation
// Send transcription request
transcriptSuccess = SendTranscriptionRequest(specialist.Id.ToString(), specialist.UserName,
specialist.Email, call.RecordUrl,
call.RecordDuration, call.Booking);
if (transcriptSuccess == 0)
{
message = ConferenceConst.BalanceNotEnoughForTranscript;
}
else if (transcriptSuccess == 1)
{
message = ConferenceConst.TranscriptError;
}
break;
case "3": // Play consultation record
response.Pause(5);
response.Play(model.RecordUrl);
break;
case "4": // Play consultation record and transcription
// Play consultation record
response.Pause(5);
response.Play(model.RecordUrl);
// Send transcription request
transcriptSuccess = SendTranscriptionRequest(specialist.Id.ToString(), specialist.UserName,
specialist.Email, call.RecordUrl,
call.RecordDuration, call.Booking);
if (transcriptSuccess == 0)
{
message = ConferenceConst.BalanceNotEnoughForTranscript;
}
else if (transcriptSuccess == 1)
{
message = ConferenceConst.TranscriptError;
}
break;
case "5": // Waive consultation fee
if (canWaiveFee)
{
response.Redirect(Url.Action("WaiveFeeAction", model));
}
else
{
response.Redirect(Url.Action("ConsultantAfterCall", model));
//.........这里部分代码省略.........
示例10: SecondClientStart
public ActionResult SecondClientStart(CallContextModel model)
{
var response = new TwilioResponse();
try
{
// Get info for call context
model.CallerSid = Request["CallSid"];
model.CallerStatus = Request["CallStatus"];
Services.Call.UpdateCallStatus(model.CallId, model.CallerStatus, true);
Services.Call.ReceiverHasPickedUp(model.CallId);
// Get fromUser and toUser
var fromUser = Services.Users.GetUserById(model.CallerId);
var toUser = Services.Users.GetUserById(model.ReceiverId);
var message = string.Empty;
if (model.IsCustomer) // Customer initiate call >> Second client and FromUser is customer
{
string template = ConferenceConst.SecondClientStartForTalkNow;
message = string.Format(template, fromUser.Name, toUser.Name, model.NatureOfEnquiry);
}
else // Consultant initiate call >> Second client and FromUser is consultant
{
string template = ConferenceConst.SecondClientStartForSchedule;
message = string.Format(template, fromUser.Name, toUser.Name);
}
response.BeginGather(new { numDigits = 1, action = Url.Action("SecondClientResponse", model) });
response.Pause(2);
response.Say(message, new { voice = VoiceInConference, language = LanguageInConference });
response.EndGather();
response.Redirect(Url.Action("SecondClientStart", model));
return new TwiMLResult(response);
}
catch (Exception e)
{
Log.Error("Second client start. Error: ", e);
// Error
response.Say(ConferenceConst.ErrorMessage, new { voice = VoiceInConference, language = LanguageInConference });
response.Hangup();
}
return new TwiMLResult(response);
}