Ich habe einen Anwendungsfall, wo jemand meine Twilio-Nummer anruft und Twilio dann versucht, den Anrufer mit einem Agenten zu verbinden. Wenn der Agent # auftaucht, benutze ich den ScreenCall-Prozess, um sicherzustellen, dass es ein Mensch ist und sie eine Ziffer drücken müssen. Das Problem ist, sobald ich in den ScreenCall-Prozess gehe, funktioniert alles auf der Agentenseite, aber wenn sie eine Nummer drücken, ist der Anrufer nie mit ihnen verbunden.ScreenCall Prozess verbindet den Anruf nicht
Was fehlt mir? Sobald ich den Bildschirmanruf entferne, werden der Anrufer und der Agent verbunden, sobald der Agent antwortet.
public ActionResult CallAgents(string From, string To, string CallSid)
{
var response = "<Response><Dial action = '" + Url.Action("EndCall", "Call") + "'>
<Number action = '" + Url.Action("ScreenCall", "Call") + "'>1231231234</Number></Dial></Response>";
return new TwiMLResult(response);
}
public ActionResult ScreenCall(string From, string To, string CallSid)
{
var response = new TwilioResponse();
response.BeginGather(new { action = "AnswerCall", numDigits = 1 })
.Say("Press any key to accept the call.")
.EndGather();
return new TwiMLResult(response);
}
public ActionResult AnswerCall(string From, string To, string CallSid)
{
var response = new TwilioResponse().Say("Thank you, you are now being connected.").Record();
return new TwiMLResult(response);
}
ich versuchte Schale, aber kein Veränderung. – ToddB
Das Problem wurde gefunden. Es bricht zusammen, geben Sie einen "Record" -Befehl, sobald der screenCall verarbeitet hat und jemand den Anruf annimmt. Finde es heraus, indem du auf das zurückgriffen, was die Probe tat, was ich nicht war. – ToddB