【问题标题】:Twilio c# TwiML not dialing number. Saying it insteadTwilio c# TwiML 不拨打号码。而是说
【发布时间】:2017-10-12 14:31:57
【问题描述】:

我正在设置蒙面呼叫。当我在拨打屏蔽号码后收到以下 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;
             });

【问题讨论】:

    标签: c# twilio twilio-twiml


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    问题是您的端点正在返回类型为 text/plain 的响应,而 Twilio 认为这意味着,只需将其读出即可。

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

    恐怕我不是 C# 开发人员,但希望这能为您指明正确的方向。

    【讨论】:

    • 啊,谢谢!我确实在我的控制器中返回了一个字符串。
    • 将其更改为使用 application/xml 返回,现在一切都很好。再次感谢!
    • 太棒了,很高兴能帮上忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多