public ActionResult Index(VoiceRequest request) { var response = new TwilioResponse(); if (!string.IsNullOrEmpty(request.To)) { var callerId = "+15017250604"; // wrap the phone number or client name in the appropriate TwiML verb // by checking if the number given has only digits and format symbols if (Regex.IsMatch(request.To, "^[\\d\\+\\-\\(\\) ]+$")) { response.Dial(new Number(request.To), new { callerId }); } else { response.Dial(new Client(request.To), new { callerId }); } } else { response.Say("Thanks for calling!"); } return(TwiML(response)); }
private TwilioResponse AddToResponse(TwilioResponse response, Agent agent) { var dialAttributes = new { method = "GET", action = GetEcho("dial"), timeout = agent.TimeOut, record = agent.Record ? "record-from-answer" : "do-not-record" }; switch (agent.Answer) { case AnswerType.Number: var number = new Number(agent.RedirectToNumber); AddUrlAttr(number, GetEcho("client")); response.Dial(number, dialAttributes); break; case AnswerType.Client: var client = new Client(agent.ClientID); AddUrlAttr(client, GetEcho("client")); response.Dial(client, dialAttributes); break; case AnswerType.Sip: response.Dial(new Sip(agent.ClientID), dialAttributes); break; } return(response); }
public ActionResult Call(string source, string target) { var response = new TwilioResponse(); if (Regex.IsMatch(target, @"^[\d\+\-\(\) ]+$")) { response.Dial(new Number(target), new { callerId = source }); } else { response.Dial(new Client(target), new { callerId = source }); } return(new TwiMLResult(response)); }
public void Can_Generate_Dial_And_Client_Noun() { var response = new TwilioResponse(); response.Dial(new Client("Jenny")); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Can_Generate_Dial_And_Conf_Object_Param() { var response = new TwilioResponse(); response.Dial(new Conference("room1")); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
// /Client/CallXamarin public ActionResult CallXamarin() { var response = new TwilioResponse(); response.Dial(new Client(_clientName)); return(new TwiMLResult(response)); }
public void Example_1() { var response = new TwilioResponse(); response.Dial(new Number("415-123-4567", new { sendDigits = "wwww1928" })); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Can_Generate_Dial_And_Attributes() { var response = new TwilioResponse(); response.Dial("555-111-2222", new { action = "dial.xml", method = "GET", timeout = "30", hangupOnStar = "true", timeLimit = "1000", callerId = "555-111-2222" }); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public TwilioResponse PingTeamMember(string teamId, string callingPartyId, int idx) { var response = new TwilioResponse(); Contact contact = directory.GetTeamMember(teamId, idx); Team team = directory.GetTeam(teamId); if (contact != null) { if (idx == 0) { response.Say(string.Format("Now attempting to connect you to {0}", team.Name)); } else { response.Say("Trying next team member..."); } response.Say("We are now contacting " + contact.Name + ", please hold the line"); response.Dial(new Number(contact.MobileNumber, new { url = string.Format("/Router/PreConnect?callingPartyId={0}", callingPartyId) }), new { callerId = "+442033229301", timeLimit = 5, action = string.Format("/Router/NextTeamMember?callingPartyId={0}&TeamId={1}&Idx={2}", callingPartyId, teamId, idx) }); } else { response.Say("Couldn't find a team member..."); response.Hangup(); } return(response); }
public void Can_Generate_Dial() { var response = new TwilioResponse(); response.Dial("555-111-2222"); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public static TwilioResponse GenerateConnectConference( string conferenceId, string waitUrl, bool startConferenceOnEnter, bool endConferenceOnExit) { var response = new TwilioResponse(); var conference = new Conference(conferenceId, new { waitUrl, startConferenceOnEnter, endConferenceOnExit }); return(response.Dial(conference)); }
public void Example_1() { var response = new TwilioResponse(); response.Dial("415-123-4567"); response.Redirect("http://www.foo.com/nextInstructions"); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
private static TwiMLResult Dial(string phoneNumber) { var response = new TwilioResponse(); response.Dial(phoneNumber); return(new TwiMLResult(response)); }
public void Can_Generate_Dial_And_Number_Object_Param() { var response = new TwilioResponse(); response.Dial(new Number("555-111-2222")); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void _1_3b() { var response = new TwilioResponse(); response.Dial("+13105551212"); response.Say("The call failed or the remote party hung up. Goodbye."); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Can_Generate_Dial_And_Sip_Object_And_Sip_Parameters() { var response = new TwilioResponse(); response.Dial(new Sip("*****@*****.**", new { username = "******", password = "******", url = "asdsad", method = "POST" })); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Can_Generate_Dial_And_Queue_Object_Param() { var response = new TwilioResponse(); response.Dial(new Queue(new { reservationSid = "RSXXXXX", postworkActivitySid = "PWXXXXXX" })); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public ActionResult RouteOutgoing(string target) { var response = new TwilioResponse(); response.Dial(target, new { callerId = "+14842414922" }); return(TwiML(response)); }
public void Can_Generate_Dial_And_Sip_Object() { var response = new TwilioResponse(); response.Dial(new Sip("*****@*****.**")); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Example_2() { var response = new TwilioResponse(); response.Dial("415-123-4567", new { action = "/handleDialCallStatus.php", method = "GET" }); response.Say("I am unreachable"); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Example_1() { var response = new TwilioResponse(); response.Dial("515-123-4567"); response.Say("Goodbye"); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Can_Generate_Dial_And_Queue() { var response = new TwilioResponse(); response.Dial(new Queue("example")); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Example_1() { var response = new TwilioResponse(); response.Dial("415-123-4567"); response.Redirect("http://www.foo.com/nextInstructions"); Assert.True(IsValidTwiML(response.ToXDocument())); }
public void _1_3b() { var response = new TwilioResponse(); response.Dial("+13105551212"); response.Say("The call failed or the remote party hung up. Goodbye."); Assert.True(IsValidTwiML(response.ToXDocument())); }
// /Client/InitiateCall?source=5551231234&target=5554561212 public ActionResult InitiateCall(string from, string to)//Source and Target do not work for incomming calls from a phone, must be From and To { var response = new TwilioResponse(); // Add a <Dial> tag that specifies the callerId attribute response.Dial(to, new { callerId = from }); return(new TwiMLResult(response)); }
public ActionResult Connect(string phoneNumber) { var response = new TwilioResponse(); var callerIDAttribute = new { callerId = _credentials.PhoneNumber }; if (phoneNumber != null) { response.Dial(callerIDAttribute, new Number(phoneNumber)); } else { response.Dial(callerIDAttribute, new Client("support_agent")); } return(TwiML(response)); }
public async Task <HttpResponseMessage> VoiceCallBack(FormDataCollection value) { var fromPhoneNumber = settings.FromPhoneNumber.Replace("+1", ""); var toPhoneNumber = value.GetValues("PhoneNumber")[0]; var response = new TwilioResponse(); response.Dial(toPhoneNumber, new { @callerId = fromPhoneNumber }); return(Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter())); }
public void Can_Generate_Dial_And_Sip_Object_And_Dial_Parameters() { var response = new TwilioResponse(); response.Dial( new Sip("*****@*****.**"), new { action = "dial.xml", method = "GET", timeout = "30", hangupOnStar = "true", timeLimit = "1000", callerId = "555-111-2222" } ); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Can_Generate_Dial_And_Mixed_Number_And_Client_Nouns() { var response = new TwilioResponse(); response.Dial( new Number("+15551112222"), new Client("Tommy"), new Number("+15553334444"), new Number("+15556667777"), new Client("Jenny") ); Debug.Write(response.ToString()); Assert.True(IsValidTwiML(response.ToXDocument())); }
private TwilioResponse PingPerson(VoiceRequest request, string callingPartyId) { TwilioResponse response = new TwilioResponse(); var person = directory.GetContact(request.Digits); if (person != null) { if (person.AcceptCalls) { response.Say("We are now contacting " + person.Name + ", please hold the line"); response.Dial(new Number(person.MobileNumber, new { url = string.Format("/Router/PreConnect?callingPartyId={0}", callingPartyId) }), new { callerId = "+442033229301" }); } else { var divertedTo = directory.GetContact(person.DivertToId); if (divertedTo != null) { response.Say(person.Name + " is not currently accepting calls. Diverting you to " + divertedTo.Name); response.Dial(new Number(divertedTo.MobileNumber, new { url = string.Format("/Router/PreConnect?callingPartyId={0}", callingPartyId) }), new { callerId = "+442033229301" }); } else { response.Say("Unable to find someone to divert to..."); response.Hangup(); } } } else { response.Say("Person not found"); } return(response); }
public ActionResult Index(VoiceRequest request) { var response = new TwilioResponse(); if (!string.IsNullOrEmpty(request.To)) { response.Dial(new Number(request.To), new { callerId = "+15017250604" }); } else { response.Say("Thanks for calling!"); } return(TwiML(response)); }
public void Can_Generate_Dial_And_Mixed_Number_And_Client_Nouns() { var response = new TwilioResponse(); response.Dial( new Number("+15551112222"), new Client("Tommy"), new Number("+15553334444"), new Number("+15556667777"), new Client("Jenny") ); Debug.Write(response.ToString()); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public HttpResponseMessage Get() { var client = new RestClient() { Timeout = 10000, BaseUrl = new System.Uri("https://<subdomain>.pagerduty.com/api/") }; client.AddDefaultParameter(new Parameter { Name = "Authorization", Value = "Token token=<token>", Type = ParameterType.HttpHeader }); var onCallRequest = new RestRequest("v1/escalation_policies/on_call", Method.GET); IRestResponse onCallResponse = client.Execute(onCallRequest); var content = onCallResponse.Content; dynamic pagerDutyOnCall = JsonConvert.DeserializeObject(content); dynamic user = pagerDutyOnCall.escalation_policies[0].escalation_rules[0].rule_object; User userObject = new Models.User(); userObject.id = user.id; userObject.name = user.name; userObject.email = user.email; var userRequest = new RestRequest("v1/users/" + userObject.id + "/contact_methods", Method.GET); IRestResponse userResponse = client.Execute(userRequest); var userDetails = userResponse.Content; dynamic userMobile = JsonConvert.DeserializeObject(userDetails); var contactCounts = userMobile.contact_methods.Count; for (int i = 0; i < contactCounts; i++) { if (userMobile.contact_methods[i].type == "phone") { userObject.mobile = "+" + userMobile.contact_methods[i].country_code + userMobile.contact_methods[i].address; } } var twilioResponse = new TwilioResponse(); twilioResponse.Say("Welcome to the Support Centre. Please wait while we route your call."); twilioResponse.Dial(userObject.mobile); return(this.Request.CreateResponse(HttpStatusCode.OK, twilioResponse.Element, new XmlMediaTypeFormatter())); }
public void _1_4b() { var digits = 1; var response = new TwilioResponse(); if (digits == 1) { response.Dial("+13105551212"); response.Say("The call failed or the remote party hung up. Goodbye."); } else if (digits == 2) { response.Say("Record your monkey howl after the tone."); response.Record(new { maxLength = 30, action = "hello-monkey-handle-recording.php" }); } Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
public void Example_6() { var response = new TwilioResponse(); response.Dial(new Conference("LoveTwilio"), new { action = "handleLeaveConference.php", method = "POST", hangupOnStar = "true", timeLimit = 30 }); }
public void Can_Generate_Dial_And_Sip_Object_And_Sip_Parameters() { var response = new TwilioResponse(); response.Dial(new Sip("*****@*****.**", new { username="******", password="******", url="asdsad", method="POST" })); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
//create a TwiML response to transfer the call public static TwilioResponse GetResponseTransfer(TwilioRequestVoice request, Entity.Client client, Entity.Call call) { TwilioResponse resp = new TwilioResponse(); if (call != null && !string.IsNullOrEmpty(call.TransferTo)) { if (log.IsDebugEnabled) { log.Debug("GetResponseTransfer.request." + (request == null ? "null" : request.ToJsonString())); } if (request.CallRecord) GetResponseRecord(resp, request, client, call); resp.Pause(1); resp.Say("You are being transferred now."); //TODO: pull caller id from database //caller ID is required for outbound calls; it must be registered with your twilio account string callerId = ConfigurationManager.AppSettings["DemoCallerId"]; Twilio.TwiML.Number number = new Twilio.TwiML.Number(call.TransferTo); resp.Dial(number, new { callerId = callerId }); //update call result if (call != null) { call.CallResult = "transfered to " + call.TransferTo; call.Save(); } } else { if (log.IsDebugEnabled) { log.Error("GetResponseTransfer.NoTransferNumber.request." + (request == null ? "null" : request.ToJsonString())); } //no transfer number, send to voicemail resp = GetResponseVoicemail(request, client, call); } return resp; }
public void Can_Generate_Dial_And_Queue_Object_Param() { var response = new TwilioResponse(); response.Dial(new Queue(new { reservationSid = "RSXXXXX", postworkActivitySid="PWXXXXXX" })); Assert.IsTrue(IsValidTwiML(response.ToXDocument())); }
//create a TwiML response to answer the call public static TwilioResponse GetResponseAnswer(TwilioRequestVoice request, Entity.Client client, Entity.Call call) { TwilioResponse resp = new TwilioResponse(); if (client == null || client.ClientState != Entity.Client.ClientStateEnum.Available) { if (log.IsDebugEnabled) { log.Debug("GetResponseAnswer.Unavailable.request." + (request == null ? "null" : request.ToJsonString())); } //transfer to unavailable voicemail return GetResponseVoicemail(request, client, call); } else { if (log.IsDebugEnabled) { log.Debug("GetResponseAnswer.request." + (request == null ? "null" : request.ToJsonString())); } resp.Pause(1); if (request.CallRecord) GetResponseRecord(resp, request, client, call); resp.Say("Your call is being answered now."); //find the number to dial string toNumber = request.To; if (string.IsNullOrEmpty(toNumber)) toNumber = call.ToNumber; //TODO: pull caller id from database //caller ID is required for outbound calls; it must be registered with your twilio account string callerId = ConfigurationManager.AppSettings["DemoCallerId"];; if (toNumber.StartsWith("client:")) { //call is being routed to a twilio client Twilio.TwiML.Client clientToCall = new Twilio.TwiML.Client(toNumber.Replace("client:","")); resp.Dial(clientToCall, new { callerId = callerId }); } else { //call is being routed to an external number Twilio.TwiML.Number number = new Twilio.TwiML.Number(toNumber); resp.Dial(number, new { callerId = callerId }); } //log the current call state if (call != null) { call.CallResult = "answered by " + request.To; call.Save(); } } return resp; }