public void WhenGenerateConnectConference_ThenGeneratesTwiMLWithDialAndConference() { var response = TwiMLGenerator.GenerateConnectConference("conference-id", "wait-url", true, false); var conference = XDocument.Parse(response.ToString()).XPathSelectElement("Response/Dial/Conference"); Assert.That(conference.Value, Is.EqualTo("conference-id")); Assert.That(conference.Attribute("waitUrl").Value, Is.EqualTo("wait-url")); Assert.That(conference.Attribute("startConferenceOnEnter").Value, Is.EqualTo("true")); Assert.That(conference.Attribute("endConferenceOnExit").Value, Is.EqualTo("false")); }
public void WhenGenerateWait_ThenGeneratesTwiMLWithSayAndPlay() { var response = TwiMLGenerator.GenerateWait(); var document = XDocument.Parse(response.ToString()); Assert.That( document.XPathSelectElement("Response/Say").Value, Is.EqualTo("Thank you for calling. Please wait in line for a few seconds. An agent will be with you shortly.")); Assert.That( document.XPathSelectElement("Response/Play").Value, Is.EqualTo("http://com.twilio.music.classical.s3.amazonaws.com/BusyStrings.mp3")); }
public async Task <TwiMLResult> ConnectClient(string callSid) { const string agentOne = "agent1"; var conferenceId = callSid; var callBackUrl = GetConnectConfereceUrlForAgent(agentOne, conferenceId); await _callCreator.CallAgentAsync(agentOne, callBackUrl); await _callsRepository.CreateOrUpdateAsync(agentOne, conferenceId); var response = TwiMLGenerator.GenerateConnectConference(conferenceId, WaitUrl, false, true); return(TwiML(response)); }
public TwiMLResult ConnectAgent2(string conferenceId) { var response = TwiMLGenerator.GenerateConnectConference(conferenceId, WaitUrl, true, true); return(TwiML(response)); }
public TwiMLResult Wait() { return(TwiML(TwiMLGenerator.GenerateWait())); }