Twilio c#TwiML没有拨号码。反而说

时间:2017-10-12 14:31:58

标签: c# twilio twiml

我设置了蒙面呼叫。当我在调用屏蔽号码后收到以下TwiML响应时,它不会拨打我指定的号码。在说出say

的内容之后,它只是说出了这个数字

这是TwiML

<?xml version="1.0" encoding="utf-8"?>
<Response>
  <Say>Your call will be charged blah blah.</Say>
  <Dial action="http://mywebsite.com/Call/CallComplete" callerId="+441XXXXX">
    <Number>+44795XXXXX</Number>
  </Dial>
</Response>

这是c#

public static string TwiMLDial(string maskedNumber, string to, string actionURL)
{
  var response = new Twilio.TwiML.VoiceResponse();
  response.Say("Your call will be charged blah blah.");

  var dial = new Twilio.TwiML.Dial(action: actionURL, callerId: maskedNumber);
  dial.Number(to);
  response.Dial(dial);
  return response.ToString();
}

我使用的是c#.Net核心。并且在我的startup.cs中有以下内容可能是相关的:

services.AddMvc(config =>
            {
                // Add XML Content Negotiation
                config.RespectBrowserAcceptHeader = true;
                config.InputFormatters.Add(new XmlSerializerInputFormatter());
                config.OutputFormatters.Add(new XmlSerializerOutputFormatter());
            })
             .AddJsonOptions(options =>
             {
                 options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                 options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
             });

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

问题是你的端点正在返回类型为text/plain的响应,而Twilio认为这意味着,只需阅读它。

您需要将回复Content-Type设置为text/xmlapplication/xml

我不是C#开发人员,我很害怕,但希望能指出你正确的方向。