static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("Customer Waiting Room", beep: "false"); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("SimpleRoom", muted: "true"); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("SimpleRoom", muted: true); response.Append(dial); Console.WriteLine(response.ToString());; }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("Room 1234"); response.Append(dial); Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(action: "handleLeaveConference.php", method: "POST", hangupOnStar: "true", timeLimit: 30); dial.Conference("LoveTwilio"); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("NoMusicNoBeepRoom", beep: "false", waitUrl: "", startConferenceOnEnter: "true", endConferenceOnExit: "true"); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("Customer Waiting Room", beep: Conference.BeepEnum .False); response.Append(dial); Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("Customer Waiting Room", beep: "false", endConferenceOnExit: true); response.Append(dial); Console.WriteLine(response.ToString());; }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("LoveTwilio", record: "record-from-start", recordingStatusCallback: new Uri("www.myexample.com")); response.Append(dial); Console.WriteLine(response.ToString());; }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(record: "record-from-ringing-dual", recordingStatusCallback: "www.myexample.com"); dial.Conference("myteamroom"); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("moderated-conference-room", startConferenceOnEnter: true, endConferenceOnExit: true); response.Append(dial); Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("NoMusicNoBeepRoom", beep: "false", waitUrl: "http://your-webhook-host.com", startConferenceOnEnter: true, endConferenceOnExit: true); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("moderated-conference-room", startConferenceOnEnter: false); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(action: new Uri("handleLeaveConference.php"), method: HttpMethod.Post, hangupOnStar: true, timeLimit: 30); dial.Conference("LoveTwilio"); response.Append(dial); Console.WriteLine(response.ToString());; }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("NoMusicNoBeepRoom", beep: Conference.BeepEnum.False, waitUrl: new Uri("http://your-webhook-host.com"), startConferenceOnEnter: true, endConferenceOnExit: true); response.Append(dial); Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(record: Dial.RecordEnum.RecordFromRingingDual, recordingStatusCallback: new Uri("www.myexample.com", UriKind .Relative)); dial.Conference("myteamroom"); response.Append(dial); Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("EventedConf", statusCallback: "https://myapp.com/events", statusCallbackEvent: "start end join leave mute hold"); response.Dial(dial); System.Console.WriteLine(response.ToString()); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("LoveTwilio", record: Conference.RecordEnum .RecordFromStart, recordingStatusCallback: new Uri("www.myexample.com", UriKind .Relative)); response.Append(dial); Console.WriteLine(response.ToString()); }
public ActionResult TransferTwiml() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference(Request.Params.Get("conference")); response.Append(dial); Console.Write(response.ToString()); return(Content(response.ToString(), contentType: "text/xml")); }
public IActionResult TransferTwiml() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference(HttpContext.Request.Query["conference"]); response.Append(dial); Console.Write(response.ToString()); return(Content(response.ToString(), contentType: "text/xml")); }
// this is an endpoint to add the callee into the conference call public ActionResult JoinConfrence(string call_session_id) { var response = new VoiceResponse(); string leaveUrl = _twilioSettings.TwilioApiUrl + "Leave"; var dial = new Dial(); dial.Conference(name: call_session_id, statusCallbackEvent: new[] { Conference.EventEnum.Leave }.ToList(), statusCallback: new Uri("http://338e35e84b93.ngrok.io/TwilioCall/Leave"), endConferenceOnExit: true ); response.Append(dial); return(Content(response.ToString())); }
static void Main() { var response = new VoiceResponse(); var dial = new Dial(); dial.Conference("EventedConf", statusCallback: new Uri("https://myapp.com/events"), statusCallbackEvent: new [] { Conference.EventEnum.Start, Conference .EventEnum.End, Conference.EventEnum.Join, Conference.EventEnum .Leave, Conference.EventEnum.Mute, Conference.EventEnum.Hold } .ToList()); response.Append(dial); Console.WriteLine(response.ToString()); }
public ActionResult Index(string from) { var response = new VoiceResponse(); var dial = new Dial(); // If the caller is our MODERATOR, then start the conference when they // join and end the conference when they leave if (from == Moderator) { dial.Conference("My conference", startConferenceOnEnter: true, endConferenceOnExit: true); } else { // Otherwise have the caller join as a regular participant dial.Conference("My conference", startConferenceOnEnter: false); } response.Dial(dial); return(TwiML(response)); }
public IActionResult Index(string from) { var response = new VoiceResponse(); if (from == _twilioPhone) { var dial = new Dial(); dial.Conference("Room 1", startConferenceOnEnter: true, endConferenceOnExit: true); response.Append(dial); } else { response.Reject(); } return(TwiML(response)); }
public ActionResult Connect(string digits) { var isMuted = digits.Equals("1"); // Listener var canControlConferenceOnEnter = digits.Equals("3"); // Moderator var response = new VoiceResponse(); response.Say("You have joined the conference"); var dial = new Dial(); dial.Conference("RapidResponseRoom", waitUrl: "http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient", muted: isMuted, startConferenceOnEnter: canControlConferenceOnEnter, endConferenceOnExit: canControlConferenceOnEnter); response.Dial(dial); return(TwiML(response)); }
public void TestElementWithChildren() { var elem = new Dial(); elem.Client( "identity", new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, Promoter.ListOfOne(Client.EventEnum.Initiated), new Uri("https://example.com"), Twilio.Http.HttpMethod.Get ); elem.Conference( "name", true, Conference.BeepEnum.True, true, true, new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, 1, Conference.RecordEnum.DoNotRecord, Conference.RegionEnum.Us1, "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", Conference.TrimEnum.TrimSilence, Promoter.ListOfOne(Conference.EventEnum.Start), new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, Promoter.ListOfOne(Conference.RecordingEventEnum.InProgress), new Uri("https://example.com"), Conference.JitterBufferSizeEnum.Large, "participant_label" ); elem.Number( new Twilio.Types.PhoneNumber("+15017122661"), "send_digits", new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, Promoter.ListOfOne(Number.EventEnum.Initiated), new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, "BYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ); elem.Queue( "name", new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, "reservation_sid", "post_work_activity_sid" ); elem.Sim("DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); elem.Sip( new Uri("https://example.com"), "username", "password", new Uri("https://example.com"), Twilio.Http.HttpMethod.Get, Promoter.ListOfOne(Sip.EventEnum.Initiated), new Uri("https://example.com"), Twilio.Http.HttpMethod.Get ); Assert.AreEqual( "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + Environment.NewLine + "<Dial>" + Environment.NewLine + " <Client url=\"https://example.com\" method=\"GET\" statusCallbackEvent=\"initiated\" statusCallback=\"https://example.com\" statusCallbackMethod=\"GET\">identity</Client>" + Environment.NewLine + " <Conference muted=\"true\" beep=\"true\" startConferenceOnEnter=\"true\" endConferenceOnExit=\"true\" waitUrl=\"https://example.com\" waitMethod=\"GET\" maxParticipants=\"1\" record=\"do-not-record\" region=\"us1\" coach=\"CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\" trim=\"trim-silence\" statusCallbackEvent=\"start\" statusCallback=\"https://example.com\" statusCallbackMethod=\"GET\" recordingStatusCallback=\"https://example.com\" recordingStatusCallbackMethod=\"GET\" recordingStatusCallbackEvent=\"in-progress\" eventCallbackUrl=\"https://example.com\" jitterBufferSize=\"large\" participantLabel=\"participant_label\">name</Conference>" + Environment.NewLine + " <Number sendDigits=\"send_digits\" url=\"https://example.com\" method=\"GET\" statusCallbackEvent=\"initiated\" statusCallback=\"https://example.com\" statusCallbackMethod=\"GET\" byoc=\"BYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\">+15017122661</Number>" + Environment.NewLine + " <Queue url=\"https://example.com\" method=\"GET\" reservationSid=\"reservation_sid\" postWorkActivitySid=\"post_work_activity_sid\">name</Queue>" + Environment.NewLine + " <Sim>DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</Sim>" + Environment.NewLine + " <Sip username=\"username\" password=\"password\" url=\"https://example.com\" method=\"GET\" statusCallbackEvent=\"initiated\" statusCallback=\"https://example.com\" statusCallbackMethod=\"GET\">https://example.com</Sip>" + Environment.NewLine + "</Dial>", elem.ToString() ); }
// public async Task<ActionResult<ResponseModel>> CallByRequest(PrankCallRequestModel request) public async Task <ActionResult <ResponseModel> > CallByRequest() { int prankId = 4; int deviceId = 12; int prankCallFromId = 1; string toPhoneNumberCountryCodePrefix = "91"; string ToPhoneNo = "7665704988"; var request = new PrankCallRequestModel() { PrankId = prankId, DeviceId = deviceId, PrankCallFromId = prankCallFromId, ToPhoneNumberCountryCodePrefix = toPhoneNumberCountryCodePrefix, ToPhoneNumber = ToPhoneNo, CostPoint = 10, ToPhoneNumberPersonName = "sds" }; var response = new VoiceResponse(); var fromNumber = await _dataContext.PrankCallFromPhoneNumber(request.ToPhoneNumberCountryCodePrefix).ToListAsync(); var objPrankCallFromPhone = new PrankCallFromPhoneNumberModel(); if (fromNumber != null && fromNumber.Any()) { objPrankCallFromPhone = fromNumber.FirstOrDefault(); if (!string.IsNullOrEmpty(objPrankCallFromPhone.CountryCode)) { TwilioClient.Init(_twilioSettings.TwilioAccountSid, _twilioSettings.TwilioAuthToken); StringBuilder str_build = new StringBuilder(); Random random = new Random(); int length = 7; char letter; for (int i = 0; i < length; i++) { double flt = random.NextDouble(); int shift = Convert.ToInt32(Math.Floor(25 * flt)); letter = Convert.ToChar(shift + 65); str_build.Append(letter); } string sessionId = str_build.ToString(); request.PrankCallFromId = objPrankCallFromPhone.PrankCallFromId; // http://960d5976e357.ngrok.io/JoinConfrence/ string joinConfrenceUrl = _twilioSettings.TwilioApiUrl + "JoinConfrence?call_session_id=" + sessionId; string completeCallUrl = _twilioSettings.TwilioApiUrl + "CompleteCall"; var call = CallResource.Create( to: new Twilio.Types.PhoneNumber(objPrankCallFromPhone.CountryCode + request.ToPhoneNumber), from: new Twilio.Types.PhoneNumber(objPrankCallFromPhone.CountryCode + objPrankCallFromPhone.PhoneNumber), //"+918764245892" url: new Uri(joinConfrenceUrl), statusCallbackEvent: new[] { Number.EventEnum.Completed.ToString() }.ToList(), statusCallback: new Uri(completeCallUrl), statusCallbackMethod: Twilio.Http.HttpMethod.Post ); sessionID_to_callsid = call.Sid; // dials the caller (from number) into the conference string confrenceCalleeUrl = _twilioSettings.TwilioApiUrl + "ConfrenceCallee?confrenceFriendlyName=" + sessionId; var CallRequest = JsonConvert.SerializeObject(request); //string confrenceRecordingCallbackUrl = _twilioSettings.TwilioApiUrl + "ConfrenceRecordingCallback?callRequest=" + CallRequest; string confrenceRecordingCallbackUrl = _twilioSettings.TwilioApiUrl + "ConfrenceRecordingCallback?callRequest=d"; var dial = new Dial(); dial.Conference(name: sessionId, waitUrl: new Uri("https://twimlets.com/holdmusic?Bucket=com.twilio.music.electronica"), statusCallbackEvent: new[] { Conference.EventEnum.Join }.ToList(), beep: Conference.BeepEnum.Onenter, statusCallback: new Uri(confrenceCalleeUrl), startConferenceOnEnter: true, endConferenceOnExit: true, record: Conference.RecordEnum.RecordFromStart, trim: Conference.TrimEnum.TrimSilence, muted: true, recordingStatusCallback: new Uri(confrenceRecordingCallbackUrl)); response.Append(dial); } } return(Content(response.ToString())); }
public ActionResult MakeCall() { var response = new VoiceResponse(); TwilioClient.Init(_twilioSettings.TwilioAccountSid, _twilioSettings.TwilioAuthToken); StringBuilder str_build = new StringBuilder(); Random random = new Random(); int length = 7; char letter; for (int i = 0; i < length; i++) { double flt = random.NextDouble(); int shift = Convert.ToInt32(Math.Floor(25 * flt)); letter = Convert.ToChar(shift + 65); str_build.Append(letter); } string sessionId = str_build.ToString(); string joinConfrenceUrl = _twilioSettings.TwilioApiUrl + "JoinConfrence/" + sessionId; string completeCallUrl = _twilioSettings.TwilioApiUrl + "CompleteCall"; var call = CallResource.Create( to: new Twilio.Types.PhoneNumber("+917665704988"), from: new Twilio.Types.PhoneNumber("+918764245892"), url: new Uri(joinConfrenceUrl), statusCallbackEvent: new[] { Number.EventEnum.Completed.ToString() }.ToList(), statusCallback: new Uri("http://338e35e84b93.ngrok.io/TwilioCall/CompleteCall"), statusCallbackMethod: Twilio.Http.HttpMethod.Post ); sessionID_to_callsid = call.Sid; // dials the caller (from number) into the conference string confrenceCalleeUrl = _twilioSettings.TwilioApiUrl + "ConfrenceCallee/" + sessionId; string confrenceRecordingCallbackUrl = _twilioSettings.TwilioApiUrl + "ConfrenceRecordingCallback"; var dial = new Dial(); dial.Conference(name: sessionId, waitUrl: new Uri("https://twimlets.com/holdmusic?Bucket=com.twilio.music.electronica"), statusCallbackEvent: new[] { Conference.EventEnum.Join }.ToList(), beep: Conference.BeepEnum.Onenter, statusCallback: new Uri("http://338e35e84b93.ngrok.io/TwilioCall/ConfrenceCallee/" + sessionId), startConferenceOnEnter: true, endConferenceOnExit: true, record: Conference.RecordEnum.RecordFromStart, trim: Conference.TrimEnum.TrimSilence, muted: true, recordingStatusCallback: new Uri("http://338e35e84b93.ngrok.io/TwilioCall/ConfrenceRecordingCallback")); response.Append(dial); return(Content(response.ToString())); }