为什么我的 Twilio 电话会议像语音呼叫一样响应并挂断?

Why is my Twilio conference call responding like a voice call and hanging up?

在我的概念验证代码中,我成功地创建了一个电话会议,并且能够进入等候室并听到等待音乐,直到另一个参与者加入。但是,当我将此代码移至 visual studio 中的 .NET Core 生产类型解决方案时,它会通过读取 Room # 并立即挂断来响应。我相信它与 .NET Core 有关,但无法查明根本原因。

概念验证代码

using Twilio.TwiML;
using Twilio.AspNet.Mvc;
using System.Web.Mvc;
using Twilio.TwiML.Voice;

namespace MakeAndReceiveCalls.Controllers
{
    public class PhoneController : TwilioController
    {
        [HttpPost]
        public ActionResult MakeConferenceCall()
        {
            var response = new VoiceResponse();
            var dial = new Dial();
            dial.Conference("Room 1234");
            response.Append(dial);

            return Content(response.ToString());
        }
    }
}

生产代码

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Twilio.AspNet.Core;
using Twilio.TwiML;
using Twilio.TwiML.Voice;

namespace RL.Domain.AudioConference.API.Controllers
{
    [Route("v1/[Controller]")
    public class AudioConferenceController : TwilioController
    {       
        [HttpPost("MakeConferenceCall")]
        public ActionResult MakeConferenceCall()
        {
            var response = new VoiceResponse();
            var dial = new Dial();
            dial.Conference("Room 1234");
            response.Append(dial);

            return Content(response.ToString());
        }
    }
}

在 return TwiML 时检查 returned HTTP MIME 类型。

https://www.twilio.com/docs/voice/twiml#twilio-understands-mime-types

正在更改 return 类型:

ActionResult
return Content(response.ToString());

收件人:

TwiMLResult
return TwiML(response);

已解决问题。不确定为什么第一种方法在我的概念证明中起作用。