Я использую twilio amd с исходящим звонком.В основном создание звонка с использованием callresource на один номер.Теперь я хочу, чтобы обнаружение человека во время разговора.Звонок выбирается человеком, затем мне нужно переадресовать звонок системному агентуПоэтому для этого я пытаюсь получить значение «AnswerBy» в статусе «отвеченный» обратный вызов, но «Answerby» всегда нулевое.Может кто-нибудь, дайте мне знать, как получить «Answerby» во время разговора, а затем переадресовать звонок.Ниже приведен пример кода, который я использую ..
Создание исходящего звонка
string accountSid = WebConfigurationManager.AppSettings["AccountSid"];
string authToken = WebConfigurationManager.AppSettings["AuthToken"];
TwilioClient.Init(accountSid, authToken);
var statusCallbackEvent = new List<string>();
statusCallbackEvent.Add("initiated");
statusCallbackEvent.Add("answered");
var call = CallResource.Create(
url: new Uri("http://demo.twilio.com/docs/voice.xml"),
to: new Twilio.Types.PhoneNumber("+1XXXXXXXXXXXXX"),
from: new Twilio.Types.PhoneNumber(WebConfigurationManager.AppSettings["FromNumber"]),
method: Twilio.Http.HttpMethod.Get,
machineDetection: "Enable",
statusCallbackEvent: statusCallbackEvent,
statusCallback: new Uri("https://68456c0d.ngrok.io/TwilioCallback/CallResponse"),
statusCallbackMethod: Twilio.Http.HttpMethod.Get
);
var response = call.Sid;
Ответный статус обратного вызова
string accountSid = WebConfigurationManager.AppSettings["AccountSid"];
string authToken = WebConfigurationManager.AppSettings["AuthToken"]; ;
TwilioClient.Init(accountSid, authToken);
var response = new VoiceResponse();
var call = CallResource.Fetch(pathSid: obj.CallSid);
if (call.AnsweredBy?.ToLower() == "human")
{
//TO- DO
}
else
{
response.Say("hello world!", voice: "alice");
response.Play(new Uri("http://demo.twilio.com/docs/classic.mp3"));
}